summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-12-05 17:58:16 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-12-05 17:58:16 -0500
commit43d5c5d6db3ce33f3cf1d17ba43c7374257466ec (patch)
tree3d24a5c3adc8f42ee14084889f2d9a9acaef5ef1
parent992bd2f6d34b2f560fc17df6fa3708fcade1abac (diff)
parent703a9f93c1254f7bdf0350ca0462de0d78033c62 (diff)
downloadnixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar.gz
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar.bz2
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar.lz
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar.xz
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.tar.zst
nixlib-43d5c5d6db3ce33f3cf1d17ba43c7374257466ec.zip
Merge commit '703a9f93c1254f7bdf0350ca0462de0d78033c62' into gcc-simplify-flags
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--.github/CONTRIBUTING.md8
-rw-r--r--.github/ISSUE_TEMPLATE.md6
-rw-r--r--.travis.yml35
-rw-r--r--README.md7
-rw-r--r--doc/coding-conventions.xml27
-rw-r--r--doc/cross-compilation.xml60
-rw-r--r--doc/languages-frameworks/haskell.md2
-rw-r--r--doc/languages-frameworks/python.md3
-rw-r--r--doc/languages-frameworks/rust.md13
-rw-r--r--doc/multiple-output.xml2
-rw-r--r--doc/stdenv.xml3
-rw-r--r--lib/default.nix1
-rw-r--r--lib/generators.nix14
-rw-r--r--lib/licenses.nix22
-rw-r--r--lib/maintainers.nix16
-rw-r--r--lib/sandbox.nix48
-rw-r--r--lib/tests/misc.nix2
-rwxr-xr-xmaintainers/scripts/travis-nox-review-pr.sh82
-rw-r--r--nixos/doc/manual/configuration/user-mgmt.xml10
-rw-r--r--nixos/doc/manual/default.nix44
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.xml12
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.xml45
-rw-r--r--nixos/lib/make-disk-image.nix22
-rw-r--r--nixos/lib/test-driver/Machine.pm1
-rw-r--r--nixos/lib/testing.nix3
-rw-r--r--nixos/modules/config/fonts/fontconfig-penultimate.nix8
-rw-r--r--nixos/modules/config/pulseaudio.nix8
-rw-r--r--nixos/modules/config/users-groups.nix10
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64.nix12
-rw-r--r--nixos/modules/installer/tools/nixos-option.sh2
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix7
-rw-r--r--nixos/modules/profiles/qemu-guest.nix2
-rw-r--r--nixos/modules/programs/bash/bash.nix5
-rw-r--r--nixos/modules/programs/sway.nix5
-rw-r--r--nixos/modules/programs/zsh/zsh.nix2
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/security/pam.nix2
-rw-r--r--nixos/modules/services/continuous-integration/buildkite-agent.nix64
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix13
-rw-r--r--nixos/modules/services/databases/mysql.nix9
-rw-r--r--nixos/modules/services/databases/postgresql.nix2
-rw-r--r--nixos/modules/services/desktops/dleyna-renderer.nix28
-rw-r--r--nixos/modules/services/desktops/dleyna-server.nix28
-rw-r--r--nixos/modules/services/desktops/gnome3/tracker-miners.nix41
-rw-r--r--nixos/modules/services/games/factorio.nix20
-rw-r--r--nixos/modules/services/hardware/fwupd.nix90
-rw-r--r--nixos/modules/services/mail/dovecot.nix4
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix25
-rw-r--r--nixos/modules/services/monitoring/fusion-inventory.nix3
-rw-r--r--nixos/modules/services/monitoring/grafana.nix2
-rw-r--r--nixos/modules/services/monitoring/munin.nix68
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix33
-rw-r--r--nixos/modules/services/monitoring/smartd.nix6
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix14
-rw-r--r--nixos/modules/services/networking/babeld.nix8
-rw-r--r--nixos/modules/services/networking/firewall.nix3
-rw-r--r--nixos/modules/services/networking/nghttpx/backend-params-submodule.nix131
-rw-r--r--nixos/modules/services/networking/nghttpx/backend-submodule.nix50
-rw-r--r--nixos/modules/services/networking/nghttpx/default.nix117
-rw-r--r--nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix64
-rw-r--r--nixos/modules/services/networking/nghttpx/frontend-submodule.nix36
-rw-r--r--nixos/modules/services/networking/nghttpx/nghttpx-options.nix142
-rw-r--r--nixos/modules/services/networking/nghttpx/server-options.nix18
-rw-r--r--nixos/modules/services/networking/nghttpx/tls-submodule.nix21
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix26
-rw-r--r--nixos/modules/services/security/clamav.nix9
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix384
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/owncloud.nix48
-rw-r--r--nixos/modules/services/web-servers/lighttpd/inginious.nix2
-rw-r--r--nixos/modules/services/x11/compton.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix7
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix45
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix3
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/xpra.nix2
-rw-r--r--nixos/modules/services/x11/fractalart.nix36
-rw-r--r--nixos/modules/services/x11/hardware/libinput.nix7
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix4
-rw-r--r--nixos/modules/services/x11/window-managers/evilwm.nix25
-rw-r--r--nixos/modules/services/x11/xserver.nix15
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl13
-rw-r--r--nixos/modules/system/activation/top-level.nix2
-rw-r--r--nixos/modules/testing/test-instrumentation.nix22
-rw-r--r--nixos/modules/virtualisation/parallels-guest.nix48
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix20
-rw-r--r--nixos/release-combined.nix3
-rw-r--r--nixos/release-small.nix1
-rw-r--r--nixos/release.nix8
-rw-r--r--nixos/tests/boot-stage1.nix5
-rw-r--r--nixos/tests/common/letsencrypt.nix4
-rw-r--r--nixos/tests/containers-bridge.nix6
-rw-r--r--nixos/tests/couchdb.nix56
-rw-r--r--nixos/tests/initrd-network-ssh/default.nix (renamed from nixos/tests/initrd-network-ssh.nix)25
-rw-r--r--nixos/tests/initrd-network-ssh/dropbear.privbin0 -> 1573 bytes
-rw-r--r--nixos/tests/initrd-network-ssh/dropbear.pub1
-rw-r--r--nixos/tests/initrd-network-ssh/generate-keys.nix12
-rw-r--r--nixos/tests/initrd-network-ssh/openssh.priv51
-rw-r--r--nixos/tests/initrd-network-ssh/openssh.pub1
-rw-r--r--nixos/tests/installer.nix100
-rw-r--r--nixos/tests/mutable-users.nix39
-rw-r--r--nixos/tests/nghttpx.nix61
-rw-r--r--nixos/tests/owncloud.nix39
-rw-r--r--nixos/tests/php-pcre.nix44
-rw-r--r--nixos/tests/switch-test.nix25
-rw-r--r--nixos/tests/zfs.nix85
-rw-r--r--pkgs/applications/altcoins/bitcoin.nix20
-rw-r--r--pkgs/applications/altcoins/default.nix9
-rw-r--r--pkgs/applications/altcoins/go-ethereum.nix4
-rw-r--r--pkgs/applications/altcoins/hivemind.nix39
-rw-r--r--pkgs/applications/altcoins/zcash/default.nix6
-rw-r--r--pkgs/applications/audio/amarok/kf5.nix37
-rw-r--r--pkgs/applications/audio/audacity/default.nix10
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix2
-rw-r--r--pkgs/applications/audio/kid3/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy-iris/default.nix4
-rw-r--r--pkgs/applications/audio/musescore/darwin.nix16
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix2
-rw-r--r--pkgs/applications/audio/schismtracker/default.nix7
-rw-r--r--pkgs/applications/audio/tomahawk/default.nix3
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix32
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/aseprite/default.nix4
-rw-r--r--pkgs/applications/editors/atom/beta.nix4
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/ed/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix38
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix1
-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.nix4
-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.nix1954
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix480
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix3
-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/geany/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix46
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform.nix2
-rw-r--r--pkgs/applications/editors/nano/default.nix8
-rw-r--r--pkgs/applications/editors/nano/nano-2.9.1-darwin.patch9
-rw-r--r--pkgs/applications/editors/neovim/default.nix54
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix2
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock6
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix14
-rw-r--r--pkgs/applications/editors/sublime3/default.nix14
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/gis/qgis/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/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/photoqt/default.nix5
-rw-r--r--pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch13
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix24
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/kruler.nix17
-rw-r--r--pkgs/applications/misc/alacritty/default.nix16
-rw-r--r--pkgs/applications/misc/calibre/default.nix2
-rw-r--r--pkgs/applications/misc/cheat/default.nix18
-rw-r--r--pkgs/applications/misc/deepin-terminal/default.nix11
-rw-r--r--pkgs/applications/misc/exercism/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-ais/default.nix11
-rw-r--r--pkgs/applications/misc/gnuradio-gsm/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-nacl/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-osmosdr/default.nix6
-rw-r--r--pkgs/applications/misc/gnuradio-rds/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix82
-rw-r--r--pkgs/applications/misc/hello/default.nix14
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix2
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix4
-rw-r--r--pkgs/applications/misc/jgmenu/default.nix40
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix26
-rw-r--r--pkgs/applications/misc/monero/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix26
-rw-r--r--pkgs/applications/misc/octoprint/default.nix8
-rw-r--r--pkgs/applications/misc/oneko/default.nix34
-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/rescuetime/default.nix6
-rw-r--r--pkgs/applications/misc/rtl-sdr/default.nix4
-rw-r--r--pkgs/applications/misc/sdcv/default.nix4
-rw-r--r--pkgs/applications/misc/urh/default.nix2
-rw-r--r--pkgs/applications/misc/usync/default.nix34
-rw-r--r--pkgs/applications/misc/verbiste/default.nix6
-rw-r--r--pkgs/applications/misc/xiphos/default.nix21
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix772
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix770
-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.nix279
-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/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix21
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/xhyve.nix27
-rw-r--r--pkgs/applications/networking/cluster/kompose/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/minikube/localkube.patch20
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/data.nix102
-rw-r--r--pkgs/applications/networking/corebird/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix30
-rw-r--r--pkgs/applications/networking/gmailieer/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix8
-rw-r--r--pkgs/applications/networking/gns3/gui.nix2
-rw-r--r--pkgs/applications/networking/gns3/server.nix51
-rw-r--r--pkgs/applications/networking/instant-messengers/coyim/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix44
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/tensor/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs/default.nix6
-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/mailreaders/mutt/default.nix32
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix16
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix474
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix5
-rw-r--r--pkgs/applications/networking/msmtp/default.nix9
-rw-r--r--pkgs/applications/networking/netperf/default.nix10
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix7
-rw-r--r--pkgs/applications/networking/nextcloud-client/find-sql.patch12
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix8
-rw-r--r--pkgs/applications/networking/remote/rdesktop/default.nix6
-rw-r--r--pkgs/applications/office/abiword/default.nix6
-rw-r--r--pkgs/applications/office/abiword/patches/fix-13791.patch161
-rw-r--r--pkgs/applications/office/fava/default.nix4
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix29
-rw-r--r--pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--pkgs/applications/office/mendeley/default.nix6
-rw-r--r--pkgs/applications/office/paperwork/backend.nix2
-rw-r--r--pkgs/applications/office/zotero/default.nix124
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix9
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix10
-rwxr-xr-xpkgs/applications/science/biology/vcftools/default.nix24
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix13
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix4
-rw-r--r--pkgs/applications/science/logic/why3/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/wxmaxima/default.nix44
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix4
-rw-r--r--pkgs/applications/science/spyder/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch47
-rw-r--r--pkgs/applications/version-management/git-up/default.nix1
-rw-r--r--pkgs/applications/version-management/gource/default.nix5
-rw-r--r--pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix4
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix2
-rw-r--r--pkgs/applications/video/cinelerra/default.nix4
-rw-r--r--pkgs/applications/video/gnome-mpv/default.nix27
-rw-r--r--pkgs/applications/video/kodi/default.nix222
-rw-r--r--pkgs/applications/video/kodi/plugins.nix6
-rw-r--r--pkgs/applications/video/obs-studio/default.nix4
-rw-r--r--pkgs/applications/video/omxplayer/default.nix2
-rw-r--r--pkgs/applications/video/peek/default.nix29
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-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/docker/default.nix98
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix2
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix20
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix16
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix45
-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/awesome/default.nix10
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix27
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix6
-rw-r--r--pkgs/applications/window-managers/weston/default.nix4
-rw-r--r--pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash108
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix90
-rw-r--r--pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash6
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh26
-rw-r--r--pkgs/build-support/release/source-tarball.nix1
-rw-r--r--pkgs/build-support/rust/default.nix8
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh18
-rw-r--r--pkgs/build-support/setup-hooks/multiple-outputs.sh13
-rw-r--r--pkgs/build-support/trivial-builders.nix2
-rw-r--r--pkgs/build-support/vm/default.nix14
-rw-r--r--pkgs/data/documentation/stdman/default.nix8
-rw-r--r--pkgs/data/fonts/inconsolata/default.nix16
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix28
-rw-r--r--pkgs/data/fonts/iosevka/default.nix88
-rw-r--r--pkgs/data/fonts/iosevka/package-lock.json1017
-rw-r--r--pkgs/data/fonts/iosevka/package-lock.nix142
-rw-r--r--pkgs/data/fonts/migmix/default.nix44
-rw-r--r--pkgs/data/fonts/migu/default.nix43
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix12
-rw-r--r--pkgs/data/fonts/noto-fonts/tools.nix32
-rw-r--r--pkgs/data/fonts/ricty/default.nix38
-rw-r--r--pkgs/data/fonts/tlwg/default.nix27
-rw-r--r--pkgs/data/fonts/unifont_upper/default.nix4
-rw-r--r--pkgs/data/fonts/vdrsymbols/default.nix27
-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/numix-icon-theme/default.nix6
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/dns-root-data/default.nix10
-rw-r--r--pkgs/data/misc/mime-types/default.nix27
-rw-r--r--pkgs/data/misc/tzdata/default.nix3
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix12
-rw-r--r--pkgs/desktops/enlightenment/efl.nix4
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix63
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.suid-exes.patch25
-rw-r--r--pkgs/desktops/gnome-2/bindings/libglademm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch22
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/cheese/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/apps/cheese/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/file-roller/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-characters/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-logs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-weather/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/baobab/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/caribou/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/eog/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/eog/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/evince/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch19
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-calculator/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch21
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix68
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch18
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/grilo-plugins/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/core/gsound/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/libgee/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/libgepub/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/libgnomekbd/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/core/totem/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/src.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/vte/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/yelp/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/devtools/anjuta/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/devhelp/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/gdl/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/five-or-more/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-chess/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-klotski/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-mines/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/hitori/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/lightsoff/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/swell-foop/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch52
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch49
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch8
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libgames-support/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libgda/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/misc/pomodoro/default.nix10
-rw-r--r--pkgs/desktops/lxde/core/lxtask/default.nix32
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix11
-rw-r--r--pkgs/desktops/plasma-5/breeze-plymouth/default.nix35
-rw-r--r--pkgs/desktops/plasma-5/default.nix6
-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/compilers/chez/default.nix6
-rw-r--r--pkgs/development/compilers/chicken/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/crystal/default.nix2
-rw-r--r--pkgs/development/compilers/dmd/2.067.1.nix2
-rw-r--r--pkgs/development/compilers/dmd/default.nix2
-rw-r--r--pkgs/development/compilers/dtc/default.nix27
-rw-r--r--pkgs/development/compilers/fstar/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix22
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix14
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix8
-rw-r--r--pkgs/development/compilers/go/1.4.nix3
-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/hhvm/default.nix2
-rw-r--r--pkgs/development/compilers/jsonnet/default.nix1
-rw-r--r--pkgs/development/compilers/kotlin/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/aarch64.patch51
-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/obliv-c/default.nix2
-rw-r--r--pkgs/development/compilers/obliv-c/ignore-complex-float128.patch37
-rw-r--r--pkgs/development/compilers/openjdk-darwin/8.nix2
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix2
-rw-r--r--pkgs/development/compilers/openjdk/7.nix4
-rw-r--r--pkgs/development/compilers/openjdk/8.nix4
-rw-r--r--pkgs/development/compilers/openjdk/9.nix4
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix2
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk9-linux.nix2
-rw-r--r--pkgs/development/compilers/orc/default.nix9
-rw-r--r--pkgs/development/compilers/reason/default.nix13
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix62
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix19
-rw-r--r--pkgs/development/compilers/rust/cargo.nix21
-rw-r--r--pkgs/development/compilers/rust/default.nix4
-rw-r--r--pkgs/development/compilers/rust/rust-src.nix11
-rw-r--r--pkgs/development/compilers/rust/rustc.nix10
-rw-r--r--pkgs/development/compilers/scala/dotty.nix46
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/compilers/zulu/8.nix2
-rw-r--r--pkgs/development/compilers/zulu/default.nix2
-rw-r--r--pkgs/development/coq-modules/interval/default.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix12
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml183
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix6964
-rw-r--r--pkgs/development/idris-modules/specdris.nix43
-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/hg.nix7
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix10
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix3
-rw-r--r--pkgs/development/interpreters/luajit/default.nix5
-rw-r--r--pkgs/development/interpreters/nix-exec/default.nix1
-rw-r--r--pkgs/development/interpreters/perl/default.nix1
-rw-r--r--pkgs/development/interpreters/php/default.nix7
-rw-r--r--pkgs/development/interpreters/python/build-python-package.nix16
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/default.nix2
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix34
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/2604-skip-urandom-fd-test.patch21
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix260
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/tk_tcl_paths.patch17
-rw-r--r--pkgs/development/interpreters/python/wrap.sh4
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix7
-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/libraries/SDL2/default.nix4
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix9
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix2
-rw-r--r--pkgs/development/libraries/agg/default.nix4
-rw-r--r--pkgs/development/libraries/audiofile/default.nix53
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix2
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/breakpad/default.nix28
-rw-r--r--pkgs/development/libraries/bullet/bullet283.nix29
-rw-r--r--pkgs/development/libraries/bullet/default.nix20
-rw-r--r--pkgs/development/libraries/catch/default.nix6
-rw-r--r--pkgs/development/libraries/cmocka/default.nix21
-rw-r--r--pkgs/development/libraries/czmq/3.x.nix2
-rw-r--r--pkgs/development/libraries/czmq/4.x.nix9
-rw-r--r--pkgs/development/libraries/czmq/czmq3-gcc7.patch26
-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/eccodes/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix15
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix11
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix2
-rw-r--r--pkgs/development/libraries/flite/default.nix16
-rw-r--r--pkgs/development/libraries/flite/fix-rpath.patch5
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/ftgl/2.1.2.nix44
-rw-r--r--pkgs/development/libraries/ftgl/default.nix6
-rw-r--r--pkgs/development/libraries/ftgl/gcc.patch13
-rw-r--r--pkgs/development/libraries/giflib/5.0.nix18
-rw-r--r--pkgs/development/libraries/glew/default.nix5
-rw-r--r--pkgs/development/libraries/glib/default.nix7
-rw-r--r--pkgs/development/libraries/glib/schema-override-variable.patch12
-rw-r--r--pkgs/development/libraries/glibc/common.nix1
-rw-r--r--pkgs/development/libraries/glog/default.nix6
-rw-r--r--pkgs/development/libraries/gnutls/3.5.10.nix2
-rw-r--r--pkgs/development/libraries/gnutls/3.6.nix (renamed from pkgs/development/libraries/gnutls/3.5.nix)7
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/granite/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/5/setup-hook.sh18
-rw-r--r--pkgs/development/libraries/grib-api/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix2
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix19
-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/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix6
-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/kmsxx/default.nix4
-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/libamqpcpp/default.nix27
-rw-r--r--pkgs/development/libraries/libamqpcpp/libamqpcpp-darwin.patch13
-rw-r--r--pkgs/development/libraries/libao/default.nix37
-rw-r--r--pkgs/development/libraries/libav/default.nix2
-rw-r--r--pkgs/development/libraries/libbfd/default.nix6
-rw-r--r--pkgs/development/libraries/libbrotli/default.nix37
-rw-r--r--pkgs/development/libraries/libbsd/darwin.patch97
-rw-r--r--pkgs/development/libraries/libbsd/default.nix1
-rw-r--r--pkgs/development/libraries/libdrm/default.nix7
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix12
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix4
-rw-r--r--pkgs/development/libraries/libgssglue/default.nix29
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/libmpack/default.nix19
-rw-r--r--pkgs/development/libraries/libmsgpack/1.4.nix12
-rw-r--r--pkgs/development/libraries/libmsgpack/2.0.nix12
-rw-r--r--pkgs/development/libraries/libopcodes/default.nix6
-rw-r--r--pkgs/development/libraries/libqmatrixclient/default.nix40
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libsigsegv/2.5.nix23
-rw-r--r--pkgs/development/libraries/libskk/default.nix49
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix29
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libstroke/default.nix6
-rw-r--r--pkgs/development/libraries/libtiger/default.nix8
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix4
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-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/libxl/default.nix26
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix2
-rw-r--r--pkgs/development/libraries/libxmlxx/v3.nix2
-rw-r--r--pkgs/development/libraries/libxslt/default.nix6
-rw-r--r--pkgs/development/libraries/mesa/default.nix6
-rw-r--r--pkgs/development/libraries/microsoft_gsl/default.nix22
-rw-r--r--pkgs/development/libraries/nettle/default.nix4
-rw-r--r--pkgs/development/libraries/newt/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/opencascade/default.nix6
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix25
-rw-r--r--pkgs/development/libraries/openjpeg/2.1.nix37
-rw-r--r--pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch242
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix7
-rw-r--r--pkgs/development/libraries/physics/fastjet/default.nix13
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix2
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix8
-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/qt-4.x/4.8/default.nix21
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/parallel-build.patch6
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix3
-rw-r--r--pkgs/development/libraries/qt-5/5.6/fetch.sh4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase.patch16
-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/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/qtgraphicaleffects.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtimageformats.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/0001-glib-2.32.patch25
-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/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/qtserialport-dlopen-udev.patch22
-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/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/qtwayland.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine.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.patch72
-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-icu-59.patch86
-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/qtbase.patch39
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh21
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix2
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix298
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix20
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix4
-rw-r--r--pkgs/development/libraries/skalibs/default.nix4
-rw-r--r--pkgs/development/libraries/snappy/default.nix20
-rw-r--r--pkgs/development/libraries/usbredir/default.nix2
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix4
-rw-r--r--pkgs/development/libraries/wayland/default.nix4
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.18.nix4
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix2
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh8
-rw-r--r--pkgs/development/lisp-modules/define-package.nix2
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix8
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix94
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json6
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix5907
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/cstruct/1.9.0.nix36
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix50
-rw-r--r--pkgs/development/ocaml-modules/cstruct/lwt.nix12
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix13
-rw-r--r--pkgs/development/ocaml-modules/cstruct/unix.nix12
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/otr/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/ppx_import/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/rope/default.nix38
-rw-r--r--pkgs/development/ocaml-modules/sqlexpr/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/x509/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix32
-rw-r--r--pkgs/development/perl-modules/generic/builder.sh4
-rw-r--r--pkgs/development/pharo/vm/share.nix2
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix28
-rw-r--r--pkgs/development/python-modules/afew/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix4
-rw-r--r--pkgs/development/python-modules/arelle/default.nix3
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--pkgs/development/python-modules/asn1ate/default.nix3
-rw-r--r--pkgs/development/python-modules/augeas/default.nix3
-rw-r--r--pkgs/development/python-modules/bash_kernel/default.nix48
-rw-r--r--pkgs/development/python-modules/blockdiag/default.nix3
-rw-r--r--pkgs/development/python-modules/bokeh/default.nix1
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--pkgs/development/python-modules/bottleneck/default.nix5
-rw-r--r--pkgs/development/python-modules/cffi/default.nix14
-rw-r--r--pkgs/development/python-modules/cgroup-utils/default.nix3
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix21
-rw-r--r--pkgs/development/python-modules/construct/default.nix3
-rw-r--r--pkgs/development/python-modules/coverage/default.nix4
-rw-r--r--pkgs/development/python-modules/cufflinks/default.nix4
-rw-r--r--pkgs/development/python-modules/cymem/default.nix9
-rw-r--r--pkgs/development/python-modules/django-hijack/default.nix5
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix4
-rw-r--r--pkgs/development/python-modules/dkimpy/default.nix3
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix4
-rw-r--r--pkgs/development/python-modules/ecpy/default.nix4
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/first/default.nix7
-rw-r--r--pkgs/development/python-modules/geopandas/default.nix3
-rw-r--r--pkgs/development/python-modules/gevent/default.nix13
-rw-r--r--pkgs/development/python-modules/gflags/default.nix3
-rw-r--r--pkgs/development/python-modules/hmmlearn/default.nix3
-rw-r--r--pkgs/development/python-modules/hupper/default.nix6
-rw-r--r--pkgs/development/python-modules/hyperlink/default.nix8
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--pkgs/development/python-modules/jedi/default.nix4
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/keystoneclient/default.nix3
-rw-r--r--pkgs/development/python-modules/keyutils/default.nix3
-rw-r--r--pkgs/development/python-modules/libgpuarray/default.nix21
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix4
-rw-r--r--pkgs/development/python-modules/llfuse/default.nix4
-rw-r--r--pkgs/development/python-modules/locustio/default.nix32
-rw-r--r--pkgs/development/python-modules/markdown2/default.nix4
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix30
-rw-r--r--pkgs/development/python-modules/mpyq/default.nix22
-rw-r--r--pkgs/development/python-modules/murmurhash/default.nix11
-rw-r--r--pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix17
-rw-r--r--pkgs/development/python-modules/nilearn/default.nix2
-rw-r--r--pkgs/development/python-modules/nwdiag/default.nix6
-rw-r--r--pkgs/development/python-modules/parso/default.nix4
-rw-r--r--pkgs/development/python-modules/path.py/default.nix4
-rw-r--r--pkgs/development/python-modules/pexpect/default.nix44
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix27
-rw-r--r--pkgs/development/python-modules/plaster-pastedeploy/default.nix4
-rw-r--r--pkgs/development/python-modules/portpicker/default.nix22
-rw-r--r--pkgs/development/python-modules/powerline/default.nix8
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix2
-rw-r--r--pkgs/development/python-modules/psutil/default.nix28
-rw-r--r--pkgs/development/python-modules/pwntools/default.nix2
-rw-r--r--pkgs/development/python-modules/pyGithub/default.nix3
-rw-r--r--pkgs/development/python-modules/pyamf/default.nix20
-rw-r--r--pkgs/development/python-modules/pybfd/default.nix27
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix3
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix3
-rw-r--r--pkgs/development/python-modules/pycuda/compyte.nix9
-rw-r--r--pkgs/development/python-modules/pyev/default.nix4
-rw-r--r--pkgs/development/python-modules/pyftgl/default.nix8
-rw-r--r--pkgs/development/python-modules/pygame/git.nix3
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix4
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix3
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix4
-rw-r--r--pkgs/development/python-modules/pygtksourceview/default.nix8
-rw-r--r--pkgs/development/python-modules/pyocr/default.nix3
-rw-r--r--pkgs/development/python-modules/pypcap/default.nix10
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix6
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix15
-rw-r--r--pkgs/development/python-modules/pyro/default.nix5
-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/pyslurm/default.nix4
-rw-r--r--pkgs/development/python-modules/pysoundfile/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-expect/default.nix5
-rw-r--r--pkgs/development/python-modules/pytest-flake8/default.nix14
-rw-r--r--pkgs/development/python-modules/pytest/2_7.nix4
-rw-r--r--pkgs/development/python-modules/pytest/2_8.nix4
-rw-r--r--pkgs/development/python-modules/pytest/2_9.nix4
-rw-r--r--pkgs/development/python-modules/pytest/default.nix12
-rw-r--r--pkgs/development/python-modules/python-utils/default.nix3
-rw-r--r--pkgs/development/python-modules/python_fedora/default.nix2
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix6
-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.nix33
-rw-r--r--pkgs/development/python-modules/raven/default.nix4
-rw-r--r--pkgs/development/python-modules/recursive-pth-loader/default.nix4
-rw-r--r--pkgs/development/python-modules/restructuredtext_lint/default.nix4
-rw-r--r--pkgs/development/python-modules/robomachine/default.nix4
-rw-r--r--pkgs/development/python-modules/robotframework-ride/default.nix3
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix3
-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/scapy/default.nix4
-rw-r--r--pkgs/development/python-modules/selenium/default.nix7
-rw-r--r--pkgs/development/python-modules/seqdiag/default.nix6
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy/default.nix15
-rw-r--r--pkgs/development/python-modules/sphfile/default.nix3
-rw-r--r--pkgs/development/python-modules/spotipy/default.nix2
-rw-r--r--pkgs/development/python-modules/sybase/default.nix3
-rw-r--r--pkgs/development/python-modules/systemd/default.nix3
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix2
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/thespian/default.nix26
-rw-r--r--pkgs/development/python-modules/thinc/default.nix11
-rw-r--r--pkgs/development/python-modules/tiros/default.nix4
-rw-r--r--pkgs/development/python-modules/titlecase/default.nix21
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix6
-rw-r--r--pkgs/development/python-modules/trollius/default.nix2
-rw-r--r--pkgs/development/python-modules/u-msgpack-python/default.nix3
-rw-r--r--pkgs/development/python-modules/umemcache/default.nix3
-rw-r--r--pkgs/development/python-modules/uritools/default.nix2
-rw-r--r--pkgs/development/python-modules/urwid/default.nix5
-rw-r--r--pkgs/development/python-modules/usbtmc/default.nix3
-rw-r--r--pkgs/development/python-modules/waitress-django/default.nix8
-rw-r--r--pkgs/development/python-modules/webencodings/default.nix5
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix3
-rw-r--r--pkgs/development/python-modules/zope_testrunner/default.nix10
-rw-r--r--pkgs/development/python-modules/zope_testrunner/test-selection.patch5
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/r-modules/generic-builder.nix4
-rw-r--r--pkgs/development/tools/analysis/autoflake/default.nix24
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--pkgs/development/tools/analysis/garcosim/tracefilegen/builder.sh17
-rw-r--r--pkgs/development/tools/analysis/garcosim/tracefilegen/default.nix25
-rw-r--r--pkgs/development/tools/analysis/garcosim/tracefilegen/gcc7.patch13
-rw-r--r--pkgs/development/tools/analysis/kcov/default.nix17
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix43
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/meson/gir-fallback-path.patch13
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix31
-rw-r--r--pkgs/development/tools/build-managers/redo-sh/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix11
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--pkgs/development/tools/chefdk/Gemfile.lock251
-rw-r--r--pkgs/development/tools/chefdk/default.nix8
-rw-r--r--pkgs/development/tools/chefdk/gemset.nix430
-rw-r--r--pkgs/development/tools/cloudfoundry-cli/default.nix36
-rw-r--r--pkgs/development/tools/container-linux-config-transpiler/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/database/schemaspy/default.nix41
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix10
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch31
-rw-r--r--pkgs/development/tools/godot/default.nix10
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix6
-rw-r--r--pkgs/development/tools/jazzy/Gemfile2
-rw-r--r--pkgs/development/tools/jazzy/Gemfile.lock100
-rw-r--r--pkgs/development/tools/jazzy/default.nix17
-rw-r--r--pkgs/development/tools/jazzy/gemset.nix343
-rwxr-xr-xpkgs/development/tools/jazzy/update10
-rw-r--r--pkgs/development/tools/misc/bashdb/default.nix6
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix15
-rw-r--r--pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch23
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix23
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix40
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix404
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--pkgs/development/tools/misc/iozone/default.nix6
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix4
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix10
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix2
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix6
-rw-r--r--pkgs/development/tools/misc/xxdiff/tip.nix13
-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/profiling/heaptrack/default.nix6
-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/vagrant/default.nix16
-rw-r--r--pkgs/development/tools/wp-cli/default.nix4
-rw-r--r--pkgs/development/tools/yq/default.nix26
-rw-r--r--pkgs/development/web/nodejs/v8.nix4
-rw-r--r--pkgs/development/web/nodejs/v9.nix4
-rw-r--r--pkgs/games/anki/beautifulsoup.nix20
-rw-r--r--pkgs/games/anki/default.nix60
-rw-r--r--pkgs/games/factorio/default.nix6
-rw-r--r--pkgs/games/freeciv/default.nix2
-rw-r--r--pkgs/games/freedink/default.nix7
-rw-r--r--pkgs/games/freesweep/default.nix35
-rw-r--r--pkgs/games/gtetrinet/default.nix44
-rw-r--r--pkgs/games/hedgewars/default.nix24
-rw-r--r--pkgs/games/macopix/default.nix7
-rw-r--r--pkgs/games/mudlet/default.nix2
-rw-r--r--pkgs/games/pysolfc/default.nix39
-rw-r--r--pkgs/games/pysolfc/pysolfc-datadir.patch19
-rw-r--r--pkgs/games/solarus/default.nix8
-rw-r--r--pkgs/games/stockfish/default.nix4
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/wesnoth/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix1
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix150
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch62
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch87
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch10
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch45
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch11
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix6
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix17
-rw-r--r--pkgs/misc/emulators/higan/default.nix6
-rw-r--r--pkgs/misc/emulators/openmsx/custom-nixos.mk9
-rw-r--r--pkgs/misc/emulators/openmsx/default.nix48
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix13
-rw-r--r--pkgs/misc/emulators/retrofe/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/sources.nix6
-rw-r--r--pkgs/misc/themes/materia-theme/default.nix4
-rw-r--r--pkgs/misc/uboot/default.nix31
-rw-r--r--pkgs/misc/vim-plugins/default.nix13
-rw-r--r--pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch11
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/vim-grammarous10
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix26
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix28
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/configd/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix37
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix4
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix25
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix18
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/conky/default.nix12
-rw-r--r--pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch13
-rw-r--r--pkgs/os-specific/linux/criu/default.nix4
-rw-r--r--pkgs/os-specific/linux/dbus-broker/default.nix11
-rw-r--r--pkgs/os-specific/linux/devmem2/default.nix5
-rw-r--r--pkgs/os-specific/linux/fbterm/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix83
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch176
-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/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/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/kernel/common-config.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.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix34
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix2
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix2
-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/libsmbios/default.nix38
-rw-r--r--pkgs/os-specific/linux/libwebcam/default.nix55
-rw-r--r--pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch65
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/mdadm/4.nix2
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix2
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix6
-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/numactl/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix10
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix3
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix69
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/spl/default.nix11
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix4
-rw-r--r--pkgs/os-specific/linux/usbip/default.nix22
-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/wireguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix6
-rw-r--r--pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--pkgs/servers/clickhouse/default.nix8
-rw-r--r--pkgs/servers/dict/default.nix6
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix1
-rw-r--r--pkgs/servers/emby/default.nix4
-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/apt-cacher-ng/default.nix21
-rw-r--r--pkgs/servers/http/couchdb/2.0.0.nix7
-rw-r--r--pkgs/servers/http/couchdb/default.nix22
-rw-r--r--pkgs/servers/http/nginx/modules.nix16
-rw-r--r--pkgs/servers/inginious/default.nix1
-rw-r--r--pkgs/servers/mail/exim/cve-2017-16943.patch39
-rw-r--r--pkgs/servers/mail/exim/default.nix1
-rw-r--r--pkgs/servers/mail/rspamd/default.nix8
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matterbridge/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix8
-rw-r--r--pkgs/servers/monitoring/fusion-inventory/default.nix44
-rw-r--r--pkgs/servers/monitoring/fusion-inventory/remove_software_test.patch23
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch41
-rw-r--r--pkgs/servers/monitoring/munin/default.nix11
-rw-r--r--pkgs/servers/monitoring/munin/preserve_environment.patch41
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/2.2.nix4
-rw-r--r--pkgs/servers/nosql/apache-jena/fuseki-binary.nix2
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix8
-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/openafs-client/default.nix12
-rw-r--r--pkgs/servers/owncloud/default.nix5
-rw-r--r--pkgs/servers/plex/default.nix6
-rw-r--r--pkgs/servers/rpcbind/default.nix7
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/shairplay/default.nix35
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/cockroachdb/default.nix4
-rw-r--r--pkgs/servers/sql/oracle-xe/default.nix2
-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/sqlite/jdbc/default.nix26
-rw-r--r--pkgs/servers/traefik/default.nix19
-rw-r--r--pkgs/servers/tvheadend/default.nix7
-rw-r--r--pkgs/servers/web-apps/restya-board/default.nix50
-rw-r--r--pkgs/servers/web-apps/restya-board/fix_request-uri.patch12
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/builder.sh26
-rw-r--r--pkgs/servers/x11/xorg/default.nix52
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix19
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list13
-rw-r--r--pkgs/shells/antigen/default.nix6
-rw-r--r--pkgs/shells/dgsh/default.nix4
-rw-r--r--pkgs/shells/dgsh/glibc-2.26.patch12
-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/fish/default.nix14
-rw-r--r--pkgs/shells/nix-bash-completions/default.nix4
-rw-r--r--pkgs/shells/nix-zsh-completions/default.nix4
-rw-r--r--pkgs/shells/xonsh/default.nix35
-rw-r--r--pkgs/shells/zsh-command-time/default.nix31
-rw-r--r--pkgs/shells/zsh-powerlevel9k/default.nix29
-rw-r--r--pkgs/shells/zsh-prezto/default.nix6
-rw-r--r--pkgs/stdenv/darwin/default.nix41
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix4
-rw-r--r--pkgs/stdenv/darwin/standard-sandbox.sb72
-rw-r--r--pkgs/stdenv/generic/setup.sh79
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix2
-rw-r--r--pkgs/tools/X11/go-sct/default.nix2
-rw-r--r--pkgs/tools/X11/xbanish/default.nix9
-rw-r--r--pkgs/tools/admin/certbot/default.nix4
-rw-r--r--pkgs/tools/admin/fastlane/Gemfile.lock10
-rw-r--r--pkgs/tools/admin/fastlane/gemset.nix12
-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.nix15
-rw-r--r--pkgs/tools/archivers/wimlib/default.nix48
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix6
-rw-r--r--pkgs/tools/backup/borg/default.nix8
-rw-r--r--pkgs/tools/backup/rdedup/default.nix25
-rw-r--r--pkgs/tools/backup/restic/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/compression/brotli/default.nix6
-rw-r--r--pkgs/tools/compression/brotli/unstable.nix46
-rw-r--r--pkgs/tools/filesystems/bonnie/default.nix2
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix4
-rw-r--r--pkgs/tools/filesystems/genext2fs/default.nix6
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/graphics/povray/default.nix6
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix1
-rw-r--r--pkgs/tools/inputmethods/skk/skk-dicts/default.nix73
-rw-r--r--pkgs/tools/misc/ckb/ckb-animations-location.patch4
-rw-r--r--pkgs/tools/misc/ckb/default.nix12
-rw-r--r--pkgs/tools/misc/colord/default.nix10
-rw-r--r--pkgs/tools/misc/colord/fix-build-paths.patch18
-rw-r--r--pkgs/tools/misc/direnv/default.nix4
-rw-r--r--pkgs/tools/misc/docker-ls/default.nix29
-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/filebench/default.nix6
-rw-r--r--pkgs/tools/misc/hdf5/1_8.nix76
-rw-r--r--pkgs/tools/misc/hdf5/default.nix13
-rw-r--r--pkgs/tools/misc/hexd/default.nix25
-rw-r--r--pkgs/tools/misc/jdupes/default.nix32
-rw-r--r--pkgs/tools/misc/less/default.nix4
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rw-r--r--pkgs/tools/misc/mlocate/default.nix4
-rw-r--r--pkgs/tools/misc/otfcc/default.nix39
-rw-r--r--pkgs/tools/misc/pixd/default.nix25
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix19
-rw-r--r--pkgs/tools/misc/radeon-profile/default.nix8
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix28
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix3
-rw-r--r--pkgs/tools/misc/ttfautohint/default.nix23
-rw-r--r--pkgs/tools/misc/ttwatch/default.nix6
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix10
-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/default.nix4
-rw-r--r--pkgs/tools/networking/dirb/default.nix16
-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/iperf/3.nix8
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix4
-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/network-manager/default.nix6
-rw-r--r--pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix12
-rw-r--r--pkgs/tools/networking/pdsh/default.nix13
-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/snabb/default.nix5
-rw-r--r--pkgs/tools/networking/strongswan/default.nix4
-rw-r--r--pkgs/tools/package-management/nixops/unstable.nix11
-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/chaps/default.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix10
-rw-r--r--pkgs/tools/security/gencfsm/default.nix2
-rw-r--r--pkgs/tools/security/gnupg/22.nix4
-rw-r--r--pkgs/tools/security/opencryptoki/default.nix43
-rw-r--r--pkgs/tools/security/opensc/default.nix4
-rw-r--r--pkgs/tools/security/pius/default.nix32
-rw-r--r--pkgs/tools/security/simple-tpm-pk11/default.nix26
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/yara/default.nix6
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix25
-rw-r--r--pkgs/tools/system/lr/default.nix4
-rw-r--r--pkgs/tools/system/minijail/default.nix39
-rw-r--r--pkgs/tools/system/pciutils/default.nix4
-rw-r--r--pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--pkgs/tools/system/s6/default.nix4
-rw-r--r--pkgs/tools/text/bcat/Gemfile2
-rw-r--r--pkgs/tools/text/bcat/Gemfile.lock15
-rw-r--r--pkgs/tools/text/bcat/default.nix15
-rw-r--r--pkgs/tools/text/bcat/gemset.nix19
-rw-r--r--pkgs/tools/text/groff/default.nix45
-rw-r--r--pkgs/tools/text/languagetool/default.nix41
-rw-r--r--pkgs/tools/text/popfile/default.nix4
-rw-r--r--pkgs/tools/text/ruby-zoom/Gemfile.lock19
-rw-r--r--pkgs/tools/text/ruby-zoom/gemset.nix26
-rw-r--r--pkgs/tools/text/silver-searcher/bash-completion.patch5
-rw-r--r--pkgs/tools/text/silver-searcher/default.nix2
-rw-r--r--pkgs/tools/text/xml/xml2/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix5
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl2
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix328
-rw-r--r--pkgs/top-level/dotnet-packages.nix2
-rw-r--r--pkgs/top-level/emacs-packages.nix46
-rw-r--r--pkgs/top-level/lua-packages.nix34
-rw-r--r--pkgs/top-level/metrics.nix11
-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.nix60
-rw-r--r--pkgs/top-level/php-packages.nix21
-rw-r--r--pkgs/top-level/python-packages.nix387
1287 files changed, 30539 insertions, 78861 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 297b91976a88..e5708fba168f 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -80,3 +80,7 @@
 
 # Eclipse
 /pkgs/applications/editors/eclipse @rycee
+
+# https://github.com/NixOS/nixpkgs/issues/31401
+/lib/maintainers.nix @ghost
+/lib/licenses.nix @ghost
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 41e85bd5ac46..981036bf4a02 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -12,11 +12,11 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 
 ## Submitting changes
 
-* Format the commits in the following way:
+* Format the commit messages in the following way:
 
   ```
   (pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
-  
+
   (Motivation for change. Additional information.)
   ```
 
@@ -25,10 +25,10 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
   * nginx: init at 2.0.1
   * firefox: 54.0.1 -> 55.0
   * nixos/hydra: add bazBaz option
-  
+
     Dual baz behavior is needed to do foo.
   * nixos/nginx: refactor config generation
-    
+
     The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
 
 * `meta.description` should:
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index 756a2a30f0cc..466d8d2c359e 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -8,7 +8,5 @@
 
 ## Technical details
 
-* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
-* Nix version: (run `nix-env --version`)
-* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
-* Sandboxing enabled: (run `grep build-use-sandbox /etc/nix/nix.conf`)
+Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the
+results.
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index e746d390e760..000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-language: nix
-sudo: true
-# 'sudo: false' == containers that start fast, but only get 4G ram;
-# 'sudo: true'  == VMs that start slow, but with 8G
-# ..as per:  https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
-# Nixpkgs PR tests OOM with 4G: https://github.com/NixOS/nixpkgs/issues/24200
-
-matrix:
-    include:
-        - os: linux
-          sudo: required
-          script:
-              - ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable
-              - ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual
-          env:
-            - BUILD_TYPE="Test Nixpkgs evaluation & NixOS manual build"
-        - os: linux
-          sudo: required
-          dist: trusty
-          before_script:
-              - sudo mount -o remount,exec,size=2G,mode=755 /run/user
-          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
-          env:
-            - BUILD_TYPE="Build affected packages (Linux)"
-        - os: osx
-          osx_image: xcode7.3
-          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
-          env:
-            - BUILD_TYPE="Build affected packages (macOS)"
-env:
-    global:
-        - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
-
-notifications:
-    email: false
diff --git a/README.md b/README.md
index 64cfb25eac34..3f2ff48dd92a 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,9 @@
-[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
+[<img src="https://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
 
-[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs)
 [![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs)
 
 Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
-manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
+manager. It is periodically built and tested by the [Hydra](https://hydra.nixos.org/)
 build daemon as so-called channels. To get channel information via git, add
 [nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels.git) as a remote:
 
@@ -23,7 +22,7 @@ release and `nixos-unstable` for the latest successful build of master:
 
 For pull-requests, please rebase onto nixpkgs `master`.
 
-[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside
+[NixOS](https://nixos.org/nixos/) Linux distribution source code is located inside
 `nixos/` folder.
 
 * [NixOS installation instructions](https://nixos.org/nixos/manual/#ch-installation)
diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml
index 0776e70f14e1..765fc56c3bb3 100644
--- a/doc/coding-conventions.xml
+++ b/doc/coding-conventions.xml
@@ -661,8 +661,6 @@ src = fetchFromGitHub {
 </section>
 
 <section xml:id="sec-patches"><title>Patches</title>
-  <para>Only patches that are unique to <literal>nixpkgs</literal> should be
-    included in <literal>nixpkgs</literal> source.</para>
   <para>Patches available online should be retrieved using
     <literal>fetchpatch</literal>.</para>
   <para>
@@ -676,5 +674,30 @@ patches = [
 ];
 </programlisting>
   </para>
+  <para>Otherwise, you can add a <literal>.patch</literal> file to the
+  <literal>nixpkgs</literal> repository. In the interest of keeping our
+  maintenance burden to a minimum, only patches that are unique
+  to <literal>nixpkgs</literal> should be added in this way.</para>
+<para><programlisting>
+patches = [ ./0001-changes.patch ];
+</programlisting></para>
+  <para>If you do need to do create this sort of patch file,
+  one way to do so is with git:
+  <orderedlist>
+    <listitem><para>Move to the root directory of the source code
+    you're patching.<screen>
+$ cd the/program/source</screen></para></listitem>
+    <listitem><para>If a git repository is not already present,
+    create one and stage all of the source files.<screen>
+$ git init
+$ git add .</screen></para></listitem>
+    <listitem><para>Edit some files to make whatever changes need
+    to be included in the patch.</para></listitem>
+    <listitem><para>Use git to create a diff, and pipe the output
+    to a patch file:<screen>
+$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch</screen>
+    </para></listitem>
+  </orderedlist></para>
 </section>
+
 </chapter>
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 9e9dd41c2881..4b35b72feae0 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -11,7 +11,7 @@
     For example, a typical use of cross compilation is to compile programs for embedded devices.
     These devices often don't have the computing power and memory to compile their own programs.
     One might think that cross-compilation is a fairly niche concern, but there are advantages to being rigorous about distinguishing build-time vs run-time environments even when one is developing and deploying on the same machine.
-    Nixpkgs is increasingly adopting this opinion in that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
+    Nixpkgs is increasingly adopting the opinion that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
   </para>
 
   <para>
@@ -30,11 +30,11 @@
   <section>
     <title>Platform parameters</title>
     <para>
-      The three GNU Autoconf platforms, <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>, are historically the result of much confusion.
-      <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html" /> clears this up somewhat but there is more to be said.
-      An important advice to get out the way is, unless you are packaging a compiler or other build tool, just worry about the build and host platforms.
-      Dealing with just two platforms usually better matches people's preconceptions, and in this case is completely correct.
+      Nixpkgs follows the <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">common historical convention of GNU autoconf</link> of distinguishing between 3 types of platform: <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>.
+
+      In summary, <wordasword>build</wordasword> is the platform on which a package is being built, <wordasword>host</wordasword> is the platform on which it is to run. The third attribute, <wordasword>target</wordasword>, is relevant only for certain specific compilers and build tools.
     </para>
+
     <para>
       In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>.
       All three are always defined as attributes in the standard environment, and at the top level. That means one can get at them just like a dependency in a function that is imported with <literal>callPackage</literal>:
@@ -52,7 +52,7 @@
       <varlistentry>
         <term><varname>hostPlatform</varname></term>
         <listitem><para>
-          The "host platform" is the platform on which a package is run.
+          The "host platform" is the platform on which a package will be run.
           This is the simplest platform to understand, but also the one with the worst name.
         </para></listitem>
       </varlistentry>
@@ -60,22 +60,24 @@
         <term><varname>targetPlatform</varname></term>
         <listitem>
           <para>
-            The "target platform" is black sheep.
-            The other two intrinsically apply to all compiled software—or any build process with a notion of "build-time" followed by "run-time".
-            The target platform only applies to programming tools, and even then only is a good for for some of them.
-            Briefly, GCC, Binutils, GHC, and certain other tools are written in such a way such that a single build can only compile code for a single platform.
-            Thus, when building them, one must think ahead about which platforms they wish to use the tool to produce machine code for, and build binaries for each.
+            The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
+            Instead, it is only relevant for compatability with building certain specific compilers and build tools.
+            It can be safely ignored for all other packages.
+          </para>
+          <para>
+            The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries for a single platform.
+            The task specifying this single "target platform" is thus pushed to build time of the compiler.
+            The root cause of this mistake is often that the compiler (which will be run on the host) and the the standard library/runtime (which will be run on the target) are built by a single build process.
           </para>
           <para>
-            There is no fundamental need to think about the target ahead of time like this.
-            LLVM, for example, was designed from the beginning with cross-compilation in mind, and so a normal LLVM binary will support every architecture that LLVM supports.
-            If the tool supports modular or pluggable backends, one might imagine specifying a <emphasis>set</emphasis> of target platforms / backends one wishes to support, rather than a single one.
+            There is no fundamental need to think about a single target ahead of time like this.
+            If the tool supports modular or pluggable backends, both the need to specify the target at build time and the constraint of having only a single target disappear.
+            An example of such a tool is LLVM.
           </para>
           <para>
-            The biggest reason for mess, if there is one, is that many compilers have the bad habit a build process that builds the compiler and standard library/runtime together.
-            Then the specifying target platform is essential, because it determines the host platform of the standard library/runtime.
-            Nixpkgs tries to avoid this where possible too, but still, because the concept of a target platform is so ingrained now in Autoconf and other tools, it is best to support it as is.
-            Tools like LLVM that don't need up-front target platforms can safely ignore it like normal packages, and it will do no harm.
+            Although the existance of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
+            Nixpkgs tries to avoid sharing in the mistake where possible.
+            Still, because the concept of a target platform is so ingrained, it is best to support it as is.
           </para>
         </listitem>
       </varlistentry>
@@ -155,14 +157,22 @@
   <section>
     <title>Specifying Dependencies</title>
     <para>
-      As mentioned in the introduction to this chapter, one can think about a build time vs run time distinction whether cross-compiling or not.
-      In the case of cross-compilation, this corresponds with whether a derivation running on the native or foreign platform is produced.
-      An interesting thing to think about is how this corresponds with the three Autoconf platforms.
-      In the run-time case, the depending and depended-on package simply have matching build, host, and target platforms.
-      But in the build-time case, one can imagine "sliding" the platforms one over.
-      The depended-on package's host and target platforms (respectively) become the depending package's build and host platforms.
-      This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
+      In this section we explore the relationship between both runtime and buildtime dependencies and the 3 Autoconf platforms.
+    </para>
+    <para>
+      A runtime dependency between 2 packages implies that between them both the host and target platforms match.
+      This is directly implied by the meaning of "host platform" and "runtime dependency":
+      The package dependency exists while both packages are runnign on a single host platform.
+    </para>
+    <para>
+      A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
+      The meaning of a build time dependency is that to build the depending package we need to be able to run the depended-on's package.
+      The depending package's build platform is therefore equal to the depended-on package's host platform.
+      Analogously, the depending package's host platform is equal to the depended-on package's target platform.
+    </para>
+    <para>
       In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
+      This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
     </para>
     <para>
       Some examples will probably make this clearer.
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index da3fd770ce72..afcba13488be 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -48,7 +48,7 @@ trouble with packages like `3dmodels` and `4Blocks`, because these names are
 invalid identifiers in the Nix language. The issue of how to deal with these
 rare corner cases is currently unresolved.)
 
-Haskell packages who's Nix name (second column) begins with a `haskell-` prefix
+Haskell packages whose Nix name (second column) begins with a `haskell-` prefix
 are packages that provide a library whereas packages without that prefix
 provide just executables. Libraries may provide executables too, though: the
 package `haskell-pandoc`, for example, installs both a library and an
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index cf81b240ceac..9172d7122139 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -530,7 +530,6 @@ Based on the packages defined in `pkgs/top-level/python-packages.nix` an
 attribute set is created for each available Python interpreter. The available
 sets are
 
-* `pkgs.python26Packages`
 * `pkgs.python27Packages`
 * `pkgs.python34Packages`
 * `pkgs.python35Packages`
@@ -540,7 +539,7 @@ sets are
 and the aliases
 
 * `pkgs.python2Packages` pointing to `pkgs.python27Packages`
-* `pkgs.python3Packages` pointing to `pkgs.python35Packages`
+* `pkgs.python3Packages` pointing to `pkgs.python36Packages`
 * `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
 
 #### `buildPythonPackage` function
diff --git a/doc/languages-frameworks/rust.md b/doc/languages-frameworks/rust.md
index 276b5496fbb8..bedda76a3066 100644
--- a/doc/languages-frameworks/rust.md
+++ b/doc/languages-frameworks/rust.md
@@ -9,11 +9,12 @@ date: 2017-03-05
 To install the rust compiler and cargo put
 
 ```
-rust
+rustc
+cargo
 ```
 
 into the `environment.systemPackages` or bring them into
-scope with `nix-shell -p rust`.
+scope with `nix-shell -p rustc cargo`.
 
 For daily builds (beta and nightly) use either rustup from
 nixpkgs or use the [Rust nightlies
@@ -24,9 +25,7 @@ overlay](#using-the-rust-nightlies-overlay).
 Rust applications are packaged by using the `buildRustPackage` helper from `rustPlatform`:
 
 ```
-with rustPlatform;
-
-buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   name = "ripgrep-${version}";
   version = "0.4.0";
 
@@ -40,9 +39,9 @@ buildRustPackage rec {
   cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
 
   meta = with stdenv.lib; {
-    description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
+    description = "A fast line-oriented regex search tool, similar to ag and ack";
     homepage = https://github.com/BurntSushi/ripgrep;
-    license = with licenses; [ unlicense ];
+    license = licenses.unlicense;
     maintainers = [ maintainers.tailhook ];
     platforms = platforms.all;
   };
diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml
index a2acc91e55a2..2f23da8df01e 100644
--- a/doc/multiple-output.xml
+++ b/doc/multiple-output.xml
@@ -68,7 +68,7 @@
 
       <varlistentry><term><varname>
         $outputDevdoc</varname></term><listitem><para>
-        is for <emphasis>developer</emphasis> documentation.  Currently we count gtk-doc in there.  It goes to <varname>devdoc</varname> or is removed (!) by default.  This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
+        is for <emphasis>developer</emphasis> documentation.  Currently we count gtk-doc and devhelp books in there.  It goes to <varname>devdoc</varname> or is removed (!) by default.  This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
       </para></listitem></varlistentry>
 
       <varlistentry><term><varname>
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index ee110b771049..46b562a794f0 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -231,7 +231,8 @@ genericBuild
     <listitem><para>
       Like <varname>nativeBuildInputs</varname>, but these dependencies are <emphasis>propagated</emphasis>:
       that is, the dependencies listed here are added to the <varname>nativeBuildInputs</varname> of any package that uses <emphasis>this</emphasis> package as a dependency.
-      So if package Y has <literal>propagatedBuildInputs = [X]</literal>, and package Z has <literal>buildInputs = [Y]</literal>, then package X will appear in Z’s build environment automatically.
+      So if package Y has <literal>propagatedNativeBuildInputs = [X]</literal>, and package Z has <literal>nativeBuildInputs = [Y]</literal>,
+      then package X will appear in Z’s build environment automatically.
     </para></listitem>
   </varlistentry>
 
diff --git a/lib/default.nix b/lib/default.nix
index 3e30ec515fcb..9dc4fea99fc2 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -41,7 +41,6 @@ let
     generators = callLibs ./generators.nix;
     misc = callLibs ./deprecated.nix;
     # domain-specific
-    sandbox = callLibs ./sandbox.nix;
     fetchers = callLibs ./fetchers.nix;
 
     # Eval-time filesystem handling
diff --git a/lib/generators.nix b/lib/generators.nix
index 5f9da234f447..b27ab485f41e 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -22,11 +22,15 @@ rec {
    * character sep. If sep appears in k, it is escaped.
    * Helper for synaxes with different separators.
    *
-   * mkKeyValueDefault ":" "f:oo" "bar"
+   * mkValueString specifies how values should be formatted.
+   *
+   * mkKeyValueDefault {} ":" "f:oo" "bar"
    * > "f\:oo:bar"
    */
-  mkKeyValueDefault = sep: k: v:
-    "${libStr.escape [sep] k}${sep}${toString v}";
+  mkKeyValueDefault = {
+    mkValueString ? toString
+  }: sep: k: v:
+    "${libStr.escape [sep] k}${sep}${mkValueString v}";
 
 
   /* Generate a key-value-style config file from an attrset.
@@ -34,7 +38,7 @@ rec {
    * mkKeyValue is the same as in toINI.
    */
   toKeyValue = {
-    mkKeyValue ? mkKeyValueDefault "="
+    mkKeyValue ? mkKeyValueDefault {} "="
   }: attrs:
     let mkLine = k: v: mkKeyValue k v + "\n";
     in libStr.concatStrings (libAttr.mapAttrsToList mkLine attrs);
@@ -64,7 +68,7 @@ rec {
     # apply transformations (e.g. escapes) to section names
     mkSectionName ? (name: libStr.escape [ "[" "]" ] name),
     # format a setting line from key and value
-    mkKeyValue    ? mkKeyValueDefault "="
+    mkKeyValue    ? mkKeyValueDefault {} "="
   }: attrsOfAttrs:
     let
         # map function to string for each key val
diff --git a/lib/licenses.nix b/lib/licenses.nix
index cbd737dc57f1..1f2c448470b3 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -15,7 +15,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
 
   afl21 = spdx {
     spdxId = "AFL-2.1";
-    fullName = "Academic Free License";
+    fullName = "Academic Free License v2.1";
+  };
+
+  afl3 = spdx {
+    spdxId = "AFL-3.0";
+    fullName = "Academic Free License v3.0";
   };
 
   agpl3 = spdx {
@@ -426,6 +431,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Notion modified LGPL";
   };
 
+  nposl3 = spdx {
+    spdxId = "NPOSL-3.0";
+    fullName = "Non-Profit Open Software License 3.0";
+  };
+
   ofl = spdx {
     spdxId = "OFL-1.1";
     fullName = "SIL Open Font License 1.1";
@@ -441,6 +451,16 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "OpenSSL License";
   };
 
+  osl21 = spdx {
+    spdxId = "OSL-2.1";
+    fullName = "Open Software License 2.1";
+  };
+
+  osl3 = spdx {
+    spdxId = "OSL-3.0";
+    fullName = "Open Software License 3.0";
+  };
+
   php301 = spdx {
     spdxId = "PHP-3.01";
     fullName = "PHP License v3.01";
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index f09869cda2d0..02ea550e84bc 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -62,11 +62,12 @@
   asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   asymmetric = "Lorenzo Manacorda <lorenzo@mailbox.org>";
-  aszlig = "aszlig <aszlig@redmoonstudios.org>";
+  aszlig = "aszlig <aszlig@nix.build>";
   auntie = "Jonathan Glines <auntieNeo@gmail.com>";
   avnik = "Alexander V. Nikolaev <avn@avnik.info>";
   aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
   bachp = "Pascal Bach <pascal.bach@nextrem.ch>";
+  backuitist = "Bruno Bieth";
   badi = "Badi' Abdul-Wahid <abdulwahidc@gmail.com>";
   balajisivaraman = "Balaji Sivaraman <sivaraman.balaji@gmail.com>";
   barrucadu = "Michael Walker <mike@barrucadu.co.uk>";
@@ -111,6 +112,7 @@
   changlinli = "Changlin Li <mail@changlinli.com>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   chattered = "Phil Scott <me@philscotted.com>";
+  ChengCat = "Yucheng Zhang <yu@cheng.cat>";
   choochootrain = "Hurshal Patel <hurshal@imap.cc>";
   chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
   chris-martin = "Chris Martin <ch.martin@gmail.com>";
@@ -118,6 +120,7 @@
   chrisrosset = "Christopher Rosset <chris@rosset.org.uk>";
   christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
   ciil = "Simon Lackerbauer <simon@lackerbauer.com>";
+  ck3d = "Christian Kögler <ck3d@gmx.de>";
   ckampka = "Christian Kampka <christian@kampka.net>";
   ckauhaus = "Christian Kauhaus <christian@kauhaus.de>";
   cko = "Christine Koppelt <christine.koppelt@gmail.com>";
@@ -144,6 +147,7 @@
   DamienCassou = "Damien Cassou <damien@cassou.me>";
   danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
   dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
+  danharaj = "Dan Haraj <dan@obsidian.systems>";
   danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
   dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
   david50407 = "David Kuo <me@davy.tw>";
@@ -218,6 +222,7 @@
   falsifian = "James Cook <james.cook@utoronto.ca>";
   fare = "Francois-Rene Rideau <fahree@gmail.com>";
   fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
+  FireyFly = "Jonas Höglund <nix@firefly.nu>";
   flokli = "Florian Klink <flokli@flokli.de>";
   florianjacob = "Florian Jacob <projects+nixos@florianjacob.de>";
   flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
@@ -282,6 +287,7 @@
   infinisil = "Silvan Mosberger <infinisil@icloud.com>";
   ironpinguin = "Michele Catalano <michele@catalano.de>";
   ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
+  ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
   j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
   jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
   jammerful = "jammerful <jammerful@gmail.com>";
@@ -325,6 +331,7 @@
   kaiha = "Kai Harries <kai.harries@gmail.com>";
   kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
   kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
+  karolchmist = "karolchmist <info+nix@chmist.com>";
   kentjames = "James Kent <jameschristopherkent@gmail.com";
   kevincox = "Kevin Cox <kevincox@kevincox.ca>";
   khumba = "Bryan Gardiner <bog@khumba.net>";
@@ -409,11 +416,13 @@
   michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
   midchildan = "midchildan <midchildan+nix@gmail.com>";
   mikefaille = "Michaël Faille <michael@faille.io>";
+  mikoim = "Eshin Kunishima <ek@esh.ink>";
   miltador = "Vasiliy Solovey <miltador@yandex.ua>";
   mimadrid = "Miguel Madrid <mimadrid@ucm.es>";
   mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
   mirrexagon = "Andrew Abbott <mirrexagon@mirrexagon.com>";
   mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
+  mjp = "Mike Playle <mike@mythik.co.uk>"; # github = "MikePlayle";
   mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mog = "Matthew O'Gorman <mog-lists@rldn.net>";
@@ -481,6 +490,7 @@
   patternspandemic = "Brad Christensen <patternspandemic@live.com>";
   pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>";
   pbogdan = "Piotr Bogdan <ppbogdan@gmail.com>";
+  pcarrier = "Pierre Carrier <pc@rrier.ca>";
   periklis = "theopompos@gmail.com";
   pesterhazy = "Paulus Esterhazy <pesterhazy@gmail.com>";
   peterhoeg = "Peter Hoeg <peter@hoeg.com>";
@@ -491,6 +501,7 @@
   Phlogistique = "Noé Rubinstein <noe.rubinstein@gmail.com>";
   phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";
   phunehehe = "Hoang Xuan Phu <phunehehe@gmail.com>";
+  pierrechevalier83 = "Pierre Chevalier <pierrechevalier83@gmail.com>";
   pierrer = "Pierre Radermecker <pierrer@pi3r.be>";
   pierron = "Nicolas B. Pierron <nixos@nbp.name>";
   piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
@@ -633,6 +644,7 @@
   theuni = "Christian Theune <ct@flyingcircus.io>";
   ThomasMader = "Thomas Mader <thomas.mader@gmail.com>";
   thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
+  thpham = "Thomas Pham <thomas.pham@ithings.ch>";
   timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
   timokau = "Timo Kaufmann <timokau@zoho.com>";
   titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
@@ -690,6 +702,7 @@
   womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>";
   wscott = "Wayne Scott <wsc9tt@gmail.com>";
   wyvie = "Elijah Rum <elijahrum@gmail.com>";
+  xaverdh = "Dominik Xaver Hörl <hoe.dom@gmx.de>";
   xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
   xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
   xwvvvvwx = "David Terry <davidterry@posteo.de>";
@@ -699,6 +712,7 @@
   ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>";
   yochai = "Yochai <yochai@titat.info>";
   yorickvp = "Yorick van Pelt <yorickvanpelt@gmail.com>";
+  yrashk = "Yurii Rashkovskii <yrashk@gmail.com>";
   yuriaisaka = "Yuri Aisaka <yuri.aisaka+nix@gmail.com>";
   yurrriq = "Eric Bailey <eric@ericb.me>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
diff --git a/lib/sandbox.nix b/lib/sandbox.nix
deleted file mode 100644
index 2cdeb40938ad..000000000000
--- a/lib/sandbox.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib }:
-with lib.strings;
-
-/* Helpers for creating lisp S-exprs for the Apple sandbox
-
-lib.sandbox.allowFileRead [ "/usr/bin/file" ];
-  # => "(allow file-read* (literal \"/usr/bin/file\"))";
-
-lib.sandbox.allowFileRead {
-  literal = [ "/usr/bin/file" ];
-  subpath = [ "/usr/lib/system" ];
-}
-  # => "(allow file-read* (literal \"/usr/bin/file\") (subpath \"/usr/lib/system\"))"
-*/
-
-let
-
-sexp = tokens: "(" + builtins.concatStringsSep " " tokens + ")";
-generateFileList = files:
-  if builtins.isList files
-    then concatMapStringsSep " " (x: sexp [ "literal" ''"${x}"'' ]) files
-    else if builtins.isString files
-      then generateFileList [ files ]
-      else concatStringsSep " " (
-        (map (x: sexp [ "literal" ''"${x}"'' ]) (files.literal or [])) ++
-        (map (x: sexp [ "subpath" ''"${x}"'' ]) (files.subpath or []))
-      );
-applyToFiles = f: act: files: f "${act} ${generateFileList files}";
-genActions = actionName: let
-  action = feature: sexp [ actionName feature ];
-  self = {
-    "${actionName}" = action;
-    "${actionName}File" = applyToFiles action "file*";
-    "${actionName}FileRead" = applyToFiles action "file-read*";
-    "${actionName}FileReadMetadata" = applyToFiles action "file-read-metadata";
-    "${actionName}DirectoryList" = self."${actionName}FileReadMetadata";
-    "${actionName}FileWrite" = applyToFiles action "file-write*";
-    "${actionName}FileWriteMetadata" = applyToFiles action "file-write-metadata";
-  };
-  in self;
-
-in
-
-genActions "allow" // genActions "deny" // {
-  importProfile = derivation: ''
-    (import "${derivation}")
-  '';
-}
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 4c4c06fe78da..1657ec33a46c 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -201,7 +201,7 @@ runTests {
 # in alphabetical order
 
   testMkKeyValueDefault = {
-    expr = generators.mkKeyValueDefault ":" "f:oo" "bar";
+    expr = generators.mkKeyValueDefault {} ":" "f:oo" "bar";
     expected = ''f\:oo:bar'';
   };
 
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
deleted file mode 100755
index 4da4f7dacfae..000000000000
--- a/maintainers/scripts/travis-nox-review-pr.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /usr/bin/env bash
-set -e
-
-while test -n "$1"; do
-
-    # tell Travis to use folding
-    echo -en "travis_fold:start:$1\r"
-
-    case $1 in
-
-        nixpkgs-verify)
-            echo "=== Verifying that nixpkgs evaluates..."
-
-            nix-env --file $TRAVIS_BUILD_DIR --query --available --json > /dev/null
-            ;;
-
-        nixos-options)
-            echo "=== Checking NixOS options"
-
-            nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr options --show-trace
-            ;;
-
-        nixos-manual)
-            echo "=== Checking NixOS manuals"
-
-            nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr manual --show-trace
-            ;;
-
-        nixpkgs-manual)
-            echo "=== Checking nixpkgs manuals"
-
-            nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr manual --show-trace
-            ;;
-
-        nixpkgs-tarball)
-            echo "=== Checking nixpkgs tarball creation"
-
-            nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace
-            ;;
-
-        nixpkgs-unstable)
-            echo "=== Checking nixpkgs unstable job"
-
-            nix-instantiate $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr unstable --show-trace
-            ;;
-
-        nixpkgs-lint)
-            echo "=== Checking nixpkgs lint"
-
-            nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
-            ;;
-
-        nox)
-            echo "=== Fetching Nox from binary cache"
-
-            # build nox (+ a basic nix-shell env) silently so it's not in the log
-            nix-shell -p nox stdenv --command true
-            ;;
-
-        pr)
-            if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
-                echo "=== No pull request found"
-            else
-                echo "=== Building pull request #$TRAVIS_PULL_REQUEST"
-
-                token=""
-                if [ -n "$GITHUB_TOKEN" ]; then
-                    token="--token $GITHUB_TOKEN"
-                fi
-
-                nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
-            fi
-            ;;
-
-        *)
-            echo "Skipping unknown option $1"
-            ;;
-    esac
-
-    echo -en "travis_fold:end:$1\r"
-    shift
-done
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml
index 2bd9cca5622f..c6656edff6c8 100644
--- a/nixos/doc/manual/configuration/user-mgmt.xml
+++ b/nixos/doc/manual/configuration/user-mgmt.xml
@@ -12,7 +12,7 @@ management.  In the declarative style, users are specified in
 states that a user account named <literal>alice</literal> shall exist:
 
 <programlisting>
-users.extraUsers.alice =
+users.users.alice =
   { isNormalUser = true;
     home = "/home/alice";
     description = "Alice Foobar";
@@ -34,7 +34,7 @@ to set a password, which is retained across invocations of
 
 <para>If you set users.mutableUsers to false, then the contents of /etc/passwd
 and /etc/group will be congruent to your NixOS configuration. For instance,
-if you remove a user from users.extraUsers and run nixos-rebuild, the user
+if you remove a user from users.users and run nixos-rebuild, the user
 account will cease to exist. Also, imperative commands for managing users
 and groups, such as useradd, are no longer available. Passwords may still be
 assigned by setting the user's <literal>hashedPassword</literal> option. A
@@ -54,7 +54,7 @@ to the user specification.</para>
 group named <literal>students</literal> shall exist:
 
 <programlisting>
-users.extraGroups.students.gid = 1000;
+users.groups.students.gid = 1000;
 </programlisting>
 
 As with users, the group ID (gid) is optional and will be assigned
@@ -68,8 +68,8 @@ account named <literal>alice</literal>:
 <screen>
 # useradd -m alice</screen>
 
-To make all nix tools available to this new user use `su - USER` which 
-opens a login shell (==shell that loads the profile) for given user. 
+To make all nix tools available to this new user use `su - USER` which
+opens a login shell (==shell that loads the profile) for given user.
 This will create the ~/.nix-defexpr symlink. So run:
 
 <screen>
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 9413d71a34cf..9bc83be66104 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -106,13 +106,43 @@ let
       xmllint --xinclude --noxincludenode \
          --output ./man-pages-combined.xml ./man-pages.xml
 
-      xmllint --debug --noout --nonet \
-        --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
-        manual-combined.xml
-      xmllint --debug --noout --nonet \
-        --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
-        man-pages-combined.xml
-
+      # outputs the context of an xmllint error output
+      # LEN lines around the failing line are printed
+      function context {
+        # length of context
+        local LEN=6
+        # lines to print before error line
+        local BEFORE=4
+
+        # xmllint output lines are:
+        # file.xml:1234: there was an error on line 1234
+        while IFS=':' read -r file line rest; do
+          echo
+          if [[ -n "$rest" ]]; then
+            echo "$file:$line:$rest"
+            local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))
+            # number lines & filter context
+            nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p"
+          else
+            if [[ -n "$line" ]]; then
+              echo "$file:$line"
+            else
+              echo "$file"
+            fi
+          fi
+        done
+      }
+
+      function lintrng {
+        xmllint --debug --noout --nonet \
+          --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
+          "$1" \
+          2>&1 | context 1>&2
+          # ^ redirect assumes xmllint doesn’t print to stdout
+      }
+
+      lintrng manual-combined.xml
+      lintrng man-pages-combined.xml
 
       mkdir $out
       cp manual-combined.xml $out/
diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml
index b9da712b86f0..7b25a39e83b8 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -262,8 +262,18 @@ startAll;
     <literal>waitForWindow(qr/Terminal/)</literal>.</para></listitem>
   </varlistentry>
 
+  <varlistentry>
+    <term><methodname>copyFileFromHost</methodname></term>
+    <listitem><para>Copies a file from host to machine, e.g.,
+    <literal>copyFileFromHost("myfile", "/etc/my/important/file")</literal>.</para>
+    <para>The first argument is the file on the host. The file needs to be
+    accessible while building the nix derivation. The second argument is
+    the location of the file on the machine.</para>
+    </listitem>
+  </varlistentry>
+
 </variablelist>
 
 </para>
 
-</section>
\ No newline at end of file
+</section>
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index 17b385242f6f..b0e29182127e 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -72,6 +72,29 @@ following incompatible changes:</para>
       <option>services.pgmanage</option>.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      <emphasis role="strong">
+        The OpenSSH service no longer enables support for DSA keys by default,
+        which could cause a system lock out. Update your keys or, unfavorably,
+        re-enable DSA support manually.
+      </emphasis>
+    </para>
+
+    <para>
+      DSA support was
+      <link xlink:href="https://www.openssh.com/legacy.html">deprecated in OpenSSH 7.0</link>,
+      due to it being too weak. To re-enable support, add
+      <literal>PubkeyAcceptedKeyTypes +ssh-dss</literal> to the end of your
+      <option>services.openssh.extraConfig</option>.
+    </para>
+
+    <para>
+      After updating the keys to be stronger, anyone still on a pre-17.03
+      version is safe to jump to 17.03, as vetted
+      <link xlink:href="https://search.nix.gsc.io/?q=stateVersion">here</link>.
+    </para>
+  </listitem>
 </itemizedlist>
 
 </section>
@@ -86,8 +109,26 @@ following incompatible changes:</para>
 <itemizedlist>
   <listitem>
     <para>
-      ZNC option <option>services.znc.mutable</option> now defaults to <literal>true</literal>.
-      That means that old configuration is not overwritten by default when update to the znc options are made.
+      ZNC option <option>services.znc.mutable</option> now defaults to
+      <literal>true</literal>. That means that old configuration is not
+      overwritten by default when update to the znc options are made.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      The option <option>networking.wireless.networks.&lt;name&gt;.auth</option>
+      has been added for wireless networks with WPA-Enterprise authentication.
+      There is also a new <option>extraConfig</option> option to directly
+      configure <literal>wpa_supplicant</literal> and <option>hidden</option>
+      to connect to hidden networks.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      The option <option>services.xserver.desktopManager.default</option> is now <literal>none</literal> by default.
+      An assertion failure is thrown if WM's and DM's default are <literal>none</literal>.
+      To explicitly run a plain X session without and DM or WM, the newly introduced option <option>services.xserver.plainX</option>
+      must be set to true.
     </para>
   </listitem>
 </itemizedlist>
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 9d1327d9c15a..bf25e0cab259 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -33,18 +33,23 @@
 
 , name ? "nixos-disk-image"
 
-, # Disk image format, one of qcow2, vpc, raw.
+, # Disk image format, one of qcow2, qcow2-compressed, vpc, raw.
   format ? "raw"
 }:
 
 with lib;
 
-let
-  extensions = {
+let format' = format; in let
+
+  format = if (format' == "qcow2-compressed") then "qcow2" else format';
+
+  compress = optionalString (format' == "qcow2-compressed") "-c";
+
+  filename = "nixos." + {
     qcow2 = "qcow2";
     vpc   = "vhd";
     raw   = "img";
-  };
+  }.${format};
 
   nixpkgs = cleanSource pkgs.path;
 
@@ -125,7 +130,7 @@ let
     fakeroot nixos-prepare-root $root ${channelSources} ${config.system.build.toplevel} closure
 
     echo "copying staging root to image..."
-    cptofs ${pkgs.lib.optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
+    cptofs ${optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
   '';
 in pkgs.vmTools.runInLinuxVM (
   pkgs.runCommand name
@@ -134,12 +139,11 @@ in pkgs.vmTools.runInLinuxVM (
       exportReferencesGraph = [ "closure" metaClosure ];
       postVM = ''
         ${if format == "raw" then ''
-          mv $diskImage $out/nixos.img
-          diskImage=$out/nixos.img
+          mv $diskImage $out/${filename}
         '' else ''
-          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} $diskImage $out/nixos.${extensions.${format}}
-          diskImage=$out/nixos.${extensions.${format}}
+          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} ${compress} $diskImage $out/${filename}
         ''}
+        diskImage=$out/${filename}
         ${postVM}
       '';
       memSize = 1024;
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index a7ed5d1faa38..a01c3c336a1b 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -146,6 +146,7 @@ sub start {
             ($self->{allowReboot} ? "" : "-no-reboot ") .
             "-monitor unix:./monitor -chardev socket,id=shell,path=./shell " .
             "-device virtio-serial -device virtconsole,chardev=shell " .
+            "-device virtio-rng-pci " .
             ($showGraphics ? "-serial stdio" : "-nographic") . " " . ($ENV{QEMU_OPTS} || "");
         chdir $self->{stateDir} or die;
         exec $self->{startCommand};
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 9339ba78ff0c..532fff681d37 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -113,8 +113,7 @@ rec {
             --add-flags "''${vms[*]}" \
             ${lib.optionalString enableOCR
               "--prefix PATH : '${ocrProg}/bin:${imagemagick}/bin'"} \
-            --run "testScript=\"\$(cat $out/test-script)\"" \
-            --set testScript '$testScript' \
+            --run "export testScript=\"\$(cat $out/test-script)\"" \
             --set VLANS '${toString vlans}'
           ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
           wrapProgram $out/bin/nixos-run-vms \
diff --git a/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix
index 3e163b8ec51e..fc01c15acb9b 100644
--- a/nixos/modules/config/fonts/fontconfig-penultimate.nix
+++ b/nixos/modules/config/fonts/fontconfig-penultimate.nix
@@ -52,6 +52,8 @@ let
       </fontconfig>
     '';
 
+  localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
+
   # The configuration to be included in /etc/font/
   penultimateConf = pkgs.runCommand "font-penultimate-conf" {} ''
     support_folder=$out/etc/fonts/conf.d
@@ -107,6 +109,12 @@ let
       $latest_folder/51-local.conf \
       --replace local.conf /etc/fonts/${latestVersion}/local.conf
 
+    # local.conf (indirect priority 51)
+    ${optionalString (cfg.localConf != "") ''
+    ln -s ${localConf}        $out/etc/fonts/local.conf
+    ln -s ${localConf}        $out/etc/fonts/${latestVersion}/local.conf
+    ''}
+
     ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf
     ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf
 
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 8b9c3570476a..c99716b9f3c8 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -45,7 +45,7 @@ let
   uid = ids.uids.pulseaudio;
   gid = ids.gids.pulseaudio;
 
-  stateDir = "/var/run/pulse";
+  stateDir = "/run/pulse";
 
   # Create pulse/client.conf even if PulseAudio is disabled so
   # that we can disable the autospawn feature in programs that
@@ -219,6 +219,12 @@ in {
 
         { target = "pulse/daemon.conf";
           source = writeText "daemon.conf" (lib.generators.toKeyValue {} cfg.daemon.config); }
+
+        { target = "openal/alsoft.conf";
+          source = writeText "alsoft.conf" "drivers=pulse"; }
+
+        { target = "libao.conf";
+          source = writeText "libao.conf" "default_driver=pulse"; }
       ];
 
       # Allow PulseAudio to get realtime priority using rtkit.
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index a4715175cc95..c1102d558101 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -582,13 +582,15 @@ in {
       {
         environment = {
           etc = mapAttrs' (name: { packages, ... }: {
-            name = "per-user-pkgs/${name}";
-            value.source = pkgs.symlinkJoin {
-              name = "per-user-pkgs.${name}";
+            name = "profiles/per-user/${name}";
+            value.source = pkgs.buildEnv {
+              name = "user-environment";
               paths = packages;
+              inherit (config.environment) pathsToLink extraOutputsToInstall;
+              inherit (config.system.path) ignoreCollisions postBuild;
             };
           }) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
-          profiles = ["/etc/per-user-pkgs/$LOGNAME"];
+          profiles = ["/etc/profiles/per-user/$USER"];
         };
       }
     ];
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
index c94dc7d40194..efb9ba39bcd4 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
@@ -40,16 +40,6 @@ in
 
   sdImage = {
     populateBootCommands = let
-      # Contains a couple of fixes for booting a Linux kernel, will hopefully appear upstream soon.
-      patchedUboot = pkgs.ubootRaspberryPi3_64bit.overrideAttrs (oldAttrs: {
-        src = pkgs.fetchFromGitHub {
-          owner = "dezgeg";
-          repo = "u-boot";
-          rev = "baab53ec244fe44def01948a0f10e67342d401e6";
-          sha256 = "0r5j2pc42ws3w3im0a9c6bh01czz5kapqrqp0ik9ra823cw73lxr";
-        };
-      });
-
       configTxt = pkgs.writeText "config.txt" ''
         kernel=u-boot-rpi3.bin
         arm_control=0x200
@@ -57,7 +47,7 @@ in
       '';
       in ''
         (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
-        cp ${patchedUboot}/u-boot.bin boot/u-boot-rpi3.bin
+        cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin boot/u-boot-rpi3.bin
         cp ${configTxt} boot/config.txt
         ${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
       '';
diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh
index 27eacda48a87..5141f3cd51cf 100644
--- a/nixos/modules/installer/tools/nixos-option.sh
+++ b/nixos/modules/installer/tools/nixos-option.sh
@@ -291,7 +291,7 @@ if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then
   fi
   echo "Description:"
   echo
-  eval printf $(evalOpt "description")
+  echo $(evalOpt "description")
 
   echo $desc;
 
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 7d0cbf6aad02..c10b5a0ec932 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -300,6 +300,7 @@
       kanboard = 281;
       pykms = 282;
       kodi = 283;
+      restya-board = 284;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -568,6 +569,7 @@
       kanboard = 281;
       pykms = 282;
       kodi = 283;
+      restya-board = 284;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 99d3c0112f2a..5e2161aacb66 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -193,6 +193,8 @@
   ./services/databases/stanchion.nix
   ./services/databases/virtuoso.nix
   ./services/desktops/accountsservice.nix
+  ./services/desktops/dleyna-renderer.nix
+  ./services/desktops/dleyna-server.nix
   ./services/desktops/geoclue2.nix
   ./services/desktops/gnome3/at-spi2-core.nix
   ./services/desktops/gnome3/evolution-data-server.nix
@@ -208,6 +210,7 @@
   ./services/desktops/gnome3/seahorse.nix
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
+  ./services/desktops/gnome3/tracker-miners.nix
   ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/telepathy.nix
   ./services/development/hoogle.nix
@@ -224,6 +227,7 @@
   ./services/hardware/bluetooth.nix
   ./services/hardware/brltty.nix
   ./services/hardware/freefall.nix
+  ./services/hardware/fwupd.nix
   ./services/hardware/illum.nix
   ./services/hardware/interception-tools.nix
   ./services/hardware/irqbalance.nix
@@ -482,6 +486,7 @@
   ./services/networking/networkmanager.nix
   ./services/networking/nftables.nix
   ./services/networking/ngircd.nix
+  ./services/networking/nghttpx/default.nix
   ./services/networking/nix-serve.nix
   ./services/networking/nntp-proxy.nix
   ./services/networking/nsd.nix
@@ -605,6 +610,7 @@
   ./services/web-apps/pgpkeyserver-lite.nix
   ./services/web-apps/piwik.nix
   ./services/web-apps/pump.io.nix
+  ./services/web-apps/restya-board.nix
   ./services/web-apps/tt-rss.nix
   ./services/web-apps/selfoss.nix
   ./services/web-apps/quassel-webserver.nix
@@ -639,6 +645,7 @@
   ./services/x11/display-managers/sddm.nix
   ./services/x11/display-managers/slim.nix
   ./services/x11/display-managers/xpra.nix
+  ./services/x11/fractalart.nix
   ./services/x11/hardware/libinput.nix
   ./services/x11/hardware/multitouch.nix
   ./services/x11/hardware/synaptics.nix
diff --git a/nixos/modules/profiles/qemu-guest.nix b/nixos/modules/profiles/qemu-guest.nix
index 987eb051b98c..a1ec1d45395e 100644
--- a/nixos/modules/profiles/qemu-guest.nix
+++ b/nixos/modules/profiles/qemu-guest.nix
@@ -4,7 +4,7 @@
 { config, pkgs, ... }:
 
 {
-  boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
+  boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
   boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
 
   boot.initrd.postDeviceCommands =
diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix
index e23849d350b4..ef1acdfe66e6 100644
--- a/nixos/modules/programs/bash/bash.nix
+++ b/nixos/modules/programs/bash/bash.nix
@@ -197,8 +197,9 @@ in
         fi
       '';
 
-    # Configuration for readline in bash.
-    environment.etc."inputrc".source = ./inputrc;
+    # Configuration for readline in bash. We use "option default"
+    # priority to allow user override using both .text and .source.
+    environment.etc."inputrc".source = mkOptionDefault ./inputrc;
 
     users.defaultUserShell = mkDefault pkgs.bashInteractive;
 
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index 9070722c770b..5d13b90daace 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -8,8 +8,11 @@ let
 
   swayWrapped = pkgs.writeScriptBin "sway" ''
     #! ${pkgs.stdenv.shell}
+    if [ "$1" != "" ]; then
+      sway-setcap "$@"
+      exit
+    fi
     ${cfg.extraSessionCommands}
-    PATH="${sway}/bin:$PATH"
     exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap
   '';
   swayJoined = pkgs.symlinkJoin {
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 615e54c326b7..6fb1346bbb33 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -89,8 +89,8 @@ in
         description = ''
           Enable zsh-autosuggestions
         '';
+        type = types.bool;
       };
-
     };
 
   };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index f30cbe427f09..eb10d4f428be 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -48,6 +48,10 @@ with lib;
     (mkRemovedOptionModule [ "services" "rmilter" "bindInetSockets" ] "Use services.rmilter.bindSocket.* instead")
     (mkRemovedOptionModule [ "services" "rmilter" "bindUnixSockets" ] "Use services.rmilter.bindSocket.* instead")
 
+    # Xsession script
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
+
     # Old Grub-related options.
     (mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ])
     (mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ])
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 5ded36329f33..2d6713311a45 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -41,7 +41,7 @@ let
         type = types.bool;
         description = ''
           If set, users listed in
-          <filename>~/.yubico/u2f_keys</filename> are able to log in
+          <filename>~/.config/Yubico/u2f_keys</filename> are able to log in
           with the associated U2F key.
         '';
       };
diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix
index 9c06e1d43bbe..dcc5e7174601 100644
--- a/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -4,14 +4,6 @@ with lib;
 
 let
   cfg = config.services.buildkite-agent;
-  configFile = pkgs.writeText "buildkite-agent.cfg"
-    ''
-      token="${cfg.token}"
-      name="${cfg.name}"
-      meta-data="${cfg.meta-data}"
-      hooks-path="${cfg.package}/share/hooks"
-      build-path="${cfg.dataDir}"
-    '';
 in
 
 {
@@ -39,10 +31,13 @@ in
         type = types.listOf types.package;
       };
 
-      token = mkOption {
-        type = types.str;
+      tokenPath = mkOption {
+        type = types.path;
         description = ''
           The token from your Buildkite "Agents" page.
+
+          A run-time path to the token file, which is supposed to be provisioned
+          outside of Nix store.
         '';
       };
 
@@ -62,16 +57,22 @@ in
       };
 
       openssh =
-        { privateKey = mkOption {
-            type = types.str;
+        { privateKeyPath = mkOption {
+            type = types.path;
             description = ''
               Private agent key.
+
+              A run-time path to the key file, which is supposed to be provisioned
+              outside of Nix store.
             '';
           };
-          publicKey = mkOption {
-            type = types.str;
+          publicKeyPath = mkOption {
+            type = types.path;
             description = ''
               Public agent key.
+
+              A run-time path to the key file, which is supposed to be provisioned
+              outside of Nix store.
             '';
           };
         };
@@ -84,11 +85,15 @@ in
         home = cfg.dataDir;
         createHome = true;
         description = "Buildkite agent user";
+        extraGroups = [ "keys" ];
       };
 
     environment.systemPackages = [ cfg.package ];
 
     systemd.services.buildkite-agent =
+      let copy = x: target: perms:
+                 "cp -f ${x} ${target}; ${pkgs.coreutils}/bin/chmod ${toString perms} ${target}; ";
+      in
       { description = "Buildkite Agent";
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
@@ -97,18 +102,26 @@ in
           HOME = cfg.dataDir;
           NIX_REMOTE = "daemon";
         };
-        preStart = ''
-          ${pkgs.coreutils}/bin/mkdir -m 0700 -p ${cfg.dataDir}/.ssh
-
-          echo "${cfg.openssh.privateKey}" > ${cfg.dataDir}/.ssh/id_rsa
-          ${pkgs.coreutils}/bin/chmod 600 ${cfg.dataDir}/.ssh/id_rsa
 
-          echo "${cfg.openssh.publicKey}" > ${cfg.dataDir}/.ssh/id_rsa.pub
-          ${pkgs.coreutils}/bin/chmod 600 ${cfg.dataDir}/.ssh/id_rsa.pub
-        '';
+        ## NB: maximum care is taken so that secrets (ssh keys and the CI token)
+        ##     don't end up in the Nix store.
+        preStart = ''
+            ${pkgs.coreutils}/bin/mkdir -m 0700 -p ${cfg.dataDir}/.ssh
+            ${copy (toString cfg.openssh.privateKeyPath) "${cfg.dataDir}/.ssh/id_rsa"     600}
+            ${copy (toString cfg.openssh.publicKeyPath)  "${cfg.dataDir}/.ssh/id_rsa.pub" 600}
+
+            cat > "${cfg.dataDir}/buildkite-agent.cfg" <<EOF
+            token="$(cat ${toString cfg.tokenPath})"
+            name="${cfg.name}"
+            meta-data="${cfg.meta-data}"
+            hooks-path="${pkgs.buildkite-agent}/share/hooks"
+            build-path="${cfg.dataDir}/builds"
+            bootstrap-script="${pkgs.buildkite-agent}/share/bootstrap.sh"
+            EOF
+          '';
 
         serviceConfig =
-          { ExecStart = "${pkgs.buildkite-agent}/bin/buildkite-agent start --config ${configFile}";
+          { ExecStart = "${pkgs.buildkite-agent}/bin/buildkite-agent start --config /var/lib/buildkite-agent/buildkite-agent.cfg";
             User = "buildkite-agent";
             RestartSec = 5;
             Restart = "on-failure";
@@ -116,4 +129,9 @@ in
           };
       };
   };
+  imports = [
+    (mkRenamedOptionModule [ "services" "buildkite-agent" "token" ]                [ "services" "buildkite-agent" "tokenPath" ])
+    (mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "privateKey" ] [ "services" "buildkite-agent" "openssh" "privateKeyPath" ])
+    (mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "publicKey" ]  [ "services" "buildkite-agent" "openssh" "publicKeyPath" ])
+  ];
 }
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index 43fec5ff5bb2..2fa7c59a965d 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -28,6 +28,7 @@ let
 
   serverEnv = env //
     { HYDRA_TRACKER = cfg.tracker;
+      XDG_CACHE_HOME = "${baseDir}/www/.cache";
       COLUMNS = "80";
       PGPASSFILE = "${baseDir}/pgpass-www"; # grrr
     } // (optionalAttrs cfg.debugServer { DBIC_TRACE = "1"; });
@@ -225,14 +226,14 @@ in
 
     services.hydra.extraConfig =
       ''
-        using_frontend_proxy 1
-        base_uri ${cfg.hydraURL}
-        notification_sender ${cfg.notificationSender}
-        max_servers 25
+        using_frontend_proxy = 1
+        base_uri = ${cfg.hydraURL}
+        notification_sender = ${cfg.notificationSender}
+        max_servers = 25
         ${optionalString (cfg.logo != null) ''
-          hydra_logo ${cfg.logo}
+          hydra_logo = ${cfg.logo}
         ''}
-        gc_roots_dir ${cfg.gcRootsDir}
+        gc_roots_dir = ${cfg.gcRootsDir}
         use-substitutes = ${if cfg.useSubstitutes then "1" else "0"}
       '';
 
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index c6c463bce7d5..a3bf4f9ba925 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -7,6 +7,11 @@ let
   cfg = config.services.mysql;
 
   mysql = cfg.package;
+  
+  isMariaDB = 
+    let
+      pName = _p: (builtins.parseDrvName (_p.name)).name;
+    in pName mysql == pName pkgs.mariadb;
 
   atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
 
@@ -59,7 +64,7 @@ in
         type = types.package;
         example = literalExample "pkgs.mysql";
         description = "
-          Which MySQL derivation to use.
+          Which MySQL derivation to use. MariaDB packages are supported too.
         ";
       };
 
@@ -360,7 +365,7 @@ in
 
             ${concatMapStrings (user:
               ''
-                ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if mysql == pkgs.mariadb then "unix_socket" else "auth_socket"};"
+                ( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};"
                   ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
                   echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
                   '') user.ensurePermissions)}
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index a23a0ebc7366..9b5e3735239f 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -153,7 +153,7 @@ in
         default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
         internal = true;
         description = ''
-          NixOS traditionally used `root` as superuser, most other distros use `postgres`.
+          NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
           From 17.09 we also try to follow this standard. Internal since changing this value
           would lead to breakage while setting up databases.
         '';
diff --git a/nixos/modules/services/desktops/dleyna-renderer.nix b/nixos/modules/services/desktops/dleyna-renderer.nix
new file mode 100644
index 000000000000..7f88605f627c
--- /dev/null
+++ b/nixos/modules/services/desktops/dleyna-renderer.nix
@@ -0,0 +1,28 @@
+# dleyna-renderer service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.dleyna-renderer = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable dleyna-renderer service, a DBus service
+          for handling DLNA renderers.
+        '';
+      };
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.dleyna-renderer.enable {
+    environment.systemPackages = [ pkgs.dleyna-renderer ];
+
+    services.dbus.packages = [ pkgs.dleyna-renderer ];
+  };
+}
diff --git a/nixos/modules/services/desktops/dleyna-server.nix b/nixos/modules/services/desktops/dleyna-server.nix
new file mode 100644
index 000000000000..9a131a5e700f
--- /dev/null
+++ b/nixos/modules/services/desktops/dleyna-server.nix
@@ -0,0 +1,28 @@
+# dleyna-server service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.dleyna-server = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable dleyna-server service, a DBus service
+          for handling DLNA servers.
+        '';
+      };
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.dleyna-server.enable {
+    environment.systemPackages = [ pkgs.dleyna-server ];
+
+    services.dbus.packages = [ pkgs.dleyna-server ];
+  };
+}
diff --git a/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
new file mode 100644
index 000000000000..20154fc2fed3
--- /dev/null
+++ b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
@@ -0,0 +1,41 @@
+# Tracker Miners daemons.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.gnome3.tracker-miners = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable Tracker miners, indexing services for Tracker
+          search engine and metadata storage system.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.gnome3.tracker-miners.enable {
+
+    environment.systemPackages = [ pkgs.gnome3.tracker-miners ];
+
+    services.dbus.packages = [ pkgs.gnome3.tracker-miners ];
+
+    systemd.packages = [ pkgs.gnome3.tracker-miners ];
+
+  };
+
+}
diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix
index 1dc8ce93a0e5..3f6bf9de8931 100644
--- a/nixos/modules/services/games/factorio.nix
+++ b/nixos/modules/services/games/factorio.nix
@@ -6,7 +6,7 @@ let
   cfg = config.services.factorio;
   factorio = pkgs.factorio-headless;
   name = "Factorio";
-  stateDir = "/var/lib/factorio";
+  stateDir = cfg.stateDir;
   mkSavePath = name: "${stateDir}/saves/${name}.zip";
   configFile = pkgs.writeText "factorio.conf" ''
     use-system-read-write-data-directories=true
@@ -25,7 +25,7 @@ let
     password = cfg.password;
     token = cfg.token;
     game_password = cfg.game-password;
-    require_user_verification = true;
+    require_user_verification = cfg.requireUserVerification;
     max_upload_in_kilobytes_per_second = 0;
     minimum_latency_in_ticks = 0;
     ignore_player_limit_for_returning_players = false;
@@ -80,6 +80,15 @@ in
           customizations.
         '';
       };
+      stateDir = mkOption {
+        type = types.path;
+        default = "/var/lib/factorio";
+        description = ''
+          The server's data directory.
+
+          The configuration and map will be stored here.
+        '';
+      };
       mods = mkOption {
         type = types.listOf types.package;
         default = [];
@@ -148,6 +157,13 @@ in
           Game password.
         '';
       };
+      requireUserVerification = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          When set to true, the server will only allow clients that have a valid factorio.com account.
+        '';
+      };
       autosave-interval = mkOption {
         type = types.nullOr types.int;
         default = null;
diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix
new file mode 100644
index 000000000000..14113fe01bb4
--- /dev/null
+++ b/nixos/modules/services/hardware/fwupd.nix
@@ -0,0 +1,90 @@
+# fwupd daemon.
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.fwupd;
+  originalEtc =
+    let
+      isRegular = v: v == "regular";
+      listFiles = d: builtins.attrNames (filterAttrs (const isRegular) (builtins.readDir d));
+      copiedDirs = [ "fwupd/remotes.d" "pki/fwupd" "pki/fwupd-metadata" ];
+      originalFiles = concatMap (d: map (f: "${d}/${f}") (listFiles "${pkgs.fwupd}/etc/${d}")) copiedDirs;
+      mkEtcFile = n: nameValuePair n { source = "${pkgs.fwupd}/etc/${n}"; };
+    in listToAttrs (map mkEtcFile originalFiles);
+  extraTrustedKeys =
+    let
+      mkName = p: "pki/fwupd/${baseNameOf (toString p)}";
+      mkEtcFile = p: nameValuePair (mkName p) { source = p; };
+    in listToAttrs (map mkEtcFile cfg.extraTrustedKeys);
+in {
+
+  ###### interface
+  options = {
+    services.fwupd = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable fwupd, a DBus service that allows
+          applications to update firmware.
+        '';
+      };
+
+      blacklistDevices = mkOption {
+        type = types.listOf types.string;
+        default = [];
+        example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ];
+        description = ''
+          Allow blacklisting specific devices by their GUID
+        '';
+      };
+
+      blacklistPlugins = mkOption {
+        type = types.listOf types.string;
+        default = [];
+        example = [ "udev" ];
+        description = ''
+          Allow blacklisting specific plugins
+        '';
+      };
+
+      extraTrustedKeys = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        example = literalExample "[ /etc/nixos/fwupd/myfirmware.pem ]";
+        description = ''
+          Installing a public key allows firmware signed with a matching private key to be recognized as trusted, which may require less authentication to install than for untrusted files. By default trusted firmware can be upgraded (but not downgraded) without the user or administrator password. Only very few keys are installed by default.
+        '';
+      };
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.fwupd ];
+
+    environment.etc = {
+      "fwupd/daemon.conf" = {
+        source = pkgs.writeText "daemon.conf" ''
+          [fwupd]
+          BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
+          BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
+        '';
+      };
+    } // originalEtc // extraTrustedKeys;
+
+    services.dbus.packages = [ pkgs.fwupd ];
+
+    services.udev.packages = [ pkgs.fwupd ];
+
+    systemd.packages = [ pkgs.fwupd ];
+
+    systemd.tmpfiles.rules = [
+      "d /var/lib/fwupd 0755 root root -"
+    ];
+  };
+}
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 6057acc531a3..18101a312254 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -62,14 +62,14 @@ let
       }
     '')
 
-    ''
+    (optionalString (cfg.mailboxes != []) ''
       protocol imap {
         namespace inbox {
           inbox=yes
           ${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
         }
       }
-    ''
+    '')
 
     (optionalString cfg.enableQuota ''
       mail_plugins = $mail_plugins quota
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index a3ec0ea59f8f..11463cf4500a 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -44,7 +44,6 @@ database: {
 }
 event_cache_size: "${cfg.event_cache_size}"
 verbose: ${cfg.verbose}
-log_file: "/var/log/matrix-synapse/homeserver.log"
 log_config: "${logConfigFile}"
 rc_messages_per_second: ${cfg.rc_messages_per_second}
 rc_message_burst_count: ${cfg.rc_message_burst_count}
@@ -53,8 +52,8 @@ federation_rc_sleep_limit: ${cfg.federation_rc_sleep_limit}
 federation_rc_sleep_delay: ${cfg.federation_rc_sleep_delay}
 federation_rc_reject_limit: ${cfg.federation_rc_reject_limit}
 federation_rc_concurrent: ${cfg.federation_rc_concurrent}
-media_store_path: "/var/lib/matrix-synapse/media"
-uploads_path: "/var/lib/matrix-synapse/uploads"
+media_store_path: "${cfg.dataDir}/media"
+uploads_path: "${cfg.dataDir}/uploads"
 max_upload_size: "${cfg.max_upload_size}"
 max_image_pixels: "${cfg.max_image_pixels}"
 dynamic_thumbnails: ${boolToString cfg.dynamic_thumbnails}
@@ -86,7 +85,7 @@ ${optionalString (cfg.macaroon_secret_key != null) ''
 expire_access_token: ${boolToString cfg.expire_access_token}
 enable_metrics: ${boolToString cfg.enable_metrics}
 report_stats: ${boolToString cfg.report_stats}
-signing_key_path: "/var/lib/matrix-synapse/homeserver.signing.key"
+signing_key_path: "${cfg.dataDir}/homeserver.signing.key"
 key_refresh_interval: "${cfg.key_refresh_interval}"
 perspectives:
   servers: {
@@ -348,7 +347,7 @@ in {
       database_args = mkOption {
         type = types.attrs;
         default = {
-          database = "/var/lib/matrix-synapse/homeserver.db";
+          database = "${cfg.dataDir}/homeserver.db";
         };
         description = ''
           Arguments to pass to the engine.
@@ -586,6 +585,14 @@ in {
           A yaml python logging config file
         '';
       };
+      dataDir = mkOption {
+        type = types.str;
+        default = "/var/lib/matrix-synapse";
+        description = ''
+          The directory where matrix-synapse stores its stateful data such as
+          certificates, media and uploads.
+        '';
+      };
     };
   };
 
@@ -593,7 +600,7 @@ in {
     users.extraUsers = [
       { name = "matrix-synapse";
         group = "matrix-synapse";
-        home = "/var/lib/matrix-synapse";
+        home = cfg.dataDir;
         createHome = true;
         shell = "${pkgs.bash}/bin/bash";
         uid = config.ids.uids.matrix-synapse;
@@ -611,16 +618,16 @@ in {
       preStart = ''
         ${cfg.package}/bin/homeserver \
           --config-path ${configFile} \
-          --keys-directory /var/lib/matrix-synapse \
+          --keys-directory ${cfg.dataDir} \
           --generate-keys
       '';
       serviceConfig = {
         Type = "simple";
         User = "matrix-synapse";
         Group = "matrix-synapse";
-        WorkingDirectory = "/var/lib/matrix-synapse";
+        WorkingDirectory = cfg.dataDir;
         PermissionsStartOnly = true;
-        ExecStart = "${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse";
+        ExecStart = "${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory ${cfg.dataDir}";
         Restart = "on-failure";
       };
     };
diff --git a/nixos/modules/services/monitoring/fusion-inventory.nix b/nixos/modules/services/monitoring/fusion-inventory.nix
index 1c00f3c299e9..c3b869e00880 100644
--- a/nixos/modules/services/monitoring/fusion-inventory.nix
+++ b/nixos/modules/services/monitoring/fusion-inventory.nix
@@ -55,9 +55,6 @@ in {
       description = "Fusion Inventory Agent";
       wantedBy = [ "multi-user.target" ];
 
-      environment = {
-        OPTIONS = "--no-category=software";
-      };
       serviceConfig = {
         ExecStart = "${pkgs.fusionInventory}/bin/fusioninventory-agent --conf-file=${configFile} --daemon --no-fork";
       };
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 4fbacef788f9..d48b78ae6d02 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -111,7 +111,7 @@ in {
       type = mkOption {
         description = "Database type.";
         default = "sqlite3";
-        type = types.enum ["mysql" "sqlite3" "postgresql"];
+        type = types.enum ["mysql" "sqlite3" "postgres"];
       };
 
       host = mkOption {
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix
index cc6d51f0ef1b..358ffd431dd4 100644
--- a/nixos/modules/services/monitoring/munin.nix
+++ b/nixos/modules/services/monitoring/munin.nix
@@ -17,40 +17,6 @@ let
   nodeCfg = config.services.munin-node;
   cronCfg = config.services.munin-cron;
 
-  muninPlugins = pkgs.stdenv.mkDerivation {
-    name = "munin-available-plugins";
-    buildCommand = ''
-      mkdir -p $out
-
-      cp --preserve=mode ${pkgs.munin}/lib/plugins/* $out/
-
-      for file in $out/*; do
-        case "$file" in
-            */plugin.sh|*/plugins.history)
-              chmod +x "$file"
-              continue;;
-        esac
-
-        # read magic makers from the file
-        family=$(sed -nr 's/.*#%#\s+family\s*=\s*(\S+)\s*/\1/p' $file)
-        cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file)
-
-        wrapProgram $file \
-          --set PATH "/run/wrappers/bin:/run/current-system/sw/bin" \
-          --set MUNIN_LIBDIR "${pkgs.munin}/lib" \
-          --set MUNIN_PLUGSTATE "/var/run/munin"
-
-        # munin uses markers to tell munin-node-configure what a plugin can do
-        echo "#%# family=$family" >> $file
-        echo "#%# capabilities=$cap" >> $file
-      done
-
-      # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak)
-      rm -f $out/diskstats
-    '';
-    buildInputs = [ pkgs.makeWrapper ];
-  };
-
   muninConf = pkgs.writeText "munin.conf"
     ''
       dbdir     /var/lib/munin
@@ -83,6 +49,29 @@ let
 
       ${nodeCfg.extraConfig}
     '';
+
+  pluginConf = pkgs.writeText "munin-plugin-conf"
+    ''
+      [hddtemp_smartctl]
+      user root
+      group root
+
+      [meminfo]
+      user root
+      group root
+
+      [ipmi*]
+      user root
+      group root
+    '';
+
+  pluginConfDir = pkgs.stdenv.mkDerivation {
+    name = "munin-plugin-conf.d";
+    buildCommand = ''
+      mkdir $out
+      ln -s ${pluginConf} $out/nixos-config
+    '';
+  };
 in
 
 {
@@ -179,17 +168,22 @@ in
       description = "Munin Node";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.munin ];
+      path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
+      environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
       environment.MUNIN_PLUGSTATE = "/var/run/munin";
+      environment.MUNIN_LOGDIR = "/var/log/munin";
       preStart = ''
         echo "updating munin plugins..."
 
         mkdir -p /etc/munin/plugins
         rm -rf /etc/munin/plugins/*
-        PATH="/run/wrappers/bin:/run/current-system/sw/bin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash
+        ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash
+
+        # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak)
+        rm /etc/munin/plugins/diskstats || true
       '';
       serviceConfig = {
-        ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/";
+        ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}";
       };
     };
 
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index c12b5f35dea3..80122e69d167 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -66,6 +66,16 @@ let
           How frequently to evaluate rules by default.
         '';
       };
+
+      external_labels = mkOption {
+        type = types.attrsOf types.str;
+        description = ''
+          The labels to add to any time series or alerts when
+          communicating with external systems (federation, remote
+          storage, Alertmanager).
+        '';
+        default = {};
+      };
     };
   };
 
@@ -100,6 +110,29 @@ let
           The HTTP resource path on which to fetch metrics from targets.
         '';
       };
+      honor_labels = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Controls how Prometheus handles conflicts between labels
+          that are already present in scraped data and labels that
+          Prometheus would attach server-side ("job" and "instance"
+          labels, manually configured target labels, and labels
+          generated by service discovery implementations).
+
+          If honor_labels is set to "true", label conflicts are
+          resolved by keeping label values from the scraped data and
+          ignoring the conflicting server-side labels.
+
+          If honor_labels is set to "false", label conflicts are
+          resolved by renaming conflicting labels in the scraped data
+          to "exported_&lt;original-label&gt;" (for example
+          "exported_instance", "exported_job") and then attaching
+          server-side labels. This is useful for use cases such as
+          federation, where all labels specified in the target should
+          be preserved.
+        '';
+      };
       scheme = mkOption {
         type = types.enum ["http" "https"];
         default = "http";
diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix
index 4d10299a9879..1d6940c516a9 100644
--- a/nixos/modules/services/monitoring/smartd.nix
+++ b/nixos/modules/services/monitoring/smartd.nix
@@ -17,7 +17,7 @@ let
     #! ${pkgs.stdenv.shell}
     ${optionalString nm.enable ''
       {
-      cat << EOF
+      ${pkgs.coreutils}/bin/cat << EOF
       From: smartd on ${host} <root>
       To: undisclosed-recipients:;
       Subject: SMART error on $SMARTD_DEVICESTRING: $SMARTD_FAILTYPE
@@ -30,7 +30,7 @@ let
     ''}
     ${optionalString nw.enable ''
       {
-      cat << EOF
+      ${pkgs.coreutils}/bin/cat << EOF
       Problem detected with disk: $SMARTD_DEVICESTRING
       Warning message from smartd is:
 
@@ -41,7 +41,7 @@ let
     ${optionalString nx.enable ''
       export DISPLAY=${nx.display}
       {
-      cat << EOF
+      ${pkgs.coreutils}/bin/cat << EOF
       Problem detected with disk: $SMARTD_DEVICESTRING
       Warning message from smartd is:
 
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index d4a695ef5880..39a4fd6beff8 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -39,8 +39,6 @@ let
     # NB: migration must be performed prior to pre-start, else we get the failure message!
     preStart = ''
       ipfs repo fsck # workaround for BUG #4212 (https://github.com/ipfs/go-ipfs/issues/4214)
-      ipfs --local config Addresses.API ${cfg.apiAddress}
-      ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}
     '' + optionalString cfg.autoMount ''
       ipfs --local config Mounts.FuseAllowOther --json true
       ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir}
@@ -56,7 +54,11 @@ let
               EOF
               ipfs --local config --json "${concatStringsSep "." path}" "$value"
             '')
-            cfg.extraConfig)
+            ({ Addresses.API = cfg.apiAddress;
+               Addresses.Gateway = cfg.gatewayAddress;
+               Addresses.Swarm = cfg.swarmAddress;
+            } //
+            cfg.extraConfig))
         );
     serviceConfig = {
       ExecStart = "${wrapped}/bin/ipfs daemon ${ipfsFlags}";
@@ -140,6 +142,12 @@ in {
         description = "Where IPFS exposes its API to";
       };
 
+      swarmAddress = mkOption {
+        type = types.listOf types.str;
+        default = [ "/ip4/0.0.0.0/tcp/4001" "/ip6/::/tcp/4001" ];
+        description = "Where IPFS listens for incoming p2p connections";
+      };
+
       enableGC = mkOption {
         type = types.bool;
         default = false;
diff --git a/nixos/modules/services/networking/babeld.nix b/nixos/modules/services/networking/babeld.nix
index dd76bac9df76..3dfd80f6ff52 100644
--- a/nixos/modules/services/networking/babeld.nix
+++ b/nixos/modules/services/networking/babeld.nix
@@ -6,8 +6,10 @@ let
 
   cfg = config.services.babeld;
 
+  conditionalBoolToString = value: if (isBool value) then (boolToString value) else (toString value);
+
   paramsString = params:
-    concatMapStringsSep "" (name: "${name} ${boolToString (getAttr name params)}")
+    concatMapStringsSep " " (name: "${name} ${conditionalBoolToString (getAttr name params)}")
                    (attrNames params);
 
   interfaceConfig = name:
@@ -49,7 +51,7 @@ in
         type = types.nullOr (types.attrsOf types.unspecified);
         example =
           {
-            wired = true;
+            type = "tunnel";
             "split-horizon" = true;
           };
       };
@@ -63,7 +65,7 @@ in
         type = types.attrsOf (types.attrsOf types.unspecified);
         example =
           { enp0s2 =
-            { wired = true;
+            { type = "wired";
               "hello-interval" = 5;
               "split-horizon" = "auto";
             };
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 9bd88ca1707b..bce48c8f65e5 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -125,6 +125,9 @@ let
       ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
       ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
 
+      # Allows this host to act as a DHCP4 client without first having to use APIPA
+      iptables -t raw -A nixos-fw-rpfilter -p udp --sport 67 --dport 68 -j RETURN
+
       # Allows this host to act as a DHCPv4 server
       iptables -t raw -A nixos-fw-rpfilter -s 0.0.0.0 -d 255.255.255.255 -p udp --sport 68 --dport 67 -j RETURN
 
diff --git a/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix b/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix
new file mode 100644
index 000000000000..6523f4b8b9e0
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix
@@ -0,0 +1,131 @@
+{ lib, ...}:
+{ options = {
+    proto = lib.mkOption {
+      type        = lib.types.enum [ "h2" "http/1.1" ];
+      default     = "http/1.1";
+      description = ''
+        This option configures the protocol the backend server expects
+        to use.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    tls = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        This option determines whether nghttpx will negotiate its
+        connection with a backend server using TLS or not. The burden
+        is on the backend server to provide the TLS certificate!
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    sni = lib.mkOption {
+      type        = lib.types.nullOr lib.types.str;
+      default     = null;
+      description = ''
+        Override the TLS SNI field value. This value (in nghttpx)
+        defaults to the host value of the backend configuration.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    fall = lib.mkOption {
+      type        = lib.types.int;
+      default     = 0;
+      description = ''
+        If nghttpx cannot connect to the backend N times in a row, the
+        backend is assumed to be offline and is excluded from load
+        balancing. If N is 0 the backend is never excluded from load
+        balancing.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    rise = lib.mkOption {
+      type        = lib.types.int;
+      default     = 0;
+      description = ''
+        If the backend is excluded from load balancing, nghttpx will
+        periodically attempt to make a connection to the backend. If
+        the connection is successful N times in a row the backend is
+        re-included in load balancing. If N is 0 a backend is never
+        reconsidered for load balancing once it falls.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    affinity = lib.mkOption {
+      type        = lib.types.enum [ "ip" "none" ];
+      default     = "none";
+      description = ''
+        If "ip" is given, client IP based session affinity is
+        enabled. If "none" is given, session affinity is disabled.
+
+        Session affinity is enabled (by nghttpx) per-backend
+        pattern. If at least one backend has a non-"none" affinity,
+        then session affinity is enabled for all backend servers
+        sharing the same pattern.
+
+        It is advised to set affinity on all backends explicitly if
+        session affinity is desired. The session affinity may break if
+        one of the backend gets unreachable, or backend settings are
+        reloaded or replaced by API.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    dns = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Name resolution of a backends host name is done at start up,
+        or configuration reload. If "dns" is true, name resolution
+        takes place dynamically.
+
+        This is useful if a backends address changes frequently. If
+        "dns" is true, name resolution of a backend's host name at
+        start up, or configuration reload is skipped.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+
+    redirect-if-not-tls = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        If true, a backend match requires the frontend connection be
+        TLS encrypted. If it is not, nghttpx responds to the request
+        with a 308 status code and https URI the client should use
+        instead in the Location header.
+
+        The port number in the redirect URI is 443 by default and can
+        be changed using 'services.nghttpx.redirect-https-port'
+        option.
+
+        If at least one backend has "redirect-if-not-tls" set to true,
+        this feature is enabled for all backend servers with the same
+        pattern. It is advised to set "redirect-if-no-tls" parameter
+        to all backends explicitly if this feature is desired.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more detail.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/backend-submodule.nix b/nixos/modules/services/networking/nghttpx/backend-submodule.nix
new file mode 100644
index 000000000000..eb559e926e76
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/backend-submodule.nix
@@ -0,0 +1,50 @@
+{ lib, ... }:
+{ options = {
+    server = lib.mkOption {
+      type =
+        lib.types.either
+          (lib.types.submodule (import ./server-options.nix))
+          (lib.types.path);
+      example = {
+        host = "127.0.0.1";
+        port = 8888;
+      };
+      default = {
+        host = "127.0.0.1";
+        port = 80;
+      };
+      description = ''
+        Backend server location specified as either a host:port pair
+        or a unix domain docket.
+      '';
+    };
+
+    patterns = lib.mkOption {
+      type    = lib.types.listOf lib.types.str;
+      example = [
+        "*.host.net/v1/"
+        "host.org/v2/mypath"
+        "/somepath"
+      ];
+      default     = [];
+      description = ''
+        List of nghttpx backend patterns.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
+        for more information on the pattern syntax and nghttpxs behavior.
+      '';
+    };
+
+    params = lib.mkOption {
+      type    = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix));
+      example = {
+        proto = "h2";
+        tls   = true;
+      };
+      default     = null;
+      description = ''
+        Parameters to configure a backend.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/default.nix b/nixos/modules/services/networking/nghttpx/default.nix
new file mode 100644
index 000000000000..d6e1906e3881
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/default.nix
@@ -0,0 +1,117 @@
+{config, pkgs, lib, ...}:
+let
+  cfg = config.services.nghttpx;
+
+  # renderHost :: Either ServerOptions Path -> String
+  renderHost = server:
+    if builtins.isString server
+    then "unix://${server}"
+    else "${server.host},${builtins.toString server.port}";
+
+  # Filter out submodule parameters whose value is null or false or is
+  # the key _module.
+  #
+  # filterParams :: ParamsSubmodule -> ParamsSubmodule
+  filterParams = p:
+    lib.filterAttrs
+      (n: v: ("_module" != n) && (null != v) && (false != v))
+      (lib.optionalAttrs (null != p) p);
+
+  # renderBackend :: BackendSubmodule -> String
+  renderBackend = backend:
+    let
+      host = renderHost backend.server;
+      patterns = lib.concatStringsSep ":" backend.patterns;
+
+      # Render a set of backend parameters, this is somewhat
+      # complicated because nghttpx backend patterns can be entirely
+      # omitted and the params may be given as a mixed collection of
+      # 'key=val' pairs or atoms (e.g: 'proto=h2;tls')
+      params =
+        lib.mapAttrsToList
+          (n: v:
+            if builtins.isBool v
+            then n
+            else if builtins.isString v
+            then "${n}=${v}"
+            else "${n}=${builtins.toString v}")
+          (filterParams backend.params);
+
+      # NB: params are delimited by a ";" which is the same delimiter
+      # to separate the host;[pattern];[params] sections of a backend
+      sections =
+        builtins.filter (e: "" != e) ([
+          host
+          patterns
+        ]++params);
+      formattedSections = lib.concatStringsSep ";" sections;
+    in
+      "backend=${formattedSections}";
+
+  # renderFrontend :: FrontendSubmodule -> String
+  renderFrontend = frontend:
+    let
+      host   = renderHost frontend.server;
+      params0 =
+        lib.mapAttrsToList
+          (n: v: if builtins.isBool v then n else v)
+          (filterParams frontend.params);
+
+      # NB: nghttpx doesn't accept "tls", you must omit "no-tls" for
+      # the default behavior of turning on TLS.
+      params1 = lib.remove "tls" params0;
+          
+      sections          = [ host] ++ params1;
+      formattedSections = lib.concatStringsSep ";" sections;
+    in
+      "frontend=${formattedSections}";
+
+  configurationFile = pkgs.writeText "nghttpx.conf" ''
+    ${lib.optionalString (null != cfg.tls) ("private-key-file="+cfg.tls.key)}
+    ${lib.optionalString (null != cfg.tls) ("certificate-file="+cfg.tls.crt)}
+
+    user=nghttpx
+
+    ${lib.concatMapStringsSep "\n" renderFrontend cfg.frontends}
+    ${lib.concatMapStringsSep "\n" renderBackend  cfg.backends}
+
+    backlog=${builtins.toString cfg.backlog}
+    backend-address-family=${cfg.backend-address-family}
+
+    workers=${builtins.toString cfg.workers}
+    rlimit-nofile=${builtins.toString cfg.rlimit-nofile}
+
+    ${lib.optionalString cfg.single-thread "single-thread=yes"}
+    ${lib.optionalString cfg.single-process "single-process=yes"}
+
+    ${cfg.extraConfig}
+  '';
+in
+{ imports = [
+    ./nghttpx-options.nix
+  ];
+  
+  config = lib.mkIf cfg.enable {
+
+    users.groups.nghttpx = { };
+    users.users.nghttpx = {
+      group = config.users.groups.nghttpx.name;
+    };
+      
+
+    systemd.services = {
+      nghttpx = {
+        wantedBy = [ "multi-user.target" ];
+        after    = [ "network.target" ];
+        script   = ''
+          ${pkgs.nghttp2}/bin/nghttpx --conf=${configurationFile}
+        '';
+
+        serviceConfig = {
+          Restart    = "on-failure";
+          RestartSec = 60;
+        };
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix b/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix
new file mode 100644
index 000000000000..33c8572bd14f
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix
@@ -0,0 +1,64 @@
+{ lib, ...}:
+{ options = {
+    tls = lib.mkOption {
+      type        = lib.types.enum [ "tls" "no-tls" ];
+      default     = "tls";
+      description = ''
+        Enable or disable TLS. If true (enabled) the key and
+        certificate must be configured for nghttpx.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
+        for more detail.
+      '';
+    };
+
+    sni-fwd = lib.mkOption {
+      type    = lib.types.bool;
+      default = false;
+      description = ''
+        When performing a match to select a backend server, SNI host
+        name received from the client is used instead of the request
+        host. See --backend option about the pattern match.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
+        for more detail.
+      '';
+    };
+
+    api = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Enable API access for this frontend. This enables you to
+        dynamically modify nghttpx at run-time therefore this feature
+        is disabled by default and should be turned on with care.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
+        for more detail.
+      '';
+    };
+
+    healthmon = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Make this frontend a health monitor endpoint. Any request
+        received on this frontend is responded to with a 200 OK.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
+        for more detail.
+      '';
+    };
+
+    proxyproto = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Accept PROXY protocol version 1 on frontend connection.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
+        for more detail.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/frontend-submodule.nix b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix
new file mode 100644
index 000000000000..887ef4502131
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix
@@ -0,0 +1,36 @@
+{ lib, ... }:
+{ options = {
+    server = lib.mkOption {
+      type =
+        lib.types.either
+          (lib.types.submodule (import ./server-options.nix))
+          (lib.types.path);
+      example = {
+        host = "127.0.0.1";
+        port = 8888;
+      };
+      default = {
+        host = "127.0.0.1";
+        port = 80;
+      };
+      description = ''
+        Frontend server interface binding specification as either a
+        host:port pair or a unix domain docket.
+
+        NB: a host of "*" listens on all interfaces and includes IPv6
+        addresses.
+      '';
+    };
+
+    params = lib.mkOption {
+      type    = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix));
+      example = {
+        tls   = "tls";
+      };
+      default     = null;
+      description = ''
+        Parameters to configure a backend.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/nghttpx-options.nix b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
new file mode 100644
index 000000000000..cce65be321a8
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
@@ -0,0 +1,142 @@
+{ config, lib, ... }:
+{ options.services.nghttpx = {
+    enable = lib.mkEnableOption "nghttpx";
+
+    frontends = lib.mkOption {
+      type        = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
+      description = ''
+        A list of frontend listener specifications.
+      '';
+      example = [
+        { server = {
+            host = "*";
+            port = 80;
+          };
+
+          params = {
+            tls = "no-tls";
+          };
+        }
+      ];
+    };
+
+    backends  = lib.mkOption {
+      type = lib.types.listOf (lib.types.submodule (import ./backend-submodule.nix));
+      description = ''
+        A list of backend specifications.
+      '';
+      example = [
+        { server = {
+            host = "172.16.0.22";
+            port = 8443;
+          };
+          patterns = [ "/" ];
+          params   = {
+            proto               = "http/1.1";
+            redirect-if-not-tls = true;
+          };
+        }
+      ];
+    };
+
+    tls = lib.mkOption {
+      type        = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix));
+      default     = null;
+      description = ''
+        TLS certificate and key paths. Note that this does not enable
+        TLS for a frontend listener, to do so, a frontend
+        specification must set <literal>params.tls</literal> to true.
+      '';
+      example = {
+        key = "/etc/ssl/keys/server.key";
+        crt = "/etc/ssl/certs/server.crt";
+      };
+    };
+
+    extraConfig = lib.mkOption {
+      type        = lib.types.lines;
+      default     = "";
+      description = ''
+        Extra configuration options to be appended to the generated
+        configuration file.
+      '';
+    };
+
+    single-process = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Run this program in a single process mode for debugging
+        purpose. Without this option, nghttpx creates at least 2
+        processes: master and worker processes. If this option is
+        used, master and worker are unified into a single
+        process. nghttpx still spawns additional process if neverbleed
+        is used. In the single process mode, the signal handling
+        feature is disabled.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-process
+      '';
+    };
+
+    backlog = lib.mkOption {
+      type        = lib.types.int;
+      default     = 65536;
+      description = ''
+        Listen backlog size.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backlog
+      '';
+    };
+
+    backend-address-family = lib.mkOption {
+      type = lib.types.enum [
+        "auto"
+        "IPv4"
+        "IPv6"
+      ];
+      default = "auto";
+      description = ''
+        Specify address family of backend connections. If "auto" is
+        given, both IPv4 and IPv6 are considered. If "IPv4" is given,
+        only IPv4 address is considered. If "IPv6" is given, only IPv6
+        address is considered.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backend-address-family
+      '';
+    };
+
+    workers = lib.mkOption {
+      type        = lib.types.int;
+      default     = 1;
+      description = ''
+        Set the number of worker threads.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-n
+      '';
+    };
+
+    single-thread = lib.mkOption {
+      type        = lib.types.bool;
+      default     = false;
+      description = ''
+        Run everything in one thread inside the worker process. This
+        feature is provided for better debugging experience, or for
+        the platforms which lack thread support. If threading is
+        disabled, this option is always enabled.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-thread
+      '';
+    };
+
+    rlimit-nofile = lib.mkOption {
+      type        = lib.types.int;
+      default     = 0;
+      description = ''
+        Set maximum number of open files (RLIMIT_NOFILE) to &lt;N&gt;. If 0
+        is given, nghttpx does not set the limit.
+
+        Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/server-options.nix b/nixos/modules/services/networking/nghttpx/server-options.nix
new file mode 100644
index 000000000000..ef23bfd793c5
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/server-options.nix
@@ -0,0 +1,18 @@
+{ lib, ... }:
+{ options = {
+    host = lib.mkOption {
+      type        = lib.types.str;
+      example     = "127.0.0.1";
+      description = ''
+        Server host address.
+      '';
+    };
+    port = lib.mkOption {
+      type        = lib.types.int;
+      example     = 5088;
+      description = ''
+        Server host port.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nghttpx/tls-submodule.nix b/nixos/modules/services/networking/nghttpx/tls-submodule.nix
new file mode 100644
index 000000000000..8f3cdaae2c81
--- /dev/null
+++ b/nixos/modules/services/networking/nghttpx/tls-submodule.nix
@@ -0,0 +1,21 @@
+{lib, ...}:
+{ options = {
+    key = lib.mkOption {
+      type        = lib.types.str;
+      example     = "/etc/ssl/keys/mykeyfile.key";
+      default     = "/etc/ssl/keys/server.key";
+      description = ''
+        Path to the TLS key file.
+      '';
+    };
+
+    crt = lib.mkOption {
+      type        = lib.types.str;
+      example     = "/etc/ssl/certs/mycert.crt";
+      default     = "/etc/ssl/certs/server.crt";
+      description = ''
+        Path to the TLS certificate file.
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 8828429a8178..f0fddcca766f 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -54,8 +54,6 @@ let
     ));
   in listToAttrs (map mkAuthKeyFile usersWithKeys);
 
-  supportOldHostKeys = !versionAtLeast config.system.stateVersion "15.07";
-
 in
 
 {
@@ -191,9 +189,6 @@ in
         default =
           [ { type = "rsa"; bits = 4096; path = "/etc/ssh/ssh_host_rsa_key"; }
             { type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; }
-          ] ++ optionals supportOldHostKeys
-          [ { type = "dsa"; path = "/etc/ssh/ssh_host_dsa_key"; }
-            { type = "ecdsa"; bits = 521; path = "/etc/ssh/ssh_host_ecdsa_key"; }
           ];
         description = ''
           NixOS can automatically generate SSH host keys.  This option
@@ -363,14 +358,21 @@ in
           HostKey ${k.path}
         '')}
 
-        # Allow DSA client keys for now. (These were deprecated
-        # in OpenSSH 7.0.)
-        PubkeyAcceptedKeyTypes +ssh-dss
+        ### Recommended settings from both:
+        # https://stribika.github.io/2015/01/04/secure-secure-shell.html
+        # and
+        # https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29
 
-        # Re-enable DSA host keys for now.
-        ${optionalString supportOldHostKeys ''
-          HostKeyAlgorithms +ssh-dss
-        ''}
+        KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
+        Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
+        MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
+
+        # LogLevel VERBOSE logs user's key fingerprint on login.
+        # Needed to have a clear audit track of which key was used to log in.
+        LogLevel VERBOSE
+
+        # Use kernel sandbox mechanisms where possible in unprivileged processes.
+        UsePrivilegeSeparation sandbox
       '';
 
     assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true;
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index f71f30fee97a..7de2d121e76c 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -76,8 +76,9 @@ in
     };
   };
 
-  config = mkIf cfg.updater.enable or cfg.daemon.enable {
+  config = mkIf (cfg.updater.enable || cfg.daemon.enable) {
     environment.systemPackages = [ pkg ];
+
     users.extraUsers = singleton {
       name = clamavUser;
       uid = config.ids.uids.clamav;
@@ -94,7 +95,7 @@ in
     environment.etc."clamav/freshclam.conf".source = freshclamConfigFile;
     environment.etc."clamav/clamd.conf".source = clamdConfigFile;
 
-    systemd.services.clamav-daemon = mkIf cfg.daemon.enable {
+    systemd.services.clamav-daemon = optionalAttrs cfg.daemon.enable {
       description = "ClamAV daemon (clamd)";
       after = mkIf cfg.updater.enable [ "clamav-freshclam.service" ];
       requires = mkIf cfg.updater.enable [ "clamav-freshclam.service" ];
@@ -115,7 +116,7 @@ in
       };
     };
 
-    systemd.timers.clamav-freshclam = mkIf cfg.updater.enable {
+    systemd.timers.clamav-freshclam = optionalAttrs cfg.updater.enable {
       description = "Timer for ClamAV virus database updater (freshclam)";
       wantedBy = [ "timers.target" ];
       timerConfig = {
@@ -124,7 +125,7 @@ in
       };
     };
 
-    systemd.services.clamav-freshclam = mkIf cfg.updater.enable {
+    systemd.services.clamav-freshclam = optionalAttrs cfg.updater.enable {
       description = "ClamAV virus database updater (freshclam)";
       restartTriggers = [ freshclamConfigFile ];
 
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
new file mode 100644
index 000000000000..cee725e8fe5f
--- /dev/null
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -0,0 +1,384 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+# TODO: are these php-packages needed?
+#imagick
+#php-geoip -> php.ini: extension = geoip.so
+#expat
+
+let
+  cfg = config.services.restya-board;
+
+  runDir = "/run/restya-board";
+
+  poolName = "restya-board";
+  phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.restya-board = {
+
+      enable = mkEnableOption "restya-board";
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/restya-board";
+        example = "/var/lib/restya-board";
+        description = ''
+          Data of the application.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "restya-board";
+        example = "restya-board";
+        description = ''
+          User account under which the web-application runs.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "nginx";
+        example = "nginx";
+        description = ''
+          Group account under which the web-application runs.
+        '';
+      };
+
+      virtualHost = {
+        serverName = mkOption {
+          type = types.str;
+          default = "restya.board";
+          description = ''
+            Name of the nginx virtualhost to use.
+          '';
+        };
+
+        listenHost = mkOption {
+          type = types.str;
+          default = "localhost";
+          description = ''
+            Listen address for the virtualhost to use.
+          '';
+        };
+
+        listenPort = mkOption {
+          type = types.int;
+          default = 3000;
+          description = ''
+            Listen port for the virtualhost to use.
+          '';
+        };
+      };
+
+      database = {
+        host = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Host of the database. Leave 'null' to use a local PostgreSQL database.
+            A local PostgreSQL database is initialized automatically.
+          '';
+        };
+
+        port = mkOption {
+          type = types.nullOr types.int;
+          default = 5432;
+          description = ''
+            The database's port.
+          '';
+        };
+
+        name = mkOption {
+          type = types.str;
+          default = "restya_board";
+          description = ''
+            Name of the database. The database must exist.
+          '';
+        };
+
+        user = mkOption {
+          type = types.str;
+          default = "restya_board";
+          description = ''
+            The database user. The user must exist and have access to
+            the specified database.
+          '';
+        };
+
+        passwordFile = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The database user's password. 'null' if no password is set.
+          '';
+        };
+      };
+
+      email = {
+        server = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "localhost";
+          description = ''
+            Hostname to send outgoing mail. Null to use the system MTA.
+          '';
+        };
+
+        port = mkOption {
+          type = types.int;
+          default = 25;
+          description = ''
+            Port used to connect to SMTP server.
+          '';
+        };
+
+        login = mkOption {
+          type = types.str;
+          default = "";
+          description = ''
+            SMTP authentication login used when sending outgoing mail.
+          '';
+        };
+
+        password = mkOption {
+          type = types.str;
+          default = "";
+          description = ''
+            SMTP authentication password used when sending outgoing mail.
+
+            ATTENTION: The password is stored world-readable in the nix-store!
+          '';
+        };
+      };
+
+      timezone = mkOption {
+        type = types.lines;
+        default = "GMT";
+        description = ''
+          Timezone the web-app runs in.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    services.phpfpm.poolConfigs = {
+      "${poolName}" = ''
+        listen = "${phpfpmSocketName}";
+        listen.owner = nginx
+        listen.group = nginx
+        listen.mode = 0600
+        user = ${cfg.user}
+        group = ${cfg.group}
+        pm = dynamic
+        pm.max_children = 75
+        pm.start_servers = 10
+        pm.min_spare_servers = 5
+        pm.max_spare_servers = 20
+        pm.max_requests = 500
+        catch_workers_output = 1
+      '';
+    };
+
+    services.phpfpm.phpOptions = ''
+      date.timezone = "CET"
+
+      ${optionalString (!isNull cfg.email.server) ''
+        SMTP = ${cfg.email.server}
+        smtp_port = ${toString cfg.email.port}
+        auth_username = ${cfg.email.login}
+        auth_password = ${cfg.email.password}
+      ''}
+    '';
+
+    services.nginx.enable = true;
+    services.nginx.virtualHosts."${cfg.virtualHost.serverName}" = {
+      listen = [ { addr = cfg.virtualHost.listenHost; port = cfg.virtualHost.listenPort; } ];
+      serverName = cfg.virtualHost.serverName;
+      root = runDir;
+      extraConfig = ''
+        index index.html index.php;
+
+        gzip on;
+        gzip_disable "msie6";
+
+        gzip_comp_level 6;
+        gzip_min_length  1100;
+        gzip_buffers 16 8k;
+        gzip_proxied any;
+        gzip_types text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss;
+
+        client_max_body_size 300M;
+
+        rewrite ^/oauth/authorize$ /server/php/authorize.php last;
+        rewrite ^/oauth_callback/([a-zA-Z0-9_\.]*)/([a-zA-Z0-9_\.]*)$ /server/php/oauth_callback.php?plugin=$1&code=$2 last;
+        rewrite ^/download/([0-9]*)/([a-zA-Z0-9_\.]*)$ /server/php/download.php?id=$1&hash=$2 last;
+        rewrite ^/ical/([0-9]*)/([0-9]*)/([a-z0-9]*).ics$ /server/php/ical.php?board_id=$1&user_id=$2&hash=$3 last;
+        rewrite ^/api/(.*)$ /server/php/R/r.php?_url=$1&$args last;
+        rewrite ^/api_explorer/api-docs/$ /client/api_explorer/api-docs/index.php last;
+      '';
+
+      locations."/".root = "${runDir}/client";
+
+      locations."~ \.php$" = {
+        tryFiles = "$uri =404";
+        extraConfig = ''
+          include ${pkgs.nginx}/conf/fastcgi_params;
+          fastcgi_pass    unix:${phpfpmSocketName};
+          fastcgi_index   index.php;
+          fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
+          fastcgi_param   PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
+        '';
+      };
+
+      locations."~* \.(css|js|less|html|ttf|woff|jpg|jpeg|gif|png|bmp|ico)" = {
+        root = "${runDir}/client";
+        extraConfig = ''
+          if (-f $request_filename) {
+                  break;
+          }
+          rewrite ^/img/([a-zA-Z_]*)/([a-zA-Z_]*)/([a-zA-Z0-9_\.]*)$ /server/php/image.php?size=$1&model=$2&filename=$3 last;
+          add_header        Cache-Control public;
+          add_header        Cache-Control must-revalidate;
+          expires           7d;
+        '';
+      };
+    };
+
+    systemd.services.restya-board-init = {
+      description = "Restya board initialization";
+      serviceConfig.Type = "oneshot";
+      serviceConfig.RemainAfterExit = true;
+
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "postgresql.service" ];
+      after = [ "network.target" "postgresql.service" ];
+
+      script = ''
+        rm -rf "${runDir}"
+        mkdir -m 750 -p "${runDir}"
+        cp -r "${pkgs.restya-board}/"* "${runDir}"
+        sed -i "s/@restya.com/@${cfg.virtualHost.serverName}/g" "${runDir}/sql/restyaboard_with_empty_data.sql"
+        rm -rf "${runDir}/media"
+        rm -rf "${runDir}/client/img"
+        chmod -R 0750 "${runDir}"
+
+        sed -i "s@^php@${config.services.phpfpm.phpPackage}/bin/php@" "${runDir}/server/php/shell/"*.sh
+
+        ${if (isNull cfg.database.host) then ''
+          sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', 'localhost');/g" "${runDir}/server/php/config.inc.php"
+          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
+        '' else ''
+          sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
+          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', '$(<${cfg.database.dbPassFile})');/g" "${runDir}/server/php/config.inc.php"
+        ''}
+        sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
+        sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
+        sed -i "s/^.*'R_DB_USER'.*$/define('R_DB_USER', '${cfg.database.user}');/g" "${runDir}/server/php/config.inc.php"
+
+        chmod 0400 "${runDir}/server/php/config.inc.php"
+
+        ln -sf "${cfg.dataDir}/media" "${runDir}/media"
+        ln -sf "${cfg.dataDir}/client/img" "${runDir}/client/img"
+
+        chmod g+w "${runDir}/tmp/cache"
+        chown -R "${cfg.user}"."${cfg.group}" "${runDir}"
+
+
+        mkdir -m 0750 -p "${cfg.dataDir}"
+        mkdir -m 0750 -p "${cfg.dataDir}/media"
+        mkdir -m 0750 -p "${cfg.dataDir}/client/img"
+        cp -r "${pkgs.restya-board}/media/"* "${cfg.dataDir}/media"
+        cp -r "${pkgs.restya-board}/client/img/"* "${cfg.dataDir}/client/img"
+        chown "${cfg.user}"."${cfg.group}" "${cfg.dataDir}"
+        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/media"
+        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/client/img"
+
+        ${optionalString (isNull cfg.database.host) ''
+          if ! [ -e "${cfg.dataDir}/.db-initialized" ]; then
+            ${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} \
+              ${config.services.postgresql.package}/bin/psql -U ${config.services.postgresql.superUser} \
+              -c "CREATE USER ${cfg.database.user} WITH ENCRYPTED PASSWORD 'restya'"
+
+            ${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} \
+              ${config.services.postgresql.package}/bin/psql -U ${config.services.postgresql.superUser} \
+              -c "CREATE DATABASE ${cfg.database.name} OWNER ${cfg.database.user} ENCODING 'UTF8' TEMPLATE template0"
+
+            ${pkgs.sudo}/bin/sudo -u ${cfg.user} \
+              ${config.services.postgresql.package}/bin/psql -U ${cfg.database.user} \
+              -d ${cfg.database.name} -f "${runDir}/sql/restyaboard_with_empty_data.sql"
+
+            touch "${cfg.dataDir}/.db-initialized"
+          fi
+        ''}
+      '';
+    };
+
+    systemd.timers.restya-board = {
+      description = "restya-board scripts for e.g. email notification";
+      wantedBy = [ "timers.target" ];
+      after = [ "restya-board-init.service" ];
+      requires = [ "restya-board-init.service" ];
+      timerConfig = {
+        OnUnitInactiveSec = "60s";
+        Unit = "restya-board-timers.service";
+      };
+    };
+
+    systemd.services.restya-board-timers = {
+      description = "restya-board scripts for e.g. email notification";
+      serviceConfig.Type = "oneshot";
+      serviceConfig.User = cfg.user;
+
+      after = [ "restya-board-init.service" ];
+      requires = [ "restya-board-init.service" ];
+
+      script = ''
+        /bin/sh ${runDir}/server/php/shell/instant_email_notification.sh 2> /dev/null || true
+        /bin/sh ${runDir}/server/php/shell/periodic_email_notification.sh 2> /dev/null || true
+        /bin/sh ${runDir}/server/php/shell/imap.sh 2> /dev/null || true
+        /bin/sh ${runDir}/server/php/shell/webhook.sh 2> /dev/null || true
+        /bin/sh ${runDir}/server/php/shell/card_due_notification.sh 2> /dev/null || true
+      '';
+    };
+
+    users.extraUsers.restya-board = {
+      isSystemUser = true;
+      createHome = false;
+      home = runDir;
+      group  = "restya-board";
+    };
+    users.extraGroups.restya-board = {};
+
+    services.postgresql.enable = mkIf (isNull cfg.database.host) true;
+
+    services.postgresql.identMap = optionalString (isNull cfg.database.host)
+      ''
+        restya-board-users restya-board restya_board
+      '';
+
+    services.postgresql.authentication = optionalString (isNull cfg.database.host)
+      ''
+        local restya_board all ident map=restya-board-users
+      '';
+
+  };
+
+}
+
diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
index 94e85f1f4289..cfddab2f5047 100644
--- a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
@@ -188,8 +188,7 @@ let
       /* date format to be used while writing to the owncloud logfile */
       'logdateformat' => 'F d, Y H:i:s',
 
-      /* timezone used while writing to the owncloud logfile (default: UTC) */
-      'logtimezone' => '${serverInfo.fullConfig.time.timeZone}',
+      ${tzSetting}
 
       /* Append all database queries and parameters to the log file.
        (watch out, this option can increase the size of your log file)*/
@@ -339,6 +338,31 @@ let
 
     '';
 
+  tzSetting = let tz = serverInfo.fullConfig.time.timeZone; in optionalString (!isNull tz) ''
+    /* timezone used while writing to the owncloud logfile (default: UTC) */
+    'logtimezone' => '${tz}',
+  '';
+
+  postgresql = serverInfo.fullConfig.services.postgresql.package;
+
+  setupDb = pkgs.writeScript "setup-owncloud-db" ''
+    #!${pkgs.stdenv.shell}
+    PATH="${postgresql}/bin"
+    createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
+    createdb "${config.dbName}" -O "${config.dbUser}" || true
+    psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
+
+    QUERY="CREATE TABLE appconfig
+             ( appid       VARCHAR( 255 ) NOT NULL
+             , configkey   VARCHAR( 255 ) NOT NULL
+             , configvalue VARCHAR( 255 ) NOT NULL
+             );
+           GRANT ALL ON appconfig TO ${config.dbUser};
+           ALTER TABLE appconfig OWNER TO ${config.dbUser};"
+
+    psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
+  '';
+
 in
 
 rec {
@@ -353,7 +377,7 @@ rec {
       ''}
 
       <Directory ${config.package}>
-        ${builtins.readFile "${config.package}/.htaccess"}
+        Include ${config.package}/.htaccess
       </Directory>
     '';
 
@@ -373,7 +397,7 @@ rec {
       defaultText = "pkgs.owncloud70";
       example = literalExample "pkgs.owncloud70";
       description = ''
-          PostgreSQL package to use.
+          ownCloud package to use.
       '';
     };
 
@@ -574,13 +598,7 @@ rec {
       chmod -R o-rwx ${config.dataDir}
       chown -R wwwrun:wwwrun ${config.dataDir}
 
-      ${pkgs.postgresql}/bin/createuser -s -r postgres
-      ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
-      ${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" || true
-      ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
-
-      QUERY="CREATE TABLE appconfig (appid VARCHAR( 255 ) NOT NULL ,configkey VARCHAR( 255 ) NOT NULL ,configvalue VARCHAR( 255 ) NOT NULL); GRANT ALL ON appconfig TO ${config.dbUser}; ALTER TABLE appconfig OWNER TO ${config.dbUser};"
-      ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
+      ${pkgs.sudo}/bin/sudo -u postgres ${setupDb}
     fi
 
     if [ -e ${config.package}/config/ca-bundle.crt ]; then
@@ -591,7 +609,11 @@ rec {
 
     chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true
 
-    QUERY="INSERT INTO groups (gid) values('admin'); INSERT INTO users (uid,password) values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}'); INSERT INTO group_user (gid,uid) values('admin','${config.adminUser}');"
-    ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
+    QUERY="INSERT INTO groups (gid) values('admin');
+           INSERT INTO users (uid,password)
+             values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}');
+           INSERT INTO group_user (gid,uid)
+             values('admin','${config.adminUser}');"
+    ${pkgs.sudo}/bin/sudo -u postgres ${postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
   '';
 }
diff --git a/nixos/modules/services/web-servers/lighttpd/inginious.nix b/nixos/modules/services/web-servers/lighttpd/inginious.nix
index 669e81d0f14b..8c813d116a52 100644
--- a/nixos/modules/services/web-servers/lighttpd/inginious.nix
+++ b/nixos/modules/services/web-servers/lighttpd/inginious.nix
@@ -113,7 +113,6 @@ in
 
     tasksDirectory = mkOption {
       type = types.path;
-      default = "${inginious}/lib/python2.7/site-packages/inginious/tasks";
       example = "/var/lib/INGInious/tasks";
       description = ''
         Path to the tasks folder.
@@ -218,6 +217,7 @@ in
 
       # Common
       {
+        services.lighttpd.inginious.tasksDirectory = mkDefault "${inginious}/lib/python2.7/site-packages/inginious/tasks";
         # To access inginous tools (like inginious-test-task)
         environment.systemPackages = [ inginious ];
 
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index 11cbcac6fa85..8641c05de52e 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -181,10 +181,10 @@ in {
     };
 
     backend = mkOption {
-      type = types.enum [ "glx" "xrender" ];
+      type = types.enum [ "glx" "xrender" "xr_glx_hybrid" ];
       default = "xrender";
       description = ''
-        Backend to use: <literal>glx</literal> or <literal>xrender</literal>.
+        Backend to use: <literal>glx</literal>, <literal>xrender</literal> or <literal>xr_glx_hybrid</literal>.
       '';
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 13f339e3fbf3..39b27d4ceb61 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -87,11 +87,11 @@ in
 
       default = mkOption {
         type = types.str;
-        default = "";
-        example = "none";
+        default = "none";
+        example = "plasma5";
         description = "Default desktop manager loaded if none have been chosen.";
         apply = defaultDM:
-          if defaultDM == "" && cfg.session.list != [] then
+          if defaultDM == "none" && cfg.session.list != [] then
             (head cfg.session.list).name
           else if any (w: w.name == defaultDM) cfg.session.list then
             defaultDM
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index b02eaf861a0d..8a523f0d8036 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -61,7 +61,7 @@ in
       '';
     }];
 
-    security.wrappers.e_freqset.source = "${e.enlightenment.out}/bin/e_freqset";
+    security.wrappers = (import (builtins.toPath "${e.enlightenment}/e-wrappers.nix")).security.wrappers;
 
     environment.etc = singleton
       { source = xcfg.xkbDir;
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index ecf0abb1efd2..d2c856fc9332 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -94,6 +94,8 @@ in {
     services.udisks2.enable = true;
     services.accounts-daemon.enable = true;
     services.geoclue2.enable = mkDefault true;
+    services.dleyna-renderer.enable = mkDefault true;
+    services.dleyna-server.enable = mkDefault true;
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.evolution-data-server.enable = true;
     services.gnome3.gnome-disks.enable = mkDefault true;
@@ -106,6 +108,7 @@ in {
     services.gnome3.seahorse.enable = mkDefault true;
     services.gnome3.sushi.enable = mkDefault true;
     services.gnome3.tracker.enable = mkDefault true;
+    services.gnome3.tracker-miners.enable = mkDefault true;
     hardware.pulseaudio.enable = mkDefault true;
     services.telepathy.enable = mkDefault true;
     networking.networkmanager.enable = mkDefault true;
@@ -150,7 +153,7 @@ in {
           export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share
 
           # Override gsettings-desktop-schema
-          export XDG_DATA_DIRS=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
+          export NIX_GSETTINGS_OVERRIDES_DIR=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
 
           # Let nautilus find extensions
           export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 7f54bb182fe9..bb4f4e868fea 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -195,7 +195,12 @@ in
 
       boot.plymouth = {
         theme = mkDefault "breeze";
-        themePackages = mkDefault [ pkgs.breeze-plymouth ];
+        themePackages = mkDefault [
+          (pkgs.breeze-plymouth.override {
+            nixosBranding = true;
+            nixosVersion = config.system.nixosRelease;
+          })
+        ];
       };
 
       security.pam.services.kde = { allowNullPassword = true; };
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 3fa482fb6722..43ed21c95fee 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -59,12 +59,6 @@ let
       # Now it should be safe to assume that the script was called with the
       # expected parameters.
 
-      ${optionalString cfg.displayManager.logToJournal ''
-        if [ -z "$_DID_SYSTEMD_CAT" ]; then
-          _DID_SYSTEMD_CAT=1 exec ${config.systemd.package}/bin/systemd-cat -t xsession -- "$0" "$@"
-        fi
-      ''}
-
       . /etc/profile
       cd "$HOME"
 
@@ -72,16 +66,23 @@ let
       sessionType="$1"
       if [ "$sessionType" = default ]; then sessionType=""; fi
 
-      ${optionalString (!cfg.displayManager.job.logsXsession && !cfg.displayManager.logToJournal) ''
-        exec > ~/.xsession-errors 2>&1
-      ''}
-
       ${optionalString cfg.startDbusSession ''
         if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
           exec ${pkgs.dbus.dbus-launch} --exit-with-session "$0" "$sessionType"
         fi
       ''}
 
+      ${optionalString cfg.displayManager.job.logToJournal ''
+        if [ -z "$_DID_SYSTEMD_CAT" ]; then
+          export _DID_SYSTEMD_CAT=1
+          exec ${config.systemd.package}/bin/systemd-cat -t xsession "$0" "$sessionType"
+        fi
+      ''}
+
+      ${optionalString cfg.displayManager.job.logToFile ''
+        exec &> >(tee ~/.xsession-errors)
+      ''}
+
       # Start PulseAudio if enabled.
       ${optionalString (config.hardware.pulseaudio.enable) ''
         ${optionalString (!config.hardware.pulseaudio.systemWide)
@@ -306,26 +307,24 @@ in
           description = "Additional environment variables needed by the display manager.";
         };
 
-        logsXsession = mkOption {
+        logToFile = mkOption {
           type = types.bool;
           default = false;
           description = ''
-            Whether the display manager redirects the
-            output of the session script to
-            <filename>~/.xsession-errors</filename>.
+            Whether the display manager redirects the output of the
+            session script to <filename>~/.xsession-errors</filename>.
           '';
         };
 
-      };
+        logToJournal = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether the display manager redirects the output of the
+            session script to the systemd journal.
+          '';
+        };
 
-      logToJournal = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          By default, the stdout/stderr of sessions is written
-          to <filename>~/.xsession-errors</filename>. When this option
-          is enabled, it will instead be written to the journal.
-        '';
       };
 
     };
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index e83f26516f5f..07642a8b13db 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -122,11 +122,8 @@ in
       "rc-local.service"
       "systemd-machined.service"
       "systemd-user-sessions.service"
-      "getty@tty1.service"
     ];
 
-    systemd.services."getty@tty1".enable = false;
-    systemd.services.display-manager.conflicts = [ "getty@tty1.service" ];
     systemd.services.display-manager.serviceConfig = {
       # Restart = "always"; - already defined in xserver.nix
       KillMode = "mixed";
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 1733f2fd39b2..b5e936830918 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -190,7 +190,7 @@ in
     services.xserver.displayManager.slim.enable = false;
 
     services.xserver.displayManager.job = {
-      logsXsession = true;
+      logToFile = true;
 
       # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
       execCmd = ''
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index facaea131ae5..2d4cb8aa20a5 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -205,7 +205,7 @@ in
     services.xserver.displayManager.slim.enable = false;
 
     services.xserver.displayManager.job = {
-      logsXsession = true;
+      logToFile = true;
 
       environment = {
         # Load themes from system environment
diff --git a/nixos/modules/services/x11/display-managers/xpra.nix b/nixos/modules/services/x11/display-managers/xpra.nix
index 8f5ce3dccc6a..b46ede550c16 100644
--- a/nixos/modules/services/x11/display-managers/xpra.nix
+++ b/nixos/modules/services/x11/display-managers/xpra.nix
@@ -220,7 +220,7 @@ in
     '';
 
     services.xserver.displayManager.job = {
-      logsXsession = true;
+      logToFile = true;
 
       execCmd = ''
         ${optionalString (cfg.pulseaudio)
diff --git a/nixos/modules/services/x11/fractalart.nix b/nixos/modules/services/x11/fractalart.nix
new file mode 100644
index 000000000000..448248a58794
--- /dev/null
+++ b/nixos/modules/services/x11/fractalart.nix
@@ -0,0 +1,36 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.fractalart;
+in {
+  options.services.fractalart = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = "Enable FractalArt for generating colorful wallpapers on login";
+    };
+
+    width = mkOption {
+      type = types.nullOr types.int;
+      default = null;
+      example = 1920;
+      description = "Screen width";
+    };
+
+    height = mkOption {
+      type = types.nullOr types.int;
+      default = null;
+      example = 1080;
+      description = "Screen height";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.haskellPackages.FractalArt ];
+    services.xserver.displayManager.sessionCommands =
+      "${pkgs.haskellPackages.FractalArt}/bin/FractalArt --no-bg -f .background-image"
+        + optionalString (cfg.width  != null) " -w ${toString cfg.width}"
+        + optionalString (cfg.height != null) " -h ${toString cfg.height}";
+  };
+}
diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix
index 44555cb6e2a9..5aecdef812e6 100644
--- a/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixos/modules/services/x11/hardware/libinput.nix
@@ -198,6 +198,13 @@ in {
 
     environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ];
 
+    environment.etc = [
+      (let cfgPath = "X11/xorg.conf.d/40-libinput.conf"; in {
+        source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath;
+        target = cfgPath;
+      })
+    ];
+
     services.udev.packages = [ pkgs.libinput ];
 
     services.xserver.config =
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index d12003768a67..25ba95fccd75 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -61,7 +61,9 @@ in
         example = "wmii";
         description = "Default window manager loaded if none have been chosen.";
         apply = defaultWM:
-          if any (w: w.name == defaultWM) cfg.session then
+          if defaultWM == "none" && cfg.session != []  then
+            (head cfg.session).name
+          else if any (w: w.name == defaultWM) cfg.session then
             defaultWM
           else
             throw "Default window manager (${defaultWM}) not found.";
diff --git a/nixos/modules/services/x11/window-managers/evilwm.nix b/nixos/modules/services/x11/window-managers/evilwm.nix
new file mode 100644
index 000000000000..6e19e3572c79
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/evilwm.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.evilwm;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.evilwm.enable = mkEnableOption "evilwm";
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "evilwm";
+      start = ''
+	${pkgs.evilwm}/bin/evilwm &
+	waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.evilwm ];
+  };
+}
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index d4fe475690ce..1049f810ad2a 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -161,6 +161,15 @@ in
         '';
       };
 
+      plainX = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether the X11 session can be plain (without DM/WM) and
+          the Xsession script will be used as fallback or not.
+        '';
+      };
+
       autorun = mkOption {
         type = types.bool;
         default = true;
@@ -552,6 +561,11 @@ in
                 + "${toString (length primaryHeads)} heads set to primary: "
                 + concatMapStringsSep ", " (x: x.output) primaryHeads;
       })
+      { assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX;
+        message = "Either the desktop manager or the window manager shouldn't be `none`! "
+                + "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. "
+                + "The `default` value looks for enabled WMs/DMs and select the first one.";
+      }
     ];
 
     environment.etc =
@@ -686,7 +700,6 @@ in
         Section "InputClass"
           Identifier "Keyboard catchall"
           MatchIsKeyboard "on"
-          Option "XkbRules" "base"
           Option "XkbModel" "${cfg.xkbModel}"
           Option "XkbLayout" "${cfg.layout}"
           Option "XkbOptions" "${cfg.xkbOptions}"
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 29cc60b00324..87a4ab2a586d 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -16,6 +16,10 @@ my $reloadListFile = "/run/systemd/reload-list";
 
 my $action = shift @ARGV;
 
+if ("@localeArchive@" ne "") {
+    $ENV{LOCALE_ARCHIVE} = "@localeArchive@";
+}
+
 if (!defined $action || ($action ne "switch" && $action ne "boot" && $action ne "test" && $action ne "dry-activate")) {
     print STDERR <<EOF;
 Usage: $0 [switch|boot|test]
@@ -65,7 +69,8 @@ $SIG{PIPE} = "IGNORE";
 sub getActiveUnits {
     # FIXME: use D-Bus or whatever to query this, since parsing the
     # output of list-units is likely to break.
-    my $lines = `LANG= systemctl list-units --full --no-legend`;
+    # Use current version of systemctl binary before daemon is reexeced.
+    my $lines = `LANG= /run/current-system/sw/bin/systemctl list-units --full --no-legend`;
     my $res = {};
     foreach my $line (split '\n', $lines) {
         chomp $line;
@@ -262,7 +267,8 @@ while (my ($unit, $state) = each %{$activePrev}) {
 
 sub pathToUnitName {
     my ($path) = @_;
-    open my $cmd, "-|", "@systemd@/bin/systemd-escape", "--suffix=mount", "-p", $path
+    # Use current version of systemctl binary before daemon is reexeced.
+    open my $cmd, "-|", "/run/current-system/sw/bin/systemd-escape", "--suffix=mount", "-p", $path
         or die "Unable to escape $path!\n";
     my $escaped = join "", <$cmd>;
     chomp $escaped;
@@ -364,7 +370,8 @@ syslog(LOG_NOTICE, "switching to system configuration $out");
 if (scalar (keys %unitsToStop) > 0) {
     print STDERR "stopping the following units: ", join(", ", @unitsToStopFiltered), "\n"
         if scalar @unitsToStopFiltered;
-    system("systemctl", "stop", "--", sort(keys %unitsToStop)); # FIXME: ignore errors?
+    # Use current version of systemctl binary before daemon is reexeced.
+    system("/run/current-system/sw/bin/systemctl", "stop", "--", sort(keys %unitsToStop)); # FIXME: ignore errors?
 }
 
 print STDERR "NOT restarting the following changed units: ", join(", ", sort(keys %unitsToSkip)), "\n"
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 67cb2264e3f3..0c50241f2edf 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -26,7 +26,6 @@ let
      cloner false config.nesting.children
   ++ cloner true config.nesting.clone;
 
-
   systemBuilder =
     let
       kernelPath = "${config.boot.kernelPackages.kernel}/" +
@@ -83,6 +82,7 @@ let
       done
 
       mkdir $out/bin
+      export localeArchive="${config.i18n.glibcLocales}/lib/locale/locale-archive"
       substituteAll ${./switch-to-configuration.pl} $out/bin/switch-to-configuration
       chmod +x $out/bin/switch-to-configuration
 
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 7f5b55d5cca0..1d6c41406107 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -5,7 +5,13 @@
 
 with lib;
 
-let kernel = config.boot.kernelPackages.kernel; in
+let
+  kernel = config.boot.kernelPackages.kernel;
+  # FIXME: figure out a common place for this instead of copy pasting
+  serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
+        else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
+        else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
+in
 
 {
 
@@ -22,8 +28,8 @@ let kernel = config.boot.kernelPackages.kernel; in
 
     systemd.services.backdoor =
       { wantedBy = [ "multi-user.target" ];
-        requires = [ "dev-hvc0.device" "dev-ttyS0.device" ];
-        after = [ "dev-hvc0.device" "dev-ttyS0.device" ];
+        requires = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
+        after = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
         script =
           ''
             export USER=root
@@ -40,7 +46,7 @@ let kernel = config.boot.kernelPackages.kernel; in
 
             cd /tmp
             exec < /dev/hvc0 > /dev/hvc0
-            while ! exec 2> /dev/ttyS0; do sleep 0.1; done
+            while ! exec 2> /dev/${serialDevice}; do sleep 0.1; done
             echo "connecting to host..." >&2
             stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
             echo
@@ -49,10 +55,10 @@ let kernel = config.boot.kernelPackages.kernel; in
         serviceConfig.KillSignal = "SIGHUP";
       };
 
-    # Prevent agetty from being instantiated on ttyS0, since it
-    # interferes with the backdoor (writes to ttyS0 will randomly fail
+    # Prevent agetty from being instantiated on ${serialDevice}, since it
+    # interferes with the backdoor (writes to ${serialDevice} will randomly fail
     # with EIO).  Likewise for hvc0.
-    systemd.services."serial-getty@ttyS0".enable = false;
+    systemd.services."serial-getty@${serialDevice}".enable = false;
     systemd.services."serial-getty@hvc0".enable = false;
 
     boot.initrd.preDeviceCommands =
@@ -88,7 +94,7 @@ let kernel = config.boot.kernelPackages.kernel; in
     # Panic if an error occurs in stage 1 (rather than waiting for
     # user intervention).
     boot.kernelParams =
-      [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
+      [ "console=${serialDevice}" "panic=1" "boot.panic_on_fail" ];
 
     # `xwininfo' is used by the test driver to query open windows.
     environment.systemPackages = [ pkgs.xorg.xwininfo ];
diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix
index bd85973ee561..fc0409e9ec77 100644
--- a/nixos/modules/virtualisation/parallels-guest.nix
+++ b/nixos/modules/virtualisation/parallels-guest.nix
@@ -27,7 +27,6 @@ in
   };
 
   config = mkIf config.hardware.parallels.enable {
-
     services.xserver = {
       drivers = singleton
         { name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; };
@@ -55,7 +54,7 @@ in
 
     boot.extraModulePackages = [ prl-tools ];
 
-    boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
+    boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" ];
 
     services.timesyncd.enable = false;
 
@@ -89,5 +88,50 @@ in
       };
     };
 
+    systemd.user.services = {
+      prlcc = {
+        description = "Parallels Control Center";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlcc";
+        };
+      };
+      prldnd = {
+        description = "Parallels Control Center";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prldnd";
+        };
+      };
+      prl_wmouse_d  = {
+        description = "Parallels Walking Mouse Daemon";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prl_wmouse_d";
+        };
+      };
+      prlcp = {
+        description = "Parallels CopyPaste Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlcp";
+        };
+      };
+      prlsga = {
+        description = "Parallels Shared Guest Applications Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlsga";
+        };
+      };
+      prlshprof = {
+        description = "Parallels Shared Profile Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlshprof";
+        };
+      };
+    };
+
   };
 }
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 3c89ca68113b..770e5fb848a9 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -14,6 +14,17 @@ with lib;
 let
 
   qemu = config.system.build.qemu or pkgs.qemu_test;
+  qemuKvm = {
+    "i686-linux" = "${qemu}/bin/qemu-kvm";
+    "x86_64-linux" = "${qemu}/bin/qemu-kvm -cpu kvm64";
+    "armv7l-linux" = "${qemu}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
+    "aarch64-linux" = "${qemu}/bin/qemu-system-aarch64 -enable-kvm -machine virt -cpu host";
+  }.${pkgs.stdenv.system};
+
+  # FIXME: figure out a common place for this instead of copy pasting
+  serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
+        else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
+        else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
 
   vmName =
     if config.networking.hostName == ""
@@ -23,7 +34,7 @@ let
   cfg = config.virtualisation;
 
   qemuGraphics = if cfg.graphics then "" else "-nographic";
-  kernelConsole = if cfg.graphics then "" else "console=ttyS0";
+  kernelConsole = if cfg.graphics then "" else "console=${serialDevice}";
   ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
 
   # Shell script to start the VM.
@@ -72,11 +83,10 @@ let
       '')}
 
       # Start QEMU.
-      exec ${qemu}/bin/qemu-kvm \
+      exec ${qemuKvm} \
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           -smp ${toString config.virtualisation.cores} \
-          ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
           ${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
           -virtfs local,path=/nix/store,security_model=none,mount_tag=store \
           -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
@@ -434,7 +444,9 @@ in
 
     virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
 
-    virtualisation.qemu.options = [ "-vga std" "-usbdevice tablet" ];
+    # FIXME: Figure out how to make this work on non-x86
+    virtualisation.qemu.options =
+      mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usbdevice tablet" ];
 
     # Mount the host filesystem via 9P, and bind-mount the Nix store
     # of the host into our own filesystem.  We use mkVMOverride to
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 125e6b7050bc..34a413f1ac3e 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -95,6 +95,7 @@ in rec {
         #(all nixos.tests.lightdm)
         (all nixos.tests.login)
         (all nixos.tests.misc)
+        (all nixos.tests.mutableUsers)
         (all nixos.tests.nat.firewall)
         (all nixos.tests.nat.standalone)
         (all nixos.tests.networking.scripted.loopback)
@@ -109,11 +110,13 @@ in rec {
         (all nixos.tests.nfs3)
         (all nixos.tests.nfs4)
         (all nixos.tests.openssh)
+        (all nixos.tests.php-pcre)
         (all nixos.tests.printing)
         (all nixos.tests.proxy)
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
         (all nixos.tests.slim)
+        (all nixos.tests.switchTest)
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
 
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 28f1340caf8d..e9f3cfb4de53 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -40,6 +40,7 @@ in rec {
         nat
         nfs3
         openssh
+        php-pcre
         proxy
         simple;
       installer = {
diff --git a/nixos/release.nix b/nixos/release.nix
index 28eb76d888e4..ac4dd3d78923 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -235,6 +235,7 @@ in rec {
   tests.containers-tmpfs = callTest tests/containers-tmpfs.nix {};
   tests.containers-hosts = callTest tests/containers-hosts.nix {};
   tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
+  tests.couchdb = callTest tests/couchdb.nix {};
   tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
   tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; });
   tests.dovecot = callTest tests/dovecot.nix {};
@@ -262,7 +263,7 @@ in rec {
   tests.hibernate = callTest tests/hibernate.nix {};
   tests.hound = callTest tests/hound.nix {};
   tests.i3wm = callTest tests/i3wm.nix {};
-  tests.initrd-network-ssh = callTest tests/initrd-network-ssh.nix {};
+  tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
   tests.installer = callSubTests tests/installer.nix {};
   tests.influxdb = callTest tests/influxdb.nix {};
   tests.ipv6 = callTest tests/ipv6.nix {};
@@ -290,6 +291,7 @@ in rec {
   tests.mongodb = callTest tests/mongodb.nix {};
   tests.mumble = callTest tests/mumble.nix {};
   tests.munin = callTest tests/munin.nix {};
+  tests.mutableUsers = callTest tests/mutable-users.nix {};
   tests.mysql = callTest tests/mysql.nix {};
   tests.mysqlBackup = callTest tests/mysql-backup.nix {};
   tests.mysqlReplication = callTest tests/mysql-replication.nix {};
@@ -303,12 +305,15 @@ in rec {
   tests.nfs3 = callTest tests/nfs.nix { version = 3; };
   tests.nfs4 = callTest tests/nfs.nix { version = 4; };
   tests.nginx = callTest tests/nginx.nix { };
+  tests.nghttpx = callTest tests/nghttpx.nix { };
   tests.leaps = callTest tests/leaps.nix { };
   tests.nsd = callTest tests/nsd.nix {};
   tests.openssh = callTest tests/openssh.nix {};
+  tests.owncloud = callTest tests/owncloud.nix {};
   tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
   #tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
   tests.peerflix = callTest tests/peerflix.nix {};
+  tests.php-pcre = callTest tests/php-pcre.nix {};
   tests.postgresql = callSubTests tests/postgresql.nix {};
   tests.pgmanage = callTest tests/pgmanage.nix {};
   tests.postgis = callTest tests/postgis.nix {};
@@ -327,6 +332,7 @@ in rec {
   tests.slim = callTest tests/slim.nix {};
   tests.smokeping = callTest tests/smokeping.nix {};
   tests.snapper = callTest tests/snapper.nix {};
+  tests.switchTest = callTest tests/switch-test.nix {};
   tests.taskserver = callTest tests/taskserver.nix {};
   tests.tomcat = callTest tests/tomcat.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix
index 50186525cf39..eeaca9f50edc 100644
--- a/nixos/tests/boot-stage1.nix
+++ b/nixos/tests/boot-stage1.nix
@@ -21,11 +21,16 @@ import ./make-test.nix ({ pkgs, ... }: {
       # the boot process kills any kthread by accident, like what happened in
       # issue #15226.
       kcanary = compileKernelModule "kcanary" ''
+        #include <linux/version.h>
         #include <linux/init.h>
         #include <linux/module.h>
         #include <linux/kernel.h>
         #include <linux/kthread.h>
         #include <linux/sched.h>
+        #include <linux/signal.h>
+        #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
+        #include <linux/sched/signal.h>
+        #endif
 
         struct task_struct *canaryTask;
 
diff --git a/nixos/tests/common/letsencrypt.nix b/nixos/tests/common/letsencrypt.nix
index 5a2a266d4da5..9b53d9d61a16 100644
--- a/nixos/tests/common/letsencrypt.nix
+++ b/nixos/tests/common/letsencrypt.nix
@@ -228,12 +228,12 @@ let
   # Retrieved via:
   # curl -s -I https://acme-v01.api.letsencrypt.org/terms \
   #   | sed -ne 's/^[Ll]ocation: *//p'
-  tosUrl = "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf";
+  tosUrl = "https://letsencrypt.org/documents/2017.11.15-LE-SA-v1.2.pdf";
   tosPath = builtins.head (builtins.match "https?://[^/]+(.*)" tosUrl);
 
   tosFile = pkgs.fetchurl {
     url = tosUrl;
-    sha256 = "08b2gacdz23mzji2pjr1pwnk82a84rzvr36isif7mmi9kydl6wv3";
+    sha256 = "0yvyckqzj0b1xi61sypcha82nanizzlm8yqy828h2jbza7cxi26c";
   };
 
   resolver = let
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index 598abd22e61b..b8d4759684cc 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -69,6 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
       $machine->succeed("ping -n -c 1 $ip6");
       $machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
 
+      # Check that nixos-container show-ip works in case of an ipv4 address with
+      # subnetmask in CIDR notation.
+      my $result = $machine->succeed("nixos-container show-ip webserver");
+      chomp $result;
+      $result eq $ip or die;
+
       # Stop the container.
       $machine->succeed("nixos-container stop webserver");
       $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
diff --git a/nixos/tests/couchdb.nix b/nixos/tests/couchdb.nix
new file mode 100644
index 000000000000..a3f675236bc6
--- /dev/null
+++ b/nixos/tests/couchdb.nix
@@ -0,0 +1,56 @@
+import ./make-test.nix ({ pkgs, lib, ...}:
+
+with lib;
+
+{
+  name = "couchdb";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ fpletz ];
+  };
+
+  nodes = {
+    couchdb1 =
+      { pkgs, config, ... }:
+
+      { environment.systemPackages = with pkgs; [ jq ];
+        services.couchdb.enable = true;
+      };
+
+    couchdb2 =
+      { pkgs, config, ... }:
+
+      { environment.systemPackages = with pkgs; [ jq ];
+        services.couchdb.enable = true;
+        services.couchdb.package = pkgs.couchdb2;
+      };
+  };
+
+  testScript = let
+    curlJqCheck = action: path: jqexpr: result:
+      pkgs.writeScript "curl-jq-check-${action}-${path}.sh" ''
+        RESULT=$(curl -X ${action} http://127.0.0.1:5984/${path} | jq -r '${jqexpr}')
+        echo $RESULT >&2
+        if [ "$RESULT" != "${result}" ]; then
+          exit 1
+        fi
+      '';
+  in ''
+    startAll;
+
+    $couchdb1->waitForUnit("couchdb.service");
+    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
+    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
+    $couchdb1->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
+    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "3"}");
+    $couchdb1->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
+    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
+
+    $couchdb2->waitForUnit("couchdb.service");
+    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
+    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
+    $couchdb2->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
+    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "1"}");
+    $couchdb2->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
+    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
+  '';
+})
diff --git a/nixos/tests/initrd-network-ssh.nix b/nixos/tests/initrd-network-ssh/default.nix
index 596610493921..9d476cb1a967 100644
--- a/nixos/tests/initrd-network-ssh.nix
+++ b/nixos/tests/initrd-network-ssh/default.nix
@@ -1,19 +1,6 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ../make-test.nix ({ pkgs, lib, ... }:
 
-let
-  keys = pkgs.runCommand "gen-keys" {
-    outputs = [ "out" "dbPub" "dbPriv" "sshPub" "sshPriv" ];
-    buildInputs = with pkgs; [ dropbear openssh ];
-  }
-  ''
-    touch $out
-    dropbearkey -t rsa -f $dbPriv -s 4096 | sed -n 2p > $dbPub
-    ssh-keygen -q -t rsa -b 4096 -N "" -f client
-    mv client $sshPriv
-    mv client.pub $sshPub
-  '';
-
-in {
+{
   name = "initrd-network-ssh";
   meta = with lib.maintainers; {
     maintainers = [ willibutz ];
@@ -32,9 +19,9 @@ in {
           enable = true;
           ssh = {
             enable = true;
-            authorizedKeys = [ "${readFile keys.sshPub}" ];
+            authorizedKeys = [ "${readFile ./openssh.pub}" ];
             port = 22;
-            hostRSAKey = keys.dbPriv;
+            hostRSAKey = ./dropbear.priv;
           };
         };
         boot.initrd.preLVMCommands = ''
@@ -56,7 +43,7 @@ in {
             "${toString (head (splitString " " (
               toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
             )))} "
-            "${readFile keys.dbPub}"
+            "${readFile ./dropbear.pub}"
           ];
         };
       };
@@ -65,7 +52,7 @@ in {
   testScript = ''
     startAll;
     $client->waitForUnit("network.target");
-    $client->copyFileFromHost("${keys.sshPriv}","/etc/sshKey");
+    $client->copyFileFromHost("${./openssh.priv}","/etc/sshKey");
     $client->succeed("chmod 0600 /etc/sshKey");
     $client->waitUntilSucceeds("ping -c 1 server");
     $client->succeed("ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'");
diff --git a/nixos/tests/initrd-network-ssh/dropbear.priv b/nixos/tests/initrd-network-ssh/dropbear.priv
new file mode 100644
index 000000000000..af340535f0a3
--- /dev/null
+++ b/nixos/tests/initrd-network-ssh/dropbear.priv
Binary files differdiff --git a/nixos/tests/initrd-network-ssh/dropbear.pub b/nixos/tests/initrd-network-ssh/dropbear.pub
new file mode 100644
index 000000000000..385c625522aa
--- /dev/null
+++ b/nixos/tests/initrd-network-ssh/dropbear.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCzJ0OniLB91MpPC86I1m3wwJeAc+Gme7bAuaLIU/cSfPwxT5NO7MfCp0Pu94gYDKtDXMs/wXg0bTAVDeAFFkdIj6kBBumEmQLCTL48q2UxDIXVLT/E/AAgj6q7WwgCg7fwm4Vjn4z7aUyBx8EfRy+5/SQyeYla3D/lFYgMi5x4D6J+yeR+JPAptDE/IR5IizNV7mY0ZcoXYyHrrehI1tTYEEqjX13ZqS4OCBFWwHe1QHhRNM+jHhcATbgikjAj8FyFPtLvc+dSVtkuhQktQl36Bi8zMUQcV6+mM7Ln6DBcDlM9urHKLYPTWmUAyhxM955iglOn5z0RaAIcyNMT6hz0rHaNf0BIlmbXoTC0XGjHh/OnoOEC/zg0JqgQTnPiU45K4TnRSSXp2GfiDfiQAK0+HaXACkjuFR68u7WCZpB1Bse1OgKNClFqtRhIr5DilUb2/e5DCCmFkddMUcjmYqzZdbXNt7fo8CFULe+mbiCp8+tMg4aRTaDZ/Hk93nCvGE5TP2ypEMbfL6nRVKvXOjhdvSQQgKwx+O003FDEHCSG0Bpageh7yVpna+SPrbGklce7MjTpbx3iIwmvKpQ6asnK1L3KkahpY1S3NhQ+/S3Gs8KWQ5LAU+d3xiPX3jfIVHsCIIyxHDbwcJvxM4MFBFQpqRMD6E+LoM9RHjl4C9k2iQ== tmtynkky@duuni
diff --git a/nixos/tests/initrd-network-ssh/generate-keys.nix b/nixos/tests/initrd-network-ssh/generate-keys.nix
new file mode 100644
index 000000000000..0183e12d7a88
--- /dev/null
+++ b/nixos/tests/initrd-network-ssh/generate-keys.nix
@@ -0,0 +1,12 @@
+with import ../../.. {};
+
+runCommand "gen-keys" {
+    buildInputs = [ dropbear openssh ];
+  }
+  ''
+    mkdir $out
+    dropbearkey -t rsa -f $out/dropbear.priv -s 4096 | sed -n 2p > $out/dropbear.pub
+    ssh-keygen -q -t rsa -b 4096 -N "" -f client
+    mv client $out/openssh.priv
+    mv client.pub $out/openssh.pub
+  ''
diff --git a/nixos/tests/initrd-network-ssh/openssh.priv b/nixos/tests/initrd-network-ssh/openssh.priv
new file mode 100644
index 000000000000..816d65435fd7
--- /dev/null
+++ b/nixos/tests/initrd-network-ssh/openssh.priv
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKAIBAAKCAgEA7+9A2PCPOTAlFmrablrUWA+VZdAuLfM6JXeHsOF7ZbC2F6lv
+WmvDM925DQqhiAjcgWnt5WHWS5Y+b7lGnuzT7fyKegXd80nCRmqlpSG3srX0/lxR
+aQAJLzfoDjcsF+ceswQo6GSsYnCHVxMNs007gbbVY3f7o+sWZtLdxJPD2iHvl5Zr
+LK0d1RLMmU6cfIhIABlL0S8EWiv29RROepsCQnS0dnK2b+von1SCYoggvAMe2ToA
+IAJ8+uqaYfGAyn9q8fjZiRHxLmKDq90tKoCUL5r/2dmEIE+t8T/3PfHoq1QzZts9
+W9idhBdT21dEXBtGyoMtckp5njk5m82LQDYiOXkuSoIUhSOteh5g7fBv1BtVSERx
+Jg3UeJjPeGKFwdnzapmAKC2w/6V8xcIINNA+fhZA7B9fD1RAi2TECZ+gyMYDc4T+
+USlMSm9cfvSOrf2+5ngtFb84nHjqvClxCMLu+bCWK8HamqUzhE/a5LbR+48E7PyG
+s3KV+sWFN9KOnakTjj/6iQhXZRhgeAK39F2XTk5Ms5Y+BRSStnMoMZA2grIV+jHi
+1zbWokVqXPI5YRo5isR/PgtKAV6FfNWumcYoFJ9F40pMHQ6hJVEmtrCBx7EApSl3
+mSGbQJUmilLC51qNhwQRbD//ZtpIrN82HTMKzZ6kj7kDCdsff+wsnkIXmmMCAwEA
+AQKCAgA4tMINw6UF7hQF3VEsnbjr6xrzCiWv5HlMm5htPI1OdlpC81+G7ksfOfrf
+UzDkFrwOtftsqBfem268Nvyy2OQprfMIbdSMCFWrEM9/XJ2u1gRGDYmMGF8TUtI8
+cduw9oWx53zHl+uKBHBoKu+k/c7flFeQf63wisIroRCawhWau0SF/h3sXCndzuie
+Hw8q+4aQx2m80bDkotlmCNuXbIU3MZ/pEql9gDLlXTLHmMaryM0EqAmZhx0ErGe6
+WDqJIV4kPB0loSDwRoY6GzbugZ8ENUzcruTkQhCpIOYNNNw5idfwKkaxK1vm+SBv
+iYt1fVjYyfH2vhVKSNoNsaGEloa1u4Dymt/FpFztEpRzHXcw93N8BdLxJ4OUhzm2
+iAbpiyjniTIeAVVi7BUwLXh5WAx8nT0eeb1zKoZg1p1ciK5cYl1Uel7j8xRycsSW
+3YgmtuPqY4Agbc9v3eXbQZNDk48JFMEqpIxk97FAkRYpzfxg5Qq14WJCp60CkdRt
+T60hXy8lT/BcI8OWLfGJuBbsVLNRiC7PpwqRKQAinXSv134FpP7jrhpkMybs2oIS
+5obRG7J5OfOTp925erG5mrpwqa3BPkgqx347Wj9z8quOZyuhi+XaPvqmPtvs5JOl
+4RCqjt6RQlHm7xos9ZZGI4jDAIFaFWgyVZrYplOgwxWma4DTgQKCAQEA9+tizQRU
+lF0lxNcEPvsFnYJo80Y+MQK9VdtlhR19YuSfwP1NCaMG1MhQ+PVBVmepOwJMRJR7
+9PLfOouNMfixKBGP12dtStMuh7jowq/BxhRI6JWp3RhTZ1yJ9ouzHze7IDrEBa6w
+p0hUu9H0Sbt51LXbC3JmTyhbdhfry559DfyGW1Ma/bv/pihL9B5Y7sNf1thNp1gi
+GbQ9B+o2Yyw8ZD8zY+sl+aYDSWyCtcBV/KXEF74Bkfs/a5ExJ00X0jYj/TAp2ray
+T4PY0FR8wN/O10bFLP9j+Xa/ywbcPhoj8nvVRIg9VfWT/QaEd+KR0EZVxdjCCqne
+enbSQksTpAZNwQKCAQEA98E+BMmS+yHUVUhNZABtQ5avwuV4+DoSN8KTp3xwQ0CH
+m9fWxSDs12FdyMhDxrJPeywvHtZ18/7cl3dr8wnFVE0s4ongnRDXsNk5xN6J3AaO
+KqW4HF9cbwZqzLILy8TrO+EK/EQV9FypbrxqvxAlP1kezIA2CJNzVRAgimSuV/H7
+05HTnp5W06fjtEf8U1CUrdNetoSROUo1j/IMGPYGlsBFYAGrj5y/BlKd+3T3kjRp
+Xje7HpiykjrZHn0WDp04Ln+u9nveEewXmHKch313emt7HpW0xspp8JM8OZtEKozk
+D5PfYdBfMJJOUlqovCCzTTJ6kNOahknKXFeO/qs5IwKCAQEAjF0/zhWikXF/fcfD
+Bql2z2vTYdEmSvdjHSYff1Nn90K71DdVk5wytOxJM/sfp/z+yoMNjVKIL/IGQw5Z
+va4xFx+CUhGjxlZ0pLEjT37U9gHsGYsK5jvslLvG/MixfH5AOwoqi5ERQVTpbIF9
+jvVPEAh6YSu/ExglWGJIxTsRUIblxvTxdjEnl/p+rlM0RNJnA6vpo1J51BXA7CdF
+7bZQ5u0Feo/bK1I70ClYg/DGfkmYEV0pZG5cxNkqfDbgwsqWa7YGLGd94xkh+ymq
+jETqxeWyozxhbQ83nYpfzeVc7t//qlJ8b5uf0wUKoRmtNr9rtp13lzP/21REzPXW
+w+oxwQKCAQAoAf2Y2lAw25KlPuq4ZlU+n9u8FkBFnWMJvBMJ7c9XHNmJMf6NkLaO
+RTvWy3geYvbwxf7J9QnRH+vRTciR05cY+Olxn6A03N5nwXxRrToH3MsiWeZ0NnX/
+u8KNUYcUHbV60ulqOThuYHQ/3I9EUUAijaqqjV2sXts19ke68W0x6HKpBJhuudT9
+ktPzbdhyP8Xyl/pocNnerXwexZBsi3Ye6+eIDFz+8OnsBHVcgNPluS72tvsxgqj7
+ciNTiBGCxKKo55eCWBhRPpXE2WUrf/hGPYsBMl2h6FfZMH1+M/N7B4tgdJmS+woU
+Ftws8lTjJEiwA6HFN1ZxrwLNjJobx9yPAoIBAE0igsBuWWn6rXeOPylYg4264XOq
+8gb94pte2n9amDgCzyCn8m6AL3snLC/AoCD19DK+gyK0ukoesXPa3iX6w2xv69ZC
+urDx36Jhd4zrJb4QsFPoeKfDP+UvNVZaS41vipRRzY/y11em15prUZ4U8FA/UT1Y
+FzkBo9r6iUZRnyBLppMuEfWASDtuRNmeIHynoT1AcQOH3l9vR210iEpmAuJr0CYA
+bvTuz3UzzGGEAuIUvuaiRtkfKY52jBmiEr7SSPCr1HvLj3Ccz8bgjgR2kiXmcU50
+1zLnaPAD44LZ/0Fjqj+PimQGT6K7CNXPllmYh7MvoU52g3SVPf6rHlIR0Nc=
+-----END RSA PRIVATE KEY-----
diff --git a/nixos/tests/initrd-network-ssh/openssh.pub b/nixos/tests/initrd-network-ssh/openssh.pub
new file mode 100644
index 000000000000..5b72b8085f27
--- /dev/null
+++ b/nixos/tests/initrd-network-ssh/openssh.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDv70DY8I85MCUWatpuWtRYD5Vl0C4t8zold4ew4XtlsLYXqW9aa8Mz3bkNCqGICNyBae3lYdZLlj5vuUae7NPt/Ip6Bd3zScJGaqWlIbeytfT+XFFpAAkvN+gONywX5x6zBCjoZKxicIdXEw2zTTuBttVjd/uj6xZm0t3Ek8PaIe+XlmssrR3VEsyZTpx8iEgAGUvRLwRaK/b1FE56mwJCdLR2crZv6+ifVIJiiCC8Ax7ZOgAgAnz66pph8YDKf2rx+NmJEfEuYoOr3S0qgJQvmv/Z2YQgT63xP/c98eirVDNm2z1b2J2EF1PbV0RcG0bKgy1ySnmeOTmbzYtANiI5eS5KghSFI616HmDt8G/UG1VIRHEmDdR4mM94YoXB2fNqmYAoLbD/pXzFwgg00D5+FkDsH18PVECLZMQJn6DIxgNzhP5RKUxKb1x+9I6t/b7meC0VvziceOq8KXEIwu75sJYrwdqapTOET9rkttH7jwTs/IazcpX6xYU30o6dqROOP/qJCFdlGGB4Arf0XZdOTkyzlj4FFJK2cygxkDaCshX6MeLXNtaiRWpc8jlhGjmKxH8+C0oBXoV81a6ZxigUn0XjSkwdDqElUSa2sIHHsQClKXeZIZtAlSaKUsLnWo2HBBFsP/9m2kis3zYdMwrNnqSPuQMJ2x9/7CyeQheaYw== tmtynkky@duuni
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index da9582deec1d..90ac5b933f32 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -7,7 +7,7 @@ with pkgs.lib;
 let
 
   # The configuration to install.
-  makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier
+  makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier, grubUseEfi
                , extraConfig, forceGrubReinstallCount ? 0
                }:
     pkgs.writeText "configuration.nix" ''
@@ -26,9 +26,16 @@ let
           ${optionalString (grubVersion == 1) ''
             boot.loader.grub.splashImage = null;
           ''}
-          boot.loader.grub.device = "${grubDevice}";
+
           boot.loader.grub.extraConfig = "serial; terminal_output.serial";
-          boot.loader.grub.fsIdentifier = "${grubIdentifier}";
+          ${if grubUseEfi then ''
+            boot.loader.grub.device = "nodev";
+            boot.loader.grub.efiSupport = true;
+            boot.loader.grub.efiInstallAsRemovable = true; # XXX: needed for OVMF?
+          '' else ''
+            boot.loader.grub.device = "${grubDevice}";
+            boot.loader.grub.fsIdentifier = "${grubIdentifier}";
+          ''}
 
           boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
         ''}
@@ -57,16 +64,17 @@ let
   # disk, and then reboot from the hard disk.  It's parameterized with
   # a test script fragment `createPartitions', which must create
   # partitions and filesystems.
-  testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice
+  testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice, grubUseEfi
                   , grubIdentifier, preBootCommands, extraConfig
                   }:
     let
       iface = if grubVersion == 1 then "ide" else "virtio";
+      isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
       qemuFlags =
         (if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
         (optionalString (system == "x86_64-linux") "-cpu kvm64 ");
       hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
-        + optionalString (bootLoader == "systemd-boot") ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
+        + optionalString isEfi ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
     in
     ''
       $machine->start;
@@ -89,7 +97,7 @@ let
       $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
 
       $machine->copyFileFromHost(
-          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; } }",
+          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; } }",
           "/mnt/etc/nixos/configuration.nix");
 
       # Perform the installation.
@@ -140,7 +148,7 @@ let
 
       # We need to a writable nix-store on next boot.
       $machine->copyFileFromHost(
-          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 1; } }",
+          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 1; } }",
           "/etc/nixos/configuration.nix");
 
       # Check whether nixos-rebuild works.
@@ -158,7 +166,7 @@ let
       ${preBootCommands}
       $machine->waitForUnit("multi-user.target");
       $machine->copyFileFromHost(
-          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 2; } }",
+          "${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 2; } }",
           "/etc/nixos/configuration.nix");
       $machine->succeed("nixos-rebuild boot >&2");
       $machine->shutdown;
@@ -176,7 +184,7 @@ let
     { createPartitions, preBootCommands ? "", extraConfig ? ""
     , extraInstallerConfig ? {}
     , bootLoader ? "grub" # either "grub" or "systemd-boot"
-    , grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid"
+    , grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid", grubUseEfi ? false
     , enableOCR ? false, meta ? {}
     }:
     makeTest {
@@ -244,7 +252,7 @@ let
 
       testScript = testScriptFun {
         inherit bootLoader createPartitions preBootCommands
-                grubVersion grubDevice grubIdentifier extraConfig;
+                grubVersion grubDevice grubIdentifier grubUseEfi extraConfig;
       };
     };
 
@@ -295,6 +303,29 @@ in {
         bootLoader = "systemd-boot";
     };
 
+  simpleUefiGrub = makeInstallerTest "simpleUefiGrub"
+    { createPartitions =
+        ''
+          $machine->succeed(
+              "parted --script /dev/vda mklabel gpt",
+              "parted --script /dev/vda -- mkpart ESP fat32 1M 50MiB", # /boot
+              "parted --script /dev/vda -- set 1 boot on",
+              "parted --script /dev/vda -- mkpart primary linux-swap 50MiB 1024MiB",
+              "parted --script /dev/vda -- mkpart primary ext2 1024MiB -1MiB", # /
+              "udevadm settle",
+              "mkswap /dev/vda2 -L swap",
+              "swapon -L swap",
+              "mkfs.ext3 -L nixos /dev/vda3",
+              "mount LABEL=nixos /mnt",
+              "mkfs.vfat -n BOOT /dev/vda1",
+              "mkdir -p /mnt/boot",
+              "mount LABEL=BOOT /mnt/boot",
+          );
+        '';
+        bootLoader = "grub";
+        grubUseEfi = true;
+    };
+
   # Same as the previous, but now with a separate /boot partition.
   separateBoot = makeInstallerTest "separateBoot"
     { createPartitions =
@@ -430,6 +461,47 @@ in {
       '';
     };
 
+  # Test whether opening encrypted filesystem with keyfile
+  # Checks for regression of missing cryptsetup, when no luks device without
+  # keyfile is configured
+  filesystemEncryptedWithKeyfile = makeInstallerTest "filesystemEncryptedWithKeyfile"
+    { createPartitions = ''
+       $machine->succeed(
+          "parted --script /dev/vda mklabel msdos",
+          "parted --script /dev/vda -- mkpart primary ext2 1M 50MB", # /boot
+          "parted --script /dev/vda -- mkpart primary linux-swap 50M 1024M",
+          "parted --script /dev/vda -- mkpart primary 1024M 1280M", # LUKS with keyfile
+          "parted --script /dev/vda -- mkpart primary 1280M -1s",
+          "udevadm settle",
+          "mkswap /dev/vda2 -L swap",
+          "swapon -L swap",
+          "mkfs.ext3 -L nixos /dev/vda4",
+          "mount LABEL=nixos /mnt",
+          "mkfs.ext3 -L boot /dev/vda1",
+          "mkdir -p /mnt/boot",
+          "mount LABEL=boot /mnt/boot",
+          "modprobe dm_mod dm_crypt",
+          "echo -n supersecret > /mnt/keyfile",
+          "cryptsetup luksFormat -q /dev/vda3 --key-file /mnt/keyfile",
+          "cryptsetup luksOpen --key-file /mnt/keyfile /dev/vda3 crypt",
+          "mkfs.ext3 -L test /dev/mapper/crypt",
+          "cryptsetup luksClose crypt",
+          "mkdir -p /mnt/test"
+        );
+      '';
+      extraConfig = ''
+        fileSystems."/test" =
+        { device = "/dev/disk/by-label/test";
+          fsType = "ext3";
+          encrypted.enable = true;
+          encrypted.blkDev = "/dev/vda3";
+          encrypted.label = "crypt";
+          encrypted.keyFile = "/mnt-root/keyfile";
+        };
+      '';
+    };
+
+
   swraid = makeInstallerTest "swraid"
     { createPartitions =
         ''
@@ -438,10 +510,10 @@ in {
               . " mklabel msdos"
               . " mkpart primary ext2 1M 100MB" # /boot
               . " mkpart extended 100M -1s"
-              . " mkpart logical 102M 1602M" # md0 (root), first device
-              . " mkpart logical 1603M 3103M" # md0 (root), second device
-              . " mkpart logical 3104M 3360M" # md1 (swap), first device
-              . " mkpart logical 3361M 3617M", # md1 (swap), second device
+              . " mkpart logical 102M 2102M" # md0 (root), first device
+              . " mkpart logical 2103M 4103M" # md0 (root), second device
+              . " mkpart logical 4104M 4360M" # md1 (swap), first device
+              . " mkpart logical 4361M 4617M", # md1 (swap), second device
               "udevadm settle",
               "ls -l /dev/vda* >&2",
               "cat /proc/partitions >&2",
diff --git a/nixos/tests/mutable-users.nix b/nixos/tests/mutable-users.nix
new file mode 100644
index 000000000000..4f11a4b83669
--- /dev/null
+++ b/nixos/tests/mutable-users.nix
@@ -0,0 +1,39 @@
+# Mutable users tests.
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "mutable-users";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ gleber ];
+  };
+
+  nodes = {
+    machine = { config, lib, pkgs, ... }: {
+      users.mutableUsers = false;
+    };
+    mutable = { config, lib, pkgs, ... }: {
+      users.mutableUsers = true;
+    };
+  };
+
+  testScript = {nodes, ...}: let
+    immutableSystem = nodes.machine.config.system.build.toplevel;
+    mutableSystem = nodes.mutable.config.system.build.toplevel;
+  in ''
+    $machine->start();
+    $machine->waitForUnit("default.target");
+
+    # Machine starts in immutable mode. Add a user and test if reactivating
+    # configuration removes the user.
+    $machine->fail("cat /etc/passwd | grep ^foobar:");
+    $machine->succeed("sudo useradd foobar");
+    $machine->succeed("cat /etc/passwd | grep ^foobar:");
+    $machine->succeed("${immutableSystem}/bin/switch-to-configuration test");
+    $machine->fail("cat /etc/passwd | grep ^foobar:");
+
+    # In immutable mode passwd is not wrapped, while in mutable mode it is
+    # wrapped.
+    $machine->succeed('which passwd | grep /run/current-system/');
+    $machine->succeed("${mutableSystem}/bin/switch-to-configuration test");
+    $machine->succeed('which passwd | grep /run/wrappers/');
+  '';
+})
diff --git a/nixos/tests/nghttpx.nix b/nixos/tests/nghttpx.nix
new file mode 100644
index 000000000000..433562b97191
--- /dev/null
+++ b/nixos/tests/nghttpx.nix
@@ -0,0 +1,61 @@
+let
+  nginxRoot = "/var/run/nginx";
+in
+  import ./make-test.nix ({...}: {
+    name  = "nghttpx";
+    nodes = {
+      webserver = {
+        networking.firewall.allowedTCPPorts = [ 80 ];
+        systemd.services.nginx = {
+          preStart = ''
+            mkdir -p ${nginxRoot}
+            echo "Hello world!" > ${nginxRoot}/hello-world.txt
+          '';
+        };
+
+        services.nginx = {
+          enable = true;
+          virtualHosts."server" = {
+            locations."/".root = nginxRoot;
+          };
+        };
+      };
+
+      proxy = {
+        networking.firewall.allowedTCPPorts = [ 80 ];
+        services.nghttpx = {
+          enable = true;
+          frontends = [
+            { server = {
+                host = "*";
+                port = 80;
+              };
+
+              params = {
+                tls = "no-tls";
+              };
+            }
+          ];
+          backends = [
+            { server = {
+                host = "webserver";
+                port = 80;
+              };
+              patterns = [ "/" ];
+              params.proto = "http/1.1";
+            }
+          ];
+        };
+      };
+
+      client = {};
+    };
+
+    testScript = ''
+      startAll;
+
+      $webserver->waitForOpenPort("80");
+      $proxy->waitForOpenPort("80");
+      $client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
+    '';
+  })
diff --git a/nixos/tests/owncloud.nix b/nixos/tests/owncloud.nix
new file mode 100644
index 000000000000..0dcdea40b064
--- /dev/null
+++ b/nixos/tests/owncloud.nix
@@ -0,0 +1,39 @@
+import ./make-test.nix ({ pkgs, ... }:
+
+{
+  name = "owncloud";
+  nodes =
+    { web =
+        { config, pkgs, ... }:
+        {
+          services.postgresql.enable = true;
+          services.httpd = {
+            enable = true;
+            logPerVirtualHost = true;
+            adminAddr = "example@example.com";
+            virtualHosts = [
+              {
+                hostName = "owncloud";
+                extraSubservices =
+                  [
+                    {
+                      serviceType   = "owncloud";
+                      adminPassword = "secret";
+                      dbPassword    = "secret";
+                    }
+                  ];
+              }
+            ];
+          };
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $web->waitForUnit("postgresql");
+    $web->waitForUnit("httpd");
+
+    $web->succeed("curl -L 127.0.0.1:80");
+  '';
+})
diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix
new file mode 100644
index 000000000000..f618a39a2293
--- /dev/null
+++ b/nixos/tests/php-pcre.nix
@@ -0,0 +1,44 @@
+
+let testString = "can-use-subgroups"; in
+
+import ./make-test.nix ({ pkgs, ...}: {
+  name = "php-httpd-pcre-jit-test";
+  machine = { config, lib, pkgs, ... }: {
+    time.timeZone = "UTC";
+    services.httpd = {
+      enable = true;
+      adminAddr = "please@dont.contact";
+      extraSubservices = lib.singleton {
+        function = f: {
+          enablePHP = true;
+          phpOptions = "pcre.jit = true";
+
+          extraConfig =
+          let
+            testRoot = pkgs.writeText "index.php"
+            ''
+              <?php
+                preg_match('/(${testString})/', '${testString}', $result);
+                var_dump($result);
+              ?>
+            '';
+          in
+            ''
+              Alias / ${testRoot}/
+
+              <Directory ${testRoot}>
+                Require all granted
+              </Directory>
+            '';
+        };
+      };
+    };
+  };
+  testScript = { nodes, ... }:
+  ''
+    $machine->waitForUnit('httpd.service');
+    # Ensure php evaluation by matching on the var_dump syntax
+    $machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \
+      | grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""');
+  '';
+})
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix
new file mode 100644
index 000000000000..46f2563af8d9
--- /dev/null
+++ b/nixos/tests/switch-test.nix
@@ -0,0 +1,25 @@
+# Test configuration switching.
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "switch-test";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ gleber ];
+  };
+
+  nodes = {
+    machine = { config, lib, pkgs, ... }: {
+      users.mutableUsers = false;
+    };
+    other = { config, lib, pkgs, ... }: {
+      users.mutableUsers = true;
+    };
+  };
+
+  testScript = {nodes, ...}: let
+    originalSystem = nodes.machine.config.system.build.toplevel;
+    otherSystem = nodes.other.config.system.build.toplevel;
+  in ''
+    $machine->succeed("env -i ${originalSystem}/bin/switch-to-configuration test | tee /dev/stderr");
+    $machine->succeed("env -i ${otherSystem}/bin/switch-to-configuration test | tee /dev/stderr");
+  '';
+})
diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix
new file mode 100644
index 000000000000..a6908024de9b
--- /dev/null
+++ b/nixos/tests/zfs.nix
@@ -0,0 +1,85 @@
+{ system ? builtins.currentSystem }:
+
+with import ../lib/testing.nix { inherit system; };
+
+let
+
+  makeTest = import ./make-test.nix;
+
+  makeZfsTest = name:
+    { kernelPackage ? pkgs.linuxPackages_latest
+    , enableUnstable ? false
+    , extraTest ? ""
+    }:
+    makeTest {
+      name = "zfs-" + name;
+      meta = with pkgs.stdenv.lib.maintainers; {
+        maintainers = [ adisbladis ];
+      };
+
+      machine = { config, lib, pkgs, ... }:
+        {
+          virtualisation.emptyDiskImages = [ 4096 ];
+          networking.hostId = "deadbeef";
+          boot.kernelPackages = kernelPackage;
+          boot.supportedFilesystems = [ "zfs" ];
+          boot.zfs.enableUnstable = enableUnstable;
+
+          environment.systemPackages = with pkgs; [
+            parted
+          ];
+        };
+
+      testScript = ''
+        $machine->succeed("modprobe zfs");
+        $machine->succeed("zpool status");
+
+        $machine->succeed("ls /dev");
+
+        $machine->succeed(
+          "mkdir /tmp/mnt",
+
+          "udevadm settle",
+          "parted --script /dev/vdb mklabel msdos",
+          "parted --script /dev/vdb -- mkpart primary 1024M -1s",
+          "udevadm settle",
+
+          "zpool create rpool /dev/vdb1",
+          "zfs create -o mountpoint=legacy rpool/root",
+          "mount -t zfs rpool/root /tmp/mnt",
+          "udevadm settle",
+
+          "umount /tmp/mnt",
+          "zpool destroy rpool",
+          "udevadm settle"
+
+        );
+
+      '' + extraTest;
+
+    };
+
+
+in {
+
+  stable = makeZfsTest "stable" { };
+
+  unstable = makeZfsTest "unstable" {
+    enableUnstable = true;
+    extraTest = ''
+      $machine->succeed(
+        "echo password | zpool create -o altroot='/tmp/mnt' -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
+        "zfs create -o mountpoint=legacy rpool/root",
+        "mount -t zfs rpool/root /tmp/mnt",
+        "udevadm settle",
+
+        "umount /tmp/mnt",
+        "zpool destroy rpool",
+        "udevadm settle"
+      );
+    '';
+  };
+
+  installer = (import ./installer.nix { }).zfsroot;
+
+}
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..aeab29534691 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; };
@@ -32,9 +32,6 @@ rec {
   };
   go-ethereum-classic = callPackage ./go-ethereum-classic { };
 
-  hivemind = callPackage ./hivemind.nix { withGui = true; };
-  hivemindd = callPackage ./hivemind.nix { withGui = false; };
-
   litecoin  = callPackage ./litecoin.nix { withGui = true; };
   litecoind = callPackage ./litecoin.nix { withGui = false; };
 
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 04e68b1f1282..ca28dfb76b80 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "go-ethereum-${version}";
-  version = "1.7.2";
+  version = "1.7.3";
   goPackagePath = "github.com/ethereum/go-ethereum";
 
   # Fix for usb-related segmentation faults on darwin
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "ethereum";
     repo = "go-ethereum";
     rev = "v${version}";
-    sha256 = "11n77zlf8qixhx26sqf33v911716msi6h0z4ng8gxhzhznrn2nrd";
+    sha256 = "1w6rbq2qpjyf2v9mr18yiv2af1h2sgyvgrdk4bd8ixgl3qcd5b11";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/altcoins/hivemind.nix b/pkgs/applications/altcoins/hivemind.nix
deleted file mode 100644
index 208a2d3915f0..000000000000
--- a/pkgs/applications/altcoins/hivemind.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
-, withGui }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  name = "hivemind" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "unstable";
-
-  src = fetchFromGitHub {
-    owner = "bitcoin-hivemind";
-    repo = "hivemind";
-    rev = "147973cfe76867410578d91d6f0a8df105cab4e0";
-    sha256 = "1ndqqma1b0sh2gn7cl8d9fg44q0g2g42jr2y0nifkjgfjn3c7l5h";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib
-                  miniupnpc protobuf libevent]
-                  ++ optionals stdenv.isLinux [ utillinux ]
-                  ++ optionals withGui [ qt4 qrencode ];
-
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib" 
-                     "--with-incompatible-bdb"
-                   ] ++ optionals withGui [ "--with-gui=qt4" ];
-
-  meta = {
-    description = "Peer-to-Peer oracle protocol";
-    longDescription= ''
-      Hivemind is a Peer-to-Peer Oracle Protocol which absorbs accurate data
-      into a blockchain so that Bitcoin-users can speculate in Prediction
-      Markets.
-    '';
-    homepage = https://bitcoinhivemind.com;
-    maintainers = with maintainers; [ canndrew ];
-    license = licenses.mit;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/altcoins/zcash/default.nix b/pkgs/applications/altcoins/zcash/default.nix
index aa912f04efb5..e9236544ee7f 100644
--- a/pkgs/applications/altcoins/zcash/default.nix
+++ b/pkgs/applications/altcoins/zcash/default.nix
@@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "19bxhdnkvgncgl9x6nbaf5nwgrdfw99icvdbi9adfh646pd5z64s";
   };
 
-  enableParallelBuilding = true;
+  # Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
+  # fails with "fatal error: test/data/merkle_roots.json.h: No such file or directory"
+  enableParallelBuilding = false;
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ gtest gmock gmp libsnark openssl wget db62 boost zlib
@@ -45,6 +47,6 @@ stdenv.mkDerivation rec {
     homepage = https://z.cash/;
     maintainers = with maintainers; [ rht ];
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
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 26e58c023b82..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
   }:
@@ -14,14 +14,6 @@ stdenv.mkDerivation rec {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
     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/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index 1552982cf1ad..ea0bce368a1a 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/deadbeef/${name}.tar.bz2";
-    sha256 = "0rwdxxn7h94vlgblbkswyvj6pm82488v8x5nrmlrcsbzjjf2pccw";
+    sha256 = "1168hgr1nf27pf24n1rlfh1kx1wiscwhpbhqw0rprwy203gsnqwa";
   };
 
   buildInputs = with stdenv.lib; [ jansson ]
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index ac484445b1e5..b5197af64092 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A simple and powerful audio tag editor";
     longDescription = ''
diff --git a/pkgs/applications/audio/mopidy-iris/default.nix b/pkgs/applications/audio/mopidy-iris/default.nix
index caeba5eb1acb..c486ff3de605 100644
--- a/pkgs/applications/audio/mopidy-iris/default.nix
+++ b/pkgs/applications/audio/mopidy-iris/default.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "mopidy-iris-${version}";
-  version = "3.6.1";
+  version = "3.8.2";
 
   src = pythonPackages.fetchPypi {
     inherit version;
     pname = "Mopidy-Iris";
-    sha256 = "1mfi3qx7pvfq4rz0py39lnbzv7sq703b6k6mypzhj1gdzbisfn46";
+    sha256 = "051bzs8p2zz960mi9cmv51q1fmmm15nnb9apph9icicr0p8g7lif";
   };
 
   propagatedBuildInputs = [
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 cb0f35ebc156..09c718c63e92 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib ncurses mpd_clientlib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
     homepage    = http://www.musicpd.org/clients/ncmpc/;
diff --git a/pkgs/applications/audio/schismtracker/default.nix b/pkgs/applications/audio/schismtracker/default.nix
index 2b2fd161ede3..22786304faa9 100644
--- a/pkgs/applications/audio/schismtracker/default.nix
+++ b/pkgs/applications/audio/schismtracker/default.nix
@@ -9,10 +9,17 @@ stdenv.mkDerivation rec {
     sha256 = "1ny7wv2wxm1av299wvpskall6438wjjpadphmqc7c0h6d0zg5kii";
   };
 
+  preConfigure = ''
+    # Build fails on Linux with windres.
+    export ac_cv_prog_ac_ct_WINDRES=
+  '';
+
   configureFlags = "--enable-dependency-tracking";
 
   buildInputs = [ alsaLib python SDL ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Music tracker application, free reimplementation of Impulse Tracker";
     homepage = http://schismtracker.org/;
diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix
index 364949b22416..2203586c26e9 100644
--- a/pkgs/applications/audio/tomahawk/default.nix
+++ b/pkgs/applications/audio/tomahawk/default.nix
@@ -47,10 +47,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "A multi-source music player";
+    description = "A multi-source music player (unmaintained)";
     homepage = http://tomahawk-player.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.aszlig ];
   };
 }
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index c330aeb0092c..7382e84fa073 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -2,7 +2,7 @@
 , gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2
 , coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
 , libpthreadstubs, libXdmcp, epoxy, at_spi2_core, dbus, libgpgerror
-, appstream-glib, desktop_file_utils, atk, pango, duplicity
+, appstream-glib, desktop_file_utils, duplicity
 }:
 
 stdenv.mkDerivation rec {
@@ -44,29 +44,15 @@ stdenv.mkDerivation rec {
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
-  # Manual rpath definition until https://github.com/mesonbuild/meson/issues/314 is fixed
-  postFixup =
-    let
-      rpath = stdenv.lib.makeLibraryPath [
-        glib
-        gtk3
-        gnome3.gnome_online_accounts
-        gnome3.libpeas
-        gnome3.nautilus
-        libgpgerror
-        libsecret
-        # Transitive
-        atk
-        pango
-      ];
-    in ''
-      # Unwrap accidentally wrapped library
-      mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
+  postFixup = ''
+    # Unwrap accidentally wrapped library
+    mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
 
-      for elf in "$out"/bin/.*-wrapped "$out"/libexec/deja-dup/.deja-dup-monitor-wrapped "$out"/libexec/deja-dup/tools/*.so "$out"/lib/deja-dup/*.so "$out"/lib/nautilus/extensions-3.0/*.so; do
-        patchelf --set-rpath '${rpath}':"$out/lib/deja-dup" "$elf"
-      done
-    '';
+    # Patched meson does not add internal libraries to rpath
+    for elf in "$out/bin/.deja-dup-wrapped" "$out/libexec/deja-dup/.deja-dup-monitor-wrapped" "$out/libexec/deja-dup/tools/libduplicity.so"; do
+      patchelf --set-rpath "$(patchelf --print-rpath "$elf"):$out/lib/deja-dup" "$elf"
+    done
+  '';
 
   meta = with stdenv.lib; {
     description = "A simple backup tool";
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 57e3c58525e0..b9e096c69279 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -27,9 +27,9 @@ in rec {
 
   preview = mkStudio {
     pname = "android-studio-preview";
-    version = "3.1.0.2"; # "Android Studio 3.1 Canary 3"
-    build = "171.4435470";
-    sha256Hash = "1yqzxmzqxvhq9q9k07yfchh2al0wdy0j5k5fmjv4zbw20panx10h";
+    version = "3.1.0.3"; # "Android Studio 3.1 Canary 4"
+    build = "171.4444016";
+    sha256Hash = "0qgd0hd3i3p1adv0xqa0409r5injw3ygs50lajzi99s33j6vdc6s";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix
index 39be7f534060..429b2430fce2 100644
--- a/pkgs/applications/editors/aseprite/default.nix
+++ b/pkgs/applications/editors/aseprite/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   name = "aseprite-${version}";
-  version = if unfree then "1.2.2" else "1.1.7";
+  version = if unfree then "1.2.4" else "1.1.7";
 
   src = fetchFromGitHub {
     owner = "aseprite";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
     fetchSubmodules = true;
     sha256 = if unfree
-      then "1ldi7zikl1g6rq3g9lkypx5wqzza5j0054j1r8bh7lyvb0szicig"
+      then "1rnf4a8vgddz8x55rpqaihlxmqip1kgpdhqb4d3l71h1zmidg5k3"
       else "0gd49lns2bpzbkwax5jf9x1xmg1j8ij997kcxr2596cwiswnw4di";
   };
 
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/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 9d5848f02637..ee5afe500efe 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
   installFlags = [ "DESTDIR=$(out)" ];
 
   configureFlags = [
-    "--exec-prefix=${stdenv.cc.prefix}"
-    "CC=${stdenv.cc.prefix}cc"
+    "--exec-prefix=${stdenv.cc.targetPrefix}"
+    "CC=${stdenv.cc.targetPrefix}cc"
   ];
 
   meta = {
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 7b58d895841e..68a20d341c2b 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -755,10 +755,10 @@
     el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.3.2";
+        version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.3.2.tar";
-          sha256 = "0lf0hk2pvy9yrb02sa3bg0hipshbgl9m4hx7db46jvmz5bf15nfq";
+          url = "https://elpa.gnu.org/packages/el-search-1.4.tar";
+          sha256 = "0fzsq1wdkb94dk67ligdwc7kyl0x9bifgl2qvvf0hsj4zws4pgjg";
         };
         packageRequires = [ emacs stream ];
         meta = {
@@ -1053,10 +1053,10 @@
       }) {};
     hyperbole = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
         pname = "hyperbole";
-        version = "6.0.2";
+        version = "7.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hyperbole-6.0.2.tar";
-          sha256 = "0nyihi7j2061jpdzl4mf4pki840hkfpwj0m2sqz0nqxd689ckwpg";
+          url = "https://elpa.gnu.org/packages/hyperbole-7.0.0.tar";
+          sha256 = "07cy40yfxwka1r6i01pgrf9a3n9ms5xw2x486jd803dhfkm3113b";
         };
         packageRequires = [ emacs ];
         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";
@@ -1556,10 +1570,10 @@
       }) {};
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20171106";
+        version = "20171120";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-20171106.tar";
-          sha256 = "08gziccqfrl65v18ri2m6csb6smyafaz7pv86gnvpw05g7aj6alq";
+          url = "https://elpa.gnu.org/packages/org-20171120.tar";
+          sha256 = "0hxy061g1qd77pvx8mq5rb9avx139x4z5nmjhdq518xhg7kxmq6a";
         };
         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/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index 0212451bef05..4149017302e0 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -39,6 +39,7 @@ self:
       el-search = markBroken super.el-search; # requires emacs-25
       iterators = markBroken super.iterators; # requires emacs-25
       midi-kbd = markBroken super.midi-kbd; # requires emacs-25
+      rcirc-menu = markBroken super.rcirc-menu; # Missing file header
       stream = markBroken super.stream; # requires emacs-25
       cl-lib = null; # builtin
       tle = null; # builtin
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
index ce4010c98811..7b7004b72f30 100644
--- a/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
+++ b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, melpaBuild }:
+{ fetchurl, lib, stdenv, melpaBuild }:
 
 melpaBuild {
   pname = "font-lock-plus";
@@ -16,7 +16,7 @@ melpaBuild {
     name = "font-lock-plus";
   };
 
-  meta = with stdenv.lib; {
+  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 09c627fbca71..056ec44deeac 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";
@@ -145,6 +145,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    abgaben = callPackage ({ f, fetchFromGitLab, fetchurl, lib, melpaBuild, pdf-tools, s }:
+    melpaBuild {
+        pname = "abgaben";
+        version = "20171118.2246";
+        src = fetchFromGitLab {
+          owner = "akoehn";
+          repo = "abgaben";
+          rev = "966bfcfdd3b2e288576ffe363d676ad282902090";
+          sha256 = "0zmzn8rdn1q0dfql3awivhrxd1nrvqr6mb8gv2ynaldyidgsb487";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2b0aa60aa0edf33205e0fcb309be779ad8da08ec/recipes/abgaben";
+          sha256 = "1xywghyp6aahzin1ygwzqfg9640dliycl4g02jz3gpix8hd3g8gy";
+          name = "abgaben";
+        };
+        packageRequires = [ f pdf-tools s ];
+        meta = {
+          homepage = "https://melpa.org/#/abgaben";
+          license = lib.licenses.free;
+        };
+      }) {};
     abl-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "abl-mode";
@@ -383,8 +404,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "14596d3a1c0e7f18be6b88eddebaf7f36eeca859";
-          sha256 = "04vmq8d68na8pxwd18lxf87v0nzf3cxxdvw8cqzj28his7g37bym";
+          rev = "4f27d04c30a026f24c0ff18c3a7d36e3fb5b57a5";
+          sha256 = "1krrm123vzv6hw54kbkbh1xj6j090rdm4r2fcqp76b3hg8j8cpn1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim";
@@ -740,8 +761,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "317ad1d023db6b2fe67444a2c075e656c35f5094";
-          sha256 = "1wyf93faq6z6wgcs3lxc6gv75bmxchg6kd98dza61zdyc0rj60wa";
+          rev = "16e6647115d848085a99e77a21a3db51bec4a288";
+          sha256 = "1i75wm063z9wsmwqqkk6nscspy06p301zm304cd9fyy2cyjbk81a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -757,12 +778,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 = "20171117.2305";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "317ad1d023db6b2fe67444a2c075e656c35f5094";
-          sha256 = "1wyf93faq6z6wgcs3lxc6gv75bmxchg6kd98dza61zdyc0rj60wa";
+          rev = "16e6647115d848085a99e77a21a3db51bec4a288";
+          sha256 = "1i75wm063z9wsmwqqkk6nscspy06p301zm304cd9fyy2cyjbk81a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -803,8 +824,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -1009,12 +1030,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 +1097,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 +1114,12 @@
     ace-window = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-window";
-        version = "20170801.1334";
+        version = "20171114.1010";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-window";
-          rev = "6aaf1e634414e7485b47ff94aac6c34588f2a371";
-          sha256 = "1dmb4q1xgf5mk4riihk2mmn7k182y9j1amcr8m2dmdw0hrgvsfcd";
+          rev = "3665daffc129cd0d007c940d5b75c2c702a6e14c";
+          sha256 = "1f6sa1bl01m1v6djppgl8dhx5cpap3c8zmcvykyrx3cjs98vf6ra";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe131d3c2ea498e4df30ba539a6b91c00f5b07/recipes/ace-window";
@@ -1173,6 +1194,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    adafruit-wisdom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "adafruit-wisdom";
+        version = "20171115.1228";
+        src = fetchFromGitHub {
+          owner = "gonewest818";
+          repo = "adafruit-wisdom.el";
+          rev = "ce6a354f6d32e9700615ce3879936d05cc2c8c33";
+          sha256 = "1d5jng3kk08q8xhg4ajd5nq9q37ycq24ph70hhrls3p3nd1lgrd5";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/18483af52c26f719fbfde626db84a67750bf4754/recipes/adafruit-wisdom";
+          sha256 = "0ckh420cirspwg2yd5q9y1az03j2l1jzd67g8dpvqjkgdp485gad";
+          name = "adafruit-wisdom";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/adafruit-wisdom";
+          license = lib.licenses.free;
+        };
+      }) {};
     add-hooks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "add-hooks";
@@ -1201,8 +1243,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 +1260,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";
@@ -1661,8 +1703,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 +1960,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";
@@ -2337,12 +2379,12 @@
     anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anything-tramp";
-        version = "20170708.1834";
+        version = "20171120.359";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-anything-tramp";
-          rev = "c6d0e9bfa0f71c7c0bb75f6df0c82dd81c486f43";
-          sha256 = "08ffw4y14c99jypl1nhiq2k3lbmv3lgw2dgmhkb8lpc1szkjg57m";
+          rev = "86b198afd03f2baffb1efe24c7a89e71100356ea";
+          sha256 = "1320zdv6q1cnnvl8s25ymjvd3kz2an98bicansq5bhf413n7fhgb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/anything-tramp";
@@ -2945,12 +2987,12 @@
     atomic-chrome = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, websocket }:
     melpaBuild {
         pname = "atomic-chrome";
-        version = "20171022.107";
+        version = "20171116.2332";
         src = fetchFromGitHub {
           owner = "alpha22jp";
           repo = "atomic-chrome";
-          rev = "1bd79fc940d2be82eaec20aca2069677e156a697";
-          sha256 = "1j5brpmbahnrp8kxphq10g0l703czdalqa731y3s2p3m3gida54x";
+          rev = "7dd8a45ebccb9b5bbbfd2e822bd914b38dad6008";
+          sha256 = "0nbhw43c7jrpx7iyyjp3fdzprccj549d6k1kd3wgym83qljf236d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/35785773942a5510e2317ded5bdf872ffe434e8c/recipes/atomic-chrome";
@@ -3050,12 +3092,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 = "c1dc6f3716d75e1a25953b093af0d760f446ed2f";
+          sha256 = "1k0gj5v211r2pkpicn1d2b04vbxz574q11mzyvyr3lb8ic2ql9ii";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
@@ -3911,12 +3953,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";
@@ -4037,11 +4079,11 @@
     axiom-environment = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "axiom-environment";
-        version = "20171105.128";
+        version = "20171111.1152";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment.git";
-          rev = "33af42c1c3109f17d63c69cdca0319e424409a37";
-          sha256 = "1nv102jd07nrhkp4fci5n5f1l6z3qan1lb3ykhhvl90k9ygqbac5";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/axiom-environment";
@@ -4232,12 +4274,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";
@@ -4295,12 +4337,12 @@
     basic-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "basic-mode";
-        version = "20171027.1114";
+        version = "20171117.1153";
         src = fetchFromGitHub {
           owner = "dykstrom";
           repo = "basic-mode";
-          rev = "7a76ec2d45f6bc1e4b5a4c8996c4bf27a31741e6";
-          sha256 = "02q9sxx9g8pqyiknbzy48qbmnvgl1pmcgsppbk7rybb68kq5zlqd";
+          rev = "42d823034c5a458f731379f27a75308e22c253b0";
+          sha256 = "0q1n9z7srb3yqlsv8f8kzn1phppvzg49mdc5n03a2xn5jk1vlhxg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/71801bdc0720f150edeab6796487c753c6e7c3f5/recipes/basic-mode";
@@ -5322,12 +5364,12 @@
     bongo = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bongo";
-        version = "20170312.808";
+        version = "20171118.1842";
         src = fetchFromGitHub {
           owner = "dbrock";
           repo = "bongo";
-          rev = "1961b2e05c01c03d0dd6527988d1348610359d0d";
-          sha256 = "0alm2kq32sxxc7708djxhgd3xnzlglynqjqp9af0y308ryajmdgn";
+          rev = "3d246be1e8d14865f5253567ab8fee5d4e9c470c";
+          sha256 = "1zxk6x08gmir3qv07xanlsd2fb777jdbfzdksv1qh6srxbk3qfjq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/692428769cd792dc0644641682c2793103dd00c6/recipes/bongo";
@@ -5595,12 +5637,12 @@
     browse-at-remote = callPackage ({ cl-lib ? null, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "browse-at-remote";
-        version = "20170720.1518";
+        version = "20171115.210";
         src = fetchFromGitHub {
           owner = "rmuslimov";
           repo = "browse-at-remote";
-          rev = "b5cff7971ca8bbb966e3acd9b7e5c4c007f94215";
-          sha256 = "16ms9703m15dfxg6ap4mdw7msf8z5rzsdhba51dwivfpjxg7n52c";
+          rev = "31dcf77d7c89a12f230e2b2332585db2c44530ef";
+          sha256 = "017cb8lf7zbg0jmr7zxzd7d5kz2jy35cvw5vcpdmq1fdr3wqwkgj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/browse-at-remote";
@@ -5993,12 +6035,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";
@@ -6585,8 +6627,8 @@
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "43d77ff6ad60a39bac2be88dc399f28e763834d0";
-          sha256 = "1m13qcpzdk660q8q8pdj8lqpdjwxmycvl8205k0iqkgb7bmm0pgp";
+          rev = "e8de2e5f83cc2703e2e59b6a9b23347190926d27";
+          sha256 = "0j0bsx2rixgfvcivsrbazxj82ydhyg6q5snwy0s6wkcvp16kkwym";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -6623,12 +6665,12 @@
     cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "cargo";
-        version = "20171026.13";
+        version = "20171118.132";
         src = fetchFromGitHub {
           owner = "kwrooijen";
           repo = "cargo.el";
-          rev = "3ecf0b89b3d36874a301a7e2fb429fc026c73f35";
-          sha256 = "1mv1a0z379mr7y8by5s1lnkvp1kamch01j0yn1aqgxjry3z789dd";
+          rev = "ae6b0523a9f3ca035da642913cb72858cb3926e9";
+          sha256 = "0clcjla75jwl4650h1k51b6dgn2ckj6jk2r5ycqi0p25qvspzj29";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo";
@@ -6690,8 +6732,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";
@@ -6790,12 +6832,12 @@
     cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cbm";
-        version = "20160926.1150";
+        version = "20171116.440";
         src = fetchFromGitHub {
           owner = "akermu";
           repo = "cbm.el";
-          rev = "bf8cbbcef82e4643c5f0399f0198f606275af08c";
-          sha256 = "1p88fx90xwjk7dmd5gmbqyajyxf859kjsjzqmzljwai91skbb3pm";
+          rev = "5b41c936ba9f6d170309a85ffebc9939c1050b31";
+          sha256 = "091ln3d0jhdgahbwfdm1042b19886n3kwipw5gk8d0jnq5vwrkws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f28dbc97dc23cdb0b4c74f8805775c787635871e/recipes/cbm";
@@ -7042,12 +7084,12 @@
     cfengine-code-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cfengine-code-style";
-        version = "20131209.411";
+        version = "20171115.1308";
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "6ca4b9c1b40de9617a4458d9193525ad99335a86";
-          sha256 = "123sdgjdxbxlml7vhnqv7a2mhwk8f203azdcscbff4hn4r3fz8x2";
+          rev = "00cbc6dbe2479358dacdea5abe25c23c0d8f11c1";
+          sha256 = "1ss0npwiqng99w0yi39x9xxqfs9l3wzi7r9jqscs1cdk1kh45hb7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7168,12 +7210,12 @@
     challenger-deep-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "challenger-deep-theme";
-        version = "20171007.300";
+        version = "20171118.437";
         src = fetchFromGitHub {
           owner = "MaxSt";
           repo = "challenger-deep";
-          rev = "b4cd8550dd6a26c4efd226156dff33e261e7a8cc";
-          sha256 = "1m0ackx5wvwff0qpy9204rmpq7yr6hd3bfkwahjy6kwfrjavkfbv";
+          rev = "08985cc17302f0e90a532fd5d67cfe2429b22444";
+          sha256 = "1qn1l48fwhqw3lkag4322r16cq2ms9spg42jf0w1fc0y6w691p54";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7942f539d025c1e2b059d49e1984716cbbc90a67/recipes/challenger-deep-theme";
@@ -7928,8 +7970,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";
@@ -8047,22 +8089,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;
@@ -8134,12 +8176,12 @@
     clj-refactor = callPackage ({ cider, clojure-mode, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, seq, yasnippet }:
     melpaBuild {
         pname = "clj-refactor";
-        version = "20170720.712";
+        version = "20171117.317";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clj-refactor.el";
-          rev = "f5295df68955c23fffd60718039fd386d13c77f5";
-          sha256 = "14lp3jxxpjfm31rbrf2rb988fzh4xfacqdcwp15b87pixziln08x";
+          rev = "408ab1f13b8d956dd8d2c839bea5197175ef5a93";
+          sha256 = "0iqq74w65dp88y1iqc5rx7i4489ksr8lfmnjqrmwmzqzmax53nld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor";
@@ -8570,8 +8612,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "3d6e45af611983d85b130b4f874d862f7d998013";
-          sha256 = "1gjqzzyfk5z9g2b5qnsfvddjlf6p441l8gv80z7jjq6qmwvppw94";
+          rev = "a4fd74b90a91396f316990ba056c7c6bd6034b94";
+          sha256 = "0ixzddklqmqyfd1sk37jk815xwp7dfgv5hfsy3j3qi962wmgq6h6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9028,12 +9070,12 @@
     color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-sanityinc-tomorrow";
-        version = "20171102.900";
+        version = "20171118.1605";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "color-theme-sanityinc-tomorrow";
-          rev = "3721c9f6a46a284c57dfb2f4d093f1a81de085b6";
-          sha256 = "0whbhhdjcm291rs8jzfwav9f2mxibgh6c8hf6z65jq0qkzvkz8qi";
+          rev = "e7fbdb22bf8c6164cb128750985d10e3eae48cd3";
+          sha256 = "1qz1yiyzki3idva80yf2pac3h371m9lhcarh9nvymw0l0h9qciyr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow";
@@ -9326,8 +9368,8 @@
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "098a90769ed47be1cfcebb83c2cad2e5e072bdff";
-          sha256 = "0wm1qrwmhzs3vphk6hbi288rvc66gznis5kfj25d86ilq4fvawsf";
+          rev = "75b4daa545d55ecbf15a973ce5f63903d11ca7cf";
+          sha256 = "0vbg3n2wm76xh522srzmj5w6hnqcpf67s6dzpi8l9c0bj2mgf9pi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9438,8 +9480,8 @@
         version = "20171024.1310";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment.git";
-          rev = "33af42c1c3109f17d63c69cdca0319e424409a37";
-          sha256 = "1nv102jd07nrhkp4fci5n5f1l6z3qan1lb3ykhhvl90k9ygqbac5";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/company-axiom";
@@ -9634,8 +9676,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "14596d3a1c0e7f18be6b88eddebaf7f36eeca859";
-          sha256 = "04vmq8d68na8pxwd18lxf87v0nzf3cxxdvw8cqzj28his7g37bym";
+          rev = "4f27d04c30a026f24c0ff18c3a7d36e3fb5b57a5";
+          sha256 = "1krrm123vzv6hw54kbkbh1xj6j090rdm4r2fcqp76b3hg8j8cpn1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim";
@@ -9690,6 +9732,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-eshell-autosuggest = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-eshell-autosuggest";
+        version = "20171119.2115";
+        src = fetchFromGitHub {
+          owner = "dieggsy";
+          repo = "company-eshell-autosuggest";
+          rev = "8d5f5412e949a45e197249800bf5c310c00d1c05";
+          sha256 = "0b6c72zhxdbwqmvw77grrlwmcdc37v3bzvbk7h05gkibpy4ld9vj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b5beec83bd43b3f1f81feb3ef554ece846e327c2/recipes/company-eshell-autosuggest";
+          sha256 = "1bpjyr01rwl58fypfhzzml69wx7h2a044s4l58cxl3fw8lbjb13f";
+          name = "company-eshell-autosuggest";
+        };
+        packageRequires = [ company emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/company-eshell-autosuggest";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-flow = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-flow";
@@ -9921,22 +9984,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    company-lsp = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, s }:
+    company-lsp = callPackage ({ company, dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, s }:
     melpaBuild {
         pname = "company-lsp";
-        version = "20171031.1844";
+        version = "20171117.1117";
         src = fetchFromGitHub {
           owner = "tigersoldier";
           repo = "company-lsp";
-          rev = "5fc50b6ad5c4ee71625bddf348646be44e69f396";
-          sha256 = "1gkabm9iaimv4s7v723aflvxa7z902py46m5mz0szpdcrrh36495";
+          rev = "b1639de23f3e739f9f7fd1b3005a45dae08bf084";
+          sha256 = "0dk278abmycxanigb1mq8bhgbcbpsbxgkkwxj8058qdkpnr077a2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5125f53307c1af3d9ccf2bae3c25e7d23dfe1932/recipes/company-lsp";
           sha256 = "09nbi6vxw8l26gfgsc1k3bx4m8i1px1b0jxaywszky5bv4fdy03l";
           name = "company-lsp";
         };
-        packageRequires = [ company emacs lsp-mode s ];
+        packageRequires = [ company dash emacs lsp-mode s ];
         meta = {
           homepage = "https://melpa.org/#/company-lsp";
           license = lib.licenses.free;
@@ -9945,12 +10008,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";
@@ -10050,12 +10113,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 = "16e6647115d848085a99e77a21a3db51bec4a288";
+          sha256 = "1i75wm063z9wsmwqqkk6nscspy06p301zm304cd9fyy2cyjbk81a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10071,12 +10134,12 @@
     company-plsense = callPackage ({ cl-lib ? null, company, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "company-plsense";
-        version = "20171016.1013";
+        version = "20171114.2316";
         src = fetchFromGitHub {
           owner = "CeleritasCelery";
           repo = "company-plsense";
-          rev = "68dd1ca0a0837990a2e6c2e36f6b10fdf4a9bb6d";
-          sha256 = "07bqm1bg91r3vchy2q2pk3npngqfb73fh0b7mp1g9fj11h25mjfr";
+          rev = "00f0baa70502b8412627316f72fc8b27ae7a1106";
+          sha256 = "1w3kv964dd0aqfmsk0v2hnnj7dr4hdsm041f2w61bfzpxs2mqjv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9cf9d671d81e07c704676c557a9f0d686067ce5c/recipes/company-plsense";
@@ -10207,8 +10270,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -10350,12 +10413,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 = "7343eb9ac3d2cf9a2441c27d5d7d35f1869df02e";
-          sha256 = "1bqcz4iyrav89lj0306g3x0w7v1d47lbwb4nk1lcn1hk8rlzxxg6";
+          rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
+          sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@@ -10396,8 +10459,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "d951afd8c1c2f25a5cbeef3acfcec5f72acfd6e4";
-          sha256 = "0k6z82a3xkk71lbnw3sxqmr8ixafglivmsb5y35q1jichzz6hail";
+          rev = "7f394d02f6f3149b215adcc96043c78d5f32d612";
+          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-ycmd";
@@ -10476,12 +10539,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";
@@ -10833,12 +10896,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20171101.1121";
+        version = "20171118.1113";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "5d373be194e21f3e29a03fb498b901fcc5e128f9";
-          sha256 = "0ycch0gqhjxg9ffz5y942z908zy4y3yl242dnyskkv3vmkrziwsz";
+          rev = "215922e5fb038052c2ba756bcb2cf42332ade9b0";
+          sha256 = "1g57qbh53klx18l913m16fband2jhplvzmfkzsvvhh3kd143fi5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10896,12 +10959,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "20171026.435";
+        version = "20171117.534";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "19757e5d79a7a504760a1e7a7095779b48ec995f";
-          sha256 = "1qacqjl1x01r3ss1a9qwy0651gamnkp59nzl9i6krnrdfksc6gjz";
+          rev = "ec56d4650ad11cd0cf8c7e168d9d6a5dfd9cdae8";
+          sha256 = "0xmjsa5ic4hh9lrkblf6si7q7s6xcnvs83rnpj5an23jxg7r12ma";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -10959,12 +11022,12 @@
     counsel-projectile = callPackage ({ counsel, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "counsel-projectile";
-        version = "20171106.529";
+        version = "20171107.1456";
         src = fetchFromGitHub {
           owner = "ericdanan";
           repo = "counsel-projectile";
-          rev = "293a8f2f6ab4f57cec63d8c51145853e83879230";
-          sha256 = "15vyzx354m4rr83k52d6hrh01pk88cj8ncgkl367j1ps487hmpxz";
+          rev = "5ec2118cbb3a6c047638ce305e50b1cd11ef3c03";
+          sha256 = "1zbcpin6s4hbbdcmdka55mnngadlisyzn342kak0hzk2s7j6r6r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile";
@@ -11383,8 +11446,8 @@
         src = fetchFromGitHub {
           owner = "crystal-lang-tools";
           repo = "emacs-crystal-mode";
-          rev = "1e8061c049766c25f1c06d43e703d3133426f7c0";
-          sha256 = "0w11s1vmp9b4dlq9kvnxi63j69c94bqpg3fn9w4jasnpz4w9nkcf";
+          rev = "5eda118f747c5029b2bc8f15b659159753df0537";
+          sha256 = "0zhrpdxy281zsmbawhn9m97v4azgd5g75bp6b573prf4w83rm3cj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b9b47d7deecf0cf24a42b26d50021cb1219a69/recipes/crystal-mode";
@@ -11631,12 +11694,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 = "3d3e890963c6d90d3586e063dd4beba343b1481c";
-          sha256 = "04158nkjvp7wgpfzdqp45yxs44nx1hbma3wsb8myzjcqspxpqip5";
+          rev = "d7751c7bccdd8b79b0b0d985e1aa49886553bb47";
+          sha256 = "1dcyrlagpnlc32isvxqz2mwq5100r0w0svm2s9snpjwk2pxv9qfn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
@@ -11841,12 +11904,12 @@
     cyphejor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cyphejor";
-        version = "20170518.2255";
+        version = "20171120.116";
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "cyphejor";
-          rev = "2d421507afead407f9daae694df254b160c4ff65";
-          sha256 = "0rshg8b2wvw285j4b8f68hp4ilfsk324yh4inshj19c9lkbgqp39";
+          rev = "bfc0455970bafb1986e059bb2bde7e9051fe212d";
+          sha256 = "1g1h2bqzrdhbadqm6kb5a9bxb7ls3wgr6vjak8454ilkc2d2yiv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor";
@@ -11887,8 +11950,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "13ab4d8a1b20d8a4a85172af8e13d07f8e48d455";
-          sha256 = "0mhs6myagzbwi690flaqqpij1pzwmf8asx466h324bfqi4flczzb";
+          rev = "f68639da2eccca264b6976237f5640f78fbe76ae";
+          sha256 = "1nk2rnrxln5y4bni5kfyvk7mk658kga9yrgd2sjsc70hjlsjj2ih";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -12030,12 +12093,12 @@
     danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "danneskjold-theme";
-        version = "20171101.1146";
+        version = "20171120.320";
         src = fetchFromGitHub {
           owner = "rails-to-cosmos";
           repo = "danneskjold-theme";
-          rev = "cab6311e9d1848593d9e9373712642c8723307a9";
-          sha256 = "0dfapi7l8kzal3l7d700fxi3vci0sp0z3sim55yjay3m5ymh1d19";
+          rev = "8a7a0f5278ecfe9d0887cfde1eff466679e6767e";
+          sha256 = "19j37hrd3g85s78gxf28aj4wazpjn0i7jpdl98az86nbgf0fgsr7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme";
@@ -12051,12 +12114,12 @@
     dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dante";
-        version = "20171106.545";
+        version = "20171120.100";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "dante";
-          rev = "5d4b2a09d5681408225bb5b9189d37e8b3e95079";
-          sha256 = "1m7k73m7qw0aqxx29c8y5liai93csmmhg749k6g0danqzy5dzn81";
+          rev = "05572773860c535017a7bb6ea3a364b5d26153af";
+          sha256 = "0mli2ri9q4pdnpa6214642rg0jgryd9rym6wjggkaqxn8i723cbb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
@@ -13272,8 +13335,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";
@@ -13289,12 +13352,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";
@@ -13419,8 +13482,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";
@@ -13440,8 +13503,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";
@@ -13566,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/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -13587,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/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -13629,8 +13692,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";
@@ -13650,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/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -13667,12 +13730,12 @@
     dired-sidebar = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-sidebar";
-        version = "20170904.2004";
+        version = "20171118.807";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "dired-sidebar";
-          rev = "35e43797f037fc298b6478817d51be3ceff5b568";
-          sha256 = "1rizajqh96im8ygbfzrhn0ysh3r9qlk7njgn2rayk6a5krj6gn16";
+          rev = "8f2b7042d906786e202745b576f21516b494f93b";
+          sha256 = "1x3954sc8h87pr79v5k2sq9p8y6g2667sbiwzzwga2d6hq94d9bd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30e15c8361b01195f198197e704828fbcac0e8d6/recipes/dired-sidebar";
@@ -13713,8 +13776,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";
@@ -14063,6 +14126,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    disk = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "disk";
+        version = "20171115.2331";
+        src = fetchFromGitHub {
+          owner = "kensanata";
+          repo = "disk";
+          rev = "283e54e3be7d08f959076240b2ab324e25632137";
+          sha256 = "15fkfl9kjlpsg9p5g0xhm384ipvrzclwxvqk8vz1zixq0wam2ajm";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e6e75695594ce17b618ad8786c8a04e283f68b11/recipes/disk";
+          sha256 = "1jzkqgjw8xl0jc6ssl5bsdjp2dxw88nss6szvjv7frrhsncaq28h";
+          name = "disk";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/disk";
+          license = lib.licenses.free;
+        };
+      }) {};
     dispass = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dispass";
@@ -14682,12 +14766,12 @@
     doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20171017.1649";
+        version = "20171114.813";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-doom-themes";
-          rev = "d91f72b83ec22f1620372574582e163f921e6796";
-          sha256 = "1ykl835k0s5nkb6343yk4gyk7hdx4l96jnfa84vdq74x2asidfs1";
+          rev = "5cd9e8370220aeeff5b30142c45a58bd9aeeabbd";
+          sha256 = "064cqmrlk1cdm0gf4hwagdqxsidvciq4a80vws8bbcg6ri416cbj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@@ -14721,6 +14805,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dotenv-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dotenv-mode";
+        version = "20171119.1023";
+        src = fetchFromGitHub {
+          owner = "preetpalS";
+          repo = "emacs-dotenv-mode";
+          rev = "0c21f590b026100cc9d6f5f51bf2176f872b5174";
+          sha256 = "0czzml37lxxhn5bw5ipmwrzw3rr1c6q6pl55n1w1hzz077wylng4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9fc022c54b90933e70dcedb6a85167c2d9d7ba79/recipes/dotenv-mode";
+          sha256 = "1lwfzfri6vywcjkc9wassrz0rdrg0kvljxsm6b4smlnphp6pdbbs";
+          name = "dotenv-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/dotenv-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     dotnet = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dotnet";
@@ -15144,12 +15249,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";
@@ -15165,12 +15270,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20171105.1624";
+        version = "20171115.2055";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "ce4eaa49b629140806a8808712356a5a09c2abad";
-          sha256 = "1bjpqghfp1jprhaciqjm11n6bdy5wzph625p2v0xcd59pr8jsj6p";
+          rev = "6f163c47ee4483b3f5b0eb6297898725a8c7a53a";
+          sha256 = "0b9h9cmaz3k2ymcrl8p6gl2wbk1vjnfaqk8agsay7vd537a2m1r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -15542,12 +15647,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "20171104.1651";
+        version = "20171109.40";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "ef58d13fbff4b5c49f934cfb9e3fd6ee219ef4b2";
-          sha256 = "0xxxzdr6iddxwx8z4lfay4n9r1ry8571lj2gadz5ycff6f6bxmhb";
+          rev = "0ee57b495036b6c1b54d668e84be373f8a1c8d9a";
+          sha256 = "1fizb09g0dc9rzlj34n26vi12h3gk4mn96iyrsa60in5c9yn9f04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -15605,12 +15710,12 @@
     easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "20171025.1516";
+        version = "20171120.609";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "d55472bdb08850fb3b2b27a373630c68f6cd2ac0";
-          sha256 = "168wz1638arypqz6i0mzj1pw6mzgp6x10i2wz2vpgkw5p79zw46i";
+          rev = "33dc1c996ae540704cf9af88562066dc46c944ff";
+          sha256 = "1h36ghgs9j4whawhjcsm2kiv7nv99d4kibdfqw6xjhjpmq9s4j0f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@@ -15731,12 +15836,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";
@@ -15773,12 +15878,12 @@
     eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }:
     melpaBuild {
         pname = "eclim";
-        version = "20171024.1038";
+        version = "20171113.1754";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "14596d3a1c0e7f18be6b88eddebaf7f36eeca859";
-          sha256 = "04vmq8d68na8pxwd18lxf87v0nzf3cxxdvw8cqzj28his7g37bym";
+          rev = "4f27d04c30a026f24c0ff18c3a7d36e3fb5b57a5";
+          sha256 = "1krrm123vzv6hw54kbkbh1xj6j090rdm4r2fcqp76b3hg8j8cpn1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim";
@@ -15815,12 +15920,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";
@@ -16155,8 +16260,8 @@
         src = fetchFromGitHub {
           owner = "stsquad";
           repo = "emacs_chrome";
-          rev = "462c57be72b3a8652f705bde0d3b7cd2f79644fa";
-          sha256 = "0s4s90sbk82yp08my8jdmn4kn5cx8xc9cf02asrq4b4jvljynwvj";
+          rev = "d47a5c3490135bba74083d45bacffc6ab413ee95";
+          sha256 = "05csfl1w7l0g63mm2wsyd780bxyk30d3iw2jbjlyg8cq5ggrf23l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
@@ -16193,12 +16298,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";
@@ -16394,8 +16499,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "8a7c0e4d3661f07f3c305ac29431ae28fdb98eac";
-          sha256 = "0c3p77yxaj84d2id5qlqxwywh0hrzsbbxxv2qissz8wkrmv9mg0n";
+          rev = "269e2e0c38d8ac0eef636954ebfd980b93be4438";
+          sha256 = "1v7rsp24lhryc5swi1415vmvgzgcrx997kyiqr7qsk5nvzxxfzw3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16472,12 +16577,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 = "20171118.924";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "eaded1e01378c61be8bc454d111e8cc4951a0b5b";
-          sha256 = "0m0dkzr44bmgc5sxzgsp290hvsylvyrsnmfk6ki44qkvp4qg0bxr";
+          rev = "dd0c0bfc52c2384ef9bc154afe7ec6fb42891af8";
+          sha256 = "0l2q9am8445j4iil37pcs8l40ryahnav3nc89w8ck3dl0g5amzdn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -17064,12 +17169,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";
@@ -17082,6 +17187,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elfeed-protocol";
+        version = "20171114.2252";
+        src = fetchFromGitHub {
+          owner = "fasheng";
+          repo = "elfeed-protocol";
+          rev = "05e17c42edd03393e862492e9fe5902e44015ad6";
+          sha256 = "16gifn20vkp1079r0vy746zq7jqy50c6mmxmm3rbzy5scga1rzjr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
+          sha256 = "1gd2ny764qsnnqf3j7rbdqhh7hqd5c0fzwxx6wacd0dpbq4w56qi";
+          name = "elfeed-protocol";
+        };
+        packageRequires = [ cl-lib elfeed emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elfeed-protocol";
+          license = lib.licenses.free;
+        };
+      }) {};
     elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
     melpaBuild {
         pname = "elfeed-web";
@@ -17313,22 +17439,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 = "20171114.1225";
         src = fetchFromGitHub {
           owner = "jcollard";
           repo = "elm-mode";
-          rev = "6fa343ada4a74850840e21bbe787c14fe5a67155";
-          sha256 = "18yk029k12zd8xwgj4k0741lbxzl9djik0srvb5jn6bcbcp6hb9g";
+          rev = "a01626ce462fffc11af1f7e64f6d520e363157f9";
+          sha256 = "0v2c7h7j5y9mjvgwi7ki5pz8w9d2xcvab6s5i21yb5a6lihm0gma";
         };
         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;
@@ -17547,12 +17673,12 @@
     elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20171103.1027";
+        version = "20171110.657";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "091a91f622b53ff4e3506d4642dc458e93ca2945";
-          sha256 = "1yxyivp4cbg3b2ys51myx2zk66d2k82fzm73fyzfg0v42xqzqlf2";
+          rev = "6c10424da59909e9b7f7e6bd345522fc4c011b2d";
+          sha256 = "0cwz6xgrd827798gq46l08wsc3l1kh8bh5zp3vdik3cqdcqk7lxz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -18143,11 +18269,11 @@
     emms = callPackage ({ cl-lib ? null, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms";
-        version = "20171105.502";
+        version = "20171115.1149";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/emms.git";
-          rev = "11954d51e976a83635971fc000a163b0e7056134";
-          sha256 = "1dfyc0f6wfvw90lw135mf6vx5yqx7nwbi5b3a3c6dzsm060dzsqx";
+          rev = "5e49985e8fcbf5e0c24f0a8690d3d8ba2f0a3838";
+          sha256 = "039vd8blxfiyswsdwinjg01a5n5pbgkh3r2yl6s2sn03j3v6d2a6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms";
@@ -18433,6 +18559,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    emojify-logos = callPackage ({ emojify, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "emojify-logos";
+        version = "20171109.733";
+        src = fetchFromGitHub {
+          owner = "mxgoldstein";
+          repo = "emojify-logos";
+          rev = "210abf97aed06570e55a27edc10cbe063610cf94";
+          sha256 = "043gbzqx1rf7kdh5123ps1b4y28n6zkz97b77cspcp1rh9z50ksk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/114d5596a7b36f47c150c413c6ecc74de36ca239/recipes/emojify-logos";
+          sha256 = "0kgci1svi80xnz44bvh19si8bcjllrkm9rbd8761h77iylkqs3q5";
+          name = "emojify-logos";
+        };
+        packageRequires = [ emojify ];
+        meta = {
+          homepage = "https://melpa.org/#/emojify-logos";
+          license = lib.licenses.free;
+        };
+      }) {};
     empos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "empos";
@@ -19295,12 +19442,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20170913.604";
+        version = "20171117.243";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "de48cf9a757c329dda26875f8cf7dd7c4425fc04";
-          sha256 = "1i2sgg22ydvi49hj8iacdn38aryik36gzapvx47g62y1qfxza6f9";
+          rev = "b64a07a11ea5e83fd207fc024d11dcb0c57f35a6";
+          sha256 = "188v53g72d32cd21ynzd9wmdhgm8jzcwyab0iqp6q77iqp5nb615";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19420,12 +19567,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";
@@ -19844,8 +19991,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";
@@ -19903,12 +20050,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20171102.958";
+        version = "20171119.1303";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "f5d5ddfe5a1b2096ebc90d5fd2c3e98c12e45e8b";
-          sha256 = "0x7ymv0b7p3s79fz4j63v0k45nfywnzqqqi0xxmwbnz3w2gf3k0s";
+          rev = "151b00326d7b63d039ff401de45729bfaebeb429";
+          sha256 = "1p6ni4hk5dazhp42k5s9wr23gfsiqfq09h8wrf4hx898krqr9jvj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -20134,12 +20281,12 @@
     eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }:
     melpaBuild {
         pname = "eval-in-repl";
-        version = "20170730.1445";
+        version = "20171119.1054";
         src = fetchFromGitHub {
           owner = "kaz-yos";
           repo = "eval-in-repl";
-          rev = "7e2b42570b449b2a3c2922f3036a027d1e393a60";
-          sha256 = "0x97flv356kd7j6wbhacz0lmsrdd9as87b0n6nliq5n0y30my8dy";
+          rev = "2d452e9d9780de2f968a6b3a9dca333dc0406aa5";
+          sha256 = "15q6405sg2nq49f2zpk24k6vqwp99xj8n3b5a1cpf82lp64ch2r9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl";
@@ -20239,12 +20386,12 @@
     evil = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
     melpaBuild {
         pname = "evil";
-        version = "20171031.22";
+        version = "20171117.1158";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "a6d7b32f6d606dedc2c550615d8cf1c43ad8f6a8";
-          sha256 = "0v741j0vxdqsa8lnhyn0g163cgixp3s310zaxbxxznlz1fy1nl8w";
+          rev = "54be03cf2f635689f7f53b96f311910b9b48154c";
+          sha256 = "02p4967xacr5s0xkcg10fcrrrl50bc8vbkjll8sr18xh2gmfx8i6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil";
@@ -20530,6 +20677,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    evil-expat = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "evil-expat";
+        version = "20171105.2";
+        src = fetchFromGitHub {
+          owner = "edkolev";
+          repo = "evil-expat";
+          rev = "d758c2f752eb6a95a550b0fbb8c9b7cc257ff559";
+          sha256 = "12aiwgp2bmrnj285ap0n8arj6jqlai5886pay992khscv8v264gv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f08f6396e66479eb9510727968c5bb01ac239476/recipes/evil-expat";
+          sha256 = "03niji6wymhlfkvdg90gasccs4683djxcj925c8k0vdgmfr8sx32";
+          name = "evil-expat";
+        };
+        packageRequires = [ emacs evil ];
+        meta = {
+          homepage = "https://melpa.org/#/evil-expat";
+          license = lib.licenses.free;
+        };
+      }) {};
     evil-extra-operator = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-extra-operator";
@@ -20596,12 +20764,12 @@
     evil-goggles = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-goggles";
-        version = "20171103.2328";
+        version = "20171118.904";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-goggles";
-          rev = "75d124851fd31bb7014036e969300a0259128557";
-          sha256 = "0184y95d52nbldpn3khxk6f3dlh36v0mjsvhhgg557gwhg5psasi";
+          rev = "04b93b8564177c9da6366a6db3c6daf8e03e2bcb";
+          sha256 = "0y9frmlx2jh5j74dgsvj2ncg16pl74h9vqayc9w2l46g9dhlkly5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles";
@@ -20932,12 +21100,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20171106.407";
+        version = "20171106.1510";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "31db96711ee894e3b997b5823c5664bbed165143";
-          sha256 = "11x42awwqab6pdxzk1pv5gjfyxaj35vp2pscl23lq421x2mqpifd";
+          rev = "6a05c86bdf668fa2bb8a9daf76f3d7b241d7ba3d";
+          sha256 = "0nbgrg1d8g2v7lfdwnd26wm1n4qpwci4a0x3qawngcjkyj9df4q5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -20992,22 +21160,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;
@@ -21293,8 +21461,8 @@
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "a6d7b32f6d606dedc2c550615d8cf1c43ad8f6a8";
-          sha256 = "0v741j0vxdqsa8lnhyn0g163cgixp3s310zaxbxxznlz1fy1nl8w";
+          rev = "54be03cf2f635689f7f53b96f311910b9b48154c";
+          sha256 = "02p4967xacr5s0xkcg10fcrrrl50bc8vbkjll8sr18xh2gmfx8i6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers";
@@ -21559,6 +21727,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    exato = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    melpaBuild {
+        pname = "exato";
+        version = "20171119.1149";
+        src = fetchFromGitHub {
+          owner = "ninrod";
+          repo = "exato";
+          rev = "371f189554f59883db1b5d9d640a3cec5dd5b7bf";
+          sha256 = "0mkb2rac69msn8m3nafdklg5s7ysx1c0xldkyvf6kp849zlv5ldk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/939efbcb9b40a2df5ef14e653fb242a8e37c72f9/recipes/exato";
+          sha256 = "1h2dd3yhv1n0sznznw8ncx98g53hgi1rg1zkd0nmldih2rd5qisn";
+          name = "exato";
+        };
+        packageRequires = [ evil thingatpt-plus ];
+        meta = {
+          homepage = "https://melpa.org/#/exato";
+          license = lib.licenses.free;
+        };
+      }) {};
     exec-path-from-shell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exec-path-from-shell";
@@ -21603,12 +21792,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";
@@ -21863,12 +22052,12 @@
     f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "f";
-        version = "20170404.1039";
+        version = "20171119.723";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "f.el";
-          rev = "fabdbd4a4a8caf8684f0fa656f457a03c5dfa4de";
-          sha256 = "1983ymny8329d826kfm5f88na1lym991xnz8wjz4nd1ah52c323x";
+          rev = "595519ea07d6ff49e5cb1cbd442eb689f9142ed1";
+          sha256 = "1nxkfya6bwn0bmiwcq5q68qpyhkdsc9b4n75vav06nn7w1k5y3gv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/f";
@@ -21905,12 +22094,12 @@
     fabric = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fabric";
-        version = "20160907.215";
+        version = "20171115.2256";
         src = fetchFromGitHub {
           owner = "nlamirault";
           repo = "fabric.el";
-          rev = "2d436122243bcdd64ec5700e42d88ea9d363aefc";
-          sha256 = "0g083jbxqzzg0pja1fhqshg6dv7p22ymnlsg02l073059sfy4c94";
+          rev = "df79be341d0b34ed23850f9894136092fa5fea8c";
+          sha256 = "1mnz81k1jz2sa3zj68ihzgq66l9fcxvzb67ad62p8bvi2aksxx7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/83939d2a4d5874244a4916eee9ae6b327af18b5d/recipes/fabric";
@@ -22448,12 +22637,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "20171025.1943";
+        version = "20171115.316";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "a3ecd28182ba3102fefdc080e807866464153edc";
-          sha256 = "08dk8jjg63rs15hq4rb32368nja2iwdsp8dxwb3isza96lsfkwmx";
+          rev = "8eedc930ec7fb187ebc3cec284e213054545db09";
+          sha256 = "0b8j1i1bshd4774c581lkc55vz4waz1c10pcdxa2vwgiaccjjnmz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -22683,8 +22872,8 @@
         src = fetchFromGitHub {
           owner = "Ambrevar";
           repo = "emacs-fish-completion";
-          rev = "ccc29e7c925de7051e477d79bff97fec5fb9bec4";
-          sha256 = "08rmk43lsgfkb2cwkrqdv2x38pih9ljasfn74a8y705i2dwqimqb";
+          rev = "547fe4f61b8e311e5db17be9f6d277d08523beba";
+          sha256 = "0qkq23fad7apm2q1xn3b7agkkv3pvcwv012kvma568zk4jcfw3zg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/832bae268cd08d7ebfd4b7a8d0570af8549cdbd6/recipes/fish-completion";
@@ -22875,12 +23064,12 @@
     flatland-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flatland-theme";
-        version = "20140805.305";
+        version = "20171113.721";
         src = fetchFromGitHub {
           owner = "gchp";
           repo = "flatland-emacs";
-          rev = "b2c2df1fc20a3a23787644f91f8121d9353f9bf9";
-          sha256 = "0cl8m1i1aaw4zmkrkhfchhp0gxhpvhcmpjglsisjni47y5mydypf";
+          rev = "a98a6f19ad4dff0fa3fad1ea487b7d0ef634a19a";
+          sha256 = "02gbzxd1v003aaj5rn3vr00n4390bhdx2jhpa7nb430fg3s1ppdy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0a081fd0c5598fdf5bc0ab92f4d009f32132a29e/recipes/flatland-theme";
@@ -22959,12 +23148,12 @@
     flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flex-compile";
-        version = "20171031.2349";
+        version = "20171113.929";
         src = fetchFromGitHub {
           owner = "plandes";
           repo = "flex-compile";
-          rev = "031f4612a07dc0ddb03424a2f986ea18e7064fe7";
-          sha256 = "1vwvhaxhpmpcyrmzdfbwxsxif3fx40548gks3y4n0nhprji7wjmg";
+          rev = "631a5a95bcf783b8d43435d7666ccd8e205a3bd5";
+          sha256 = "1jcw8qc6krsl6j5xx7fp7hancqcg9hk6q1c2qwy081yig7537bf7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
@@ -23063,12 +23252,12 @@
     flow-minor-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flow-minor-mode";
-        version = "20170916.312";
+        version = "20171113.954";
         src = fetchFromGitHub {
           owner = "an-sh";
           repo = "flow-minor-mode";
-          rev = "93184633933b5aa62e6e92b7fe1311261012e591";
-          sha256 = "1laainsc5l4l4r5j17hblv7b1ppxrgfak73ama1qn7kb14y1jfrf";
+          rev = "cca4e350dc19827e0600b300bbc8f1ee16f45a1d";
+          sha256 = "1rp59pxjmww4m31rpr0g8n8w1bp9n60dfn0af471gvwdj9aidwki";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66504f789069922ea56f268f4da90fac52b601ff/recipes/flow-minor-mode";
@@ -23168,12 +23357,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";
@@ -23798,12 +23987,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";
@@ -24302,12 +24491,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";
@@ -24369,8 +24558,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -24600,8 +24789,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "d951afd8c1c2f25a5cbeef3acfcec5f72acfd6e4";
-          sha256 = "0k6z82a3xkk71lbnw3sxqmr8ixafglivmsb5y35q1jichzz6hail";
+          rev = "7f394d02f6f3149b215adcc96043c78d5f32d612";
+          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/flycheck-ycmd";
@@ -25692,8 +25881,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";
@@ -26137,12 +26326,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";
@@ -26170,8 +26359,8 @@
         src = fetchFromGitHub {
           owner = "factor";
           repo = "factor";
-          rev = "d2f3977768f5588b9467cc73c12d9a1de204d9e8";
-          sha256 = "1cx1fyr372zhkf35mjvl46c3zim7whz8z2ax88dqavh67h92ai9h";
+          rev = "da4550348ed7176df239b706c52da6b17a61f74a";
+          sha256 = "0jnrvc9zbng3inghrhvhl5njfxd0cxj43ippzwz48fjpy1kghk2n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/fuel";
@@ -26296,8 +26485,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "0397438e8fc6cd2e5549a9d883d1e5a5c11110f7";
-          sha256 = "1mb4m8907bhi2305p2i2mxgpq6h9xs0k87j71p35blnh5spqbikm";
+          rev = "cba1f7d7bc7683829d13519db0d9a269d5e19073";
+          sha256 = "19sc3zamfqvxpmkpj24961lipdn1x60gf1fbdiq5hjwqliwk72p8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -26439,12 +26628,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "20170309.2204";
+        version = "20171117.1815";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
-          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
+          rev = "900e1788695d91dde2a3d7fee97681a3380285de";
+          sha256 = "1lix0x2gj6lrcx6imr5w3scyix99526fwpx0vzs1dzxfzglscjja";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -26588,8 +26777,8 @@
         src = fetchFromGitHub {
           owner = "jaor";
           repo = "geiser";
-          rev = "da22a526c1f683a90bb60840d05a6bb5f3a74ffe";
-          sha256 = "101v0hfsdzksc3pr6vds7ypwmrpxvslmwmskwm9i94sxs39j067c";
+          rev = "c3bc0998fff7da8eb78532bfd0c22af693775dc0";
+          sha256 = "0njvhdfxgf2vx79wddbjlqgwi0g9829zvhprf3qps2q5lyvvwr8s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser";
@@ -26605,12 +26794,12 @@
     general = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20171104.2336";
+        version = "20171118.1714";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "ae94ac1c0efc946963e659366db0101ed6171ade";
-          sha256 = "1k63gmlds4f0sd50j5m0icxp2r9n4w5xxxqx7av7ffkidm31w3fx";
+          rev = "dd2376629b03f30e5a657a248140db00f91eceeb";
+          sha256 = "13iwr610v6jgh03alcprdsr6s1a0fcqx9iyjzg33p9hd0y56fmda";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -26899,12 +27088,12 @@
     ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub";
-        version = "20170803.601";
+        version = "20171116.803";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ghub";
-          rev = "7c52e9063ad10f76d45d816a92c65cf1f6c7b9af";
-          sha256 = "1iynfqza146mnkvsgfjnfmja4m42m71s0nw015iks428nzrrkf1j";
+          rev = "d8ec78184ec82d363fb0ac5bab724f390ee71d3d";
+          sha256 = "194nf5kjkxgxqjmxlr9q6r4p9kxcsm9qx8pcagxbhvmfyh6km71h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5db83957187c9b65f697eba7e4c3320567cf4ab/recipes/ghub";
@@ -26983,12 +27172,12 @@
     gist = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, melpaBuild }:
     melpaBuild {
         pname = "gist";
-        version = "20170604.1834";
+        version = "20171119.1737";
         src = fetchFromGitHub {
           owner = "defunkt";
           repo = "gist.el";
-          rev = "a03f142455e8b39f77fbd57ee1c1e44478c1f9e2";
-          sha256 = "1xisjaxr54zrxzxj8cp8f90kzphd5v3j56d14534fm5r1f5343vp";
+          rev = "952048407e0bcd19bbe7e3a591ecbc0586a04abc";
+          sha256 = "1wxiijillllfl83lfmgxz88xdcs28q107pj0287hcyvzsi8vgypx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gist";
@@ -27113,8 +27302,8 @@
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ab00c5ba2711da7804a92be0c04b996250d350b7";
-          sha256 = "08psg0gdxb5ng1319ah06d65f8brglb69s992qf2gh1njjfv4l2m";
+          rev = "653e57d9e466c36cfeee6924e6d5c2bfbd64cf48";
+          sha256 = "0bk41axq7ks84q1pv1ldk0iw6af8gbmq4w6x2hhhpyjz40fpvgcs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27529,12 +27718,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";
@@ -28709,8 +28898,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "ec88ff999b47a5adcd1b09cc8b49c793af337964";
-          sha256 = "0bmbia1h85d8nsl2gk6wfi0fxij0d8ha56f2h9kk2swv3w5yg1d7";
+          rev = "9663cabfeeea8f1307b1acde59471f74953b8fa9";
+          sha256 = "0277vsj0shrlgb96zgy8lln55l2klzkk6h28g4srbpgkwz5xxsx7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -28978,12 +29167,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 = "0572dd8bc01d059ec65475d2b15c3ed5bbce9eaa";
-          sha256 = "0rln9gzzk1kasxfdz2sbkivq2cy7c28djbpbshfw6z3i9sy7pvv8";
+          rev = "3b25c7207e60dc5662f9af48ffbbcf2b022f30e1";
+          sha256 = "0sbs1dwi4fasx5whkb8icbjy1fnwrymnz23lxv1yz6fpy4lwfhdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -29020,12 +29209,12 @@
     grab-mac-link = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grab-mac-link";
-        version = "20170822.2321";
+        version = "20171117.1047";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "grab-mac-link.el";
-          rev = "fa23db288c93ff12d804939aa3c78e809169523e";
-          sha256 = "1r2rcxcipyxdr16m8y93yc86vqxcmxamvkj60dg6ljsxg2lgvbx4";
+          rev = "efac050750551fcbe323c44d94f49ac8c75ae845";
+          sha256 = "009l3z4qyk017x0vn56accfi3v7bhk9dxvp4j7kkrm49jhmagjws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e4cc8a72a9f161f024ed9415ad281dbea5f07a18/recipes/grab-mac-link";
@@ -29554,12 +29743,12 @@
     gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "20170923.2008";
+        version = "20171118.1312";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "4241935d9cc786d0b4a3a445830c395f2a9eeb90";
-          sha256 = "1x624xc2756pmb4h5ayls8r16zy33d9vxr0as4jm6q682h2swir6";
+          rev = "87a59d8c3a25ec8bb00dcdef0efac8ac191c4431";
+          sha256 = "1n6l76izdmhyzz2niv6rrb2yfiyf42n0siy9qf1kbynwlcdkl10g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
@@ -29701,12 +29890,12 @@
     guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20171031.1241";
+        version = "20171114.1204";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "b11ddb65044468a1d1d7091ee9636aab7b13afed";
-          sha256 = "0jhmc2s1xbr5dnmckszx8j0i3kfj7n868xw1d6sqplm7i0r0wm8s";
+          rev = "80980e064a9d5f0fa19ad2ac033d104d42021ce8";
+          sha256 = "18qnnl18x07399xq41fy9rpzqsvjgm2w4520q5labjl6ndc9y248";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@@ -30476,12 +30665,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20171106.429";
+        version = "20171120.126";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5eae983b6490fe0ad553a1833be5f8ee7aef7a05";
-          sha256 = "1qds2qw4jnfb5xvqczswylc83q5fams9lhk0bz8zy6a2j01s99w0";
+          rev = "3806d352f3553731501bdc0045103de109cac178";
+          sha256 = "0amz3515jbp9bahxi930cax0sw6w1vfglnpnsh8lp25q0li65j69";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -31110,8 +31299,8 @@
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5eae983b6490fe0ad553a1833be5f8ee7aef7a05";
-          sha256 = "1qds2qw4jnfb5xvqczswylc83q5fams9lhk0bz8zy6a2j01s99w0";
+          rev = "3806d352f3553731501bdc0045103de109cac178";
+          sha256 = "0amz3515jbp9bahxi930cax0sw6w1vfglnpnsh8lp25q0li65j69";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -31190,12 +31379,12 @@
     helm-dash = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-dash";
-        version = "20171017.342";
+        version = "20171120.446";
         src = fetchFromGitHub {
           owner = "areina";
           repo = "helm-dash";
-          rev = "08961190b3982dcb8c359e633daba556a6d92ce3";
-          sha256 = "1vdrfykhcfnmm254gd3aqypk9hfl0fcml1nc0wxmdjlimlsxadc3";
+          rev = "13dcc176556a7dd0970790e96dbbf9105dc395de";
+          sha256 = "1cxfmlf2ddx9rm5f70r1sh9vwmn5s1a6m5in41skspvpm0avc8vi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-dash";
@@ -31460,6 +31649,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-exwm = callPackage ({ emacs, exwm, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-exwm";
+        version = "20171109.59";
+        src = fetchFromGitHub {
+          owner = "emacs-helm";
+          repo = "helm-exwm";
+          rev = "c459949ac0c520aacb3f5a2eb4be71bfd3332c38";
+          sha256 = "18dmbdscgs0w7dhj3czq5ld97pbdwd5s51amn680j50w0376h8a8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdf9e00cf19fabbeade12a66d66cd010561366/recipes/helm-exwm";
+          sha256 = "0g15c4bg794vqigafl9g2w85jbs1lbw9qplaf8ffx0az4qwhnvqz";
+          name = "helm-exwm";
+        };
+        packageRequires = [ emacs exwm helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-exwm";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-filesets = callPackage ({ fetchFromGitHub, fetchurl, filesets-plus, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-filesets";
@@ -32643,8 +32853,8 @@
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "helm-pass";
-          rev = "bf5e1ea85ca531f07372eb8e7b9a8812ff3d3a5e";
-          sha256 = "1l3dbgl65rcvw7cgqfxm3kvpfj65pj8jhkp9pg4yykli5y0wsbdx";
+          rev = "b4db7dc0181d91b9c85859b43deba0eb2da3693f";
+          sha256 = "11wqghf038pr2impmawnny215rngd8qjpxr0mx9ckam2jy87q024";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8100599d69a760cd4548004a552cc0adcdb3bed/recipes/helm-pass";
@@ -33063,8 +33273,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -33353,12 +33563,12 @@
     helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-tramp";
-        version = "20170708.320";
+        version = "20171120.140";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "9480ee2d5a9cc190e48a04ffac33ca6403fd12e1";
-          sha256 = "0jh9vbbsdzgxd41x5ykvb4b5ww248bc7lrzfjn4jmckgjmqq8v1y";
+          rev = "d90be189d8c2b742c9621ff28b1196be683cdb4c";
+          sha256 = "1hi7zw4p3w8a14fqv6w2bc0anrjb6d4vglwhmaz50qr2w3plxq15";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp";
@@ -33542,12 +33752,12 @@
     helpful = callPackage ({ dash, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helpful";
-        version = "20171103.1614";
+        version = "20171120.321";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "helpful";
-          rev = "deb66c4978dd8197149e56d76b9ce3ebd72d98ed";
-          sha256 = "1c6i97l4z21aarjv16901il4irgmadvr42vamnzjr0mzhpki262b";
+          rev = "c98f271b4c164cc54c4149ab8f486e3a67b55e1c";
+          sha256 = "0lcy79ih1l7v5yjg2cpf6fw999hffsa67jl9w1g5x4bkgrai5gzx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
@@ -33878,12 +34088,12 @@
     highlight-escape-sequences = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-escape-sequences";
-        version = "20161028.1617";
+        version = "20171117.437";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "highlight-escape-sequences";
-          rev = "c3f28f2003638e88e5cf0b03835412af7814f3b0";
-          sha256 = "052r7bxdflgvygpvc5p63kkv11l9f7vfn16b1094af7xnniv8i3i";
+          rev = "08d846a7aa748209d65fecead2b6a766c3e5cb41";
+          sha256 = "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd087f2c5a9524986b0f2c7fd7efd1f296363101/recipes/highlight-escape-sequences";
@@ -34217,8 +34427,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";
@@ -34757,12 +34967,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";
@@ -35072,12 +35282,12 @@
     hy-mode = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "hy-mode";
-        version = "20171030.1023";
+        version = "20171114.1217";
         src = fetchFromGitHub {
           owner = "hylang";
           repo = "hy-mode";
-          rev = "afb1610b0f78e059ee1a034048a876ece70118f1";
-          sha256 = "14b5dk7n9727dwyi9p80rcwm0f6i21y1x10rj05bal1s3lxq7frp";
+          rev = "f83c11d4972658b9c687a0357bc2c06bc5461995";
+          sha256 = "138dbbmwl681nzv7144wl0sb15zvwc8w6a50w2bh7ir9rcc6d4i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc9ab5cf16b61bb27559cd8ec5cf665a5aab2154/recipes/hy-mode";
@@ -35322,12 +35532,12 @@
     ibuffer-vc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ibuffer-vc";
-        version = "20171104.1722";
+        version = "20171106.2341";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ibuffer-vc";
-          rev = "da6b628d51a1a80cfa311200859ae62665a71afa";
-          sha256 = "0hvmlq4c9jcxjgvkk73qq8fnxw4jarzfqcnfwwrqy82cx13nvnk4";
+          rev = "83d60aefd21e2aa20c7217d224f38a40bb75e63b";
+          sha256 = "06jk5ccsfivh6bf6ppkli6cni39rvmm9asack1056f9q6jq6l8p1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/ibuffer-vc";
@@ -35994,12 +36204,12 @@
     iflipb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iflipb";
-        version = "20171102.1336";
+        version = "20171113.1244";
         src = fetchFromGitHub {
           owner = "jrosdahl";
           repo = "iflipb";
-          rev = "3a1ec69ffe7802794fe46baeecbf11846cbdc3ed";
-          sha256 = "1wamzkmndmghvsw8ffbqmllp4nd7yxamym7m62pz22blyh1sj97m";
+          rev = "a5ad1fbd1173cff5228dab265515c92c0778f86a";
+          sha256 = "0gyxd5d57j0x93mqnfwwdf28plp102xh0ag2d2iws7y1d5m99wm2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fad6fc8bc3c0be0d5789a0d7626ebc3f298b4318/recipes/iflipb";
@@ -36474,12 +36684,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";
@@ -36768,12 +36978,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";
@@ -37271,12 +37481,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";
@@ -37355,12 +37565,12 @@
     isend-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "isend-mode";
-        version = "20170208.110";
+        version = "20171118.745";
         src = fetchFromGitHub {
           owner = "ffevotte";
           repo = "isend-mode.el";
-          rev = "95ba9e71390858bf706b148276f37428dd2774d2";
-          sha256 = "0njfglyspdl7jzybvi67wlqrdfbqhfv36fx48yz5v16018pd856h";
+          rev = "88d4576e70e5874115c305ab2767d181dfda5985";
+          sha256 = "0pnzy5000m34f20q97my8ahcsgr0fqyhmfzbmds5bc269vsnbr6g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ef6e4dab78a4c333647a85ed07a81da8083ec0c/recipes/isend-mode";
@@ -37439,12 +37649,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";
@@ -37481,12 +37691,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";
@@ -37565,12 +37775,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20171104.252";
+        version = "20171119.842";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "5d373be194e21f3e29a03fb498b901fcc5e128f9";
-          sha256 = "0ycch0gqhjxg9ffz5y942z908zy4y3yl242dnyskkv3vmkrziwsz";
+          rev = "215922e5fb038052c2ba756bcb2cf42332ade9b0";
+          sha256 = "1g57qbh53klx18l913m16fband2jhplvzmfkzsvvhh3kd143fi5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -37646,6 +37856,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-feedwrangler = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ivy-feedwrangler";
+        version = "20171116.1020";
+        src = fetchFromGitHub {
+          owner = "asimpson";
+          repo = "ivy-feedwrangler";
+          rev = "84fe05d971f30c7728cea1f2b8ae96b12a737931";
+          sha256 = "0llijkh1i5vh60g40kdjnmd8i5spc3gyi6akb6h22gmqyh7bqai3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1c112939545f6d157111eabcb573738b09ef7c/recipes/ivy-feedwrangler";
+          sha256 = "1mxm37biix8c0s32gfv4pidffvlgdz5i9325zk71fhgfzqwkf5vx";
+          name = "ivy-feedwrangler";
+        };
+        packageRequires = [ ivy ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-feedwrangler";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, gitlab, ivy, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ivy-gitlab";
@@ -37695,8 +37926,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "5d373be194e21f3e29a03fb498b901fcc5e128f9";
-          sha256 = "0ycch0gqhjxg9ffz5y942z908zy4y3yl242dnyskkv3vmkrziwsz";
+          rev = "215922e5fb038052c2ba756bcb2cf42332ade9b0";
+          sha256 = "1g57qbh53klx18l913m16fband2jhplvzmfkzsvvhh3kd143fi5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -37796,12 +38027,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";
@@ -37821,8 +38052,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -37880,12 +38111,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 = "8168dc1f26521830dfd99466d35ab93159afd004";
+          sha256 = "1yds7ffqd9rd87vypvnpzl4i7678f6879hdj4whr9zn47hsbdfzn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
@@ -38319,12 +38550,12 @@
     jbeans-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jbeans-theme";
-        version = "20171101.1641";
+        version = "20171108.1431";
         src = fetchFromGitHub {
           owner = "synic";
           repo = "jbeans-emacs";
-          rev = "5a37364636caa7b006e4af70b437c63dfad1f448";
-          sha256 = "0zpxhpqs0s2ph86hhy8hqpds08aanncys76dbz4j0zp0z0ic9l54";
+          rev = "9a5095d65de8355c88b102831b81a525d507612a";
+          sha256 = "0fm7sl6i5i65y82qsg2s7bdarc6r28qbyffdl43c55bjzxs4xk19";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6dd4bd78795ec7509d8744fec1e80426ce0557ec/recipes/jbeans-theme";
@@ -38529,12 +38760,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";
@@ -38697,12 +38928,12 @@
     jq-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jq-mode";
-        version = "20161128.748";
+        version = "20171116.815";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "jq-mode";
-          rev = "5c081859def7510dafc6b14449f5285916898f15";
-          sha256 = "14421p9k6b02syb8irprz527dcqbh1r4i2m86pi94sv6ffzbs0gg";
+          rev = "8384a1926cc22000e5e42f86f28d807fd6149f8e";
+          sha256 = "0fa84jln0vddrc218s8scz6hx12ym0wimh6dm58wqxias7gm9fgk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode";
@@ -38764,8 +38995,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";
@@ -38928,12 +39159,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20171103.1540";
+        version = "20171107.333";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "4e032e67e11490aacca2aacb208b4b481d430ee1";
-          sha256 = "1j6b51pjsj02z6gslw7867781kfkvv7j76x7q0m12bjrqc6f66rr";
+          rev = "eba9797444b7549c1ed210f8fa59903917df151c";
+          sha256 = "0jk2jxmh96sgpb01fpa2xp9z70a52cpi8arxcbvyrkfs7ccrx2cs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -38949,12 +39180,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";
@@ -39241,12 +39472,12 @@
     julia-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "julia-mode";
-        version = "20170916.628";
+        version = "20171116.642";
         src = fetchFromGitHub {
           owner = "JuliaLang";
           repo = "julia-emacs";
-          rev = "115d4dc8a07445301772da8376b232fa8c7168f4";
-          sha256 = "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0";
+          rev = "2ef6992125a85674532a1e37dacd5c60bee4feeb";
+          sha256 = "0vjsaws0rqrkv1mqxwf9lp8qmaq92piippybsf4ncizxwbnh8x6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8522d197cb1b2c139959e7189765001c5ee7e61a/recipes/julia-mode";
@@ -39262,12 +39493,12 @@
     julia-repl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "julia-repl";
-        version = "20171018.443";
+        version = "20171116.46";
         src = fetchFromGitHub {
           owner = "tpapp";
           repo = "julia-repl";
-          rev = "b20cadb67d65e52ecb57bbb07369215d01c956e0";
-          sha256 = "048jf00lmyrsr815kk8h5y5hdvpmbd6zvchq8x5vyziqd2vpsdc3";
+          rev = "f808a12e7ebe403f82036899c2dace640be73154";
+          sha256 = "1lh4pbxrnld205ga58036jwnxkmgabdd8hyr6g7fahw94llq2cpa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9a2a494969a9caf2f4513b12504379c9685047dc/recipes/julia-repl";
@@ -39617,12 +39848,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "20171105.1035";
+        version = "20171116.1207";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "92aabaf06ab58b2c5f89b9d9c0cbff8540535e23";
-          sha256 = "16qvnpan03abhnp14w99chs3m4vl55k410xpk491xxcc4zqr5z1d";
+          rev = "63ec95cdaa51cf8819e9e37594c53ebc9cbf5143";
+          sha256 = "1vsp46z4dsl26ndr8vr4b1lnif5jmpy0bjr14b2pz67rzhvff340";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -40104,8 +40335,8 @@
         src = fetchFromGitHub {
           owner = "tungd";
           repo = "kite-mini.el";
-          rev = "48734092e735033ad7664a9933acd4556e095f79";
-          sha256 = "0ralsdjzj09g6nsa04jvyyzr6cgsi0d7gi1ji77f52m31dl0b8cw";
+          rev = "a68619dbc109c7989f3448426d8c1ee9e797c11f";
+          sha256 = "1qmg5mdf3zhmpa4kdvkh62y6if6mj4ag885dg7y6461dg2y6ymlh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a9b76d0ee09efc6652d0541cf72c9623760dda66/recipes/kite-mini";
@@ -40125,8 +40356,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "15d95c759f44c6d61a9bd424b482d3c1979bbb5a";
-          sha256 = "1w18nag2db89yjp3ymcwf7ga4psisny7f22jr3pj6m52458ag807";
+          rev = "0dfb427f38b8c4d1845c530f718eb29d5c608638";
+          sha256 = "09zxb77412vpxwjjb9g9fyfp6bjyaxzig5zza9c46bcf1i5l4qa2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -41472,12 +41703,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20171105.55";
+        version = "20171119.655";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "6ea057a340f60d094468c97dcc63f72750d99a65";
-          sha256 = "1sip61sq8743bn4gyqpscwdhl9s6j4sl61n476c9iljkr9byq620";
+          rev = "be34a60a871c02dc4f292fd821b64a2f039e81fc";
+          sha256 = "1c4kw676qgkhlil2c867pccj5012wv3fc4nsm3q81w1wq23f0a2a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -41787,12 +42018,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20171105.2207";
+        version = "20171109.2007";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "943cde89c10529891616c6e18484089aba133258";
-          sha256 = "0z4kp0irrc1zgcc42fhw4cc7kxmwy0hg185mh5943sbmz214zdsl";
+          rev = "b6627fdd25fe6d866fe5a53c8bf7923ffd8ab9f9";
+          sha256 = "1z17z58rp65qln6lv2l390df2bf6dpnrqdh0q352r4wqzzki8gqn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -41895,8 +42126,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "https://llvm.org/git/llvm";
-          rev = "044ea898ddf3cf201f6507e0ebfd410353f7ae64";
-          sha256 = "1mn1236c5d46ngb4khla68lbzncs2vwajs6mw8a5jp87z5p7fsy9";
+          rev = "14f881da7f92f70f029d4aaea34ac83a9981f963";
+          sha256 = "1gr6lk57gywcbncfl54ms07wz2fxzwdjmi8345j57cbmmsrmrxpz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/llvm-mode";
@@ -42330,12 +42561,12 @@
     lsp-hack = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-hack";
-        version = "20171030.1159";
+        version = "20171108.1813";
         src = fetchFromGitHub {
           owner = "jra3";
           repo = "lsp-hack";
-          rev = "b9d1d211015ce347d5a643261903c9c7dfcc8d83";
-          sha256 = "1brwlcqghlklvqswi2gnan4757acrvx4pvgsnk1zhf1knigry7nr";
+          rev = "a69bd0340039570d55fdea326a1086b958647ea1";
+          sha256 = "19rsjyklhd2lgll4204l5rzqbv4jvsh1yd3mcv5g4p3s3xpfp9is";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a70d8442c653554d28dc87425913424ab42ab5c8/recipes/lsp-hack";
@@ -42435,12 +42666,12 @@
     lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20171106.535";
+        version = "20171119.2226";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-mode";
-          rev = "7c26203c407786f83b18e89629d15d9dcb31c4cb";
-          sha256 = "0lri2n18h0k5ykmp0w83ll7cyi2m880ah8d4lf5c4r39fz2kvyy3";
+          rev = "d59b92c04c40cd70f06d37ac62d0d00165cd8bb0";
+          sha256 = "0rn5cdw90ykfsaidij1nmv8vz0hcl4lr8yllfq7z77mh9sl29aqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
@@ -42456,12 +42687,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";
@@ -42495,22 +42726,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-rust = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
+    lsp-rust = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "lsp-rust";
-        version = "20171021.241";
+        version = "20171116.1242";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-rust";
-          rev = "239e0cb8912749266a6226b68c6bc3b4362876c1";
-          sha256 = "0ki66lcdc67hxx3llzw5x8vrsfi1p5m509jpcvkhrrxs1sqr4bqn";
+          rev = "26a616bd7c69bb73d2ef2d033de53f613770a256";
+          sha256 = "0bqv88lw02m8g0aix9d3xhcz8vpw69njq313wh548r13q7z3ljj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-rust";
           sha256 = "0p86223pfpi4hh8m66ccksxgl0yi7zrigd1gmbz0bzqa6yjgbp28";
           name = "lsp-rust";
         };
-        packageRequires = [ lsp-mode ];
+        packageRequires = [ lsp-mode rust-mode ];
         meta = {
           homepage = "https://melpa.org/#/lsp-rust";
           license = lib.licenses.free;
@@ -42834,12 +43065,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20171106.529";
+        version = "20171120.339";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ab00c5ba2711da7804a92be0c04b996250d350b7";
-          sha256 = "08psg0gdxb5ng1319ah06d65f8brglb69s992qf2gh1njjfv4l2m";
+          rev = "653e57d9e466c36cfeee6924e6d5c2bfbd64cf48";
+          sha256 = "0bk41axq7ks84q1pv1ldk0iw6af8gbmq4w6x2hhhpyjz40fpvgcs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -42946,12 +43177,12 @@
     magit-gh-pulls = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, magit, melpaBuild, pcache, s }:
     melpaBuild {
         pname = "magit-gh-pulls";
-        version = "20161020.249";
+        version = "20171117.226";
         src = fetchFromGitHub {
           owner = "sigma";
           repo = "magit-gh-pulls";
-          rev = "7eb4491d889c4de2e3169b91d34e7d863edf94b7";
-          sha256 = "180vqxyxv6jvp14qa0ks692c42rkf8wj0vk8nqx5j211f9gkh7vl";
+          rev = "d526f4c9ee1709c79f8a4630699ce1f25ae054e7";
+          sha256 = "11fd3c7wnqy08khj6za8spbsm3k1rqqih21lbax2iwvxl8jv4dv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9b54fe4f51820c2f707e1f5d8a1128fff19a319c/recipes/magit-gh-pulls";
@@ -43051,12 +43282,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 = "ab00c5ba2711da7804a92be0c04b996250d350b7";
-          sha256 = "08psg0gdxb5ng1319ah06d65f8brglb69s992qf2gh1njjfv4l2m";
+          rev = "653e57d9e466c36cfeee6924e6d5c2bfbd64cf48";
+          sha256 = "0bk41axq7ks84q1pv1ldk0iw6af8gbmq4w6x2hhhpyjz40fpvgcs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -43093,12 +43324,12 @@
     magit-stgit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-stgit";
-        version = "20160224.703";
+        version = "20171115.754";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-stgit";
-          rev = "1b064485d512ab547d606dcea9ad4298f355095c";
-          sha256 = "01mgnm5nr2yg377pk4bwlzzgbabsx611wrpx2vzsbiwd97yppdqf";
+          rev = "0e44df69d7c0c793808a5278bed35b2c6ec39f7f";
+          sha256 = "1zr3ir9426yg5vrsi3k56vzdhajddn5c0p2ygw587gscnr7fgv5b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-stgit";
@@ -43177,12 +43408,12 @@
     magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, git-commit, lib, magit, markdown-mode, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "20171105.918";
+        version = "20171117.525";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "909804449129a43fbc24ced3362aa5ea37cbefd4";
-          sha256 = "059m1y8bd8779l59701as2y359c1dlf7nha1nsnd5c7vgsmi28ln";
+          rev = "3c17a4ca0e167b3f8da100dc40f160047ceaea78";
+          sha256 = "1m96zcp7dbgafayc79iiac3q1da5vzx0khmxyd6aw0f0k2x8gxab";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
@@ -43555,12 +43786,12 @@
     mandoku-tls = callPackage ({ emacs, fetchFromGitHub, fetchurl, github-clone, helm, helm-charinfo, hydra, lib, mandoku, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku-tls";
-        version = "20170822.1138";
+        version = "20171117.1840";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku-tls";
-          rev = "82b1b39305da3259b53a2200260713500d7a9ec5";
-          sha256 = "0xkycqwv5bczz111zlfai2y3m9shwv237dhgyjmhd1j6blpp59jw";
+          rev = "ffeebf5bd451ac1806ddfe1744fbbd036a56f902";
+          sha256 = "16399qifjj4hnfw4a62jwxfwnc7k8lmiy3bz8iwzlc91jjic7zdc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c97d3f653057eab35c612109792884334be556fe/recipes/mandoku-tls";
@@ -43710,12 +43941,12 @@
     markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "20171031.1725";
+        version = "20171116.756";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "7a62259a22ccbf59b0132d077348ee489edf5d1e";
-          sha256 = "137xkm76k6faak478hmnr6yrhymbfln0xs0ninzp4iy57kxyx9d9";
+          rev = "7ecf84b281fbf2ae851edb31efef1402c6199339";
+          sha256 = "0dii2zwsw0y1k7jj6s32xhwdb2x8m2i2b0h3kk49nwkhjh25lkmh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
@@ -44178,12 +44409,12 @@
     mbsync = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mbsync";
-        version = "20170320.503";
+        version = "20171117.2317";
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "mbsync-el";
-          rev = "046a745ea1ea85152e27efd4c83fd3487aacffaa";
-          sha256 = "1s5zxv4qvy2lqh090lb2bc61y4y67mr22j0b02y69wd61s1w3ppx";
+          rev = "42077e83ae2db778ce0f8e22f8357b40355526b3";
+          sha256 = "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3ef6ffa53bb0ce2ba796555e39f59534fc134aa5/recipes/mbsync";
@@ -44744,12 +44975,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";
@@ -46024,12 +46255,12 @@
     mu4e-maildirs-extension = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mu4e-maildirs-extension";
-        version = "20170217.40";
+        version = "20171119.1125";
         src = fetchFromGitHub {
           owner = "agpchil";
           repo = "mu4e-maildirs-extension";
-          rev = "485438c466464fd4fe0c4b3305cd3110455f0f05";
-          sha256 = "1rj5vcb5f2xs5wvb3z5wd4866cjdzn8lmkbk6xflqq9wrakzl1kh";
+          rev = "c3ebeedd5c12e190949aed53c3040d51d21de58f";
+          sha256 = "19a95f0sp5psq00mgnbw3azn9c3db3gafax3svih1qk1ff4yf3hp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/mu4e-maildirs-extension";
@@ -46129,11 +46360,11 @@
     multi-project = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multi-project";
-        version = "20170604.1514";
+        version = "20171119.1230";
         src = fetchhg {
           url = "https://bitbucket.com/ellisvelo/multi-project";
-          rev = "04eeab45d19b";
-          sha256 = "11mn36m40i93wig79kj1jp2i3ggck1qsfw2z9q24a1zxj2gns12i";
+          rev = "f610b74567f3";
+          sha256 = "1mwqzfisah0bgh7l2v5mlgq30nviccqmk641m84mh25n195g8dsc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/multi-project";
@@ -46590,12 +46821,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";
@@ -46615,8 +46846,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";
@@ -46636,8 +46867,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";
@@ -47153,6 +47384,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    network-watch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "network-watch";
+        version = "20171119.249";
+        src = fetchFromGitHub {
+          owner = "jamiguet";
+          repo = "network-watch";
+          rev = "c62c331e9561f61bbe6845f8cb4869fe881df4df";
+          sha256 = "18jxm9qxxyxn3j72bghqjplh5fm9jcdnrck5ik21mqzl139n66n9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e129679b3e2074af3e3de1b2ccce53a2fa5e9f65/recipes/network-watch";
+          sha256 = "0y3vjrh9vlfg44c01ylkszisliwfy5zb8c5z3qrmf3yj4q096f42";
+          name = "network-watch";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/network-watch";
+          license = lib.licenses.free;
+        };
+      }) {};
     never-comment = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "never-comment";
@@ -47300,15 +47552,35 @@
           license = lib.licenses.free;
         };
       }) {};
+    nikola = callPackage ({ async, emacs, fetchgit, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "nikola";
+        version = "20170703.1321";
+        src = fetchgit {
+          url = "https://git.daemons.it/drymer/nikola.el/";
+          rev = "964715ac30943c9d6976999cad208dc60d09def0";
+          sha256 = "0b0bpw9r2xi1avzq76pl58bbk1shb57d3bmzd9d53d07gj5c9399";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8ef4f7c2f1c48edd7b4a6fdcda51908d216c631c/recipes/nikola";
+          sha256 = "1d0a80y910klayb9jf0ahn5lj9l6xdhwcp2in3ridmqislavrcnv";
+          name = "nikola";
+        };
+        packageRequires = [ async emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/nikola";
+          license = lib.licenses.free;
+        };
+      }) {};
     nim-mode = callPackage ({ commenter, emacs, epc, fetchFromGitHub, fetchurl, flycheck-nimsuggest, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "nim-mode";
-        version = "20171028.2219";
+        version = "20171119.1027";
         src = fetchFromGitHub {
           owner = "nim-lang";
           repo = "nim-mode";
-          rev = "10296ac3d9ee70bf31180b5158ac3b4a58f45d22";
-          sha256 = "0mswc1f141xif3h4zshza0ar64s99fp6j3l795c67a3yvmc7l50v";
+          rev = "91450d3117a4dec975d913b58f1ece6808e5c2ba";
+          sha256 = "01h0wyjh8s91s1wyy6drwnvc3gw7a905xg85ikv7ddywi920c169";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ccb5f24b9d55c77eaa7952a9e6a2e0ed7be24/recipes/nim-mode";
@@ -47324,12 +47596,12 @@
     nimbus-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nimbus-theme";
-        version = "20171026.504";
+        version = "20171118.1141";
         src = fetchFromGitHub {
           owner = "m-cat";
           repo = "nimbus-theme";
-          rev = "e78561a828e50b5bd0984723d9040620367180c8";
-          sha256 = "04cbr0a3kvk79lyrriblm4q7y00j0banwl7a4r9li4iq92rgcivh";
+          rev = "f10212c030e173b77bf12d13fc43bc7fd75cbc33";
+          sha256 = "0b1c3dar0nq84j010zx4p7nvdc8jkg7fhyv4gk2ly414dd8a7l85";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0e6b456b76e2379c64a86ad844362c58146dc6/recipes/nimbus-theme";
@@ -47744,8 +48016,8 @@
         version = "20170927.415";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "7ac96b149f5a0e5c03b64856d7c20789dab3c628";
-          sha256 = "0l5j3605ihii40204jw9vyk96f3dmfvr7y9p9ag178wb5x2ab6cb";
+          rev = "cf08295c503a2cefc4c51c5398f3fc1159521ff1";
+          sha256 = "1vc49c5n5jdkhvy436avklcvpw6nhdk9kw9gybd6izjbrcjgy62c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -47908,12 +48180,12 @@
     nu-mode = callPackage ({ ace-window, avy, fetchFromGitHub, fetchurl, lib, melpaBuild, transpose-frame, undo-tree, which-key }:
     melpaBuild {
         pname = "nu-mode";
-        version = "20171103.1605";
+        version = "20171115.1400";
         src = fetchFromGitHub {
           owner = "pyluyten";
           repo = "emacs-nu";
-          rev = "8ebadeccda7aa97f5555abc9b45a174f62f0134c";
-          sha256 = "1bws17vnzp759x29n1aamd5scnrbrf4ckm51kdw08is9im4dzwxl";
+          rev = "d482efe18ecc486384ae8144c2321d9cbe67fe4c";
+          sha256 = "12lb4cpxj4kjh12jkwhcbnia0rvkvxv3s8ddnxnqdq9h5sg8i223";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/230d5f8fdd965a24b8ff3cc94acf378d04815fca/recipes/nu-mode";
@@ -48187,12 +48459,12 @@
     ob-async = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ob-async";
-        version = "20170705.2131";
+        version = "20171114.1936";
         src = fetchFromGitHub {
           owner = "astahlman";
           repo = "ob-async";
-          rev = "f0bfe88d6032e9ae8f4953e2569aeca5431a3e3d";
-          sha256 = "0ak23m2i24ix9443236zdvp3f3j27dis5k6pivic3whmb618g3v8";
+          rev = "6099e94538083e035a4152335f93eae5b13c8d3f";
+          sha256 = "1ws5yngga0zi8cxwd6nzgq17d1k6g44zw2pzivc2fyljxnm70892";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ob-async";
@@ -48211,8 +48483,8 @@
         version = "20171103.1548";
         src = fetchgit {
           url = "https://bitbucket.org/pdo/axiom-environment.git";
-          rev = "33af42c1c3109f17d63c69cdca0319e424409a37";
-          sha256 = "1nv102jd07nrhkp4fci5n5f1l6z3qan1lb3ykhhvl90k9ygqbac5";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/ob-axiom";
@@ -48400,8 +48672,8 @@
         src = fetchFromGitHub {
           owner = "mzimmerm";
           repo = "ob-dart";
-          rev = "2e463d83a3fe1c9c86f2040e0d22c06dfa49ecbf";
-          sha256 = "0qkyyrrgs0yyqzq6ks1xcb8iwm1qfxwan1n8ichmrsbhwsc05jd3";
+          rev = "04d63b922a5469506560ca0c00678e57131e0269";
+          sha256 = "1r0r0dqsr44kcbj2w96rbx8alvkkfzc98ac35zb4ncy1bf71jhfb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb3219b9623587365f56e9eeb4bd97f3dc449a11/recipes/ob-dart";
@@ -48543,12 +48815,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";
@@ -49443,36 +49715,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    omniref = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "omniref";
-        version = "20160225.1424";
-        src = fetchFromGitHub {
-          owner = "dotemacs";
-          repo = "omniref.el";
-          rev = "cc18a41e9717bae439d66c945788e3e19b4624ad";
-          sha256 = "0d6kjggi2p937ydpvw3fr2cxy5vj46dmfqbkb7a9jdhnzxadnwh5";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/163d77d2b0d7759f3747239089d8761a7db13a9e/recipes/omniref";
-          sha256 = "0lgw1knqppdg046zqx4m7nbzvsasr89wa9i4594hf46w1094dabj";
-          name = "omniref";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/omniref";
-          license = lib.licenses.free;
-        };
-      }) {};
     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 = "20171105.912";
+        version = "20171119.1236";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "ad4a19c60f7dc3d52a5b11febdcc9b78930a1e7d";
-          sha256 = "0jc2ap9l0cc636kssld1bqalbriib57sw1rzz45s8r19jqa8w5gm";
+          rev = "af6039f5c02dc4664ce2baa96c1a6a1e5c7a61bb";
+          sha256 = "0cx1r7cl3jd0wr424xkf10y2rqngl8zcidyy04xw71ghfj79zhnr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -50001,12 +50252,12 @@
     org-brain = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-brain";
-        version = "20171004.1305";
+        version = "20171116.2353";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "org-brain";
-          rev = "35d46695ceffff4069e66fa2a4f039509f1a3c7e";
-          sha256 = "0c0jps0gxsk3m8s78yp8141wh7g2nx8acd1jc0v4ffmlr8qi2csj";
+          rev = "432499023094eda1aa7a50a7ea9122fc5e6aacfa";
+          sha256 = "1h79wr8aji4l8rgj3g7s5vkpkhahp77fm4x7cavmfzbxin5d0nqb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/47480fbae06e4110d50bc89db7df05fa80afc7d3/recipes/org-brain";
@@ -50316,12 +50567,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20170924.2309";
+        version = "20171116.1045";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "14261c2619be224fc4c499624abc2cba3663e7f5";
-          sha256 = "0d8lcg9gnzf5bpn1z83i5nni444mzy6mlqggadsrdav9bdf8cfy2";
+          rev = "d0e6793497d57a90543d711310ad26fae7c9bcba";
+          sha256 = "0b9a09gx9idsaw2jx5z6zd8k8la0ly3132gkz7krzkvf3nc4yfz9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -50630,12 +50881,12 @@
     org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "20171105.2011";
+        version = "20171117.1206";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "acad51a1efbdab58975aebe7cb69bdd6556bc44f";
-          sha256 = "1y183bsjdxlfi22xd7kd1w5xa3qnmgf7063083f977sf5z9afsyy";
+          rev = "11d9431923c31cf8b5ce68aa673601aff4bf1805";
+          sha256 = "0v8559yqp286y7r8c78mj6wxrn5nj7ji035k27c22ij17lfd314b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
@@ -50651,12 +50902,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";
@@ -50756,12 +51007,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";
@@ -51015,12 +51266,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";
@@ -51159,6 +51410,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-randomnote = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "org-randomnote";
+        version = "20171117.848";
+        src = fetchFromGitHub {
+          owner = "mwfogleman";
+          repo = "org-randomnote";
+          rev = "552742f0574171629824c9627b4cc59ce3d73d74";
+          sha256 = "0jgdn0g2jab62i2i9yw7mhbd1cikqkx8skq7zrd7l64jd8my70xp";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d92cb392b23701948176ba12516df5ae6608e950/recipes/org-randomnote";
+          sha256 = "06i42ig7icap1i1mqzv5cqwhnmsrzpjmjbjjn49nv26ljr3mjw0b";
+          name = "org-randomnote";
+        };
+        packageRequires = [ dash f ];
+        meta = {
+          homepage = "https://melpa.org/#/org-randomnote";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-readme = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, header2, http-post-simple, lib, lib-requires, melpaBuild, yaoddmuse }:
     melpaBuild {
         pname = "org-readme";
@@ -51231,12 +51503,12 @@
     org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, pdf-tools, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20171019.724";
+        version = "20171118.1306";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "8fb1275b4c0e2dd46593754e497940c49fd9da6b";
-          sha256 = "0jha5qlab3gsyl8iysf1kqn2f15afvqjvnl2nyzh47llqng8yskj";
+          rev = "6d5c60810fb55c454ca3fdcd5a31dda577604190";
+          sha256 = "06y4lmndx2psahrcmb1pa8clj2abz99k2d10jy8pzah1klj76svl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -51393,8 +51665,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";
@@ -52427,12 +52699,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";
@@ -52511,12 +52783,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";
@@ -52637,12 +52909,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "20171029.1929";
+        version = "20171115.1607";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "8de0bbd612af6b4dda5e9d5de1bd9d4bf1cc582f";
-          sha256 = "0kqrcyccf0b440325mp7yk9rfcrg5f6g0wkc107gbnc9s6h55q6d";
+          rev = "fd7eb8494766fa9a31e7b5aeb2d6d7d686ea30c6";
+          sha256 = "0brc6a83s0jp7zv9qvf45z2mix24ww5hqv8xbwjzm3kbz1971php";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -52718,27 +52990,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    ox-latex-chinese = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "ox-latex-chinese";
-        version = "20171014.1532";
-        src = fetchFromGitHub {
-          owner = "tumashu";
-          repo = "ox-latex-chinese";
-          rev = "3af3872c5435b6d4feccd0fd2bac32cd156724dd";
-          sha256 = "06b3k3c407dvj0gx73w8wspy2mndl1q2s9wlq4g6hs2v4i2pd9dd";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/ox-latex-chinese";
-          sha256 = "138yprik36jxhm6dnj42gaynqd84w7ya3s0kbnxhbizrfl4n4ck7";
-          name = "ox-latex-chinese";
-        };
-        packageRequires = [ cl-lib emacs ];
-        meta = {
-          homepage = "https://melpa.org/#/ox-latex-chinese";
-          license = lib.licenses.free;
-        };
-      }) {};
     ox-mediawiki = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ox-mediawiki";
@@ -52805,12 +53056,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";
@@ -52910,12 +53161,12 @@
     ox-textile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-textile";
-        version = "20170907.351";
+        version = "20171116.1837";
         src = fetchFromGitHub {
           owner = "yashi";
           repo = "org-textile";
-          rev = "04bcaa64a0c5a099bd7adae5e6584cfa685b2b67";
-          sha256 = "1z1574n6br5rabv9g5qcwk49lx05a4j1gzl3hc2axkxdrrm4m6kk";
+          rev = "02aed1f5509991bb3c3381a0e71dd2e77f93b20a";
+          sha256 = "0kbafbqijx802xk1q722ji9d94fs4dxayppsxvxpkml4bq0k0h0q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02a68a7a99ecce8f1afa03e72ff1f636edaf5868/recipes/ox-textile";
@@ -53460,8 +53711,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";
@@ -54000,12 +54251,12 @@
     pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "pastery";
-        version = "20170206.1934";
+        version = "20171113.1949";
         src = fetchFromGitHub {
           owner = "diasbruno";
           repo = "pastery.el";
-          rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
-          sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
+          rev = "4493be98b743b4d062cb4e00760125e394a55022";
+          sha256 = "0bmm18d84lrkclg4md46k1ma03w7a97s10hrvjcm9yj8xbrjqqsc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
@@ -54231,12 +54482,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";
@@ -54691,12 +54942,12 @@
     pfuture = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pfuture";
-        version = "20170726.1502";
+        version = "20171116.812";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "pfuture";
-          rev = "8b5cd8dfb8769d2b24484a313d3d21938afd3dfb";
-          sha256 = "1d63sfwy7qmldhq2xda9dglg91cy2kpjdr2rlmqb48w95wf0am3m";
+          rev = "d55a764b5beee803e489974be2408dbe236fc482";
+          sha256 = "1p6prnjh9pnz6q7fmlb5wjm2jzdm2jikkp6qfll8v7m3l19xwrmw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5fb70c9f56a58b5c7a2e8b69b191aa2fc7c9bcc8/recipes/pfuture";
@@ -55111,12 +55362,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";
@@ -55258,12 +55509,12 @@
     pianobar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pianobar";
-        version = "20120128.1301";
+        version = "20171117.1522";
         src = fetchFromGitHub {
           owner = "agrif";
           repo = "pianobar.el";
-          rev = "9193e3888a8097dbe7ee58e4658cc6ec2a76b160";
-          sha256 = "053jqzl0sp3dnl4919vi30xqrdcpi9jsqx5hndj1bprf7926w11d";
+          rev = "68fe0ed839f6775535081b3ae0a946ccaf11234a";
+          sha256 = "0ycwahbn7fny3slmh5xkfv7vk4qj95jydygdk6pzzx6drsdhnyza";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5659b4c7be20572aabe75caba866301393db012/recipes/pianobar";
@@ -55468,12 +55719,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";
@@ -55923,22 +56174,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;
@@ -56901,12 +57152,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";
@@ -57068,12 +57319,12 @@
     project-shells = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "project-shells";
-        version = "20171106.450";
+        version = "20171107.51";
         src = fetchFromGitHub {
           owner = "hying-caritas";
           repo = "project-shells";
-          rev = "d681cf9488f5b7fe76fc53572a8c62f1664f8315";
-          sha256 = "1mp2n5g952p91rv48p87ak3jydma4cisfzp413yr1d0lf833r3c7";
+          rev = "d9401de750e444697c2eb9de1ff79f2a2eba4af8";
+          sha256 = "1x16l0gijirmj667s8l87nizsiww2wzjka9ydl4yxzchl7a486cp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/becf54de5ae9582d7c76382dff16d40b04b1a464/recipes/project-shells";
@@ -57089,12 +57340,12 @@
     projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20171102.55";
+        version = "20171119.914";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "48457fb32b7ff31e5dd30d38e576b8e6c8d3ceba";
-          sha256 = "096q8vmpwz48gkkms4ryddaa3vbf93m0gjik96c0hmag3fygz0cg";
+          rev = "189e0388ce40c5b4c304a63929d89a766c7c1b3f";
+          sha256 = "1nn0z93cdhhc9g476jjzv91k75li3hx92i4mkca8mlygsfzdbl56";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
@@ -57194,12 +57445,12 @@
     projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }:
     melpaBuild {
         pname = "projectile-rails";
-        version = "20171103.1004";
+        version = "20171117.730";
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "ff5f63df4e1403f5ab1286f1099a072a5f6694d9";
-          sha256 = "0qxnpz0nmh3rxrqmw93abmxjf0fnhl0nyalywa8crhzfrd7qff79";
+          rev = "348b11b237e87d87e784ab7accaef2bf97664bd6";
+          sha256 = "1swlbndipa48hd6mhmgzi1x3bapdzn4cwd7j7a13wxfcj9s1jm9x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -57534,8 +57785,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "bcda919ceeae8bd854c07a8300d8996ef52315db";
-          sha256 = "1fgmv9z6crdmn9z2frm68cwp9jxc15hi8sif952b127sr2kr074l";
+          rev = "baed06e69443613c531a3580315759c08db6667e";
+          sha256 = "0sw8p3axhniz9kwvv3h7bd9lw0abfgwxldqmhk6c26cfq8bhggvz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -57621,22 +57872,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;
@@ -58403,8 +58654,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "12c954eef9ff3764fb3c281ba0ffd7ff85c7f3ca";
-          sha256 = "0jrklxvwqlq697psfxbn6jqhib997g7nz0irbv3x6dp147p7njlz";
+          rev = "6ef5895e7d8dd54a12f5e2a37239806ac3ef0a71";
+          sha256 = "0bc4rfr230j855wka59wpaqx372xn15zhkg0gkcg135krplwmc9l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -58546,12 +58797,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20171031.431";
+        version = "20171116.1304";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "06e1db1bb2f4d2da994387f2cbb1cfc6e5db242b";
-          sha256 = "019j22hmc1f1izc61l8hnasvs4vj9sb9pl9w3v63ck086h89jda1";
+          rev = "ea6a4a9223c95d79755afbea49d70592a663188b";
+          sha256 = "19xzcp16kpb5379lr93w9xlq2j83wl3spyccd886a6ak25h7vgcp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -58588,12 +58839,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";
@@ -59029,12 +59280,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170913.534";
+        version = "20171116.1435";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "33877b1bb24faea68842e0396bd5718b84e47451";
-          sha256 = "0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1";
+          rev = "132175062ca4b8436bfc69b60e0de1feac0d2c8c";
+          sha256 = "10bqg28znv1frfvdg8gp3iv5j3dpimnvi96l8gdg7w9217v82ja8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -59791,12 +60042,12 @@
     rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rebecca-theme";
-        version = "20170730.943";
+        version = "20171114.2208";
         src = fetchFromGitHub {
           owner = "vic";
           repo = "rebecca-theme";
-          rev = "add349748d0f648587bf17d14036677570f081aa";
-          sha256 = "1932ga5j5cv3w32iwxjdjs2jdz20sw5ai10dnxb6bdzh68kkw4f3";
+          rev = "f34089f176def79ecee5feda7dd79896f555bbe2";
+          sha256 = "08kavajrmp3lxl9r67rg9710326ynywlklz73vdijpzjpyhp5al5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme";
@@ -59980,12 +60231,12 @@
     redprl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "redprl";
-        version = "20171030.1346";
+        version = "20171119.647";
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "6ce431a3b537703e89981426368afbc64964ab36";
-          sha256 = "1bzl0zklb83ndxyi92py1zrlnxvv4w2rq8m37azmijigprad1mcz";
+          rev = "58ed30890ec9ee4e0b4b91aabaff050a78fb9055";
+          sha256 = "1k1f5w0a6gm2b2ygdrwx1bcqd3xfaf4vl3pmyhxgpmff70yj91k6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -60966,12 +61217,12 @@
     robe = callPackage ({ emacs, fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }:
     melpaBuild {
         pname = "robe";
-        version = "20170611.1755";
+        version = "20171116.1249";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "robe";
-          rev = "9305fa042c40a32a2fcf60f935c0796dc67b5c55";
-          sha256 = "0jx3pnz9m9bxlga867qdb6midz82mfl4wzn9dsfihkl399hbj46j";
+          rev = "7829f4fdda41eee0add8868646ab86e6b17de4b4";
+          sha256 = "1h526m21g0yqpry8dh42aj8nv4lp74dc1cmcyfb16sx5rrk0vx27";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/673f920d02fe761bc080b73db7d37dbf5b6d86d8/recipes/robe";
@@ -61180,8 +61431,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "e413e31d1e74fae1fc1bf86792013c3680be6580";
-          sha256 = "0hfibc1nllsp9zdb803ac6cwp6xx4xf8mvjszfq9vp5a63sgw0pl";
+          rev = "7de799dfd22bfd1b0b7791781869879b1aa3f441";
+          sha256 = "003384g5pj2cbn6dqq8b78w4b33dznyxv4n8270pvq6idf2paan3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -61320,6 +61571,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ruby-extra-highlight = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ruby-extra-highlight";
+        version = "20171106.1133";
+        src = fetchFromGitHub {
+          owner = "Lindydancer";
+          repo = "ruby-extra-highlight";
+          rev = "83942d18eae361998d24c1c523b308eea821f048";
+          sha256 = "18mq0ap7f0b22cdp2wdj0y2fqsahm2ngf7fvdy0mkkfs3818awlp";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/73488b0aea4eb470a1f235fece0753797bfd7e35/recipes/ruby-extra-highlight";
+          sha256 = "0dybf39yv0yzy8bsz9k5s64033id6hq4v268m11la4bp5fbv5r37";
+          name = "ruby-extra-highlight";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ruby-extra-highlight";
+          license = lib.licenses.free;
+        };
+      }) {};
     ruby-factory = callPackage ({ fetchFromGitHub, fetchurl, inflections, lib, melpaBuild }:
     melpaBuild {
         pname = "ruby-factory";
@@ -61722,12 +61994,12 @@
     sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "sage-shell-mode";
-        version = "20171103.333";
+        version = "20171119.234";
         src = fetchFromGitHub {
           owner = "sagemath";
           repo = "sage-shell-mode";
-          rev = "75b84fdba1e0f4511e518b7e56c816f1ace49024";
-          sha256 = "1mysq81xnwarcqvwda17n90fy25mp57gvijrccnxw91ni2wncyl4";
+          rev = "e4e7523178f09270a28b8b712191b1e980e6e8c9";
+          sha256 = "11lk7fpzpak36jgihw3bm99j3w6x18zynqhy714rxmjjhy4lpla2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode";
@@ -61953,12 +62225,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";
@@ -61978,8 +62250,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "069e95a4835e38e53d95ce7faf007ca77cd394d3";
-          sha256 = "0xmj9niia63pcb6nq06004nrxp22r3qgwzyjkl47nhlxp8jbd0mr";
+          rev = "3ad7670e026086a042d1962db5a599cfe2069078";
+          sha256 = "0q6bhgm84ybg2ns3mqi6b2q7bs8jsca1ky0xwjdwqw6bbh7gnyfx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -62980,12 +63252,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";
@@ -63463,12 +63735,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";
@@ -63547,12 +63819,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "20171103.1303";
+        version = "20171108.910";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "2e91b8d58a493afabc2f2d820bd665ab58e43ed1";
-          sha256 = "0mqcx567cxc9h90q2zw350xhj9zn41dpbac3czm5l92cyd8wqrj7";
+          rev = "aa2fda2419b6e2540f1e6eb3789b6a247c319050";
+          sha256 = "1imnpbc1wkx8gwac1v3ailycjxs4yxwhbhifgn20jib85nn8s66i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -63796,6 +64068,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    simple-paren = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "simple-paren";
+        version = "20171116.206";
+        src = fetchFromGitHub {
+          owner = "andreas-roehler";
+          repo = "simple-paren";
+          rev = "89a9480db4807601eef15e42f33dff070b11ada9";
+          sha256 = "0k6d1rn7s4c56k32qjdhjjk87i072805nqs9304ip901nrlzj90s";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5e8886feb4a034fddd40d7381508b09db79f608f/recipes/simple-paren";
+          sha256 = "0bmw8pkh9864gymy36r3w5yw08pq894gb1n80wfqls4a78zyvkm3";
+          name = "simple-paren";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/simple-paren";
+          license = lib.licenses.free;
+        };
+      }) {};
     simple-rtm = callPackage ({ dash, fetchFromGitLab, fetchurl, lib, melpaBuild, rtm }:
     melpaBuild {
         pname = "simple-rtm";
@@ -63992,8 +64285,8 @@
         src = fetchFromGitHub {
           owner = "NateEag";
           repo = "skewer-reload-stylesheets";
-          rev = "27c5a64785cd61419c1fe5bf53da46cc278f251d";
-          sha256 = "0pc0mnrgd47cq61s8xrc9mcizfc3cj4ln7r5ixqk6jq59img27fh";
+          rev = "b9cc5635230ac3c0603a6da690c6e632d0a7490a";
+          sha256 = "0c8dpbl0z45w1brllcysibmpbnk8yqjgi3iywmqnhrycb7lrda4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aeaa2c89b995f1ab0b0f96493db0cda44cc851ee/recipes/skewer-reload-stylesheets";
@@ -64114,12 +64407,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20171102.1213";
+        version = "20171106.1331";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "158849d0b0960a41efd83e70087ef93b29029cb4";
-          sha256 = "03iqq3s6syd5bmy1wi7ics80l30dkkm045bq7dhj86c0p1azfmcl";
+          rev = "55fc578ed829b95a63c31cec242bd86a6e0be39e";
+          sha256 = "1bgmk0kr0y15lm2cmkmzw529r2k98j4c3n8v1k4rsxw1rj8961n3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -64282,12 +64575,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";
@@ -64785,12 +65078,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20171101.244";
+        version = "20171117.633";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "9682ba930374a4d62b444950b008d2bca1cffba1";
-          sha256 = "1nsi3x9zizbxx95ka5cgl5rnsw5iz92acjcv6b4id0acaysq6mdm";
+          rev = "4873352b5d0a1c5142658122de1b6950b8fe7e4d";
+          sha256 = "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -65331,12 +65624,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";
@@ -65352,12 +65645,12 @@
     solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solarized-theme";
-        version = "20171103.52";
+        version = "20171114.1506";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "solarized-emacs";
-          rev = "d06bf199f0e590708452ba32009d069dafa3d347";
-          sha256 = "0zpwf8gf72i74rnmr0ywaynyasj5a8bxqag1kj70pigb4jxdwwyn";
+          rev = "642b2afa38cb59b9e940e5082614e36c6e6a94a3";
+          sha256 = "04qcch0y4jrvi7vfnjbyfvbj8ajjrhhcqhxkk4i035vcfchnpx14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme";
@@ -65373,12 +65666,12 @@
     solidity-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solidity-mode";
-        version = "20171001.926";
+        version = "20171113.1058";
         src = fetchFromGitHub {
           owner = "ethereum";
           repo = "emacs-solidity";
-          rev = "d0a09c68912fcd03e384b0b2a9746f4e002d0df8";
-          sha256 = "0zs16af2j6l0vypgikvs78x82cq8m5yfdfpi550cymkv7mjydj4v";
+          rev = "b8ddfd683c3335805f0a4788244bf0d224ffc6ae";
+          sha256 = "0s5hb4l3x9q3vch0i314138p53aq9kb0pyn9whk7r9zwrzvi34jd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode";
@@ -65394,12 +65687,12 @@
     sonic-pi = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild, osc }:
     melpaBuild {
         pname = "sonic-pi";
-        version = "20171011.503";
+        version = "20171117.426";
         src = fetchFromGitHub {
           owner = "repl-electric";
           repo = "sonic-pi.el";
-          rev = "6b362bbdfacf7aabeb494c3e22f6fd3f48ca9738";
-          sha256 = "0xk03swaclhm41vnwzmwil05mgabkb23lrp28wvl6qxzhd3hmrwq";
+          rev = "dbc618db5f98ed86cd421c5646573358bdef8283";
+          sha256 = "1s0r5zpv5d6sbg8fjmax641dwmlygvfpfx4j69v49pgxcwpyzpq2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sonic-pi";
@@ -65695,12 +65988,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";
@@ -65737,12 +66030,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20171102.1009";
+        version = "20171118.626";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "ce45974252536af726e67515271186f92d47e3cc";
-          sha256 = "16gkphggpkach7w1s4qx08i2p53g1w9ps0r0i8a0qfk6rv0myvgh";
+          rev = "7807f341e1ef3d0700d0f7e05bb14054139c4298";
+          sha256 = "1ylvd49ap41rd2csi9y8l8kwi7dkjy3khjzswrnqm1zb8q15vj16";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -65821,12 +66114,12 @@
     sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "20171030.528";
+        version = "20171116.510";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "e220a0c0c478fee0be3622442651981cdd82090c";
-          sha256 = "1k1ih6y9yq1fx13863yacx69v6f77b8xhkrx5i2dpm4h7wki1dg4";
+          rev = "00527b8172ae61b667bc70a802c112132e06ba0b";
+          sha256 = "1k8hg1mg8zyxr9bvfm2k2447arph9wk58yjbxgqlq4w5svrq79km";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
@@ -66408,12 +66701,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";
@@ -66429,12 +66722,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "20171031.2204";
+        version = "20171119.2106";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "5cd1f8080fefb64e6eaa1098cc191db6abb97e23";
-          sha256 = "0pn9wf4svka3rxzy09jarjp3ycz2bvm39898qaikjf0dwaydlqlw";
+          rev = "810106accb6e68f14044b9b8c7c81366e4bfd58f";
+          sha256 = "0l9pm0b4nk3vh4alrv4mxwa3zwx3dnd7m8bg54a4ch20rizwhyyd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy";
@@ -66534,12 +66827,12 @@
     standoff-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "standoff-mode";
-        version = "20170609.134";
+        version = "20171115.931";
         src = fetchFromGitHub {
           owner = "lueck";
           repo = "standoff-mode";
-          rev = "b194fde6bf31ddc77409275e134aacba27e88043";
-          sha256 = "0l48dij62d5cvw7kry0739i8zixkbmj80ghhixb30l6g0wg8k48g";
+          rev = "cf84b14066d63694d931395c6026fd0245d8a62b";
+          sha256 = "0dbcaz3faw8knx91yjsrb988sn2d9k0i5byhs1bi1ww36y6hmgs6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/98858a45f72c28eec552b119a66479ea99b60f93/recipes/standoff-mode";
@@ -66639,12 +66932,12 @@
     steam = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "steam";
-        version = "20171102.541";
+        version = "20171108.1613";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "steam.el";
-          rev = "9d57a055b0e20fa823542922580e43eb671944a5";
-          sha256 = "0592z17388qd9cakskw7wymxpz7svxqy5mdzi4add0nffdj51qxx";
+          rev = "d6ca2a828b0824da51978397e198bf91c51ce793";
+          sha256 = "16cxws1b3iwm9aqbiip298zsjm6gwjihpvkia4p0zvzynwhflw8q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25a45eb6297168cd0ce4c4db5574362addad5c69/recipes/steam";
@@ -66744,12 +67037,12 @@
     strace-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "strace-mode";
-        version = "20160710.2134";
+        version = "20171116.1239";
         src = fetchFromGitHub {
           owner = "pkmoore";
           repo = "strace-mode";
-          rev = "6a69b4b06db6797af56f33eda5cb28af94e59f11";
-          sha256 = "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f";
+          rev = "2901baa968d5180ab985ac40ca22cc20914d01f5";
+          sha256 = "1jd930nc2g562n4cqq1ppl2d8dq7bxkr3fh9f0gjms7bcm106kz9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9b2003bee9992d9e79124d95d30b573c8a6bdbfe/recipes/strace-mode";
@@ -66807,12 +67100,12 @@
     string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "string-inflection";
-        version = "20170419.1638";
+        version = "20171117.1731";
         src = fetchFromGitHub {
           owner = "akicho8";
           repo = "string-inflection";
-          rev = "297aaf68e666381521b02d433fcd28d8b51c48de";
-          sha256 = "1621lwda3j3pwfxqwfa2gp4fxz869bc0ib87v71mrab8p1qsdizg";
+          rev = "e644c8bf2a5e36ddadcfe4de657588c00fd368dd";
+          sha256 = "1p5i5jkybzjb008hlq90mjrbcap67dszzmp9flarkq6p0sf1lw12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection";
@@ -67477,12 +67770,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20171105.42";
+        version = "20171107.1041";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "5d373be194e21f3e29a03fb498b901fcc5e128f9";
-          sha256 = "0ycch0gqhjxg9ffz5y942z908zy4y3yl242dnyskkv3vmkrziwsz";
+          rev = "215922e5fb038052c2ba756bcb2cf42332ade9b0";
+          sha256 = "1g57qbh53klx18l913m16fband2jhplvzmfkzsvvhh3kd143fi5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -67854,12 +68147,12 @@
     system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "20170831.1239";
+        version = "20171114.1027";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "ccc2a6b3794b6ada59905ee609fe9e1d973622aa";
-          sha256 = "0hs00y8wvsagnc8ckd8izxvigsli7230hgxf5xmrdknj9h4icrgw";
+          rev = "4efd204a23be84fe1c125e26f07ef794f128fac4";
+          sha256 = "07sg5yiz3fmr3alsv9sqm6iny117zrncc9sz41w6q9bq1l0p6c87";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
@@ -68378,12 +68671,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";
@@ -69117,8 +69410,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "4f77ab8e296d64c57e6ea1c6e3f0f152bc7d6a3a";
-          sha256 = "1l94kmkhqrab0nigaafizxgc68msqaklc7wzdpxxxnfs2yh23idq";
+          rev = "cde4d4181a252323d87e7ac086ce495cd1227c5c";
+          sha256 = "1228cyzk7n6v1aadcv8i651svwbflh4kf5ahhy3cxzxc38zs1sxb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -69155,12 +69448,12 @@
     tickscript-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tickscript-mode";
-        version = "20171101.108";
+        version = "20171113.1047";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "tickscript-mode";
-          rev = "45ce0b4f8f18ffa00a4fd2ab3823118f69b94653";
-          sha256 = "0w6gh6nb81c5jp4px6xx5d3wmwgkh6irzwgk42g0mkhjifzm83ip";
+          rev = "6e7564593d7735acc9f3fa670ec6512991cb73a1";
+          sha256 = "173zk9nzjds0rkypmaq8xv5qianivgk16jpzgk0msdsn9kjbd8s9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c60ee1839f728c5041bde1fe4fa62c4d41c746ef/recipes/tickscript-mode";
@@ -69176,12 +69469,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";
@@ -69832,15 +70125,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 = "20171115.853";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-traad";
-          rev = "5ee7a4411fa39601ff59873f1e129fdb64df4e97";
-          sha256 = "0h9hx5jpi0clmrj7sf0srisdp9h5zgakwrs7cyqs3hmw7z4ds5r2";
+          rev = "2082e62ade06264a4df553ad24b879c8bbb38615";
+          sha256 = "16x4yhrkg1riddnaksj8i6cb62ja4dn7mid9s8qcim1w43ckccdq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2b3eb31c077fcaff94b74b757c1ce17650333943/recipes/traad";
@@ -69848,6 +70141,7 @@
           name = "traad";
         };
         packageRequires = [
+          dash
           deferred
           popup
           request
@@ -70072,16 +70366,16 @@
     treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "20171103.544";
+        version = "20171119.534";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "96228f9e3051f13c14b1bc0799e925053c709965";
-          sha256 = "0y2w215mmv97pj60g42g5v5vadrznvdaifxadm78qplql4015m7b";
+          rev = "a1756caf37bc24d2743cee1fc1eaaf52b22e1ee3";
+          sha256 = "0g4ivy96433dr2c0wr5qik5pnvfcsl4inrs8yypr2nj8cczpgzcq";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
-          sha256 = "07npjnhn9a0b537h1wmvy57bmicd2cji7bslp4wbnrfmmg2jdc3a";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
+          sha256 = "0zbnw48wrbq9g7vlwxapxpq9xz8cqyr63814w0pqnh6j40ia7r2a";
           name = "treemacs";
         };
         packageRequires = [ ace-window cl-lib dash emacs f hydra pfuture s ];
@@ -70097,12 +70391,12 @@
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "96228f9e3051f13c14b1bc0799e925053c709965";
-          sha256 = "0y2w215mmv97pj60g42g5v5vadrznvdaifxadm78qplql4015m7b";
+          rev = "a1756caf37bc24d2743cee1fc1eaaf52b22e1ee3";
+          sha256 = "0g4ivy96433dr2c0wr5qik5pnvfcsl4inrs8yypr2nj8cczpgzcq";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
-          sha256 = "146j4l2g40dhrv8nyfymxkajn19gvlkmirwv9ndvkvl3yy175vg3";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
+          sha256 = "1b02dybvp2fs9n1f80gpnqaxic45wwykny7vdyfay11ds5xzfpsg";
           name = "treemacs-evil";
         };
         packageRequires = [ evil treemacs ];
@@ -70114,16 +70408,16 @@
     treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
     melpaBuild {
         pname = "treemacs-projectile";
-        version = "20170903.1235";
+        version = "20171114.1009";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "96228f9e3051f13c14b1bc0799e925053c709965";
-          sha256 = "0y2w215mmv97pj60g42g5v5vadrznvdaifxadm78qplql4015m7b";
+          rev = "a1756caf37bc24d2743cee1fc1eaaf52b22e1ee3";
+          sha256 = "0g4ivy96433dr2c0wr5qik5pnvfcsl4inrs8yypr2nj8cczpgzcq";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
-          sha256 = "0y7mq466c9cigyd6imzjnh54aq9kcsikhr7llga5gsclf35fc5ld";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
+          sha256 = "0q3rj0g03423ql0d1ssp928x5f4540kxqlg51584aw57dlyy2z3n";
           name = "treemacs-projectile";
         };
         packageRequires = [ projectile treemacs ];
@@ -70135,12 +70429,12 @@
     treepy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "treepy";
-        version = "20170721.913";
+        version = "20170722.355";
         src = fetchFromGitHub {
           owner = "volrath";
           repo = "treepy.el";
-          rev = "b2191139d67d024e4666b6039e39a23b15b1aba2";
-          sha256 = "170xgvwgnnqkr259d0wv6l4kcp62mb1y1wq6rnk8gp39djsqw01q";
+          rev = "282fbc94747fe2a00d36e2a74d147c8fa0ac4be7";
+          sha256 = "0acw6c073h2a0fy8gx2xc2d1fw0yhaqikqrvs2iq53fqcqrrq81r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63c94a703841f8c11948200d86d98145bc62162c/recipes/treepy";
@@ -70322,12 +70616,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20171105.159";
+        version = "20171119.306";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "8dc876c988ce76e3f2e794a68547bd1519b27bcd";
-          sha256 = "1sckf60xkjckh6yz56s44ymavsb4kgxcdc8qaaj4bf32i5a47c5x";
+          rev = "d8864e7430d7eaae818e7929b16e485bd44f8d06";
+          sha256 = "02m1pbfgczrmahsyvdazri0f1cchqmarv5f47xa8gg3r581jj8vl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -70595,12 +70889,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";
@@ -70613,6 +70907,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    typing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "typing";
+        version = "20171115.2331";
+        src = fetchFromGitHub {
+          owner = "kensanata";
+          repo = "typing";
+          rev = "1ada06484695b8959f4a7c41cacf7f78c2aad998";
+          sha256 = "0mh1y960zd7878j7nhrjijck6jxxqnbmxr579s095k7yk2ynpkkg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e6e75695594ce17b618ad8786c8a04e283f68b11/recipes/typing";
+          sha256 = "0k2lplqzq3323nn7rybcs377sr87kbww8ci99rrka3yyb5bh1fa1";
+          name = "typing";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/typing";
+          license = lib.licenses.free;
+        };
+      }) {};
     typing-game = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typing-game";
@@ -71151,12 +71466,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";
@@ -71379,6 +71694,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    use-package-ensure-system-package = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, system-packages, use-package }:
+    melpaBuild {
+        pname = "use-package-ensure-system-package";
+        version = "20171105.2300";
+        src = fetchFromGitHub {
+          owner = "waymondo";
+          repo = "use-package-ensure-system-package";
+          rev = "a58682fbe3eb632a285ef23d3121e82abc225dcb";
+          sha256 = "0snjimd2lcyi01cm9044kj4cxcqb3d17yv8pvf9wc4pc00v9x87p";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fe7cc204aec6f3f399a704f97b4e05c6a7cd3940/recipes/use-package-ensure-system-package";
+          sha256 = "1mmrnlhjb26lk0iirsxfks74j0bbs3bj375x23w9fk7fp4bjlhby";
+          name = "use-package-ensure-system-package";
+        };
+        packageRequires = [ system-packages use-package ];
+        meta = {
+          homepage = "https://melpa.org/#/use-package-ensure-system-package";
+          license = lib.licenses.free;
+        };
+      }) {};
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
@@ -71386,8 +71722,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";
@@ -71655,12 +71991,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";
@@ -71907,12 +72243,12 @@
     vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
     melpaBuild {
         pname = "vhdl-tools";
-        version = "20171103.1356";
+        version = "20171111.930";
         src = fetchFromGitHub {
           owner = "csantosb";
           repo = "vhdl-tools";
-          rev = "ffd9342ee0d03f14c5bb459583a13c5181b232f1";
-          sha256 = "10jvi88sk7ai6bhgxsm3d0hf1asi3xknyw2ms9k0z7r6d7fkryaf";
+          rev = "6bbcbdfbff7154517178290371b0182a176c09b5";
+          sha256 = "16k2h8n85ldfjb4zh7f202q370zs0rmmjhgf2jr4xfrvbdmgr8pa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
@@ -72096,12 +72432,12 @@
     virtualenvwrapper = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "virtualenvwrapper";
-        version = "20171022.1831";
+        version = "20171119.1403";
         src = fetchFromGitHub {
           owner = "porterjamesj";
           repo = "virtualenvwrapper.el";
-          rev = "b4fd61aa5fddd47d33b147ffa1c873d8b20db724";
-          sha256 = "04qhxg2gghb9bbvabrjbwj89jl154hhk00s07mzgg93js75ipx6z";
+          rev = "fa49954d44cb47a46d7a2bd8566ea21dd0823dea";
+          sha256 = "1d69bpx7q3x4z9d81iwapfna0p94krkfvlqr1fy3lq0g9537ahn2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/virtualenvwrapper";
@@ -72788,12 +73124,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20171017.1214";
+        version = "20171118.1132";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "4754211f44e9fe1389e4378553ad538460282225";
-          sha256 = "0c1p8srr1zacpp697rwy83rjz51yhgff9w1sb4cv9wi5yzfsic56";
+          rev = "78d49396b0ddb5e60596dc4a2c09d7cbb5812ff5";
+          sha256 = "1hs1fx4269qbnajhhsvnf61clbl1smbkyz4w74p72balpgjxnpy7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -72855,8 +73191,8 @@
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "web-search.el";
-          rev = "410c490ecf82a3693db3eb62003302233471ff84";
-          sha256 = "0hib0ffwikdydkm5asmvzj6l49pd9694psnn2c010j3ixw6i8gsl";
+          rev = "bdf590e7d6d62e874810aa4c5017c48e4e93f823";
+          sha256 = "0fwxjmnhkpla6gb58nkcazjh1q9b92w89rfi12pw7qj0449rmihb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/503ef2042cc14dbe53e7121b8d0b5ccbdf6c882b/recipes/web-search";
@@ -72935,12 +73271,12 @@
     websocket = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "websocket";
-        version = "20170829.457";
+        version = "20171113.2045";
         src = fetchFromGitHub {
           owner = "ahyatt";
           repo = "emacs-websocket";
-          rev = "33d0406901f7306b326928190b6ad94247d01a5f";
-          sha256 = "0lw7s121jfqaqrl3b2w9jbx3adh3nq0mkh911c40s4ydxm6xcnk3";
+          rev = "7d2adf218743c52578c8e8fd5584a5e54732e256";
+          sha256 = "0k8n710ip4av51n6l9ap1254qkifj987a6k86pgj3y6bw76ry08f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket";
@@ -73166,12 +73502,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "20170817.1107";
+        version = "20171114.700";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "6d2e17c949ff7bfebfe0b0878a93d94b31585031";
-          sha256 = "03szbjp6j6rjj43k3vs2jay4y7bnhhh1ymgqv8vvdnqsf88pdg88";
+          rev = "1234342878f9c9c9bc23ebe754e85d7fa155a51f";
+          sha256 = "1bj8g5xw140r3zfiyyr8x8559pvy1a1p7gjpg9w8c8h3n0xnp799";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -73586,12 +73922,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";
@@ -73736,8 +74072,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";
@@ -74425,12 +74761,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";
@@ -74950,12 +75286,12 @@
     xwidgete = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xwidgete";
-        version = "20161029.1112";
+        version = "20171118.1316";
         src = fetchFromGitHub {
           owner = "tuhdo";
           repo = "xwidgete";
-          rev = "adcf3f84772f4a382ba791a6584fa7dddfafdcdd";
-          sha256 = "17zlbrnxyc0lgsy5g8zqz13mqizhaqpp4i975x9m4ilpl5ycaqqx";
+          rev = "e4e8410fe32176df85b46234717824519443fb04";
+          sha256 = "04j4xwcdxlnrwxs89605zmwxszbi2j0z67v80651pshgnhj5p19i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/xwidgete";
@@ -75059,8 +75395,8 @@
         src = fetchFromGitHub {
           owner = "drdv";
           repo = "yahtzee";
-          rev = "5263fb8883d37d79a4ed34dd3216a8947d2ae4a0";
-          sha256 = "1qv8p3zpxkkp0ncq3cs8sq2bj4jrxs4s5jfc5hbs905a9z8bsnq9";
+          rev = "97f4bcf555a4388a1807a5dc8c6b4872aafdac92";
+          sha256 = "1sknzzim8dm1c61fv39cn964z36vjr556azmg7dyicpzrqacbz9n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/200169fdabce0ae3a2ecb6f4f3255c15ec3ed094/recipes/yahtzee";
@@ -75452,12 +75788,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 = "7f394d02f6f3149b215adcc96043c78d5f32d612";
+          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd";
@@ -75651,12 +75987,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";
@@ -75944,12 +76280,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 f2f8a4bda8b3..dbe0dbe82d41 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";
@@ -3857,12 +3857,12 @@
     cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cbm";
-        version = "0.5";
+        version = "0.6";
         src = fetchFromGitHub {
           owner = "akermu";
           repo = "cbm.el";
-          rev = "bf8cbbcef82e4643c5f0399f0198f606275af08c";
-          sha256 = "1p88fx90xwjk7dmd5gmbqyajyxf859kjsjzqmzljwai91skbb3pm";
+          rev = "5b41c936ba9f6d170309a85ffebc9939c1050b31";
+          sha256 = "091ln3d0jhdgahbwfdm1042b19886n3kwipw5gk8d0jnq5vwrkws";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f28dbc97dc23cdb0b4c74f8805775c787635871e/recipes/cbm";
@@ -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";
@@ -5210,6 +5210,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-eshell-autosuggest = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-eshell-autosuggest";
+        version = "1.0.1";
+        src = fetchFromGitHub {
+          owner = "dieggsy";
+          repo = "company-eshell-autosuggest";
+          rev = "a1de14ae79c720fa681fafa000b2650c42cf5050";
+          sha256 = "1l4fc6crkm1yhbcidrdi19dirnyhjdfdyyz67s6va1i0v3gx0w6w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b5beec83bd43b3f1f81feb3ef554ece846e327c2/recipes/company-eshell-autosuggest";
+          sha256 = "1bpjyr01rwl58fypfhzzml69wx7h2a044s4l58cxl3fw8lbjb13f";
+          name = "company-eshell-autosuggest";
+        };
+        packageRequires = [ company emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/company-eshell-autosuggest";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-ghc = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, ghc, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ghc";
@@ -5471,12 +5492,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 +5618,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 +5723,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 +5996,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "1.2.0";
+        version = "1.3.5";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "5d7b51ce7806bbe7e1f75077b4dde2ac17a53c5d";
-          sha256 = "0v3b3gs4jy8cqkvchnakwpws3a0igiklchb9q3754lnmk8784dn8";
+          rev = "ec56d4650ad11cd0cf8c7e168d9d6a5dfd9cdae8";
+          sha256 = "0xmjsa5ic4hh9lrkblf6si7q7s6xcnvs83rnpj5an23jxg7r12ma";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -8144,12 +8165,12 @@
     easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-hugo";
-        version = "2.0.16";
+        version = "2.1.17";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "d55472bdb08850fb3b2b27a373630c68f6cd2ac0";
-          sha256 = "168wz1638arypqz6i0mzj1pw6mzgp6x10i2wz2vpgkw5p79zw46i";
+          rev = "6fcbdcbbbfeb3939d2bd3848f83fe7c702294ad8";
+          sha256 = "0g486p9rhjc10mywxz7wizqwqcmi0wm7j4igxi85002ls958m7sm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@@ -8312,12 +8333,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 +8522,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 +8648,12 @@
     egison-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "egison-mode";
-        version = "3.7.0";
+        version = "3.7.3";
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "accb84375895946f0d0bed3917e0193074bd4131";
-          sha256 = "0adxbjbmph186amkyhyl9syypfawarxmyk80zz4c0b6bgxy15rc1";
+          rev = "269e2e0c38d8ac0eef636954ebfd980b93be4438";
+          sha256 = "1v7rsp24lhryc5swi1415vmvgzgcrx997kyiqr7qsk5nvzxxfzw3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -8989,6 +9010,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elfeed-protocol";
+        version = "0.4.0";
+        src = fetchFromGitHub {
+          owner = "fasheng";
+          repo = "elfeed-protocol";
+          rev = "bc1913e4275b69ac69e93981bf575a2053ef1657";
+          sha256 = "04zn1lww8zcfi2anrkyfmgg55r40wfrj9qvpzh9xl9l2qcsbs4pk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
+          sha256 = "1gd2ny764qsnnqf3j7rbdqhh7hqd5c0fzwxx6wacd0dpbq4w56qi";
+          name = "elfeed-protocol";
+        };
+        packageRequires = [ cl-lib elfeed emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elfeed-protocol";
+          license = lib.licenses.free;
+        };
+      }) {};
     elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
     melpaBuild {
         pname = "elfeed-web";
@@ -10041,6 +10083,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 +10212,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20.1.4";
+        version = "20.1.6";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "3e8c1ff94c0a73df71daadd4eb782c21c49f22d9";
-          sha256 = "19vd6x20i3pc3ddrjalli937i44z6z2yrdg7ir3gpaghhx8fhcav";
+          rev = "f021a71ad8ffd2d1f5548927944d2b08935511d1";
+          sha256 = "05fb4cxsz1q0vpfjdzga7ghmr8fhlk4b93d1768wibhc3q3xqk2c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -10547,12 +10610,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";
@@ -11468,6 +11531,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    exato = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    melpaBuild {
+        pname = "exato";
+        version = "0.0.3";
+        src = fetchFromGitHub {
+          owner = "ninrod";
+          repo = "exato";
+          rev = "082a2f7bb0afe38f5faede87d306049239d8eb95";
+          sha256 = "0gzyadh6bwzh6qkji0iijwld3l6p30jd8wfhw3ps4gg55w9ymb97";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/939efbcb9b40a2df5ef14e653fb242a8e37c72f9/recipes/exato";
+          sha256 = "1h2dd3yhv1n0sznznw8ncx98g53hgi1rg1zkd0nmldih2rd5qisn";
+          name = "exato";
+        };
+        packageRequires = [ evil thingatpt-plus ];
+        meta = {
+          homepage = "https://melpa.org/#/exato";
+          license = lib.licenses.free;
+        };
+      }) {};
     exec-path-from-shell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exec-path-from-shell";
@@ -11952,12 +12036,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "5.4.3";
+        version = "5.4.4";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "dcc0801c4781d76efd9ac0d86bab4084b4b93663";
-          sha256 = "0axk4a4b3s0x8wn4a4mj1i89kix88cv94iclhw4wigsscndpr03v";
+          rev = "8eedc930ec7fb187ebc3cec284e213054545db09";
+          sha256 = "0b8j1i1bshd4774c581lkc55vz4waz1c10pcdxa2vwgiaccjjnmz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -12211,12 +12295,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 +12946,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";
@@ -13962,12 +14046,12 @@
     futhark-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "futhark-mode";
-        version = "0.1.0";
+        version = "0.2.0";
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "2a7d824f7265a35bb928bf4de8e46d02e0a56a12";
-          sha256 = "0dkx9xl39k0bcspyx37410rb5ngphw9svinwjw1kgq0pqhc2qxdf";
+          rev = "e574976f5d8df1089672549a913a86c4039ab2cb";
+          sha256 = "0p32sxswyjj22pg25i509d9a4j8k7c6xkbv55pd8jvjfxc2hdy3p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -14088,12 +14172,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "6.2";
+        version = "6.3";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
-          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
+          rev = "900e1788695d91dde2a3d7fee97681a3380285de";
+          sha256 = "1lix0x2gj6lrcx6imr5w3scyix99526fwpx0vzs1dzxfzglscjja";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -15663,12 +15747,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";
@@ -16113,12 +16197,12 @@
     gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "1.12.0";
+        version = "1.22.1";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "e57f494fd94e49321a6396f530b8a13bae8b57df";
-          sha256 = "16f9vszl0f1dkjvqk5hxi570gf4l8p6fk27p0d7j11grsck0yzly";
+          rev = "b6d93d25faff573a7f7712bc33fce1fe422473e0";
+          sha256 = "1j8ivqhzrz5kaq1as4s5vljjpan8adqdc5s2ms8p3p83b2kg55si";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
@@ -17960,12 +18044,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 +18821,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";
@@ -19346,12 +19430,12 @@
     iflipb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iflipb";
-        version = "1.3";
+        version = "1.4";
         src = fetchFromGitHub {
           owner = "jrosdahl";
           repo = "iflipb";
-          rev = "2e0d1719abeec7982341761ee5dabb01574e6862";
-          sha256 = "18rlyjsn9w0zbs0c002s84qzark3rrcmjn9vq4nap7i6zpaq8hki";
+          rev = "a5ad1fbd1173cff5228dab265515c92c0778f86a";
+          sha256 = "0gyxd5d57j0x93mqnfwwdf28plp102xh0ag2d2iws7y1d5m99wm2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fad6fc8bc3c0be0d5789a0d7626ebc3f298b4318/recipes/iflipb";
@@ -19661,12 +19745,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 +20185,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 +20374,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 +20395,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";
@@ -20645,12 +20729,12 @@
     jq-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jq-mode";
-        version = "0.2.0";
+        version = "0.3.0";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "jq-mode";
-          rev = "3237634ab42566eb50f54e4b7f3896ffd20a8e53";
-          sha256 = "063j0kfp2ybaw5r9hvn9rrksh874xpm9xvpiycv33lf7kdsp5lh3";
+          rev = "8384a1926cc22000e5e42f86f28d807fd6149f8e";
+          sha256 = "0fa84jln0vddrc218s8scz6hx12ym0wimh6dm58wqxias7gm9fgk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode";
@@ -20771,12 +20855,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 +21191,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 +22185,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "2.18.1";
+        version = "2.19.1";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "145d21d65b5469e682ef464ae8f4e0e3d8c0f04b";
-          sha256 = "1h188cprka13bd1prfj1w86m5z8c1nfaz4dw18g88jf6b0gyazhz";
+          rev = "b6627fdd25fe6d866fe5a53c8bf7923ffd8ab9f9";
+          sha256 = "1z17z58rp65qln6lv2l390df2bf6dpnrqdh0q352r4wqzzki8gqn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -22328,6 +22412,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";
@@ -23374,7 +23479,7 @@
     merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "merlin";
-        version = "3.0.3";
+        version = "3.0.5";
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
@@ -25641,8 +25746,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "ad4a19c60f7dc3d52a5b11febdcc9b78930a1e7d";
-          sha256 = "0jc2ap9l0cc636kssld1bqalbriib57sw1rzz45s8r19jqa8w5gm";
+          rev = "af6039f5c02dc4664ce2baa96c1a6a1e5c7a61bb";
+          sha256 = "0cx1r7cl3jd0wr424xkf10y2rqngl8zcidyy04xw71ghfj79zhnr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -26173,12 +26278,12 @@
     org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "2.7.0";
+        version = "2.8.0";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "ab86b343634acaaa04b81ecea511a38e975977d1";
-          sha256 = "19sd42w91gzhd0qxgymi09ms0kn6yhv3kdpky1n6l5mkpbv3kp39";
+          rev = "9315d871556ebe92e766544ff5210dc85ad1ef33";
+          sha256 = "03ddwdzby0s3km0a3dmn6mfdp2zsiqyrddvpp8mgj77rb039g08k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
@@ -26194,12 +26299,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 +27410,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 +28059,12 @@
     pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "pastery";
-        version = "0.1.14";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "diasbruno";
           repo = "pastery.el";
-          rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
-          sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
+          rev = "4493be98b743b4d062cb4e00760125e394a55022";
+          sha256 = "0bmm18d84lrkclg4md46k1ma03w7a97s10hrvjcm9yj8xbrjqqsc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
@@ -29554,12 +29659,12 @@
     protobuf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "protobuf-mode";
-        version = "3.4.1";
+        version = "3.5.0";
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "b04e5cba356212e4e8c66c61bbe0c3a20537c5b9";
-          sha256 = "1lzxmbqlnmi34kymnf399azv86gmdbrf71xiad6wc24bzpkzqybb";
+          rev = "2761122b810fe8861004ae785cc3ab39f384d342";
+          sha256 = "01z3p947hyzi3p42fiqnx6lskz4inqw89lp2agqj9wfyfvag3369";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -31402,12 +31507,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 +31969,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 +32681,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "0.0.11";
+        version = "0.0.12";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "dfeb23f99673479b17b5817aeb5641e7cc0e5a2d";
-          sha256 = "1zljrvanwn37jkc9jpqj8c11dfbqxjz9ivzbpqr0ipskw9gaay7k";
+          rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7";
+          sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -33101,12 +33206,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "1.10.1";
+        version = "1.11.0";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "7841b2f02a1a99e1cb166d595f24f16a514ccbb5";
-          sha256 = "062g6y8an4kvfym2w56qy2iqd4ngxdxba38136ph0ckkzl0yrl7l";
+          rev = "4873352b5d0a1c5142658122de1b6950b8fe7e4d";
+          sha256 = "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -33626,12 +33731,12 @@
     sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "3.0.0";
+        version = "4.0.0";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "e220a0c0c478fee0be3622442651981cdd82090c";
-          sha256 = "1k1ih6y9yq1fx13863yacx69v6f77b8xhkrx5i2dpm4h7wki1dg4";
+          rev = "0ca89a2186ac35d7323ac45c0bea2e1c9ecd61ea";
+          sha256 = "0a0vy1pg9s6vh3z52bahhcls9b5p4hhqi075cqsif0ld2l4a4am2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
@@ -34046,12 +34151,12 @@
     string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "string-inflection";
-        version = "1.0.5";
+        version = "1.0.6";
         src = fetchFromGitHub {
           owner = "akicho8";
           repo = "string-inflection";
-          rev = "f11e732a582419e14a36c53130dd3a7b2c9da8c5";
-          sha256 = "1sq7h58v61cdyca5kfhf9rf3ybj25zgbhfdvb29qd7b2b33px7a5";
+          rev = "a150e7bdda60b7824d3a936750ce23f73b0e4edd";
+          sha256 = "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection";
@@ -35304,12 +35409,12 @@
     tickscript-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tickscript-mode";
-        version = "0.4";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "tickscript-mode";
-          rev = "9acf389dd055ae77c92170802769838810472490";
-          sha256 = "1v60y244papzrirwqk9c2wcwgz4qp9h7m3887kvgr5ffn5imjss8";
+          rev = "6e7564593d7735acc9f3fa670ec6512991cb73a1";
+          sha256 = "173zk9nzjds0rkypmaq8xv5qianivgk16jpzgk0msdsn9kjbd8s9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c60ee1839f728c5041bde1fe4fa62c4d41c746ef/recipes/tickscript-mode";
@@ -35325,12 +35430,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,16 +35639,16 @@
     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.13.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "9e12a68018e23ee10e8db48789f7358ed5375390";
+          sha256 = "09bf60j5r7hv326lgpfndnz9yf5bzw02a2nvr01zx93g5bh99zcp";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
-          sha256 = "07npjnhn9a0b537h1wmvy57bmicd2cji7bslp4wbnrfmmg2jdc3a";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
+          sha256 = "0zbnw48wrbq9g7vlwxapxpq9xz8cqyr63814w0pqnh6j40ia7r2a";
           name = "treemacs";
         };
         packageRequires = [ ace-window cl-lib dash emacs f hydra pfuture s ];
@@ -35555,16 +35660,16 @@
     treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
     melpaBuild {
         pname = "treemacs-evil";
-        version = "1.11.8";
+        version = "1.13.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "9e12a68018e23ee10e8db48789f7358ed5375390";
+          sha256 = "09bf60j5r7hv326lgpfndnz9yf5bzw02a2nvr01zx93g5bh99zcp";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
-          sha256 = "146j4l2g40dhrv8nyfymxkajn19gvlkmirwv9ndvkvl3yy175vg3";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
+          sha256 = "1b02dybvp2fs9n1f80gpnqaxic45wwykny7vdyfay11ds5xzfpsg";
           name = "treemacs-evil";
         };
         packageRequires = [ evil treemacs ];
@@ -35576,16 +35681,16 @@
     treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
     melpaBuild {
         pname = "treemacs-projectile";
-        version = "1.11.8";
+        version = "1.13.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "9e12a68018e23ee10e8db48789f7358ed5375390";
+          sha256 = "09bf60j5r7hv326lgpfndnz9yf5bzw02a2nvr01zx93g5bh99zcp";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
-          sha256 = "0y7mq466c9cigyd6imzjnh54aq9kcsikhr7llga5gsclf35fc5ld";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
+          sha256 = "0q3rj0g03423ql0d1ssp928x5f4540kxqlg51584aw57dlyy2z3n";
           name = "treemacs-projectile";
         };
         packageRequires = [ projectile treemacs ];
@@ -35594,6 +35699,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    treepy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "treepy";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "volrath";
+          repo = "treepy.el";
+          rev = "282fbc94747fe2a00d36e2a74d147c8fa0ac4be7";
+          sha256 = "0acw6c073h2a0fy8gx2xc2d1fw0yhaqikqrvs2iq53fqcqrrq81r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/63c94a703841f8c11948200d86d98145bc62162c/recipes/treepy";
+          sha256 = "0jfah4vywi1b6c86h7vh8fspmklhs790qzkl51i9p7yckfggwp72";
+          name = "treepy";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/treepy";
+          license = lib.licenses.free;
+        };
+      }) {};
     trr = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "trr";
@@ -35685,8 +35811,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 +36338,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 +36569,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";
@@ -36965,22 +37091,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    websocket = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    websocket = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "websocket";
-        version = "1.8";
+        version = "1.9";
         src = fetchFromGitHub {
           owner = "ahyatt";
           repo = "emacs-websocket";
-          rev = "a9b8e74fa190024cd450ef4f832482e8438674fa";
-          sha256 = "0yi6g7wmjsgv0dmpyf8cpin0icw3ymb7vbr3f9s01xs2w6kp8p13";
+          rev = "7d2adf218743c52578c8e8fd5584a5e54732e256";
+          sha256 = "0k8n710ip4av51n6l9ap1254qkifj987a6k86pgj3y6bw76ry08f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket";
           sha256 = "1v8jlpahp30lihz7mdznwl6pyrbsdbqznli2wb5gfblnlxil04lg";
           name = "websocket";
         };
-        packageRequires = [];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://melpa.org/#/websocket";
           license = lib.licenses.free;
@@ -37430,11 +37556,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";
@@ -38466,12 +38592,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/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
index 03121edada0a..ca21cad14a5e 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
@@ -119,6 +119,9 @@ self:
       # missing OCaml
       ocp-indent = markBroken super.ocp-indent;
 
+      # upstream issue: missing file header
+      po-mode = markBroken super.po-mode;
+
       # upstream issue: truncated file
       powershell = markBroken super.powershell;
 
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index 3d8a4d923215..98ce3c750148 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 = "20171106";
+        version = "20171120";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20171106.tar";
-          sha256 = "080zkrbivd0y67ydcqj97c672q6d9d33qgb5z723niy8a8xjrp20";
+          url = "http://orgmode.org/elpa/org-20171120.tar";
+          sha256 = "1xpfs0bz5lb4jmzd0kk5mgl2yfk0hb6hk788x9rn7i1n1dnz4mdy";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20171106";
+        version = "20171120";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20171106.tar";
-          sha256 = "1ckh7q7kc72qc1wh4xypfadj9dpnn4xzc6ap4gg428q85bi091h1";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20171120.tar";
+          sha256 = "1ivrdxfvxiqj3ydc9d9vmh8wcb4ydavrn9mprx74kg4g084v9y26";
         };
         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/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index b2cf9c6d68dc..5ff5c0845d00 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let
-  version = "1.31";
+  version = "1.32";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "30fdb906bb76c4251a8bcf83ee267db28c26ef6ab867668a782cec1164a3aba5";
+    sha256 = "8b7be10b95d0614eb07f845ba2280f7c026eacd5739d8fac4d5d26606f8c3c2d";
   };
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 41ad3164d6a6..fabb0982d465 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -77,15 +77,15 @@ let
       };
     });
 
-  buildGogland = { name, version, src, license, description, wmClass, update-channel }:
+  buildGoland = { name, version, src, license, description, wmClass, update-channel }:
     lib.overrideDerivation (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
-      product = "Gogland";
+      product = "Goland";
       meta = with stdenv.lib; {
         homepage = https://www.jetbrains.com/go/;
         inherit description license;
         longDescription = ''
-          Gogland is the codename for a new commercial IDE by JetBrains
+          Goland is the codename for a new commercial IDE by JetBrains
           aimed at providing an ergonomic environment for Go development.
           The new IDE extends the IntelliJ platform with the coding assistance
           and tool integrations specific for the Go language
@@ -96,9 +96,9 @@ let
     }) (attrs: {
       postFixup = (attrs.postFixup or "") + ''
         interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-        patchelf --set-interpreter $interp $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
+        patchelf --set-interpreter $interp $out/goland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
 
-        chmod +x $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
+        chmod +x $out/goland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
       '';
     });
 
@@ -239,38 +239,38 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2017.2.2"; /* updated by script */
+    version = "2017.2.3"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "1l8y65fw9g5ckzwpcgigm2qwy8fhpw2hil576rphsnx6qvnh4swn"; /* updated by script */
+      sha256 = "0yp5h8ps5hfi07gsz14pp61skibfx48klg8qmc4f6q6xzcfdqxsf"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "datagrip_2017_2";
   };
 
-  gogland = buildGogland rec {
-    name = "gogland-${version}";
-    version = "173.2696.28"; /* updated by script */
+  goland = buildGoland rec {
+    name = "goland-${version}";
+    version = "173.3727.79"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "07nz2pf7fnjxsvc82vihk2i880cji349czxzshr1dk50ixlydq7n"; /* updated by script */
+      sha256 = "0bmd7r3h76pg0s9m3i5qv7zfkcj3gannj0c12cw087b831ga7ccz"; /* updated by script */
     };
-    wmClass = "jetbrains-gogland";
-    update-channel = "gogland_1.0_EAP";
+    wmClass = "jetbrains-goland";
+    update-channel = "goland_1.0_EAP";
   };
 
   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/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
index 78881b21018c..88164c2c4585 100644
--- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     libkomparediff2
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     maintainers = [ maintainers.ambrop72 ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 441c157a3498..dcb124bcb125 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,13 +20,15 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.8.7";
+  version = "2.9.1";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "0nhns59smd43mad2w6lnaxqnj4h6ifnlivi6cwydg646jm31gqzv";
+    sha256 = "0z5sxji8jh8sh0g3inbzndhsrbm4qyqlvjrxl5wkxbr61lnxa5k3";
   };
 
+  patches = [ ./nano-2.9.1-darwin.patch ];
+
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
   buildInputs = [ ncurses ];
 
@@ -42,6 +44,8 @@ in stdenv.mkDerivation rec {
     cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = https://www.nano-editor.org/;
     description = "A small, user-friendly console text editor";
diff --git a/pkgs/applications/editors/nano/nano-2.9.1-darwin.patch b/pkgs/applications/editors/nano/nano-2.9.1-darwin.patch
new file mode 100644
index 000000000000..d3a630d4486e
--- /dev/null
+++ b/pkgs/applications/editors/nano/nano-2.9.1-darwin.patch
@@ -0,0 +1,9 @@
+--- a/lib/stat.c
++++ b/lib/stat.c
+@@ -48,4 +48,6 @@ orig_stat (const char *filename, struct stat *buf)
+ #include "sys/stat.h"
+ 
++#include "stat-time.h"
++
+ #include <errno.h>
+ #include <limits.h>
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index dafd4e6f1204..ba3abe6a221f 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
-, libtool, libuv, luajit, luajitPackages, luaPackages, ncurses, perl, pkgconfig
-, unibilium, makeWrapper, vimUtils, xsel, gperf
+, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
+, unibilium, makeWrapper, vimUtils, xsel, gperf, callPackage
 
 , withPython ? true, pythonPackages, extraPythonPackages ? []
 , withPython3 ? true, python3Packages, extraPython3Packages ? []
 , withJemalloc ? true, jemalloc
-, withRuby ? true, bundlerEnv
+, withRuby ? true, bundlerEnv, ruby
 
 , withPyGUI ? false
 , vimAlias ? false
@@ -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 ];
@@ -48,10 +48,11 @@ let
   rubyEnv = bundlerEnv {
     name = "neovim-ruby-env";
     gemdir = ./ruby_provider;
+    postBuild = ''
+      ln -s ${ruby}/bin/* $out/bin
+    '';
   };
-
-  rubyWrapper = ''--suffix PATH : \"${rubyEnv}/bin\" '' +
-                ''--suffix GEM_HOME : \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" '';
+  rubyWrapper = ''--cmd \"let g:ruby_host_prog='$out/bin/nvim-ruby'\" '';
 
   pluginPythonPackages = if configure == null then [] else builtins.concatLists
     (map ({ pythonDependencies ? [], ...}: pythonDependencies)
@@ -74,20 +75,24 @@ let
     ignoreCollisions = true;
   };
   python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '';
-  pythonFlags = optionalString (withPython || withPython3) ''--add-flags "${
-    (optionalString withPython pythonWrapper) +
-    (optionalString withPython3 python3Wrapper)
-  }"'';
+
+  additionalFlags =
+    optionalString (withPython || withPython3 || withRuby)
+      ''--add-flags "${(optionalString withPython pythonWrapper) +
+                       (optionalString withPython3 python3Wrapper) +
+                       (optionalString withRuby rubyWrapper)}" --unset PYTHONPATH '' +
+    optionalString (withRuby)
+      ''--suffix PATH : \"${rubyEnv}/bin\" --set GEM_HOME \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" '';
 
   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 +104,6 @@ let
       ncurses
       neovimLibvterm
       unibilium
-      luajit
       luaPackages.lua
       gperf
     ] ++ optional withJemalloc jemalloc
@@ -115,7 +119,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"
@@ -129,21 +133,23 @@ let
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
-    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-      echo patching $out/bin/nvim
+    postInstall = stdenv.lib.optionalString stdenv.isLinux ''
+      sed -i -e "s|'xsel|'${xsel}/bin/xsel|" $out/share/nvim/runtime/autoload/provider/clipboard.vim
+    '' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
       install_name_tool -change libjemalloc.1.dylib \
                 ${jemalloc}/lib/libjemalloc.1.dylib \
                 $out/bin/nvim
-      sed -i -e "s|'xsel|'${xsel}/bin/xsel|" $out/share/nvim/runtime/autoload/provider/clipboard.vim
     '' + optionalString withPython ''
       ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
+    '' + optionalString withPython3 ''
+      ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
+    '' + optionalString withPython3 ''
+      ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
     '' + optionalString withPyGUI ''
       makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
         --prefix PATH : "$out/bin"
-    '' + optionalString withPython3 ''
-      ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
     '' + optionalString (withPython || withPython3 || withRuby) ''
-      wrapProgram $out/bin/nvim ${rubyWrapper + pythonFlags}
+      wrapProgram $out/bin/nvim ${additionalFlags}
     '';
 
     meta = {
@@ -163,7 +169,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..61df9ed79323 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -2,8 +2,10 @@ GEM
   remote: https://rubygems.org/
   specs:
     msgpack (1.1.0)
-    neovim (0.5.0)
+    multi_json (1.12.2)
+    neovim (0.6.1)
       msgpack (~> 1.0)
+      multi_json (~> 1.0)
 
 PLATFORMS
   ruby
@@ -12,4 +14,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..85bff42b64dd 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -7,13 +7,21 @@
     };
     version = "1.1.0";
   };
+  multi_json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
+      type = "gem";
+    };
+    version = "1.12.2";
+  };
   neovim = {
-    dependencies = ["msgpack"];
+    dependencies = ["msgpack" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7";
+      sha256 = "1dnv2pdl8lwwy4av8bqc6kdlgxw88dmajm4fkdk6hc7qdx1sw234";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.6.1";
   };
 }
\ No newline at end of file
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/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 52223dafeb7f..fd973d4fbdee 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "texstudio";
-  version = "2.12.4";
+  version = "2.12.6";
   name = "${pname}-${version}";
   altname="Texstudio";
 
   src = fetchurl {
     url = "mirror://sourceforge/texstudio/${name}.tar.gz";
-    sha256 = "03917faqyy0a1k6b86blc2fcards5a1819ydgkc4jlhwiaym4iyw";
+    sha256 = "18rxd7ra5k2f7s4c296b3v3pqhxjmfix9xpy9i1g4jm87ygqrbnd";
   };
 
   nativeBuildInputs = [ qmake4Hook pkgconfig ];
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 23bcdae5fb21..c87563293bab 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.1";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "04mnj74pqkgfgdacq4643qrd7ybka1366lr7mwn0f70lk05wb2h2";
-    "x86_64-linux" = "0y37wwvq6flaa2fh2r6b9cplbcszq726zrx6b8slzq6s5wl2lgmr";
-    "x86_64-darwin" = "1cqyir7ijwafy68d5vbw47cs1x2lqs1wjnvhhw15yi2d7c14fq7q";
+    "i686-linux" = "13gs0spqkbxw4i3a0b060v5bi68zfkp3i8vqk41i0fkbshnc7c7i";
+    "x86_64-linux" = "0h7nfyrn4ybm9p1czjb48p3cd3970hpyn6pj8l4ir1hqygcq6dwi";
+    "x86_64-darwin" = "093k8s2msi0xz11wy2yf1rppwkx6kv5psgii4w44l59ji8qgpamk";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
index a008835f59ff..f64845f6e43a 100644
--- a/pkgs/applications/gis/qgis/default.nix
+++ b/pkgs/applications/gis/qgis/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "qgis-2.18.13";
+  name = "qgis-2.18.14";
 
   buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
     fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://qgis.org/downloads/${name}.tar.bz2";
-    sha256 = "033l3wg3l7hv4642wmsdycjca1dw8p89sk9xyc51wpb3id17vgv2";
+    sha256 = "199nc539kd8fxbfny61s4sv8bvrhlxw59dmvw6m70gnff6mpc8fq";
   };
 
   cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 507912ee43ea..4e0ddfa8def8 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-21";
-    sha256 = "0241g3c207rawn61bz8rc5gz55k5mi2b0n3zlwa0jv9xczlkd6a9";
+    version = "6.9.9-23";
+    sha256 = "0cd6zcbcfvznf0i3q4xz1c4wm4cfplg4zc466lvlb1w8qbn25948";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
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/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/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index d69f9a676c1b..2a5bbb9401a4 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -1,31 +1,37 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig
-, qtbase, qtx11extras, vulkan-loader, xorg
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, qtbase, qtx11extras, qtsvg, makeWrapper, python3, bison
+, autoconf, automake, pcre, vulkan-loader, xorg
 }:
 
 stdenv.mkDerivation rec {
   name = "renderdoc-${version}";
-  version = "0.34pre";
+  version = "0.91";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
-    rev = "5e2717daec53e5b51517d3231fb6120bebbe6b7a";
-    sha256 = "1zpvjvsj5c441kyjpmd2d2r0ykb190rbq474nkmp1jk72cggnpq0";
+    rev = "2d8b2cf818746b6a2add54e2fef449398816a40c";
+    sha256 = "07yc3fk7j2nqmrhc4dm3v2pgbc37scd7d28nlzk6v0hw99zck8k0";
   };
 
   buildInputs = [
-    qtbase xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader
+    qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader
   ];
-  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig python3 bison autoconf automake pcre ];
 
   cmakeFlags = [
-    "-DBUILD_VERSION_HASH=${src.rev}-distro-nix"
+    "-DBUILD_VERSION_HASH=${src.rev}"
+    "-DBUILD_VERSION_DIST_NAME=NixOS"
+    "-DBUILD_VERSION_DIST_VER=0.91"
+    "-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
+    "-DBUILD_VERSION_DIST_STABLE=ON"
     # TODO: use this instead of preConfigure once placeholders land
     #"-DVULKAN_LAYER_FOLDER=${placeholder out}/share/vulkan/implicit_layer.d/"
   ];
   preConfigure = ''
     cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
   '';
+
   preFixup = ''
     mkdir $out/bin/.bin
     mv $out/bin/qrenderdoc $out/bin/.bin/qrenderdoc
@@ -48,6 +54,6 @@ stdenv.mkDerivation rec {
       Windows 7 - 10, Linux or Android.
     '';
     maintainers = [maintainers.jansol];
-    platforms = platforms.linux;
+    platforms = ["i686-linux" "x86_64-linux"];
   };
 }
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 54a834cba002..378fcde41e10 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -127,6 +127,7 @@ let
       kqtquickcharts = callPackage ./kqtquickcharts.nix {};
       krdc = callPackage ./krdc.nix {};
       krfb = callPackage ./krfb.nix {};
+      kruler = callPackage ./kruler.nix {};
       ktnef = callPackage ./ktnef.nix {};
       kwalletmanager = callPackage ./kwalletmanager.nix {};
       libgravatar = callPackage ./libgravatar.nix {};
diff --git a/pkgs/applications/kde/kruler.nix b/pkgs/applications/kde/kruler.nix
new file mode 100644
index 000000000000..2018245cfcb2
--- /dev/null
+++ b/pkgs/applications/kde/kruler.nix
@@ -0,0 +1,17 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  knotifications, kwindowsystem, kxmlgui, qtx11extras
+}:
+
+mkDerivation {
+  name = "kruler";
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.vandenoever ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kwindowsystem knotifications kxmlgui qtx11extras
+  ];
+}
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 153e29a56144..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-31";
+  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 = "1yybx23smwdkzb6byvxd6zxi7asmrzvp9h1ihmy6xlzwjfbsalj0";
+    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/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index d81e9ed4bbef..e548b944a8d4 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
   ] ++ (with python2Packages; [
-    apsw cssselect cssutils dateutil html5-parser lxml mechanize netifaces pillow
+    apsw cssselect cssutils dateutil dns html5-parser lxml mechanize netifaces pillow
     python pyqt5 sip
     regex msgpack
     # the following are distributed with calibre, but we use upstream instead
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index a46485c5ef73..4ef1adb8e6cc 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -1,20 +1,26 @@
-{ stdenv, python3Packages, fetchurl }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
 with python3Packages;
 buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "cheat";
-  version = "2.2.1";
+  version = "2.2.2";
 
-  propagatedBuildInputs = with python3Packages; [ docopt pygments ];
+  propagatedBuildInputs = [ docopt pygments ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0w4k1h02p2gjv5wcr1c7r0ynb7v50qajx4hpyxz0ndh96f6x30pl";
+  src = fetchFromGitHub {
+    owner = "chrisallenlane";
+    repo = "cheat";
+    rev = version;
+    sha256 = "1da4m4n6nivjakpll6jj0aszrv24g2zax74034lzpv3pbh84fvas";
   };
   # no tests available
   doCheck = false;
 
+  postInstall = ''
+    install -D man1/cheat.1.gz $out/share/man/man1/cheat.1.gz
+  '';
+
   meta = with stdenv.lib; {
     description = "cheat allows you to create and view interactive cheatsheets on the command-line";
     maintainers = with maintainers; [ mic92 ];
diff --git a/pkgs/applications/misc/deepin-terminal/default.nix b/pkgs/applications/misc/deepin-terminal/default.nix
index 0ee52b740f24..7f38e801c4cb 100644
--- a/pkgs/applications/misc/deepin-terminal/default.nix
+++ b/pkgs/applications/misc/deepin-terminal/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, unzip, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, vte, gee, wnck, gettext, libsecret, json_glib }:
+{ stdenv, unzip, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, vte, libgee, wnck, gettext, libsecret, json_glib }:
 
 stdenv.mkDerivation rec {
   name = "deepin-terminal-${version}";
-  version = "2.3.3";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = "deepin-terminal";
     rev = version;
-    sha256 = "0qam34g1rannv8kvw1zbps763a9ii9vbrkxyxxdk737hlpxdzg8h";
+    sha256 = "11lylkrv69k2jvwparnxymr7z3x9cs82q9p0lr2wrfr48hnfwp8b";
   };
 
   patchPhase = ''
   substituteInPlace project_path.c --replace __FILE__ \"$out/share/deepin-terminal/\"
   '';
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unzip gtk3 vala cmake vte gee wnck gettext libsecret json_glib ];
+
+  nativeBuildInputs = [ pkgconfig vala cmake gettext unzip ];
+  buildInputs = [ gtk3 vte libgee wnck libsecret json_glib ];
 
   meta = {
     description = "The default terminal emulation for Deepin";
diff --git a/pkgs/applications/misc/exercism/default.nix b/pkgs/applications/misc/exercism/default.nix
index d0b98863d203..74aab5e7e130 100644
--- a/pkgs/applications/misc/exercism/default.nix
+++ b/pkgs/applications/misc/exercism/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name    = "exercism-${version}";
-  version = "2.4.0";
+  version = "2.4.1";
 
   goPackagePath = "github.com/exercism/cli";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner  = "exercism";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "1hl13sr4ymqg9sjhkxdmhf8cfw69cic3bysw34xfv2j6bjjxfwaa";
+    sha256 = "1nab4459zi2gkh18k9vsm54bz39c2sb60v2xy0i72j1vd99axjjj";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/gnuradio-ais/default.nix b/pkgs/applications/misc/gnuradio-ais/default.nix
index a67a8a44fced..dfb8415219c7 100644
--- a/pkgs/applications/misc/gnuradio-ais/default.nix
+++ b/pkgs/applications/misc/gnuradio-ais/default.nix
@@ -7,13 +7,14 @@ assert pythonSupport -> python != null && swig != null;
 
 stdenv.mkDerivation rec {
   name = "gnuradio-ais-${version}";
-  version = "2016-08-26";
+  version = "2015-12-20";
 
   src = fetchFromGitHub {
     owner = "bistromath";
     repo = "gr-ais";
-    rev = "1863d1bf8a7709a8dfedb3ddb8e2b99112e7c872";
-    sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
+    # Upstream PR: https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054
+    "rev" = "8502d0252a2a1a9b8d1a71795eaeb5d820684054";
+    "sha256" = "1b9j0kc74cw12a7jv4lii77dgzqzg2s8ndzp4xmisxksgva1qfvh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -27,11 +28,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for ais";
     homepage = https://github.com/bistromath/gr-ais;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-gsm/default.nix b/pkgs/applications/misc/gnuradio-gsm/default.nix
index bbdc74510eaa..6e0856ce66aa 100644
--- a/pkgs/applications/misc/gnuradio-gsm/default.nix
+++ b/pkgs/applications/misc/gnuradio-gsm/default.nix
@@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for gsm";
     homepage = https://github.com/ptrkrysik/gr-gsm;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-nacl/default.nix b/pkgs/applications/misc/gnuradio-nacl/default.nix
index cd3630c842c3..28836958e98c 100644
--- a/pkgs/applications/misc/gnuradio-nacl/default.nix
+++ b/pkgs/applications/misc/gnuradio-nacl/default.nix
@@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for encryption";
     homepage = https://github.com/stwunsch/gr-nacl;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
index e2d3e808476e..2fd64d02f18b 100644
--- a/pkgs/applications/misc/gnuradio-osmosdr/default.nix
+++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
@@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for OsmoSDR and rtl-sdr";
-    homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
+    homepage = https://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-rds/default.nix b/pkgs/applications/misc/gnuradio-rds/default.nix
index 3d09441a7f03..44ed89d9002d 100644
--- a/pkgs/applications/misc/gnuradio-rds/default.nix
+++ b/pkgs/applications/misc/gnuradio-rds/default.nix
@@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for radio data system";
     homepage = https://github.com/bastibl/gr-rds;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 0156122ec79a..470e046e85e5 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -1,41 +1,51 @@
-{ stdenv, fetchurl
-# core dependencies
+{ stdenv, fetchFromGitHub, writeText, makeWrapper
+# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html
+# => core dependencies
 , cmake, pkgconfig, git, boost, cppunit, fftw
-# python wrappers
+# => python wrappers
+# May be able to upgrade to swig3
 , python, swig2, numpy, scipy, matplotlib
-# grc - the gnu radio companion
+# => grc - the gnu radio companion
 , cheetah, pygtk
-# gr-wavelet: collection of wavelet blocks
+# => gr-wavelet: collection of wavelet blocks
 , gsl
-# gr-qtgui: the Qt-based GUI
-, qt4, qwt, pyqt4 #, pyqwt
-# gr-wxgui: the Wx-based GUI
+# => gr-qtgui: the Qt-based GUI
+, qt4, qwt, pyqt4
+# => gr-wxgui: the Wx-based GUI
 , wxPython, lxml
-# gr-audio: audio subsystems (system/OS dependent)
-, alsaLib
-# uhd: the Ettus USRP Hardware Driver Interface
+# => gr-audio: audio subsystems (system/OS dependent)
+, alsaLib   # linux   'audio-alsa'
+, CoreAudio # darwin  'audio-osx'
+# => uhd: the Ettus USRP Hardware Driver Interface
 , uhd
-# gr-video-sdl: PAL and NTSC display
+# => gr-video-sdl: PAL and NTSC display
 , SDL
+# Other
 , libusb1, orc, pyopengl
-, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.11";
+  version = "3.7.11.1";
 
-  src = fetchurl {
-    url = "https://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "1m2jf8lafr6pr2dlm40nbvr6az8gwjfkzpbs4fxzv3l5hcqvmnc7";
+  src = fetchFromGitHub {
+    owner = "gnuradio";
+    repo = "gnuradio";
+    rev = "6d2221196082a4954c249dc6955e33d5832a56f2";
+    sha256 = "1fkrb8cnjbriy2x94lz73q6aqxar1rkvfbafp266ykdpm29b4xgm";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    cmake git boost cppunit fftw python swig2 orc lxml qt4
-    qwt alsaLib SDL libusb1 uhd gsl makeWrapper
+  nativeBuildInputs = [
+    cmake pkgconfig git makeWrapper cppunit orc
   ];
 
+  buildInputs = [
+    boost fftw python swig2 lxml qt4
+    qwt SDL libusb1 uhd gsl
+  ] ++ stdenv.lib.optionals stdenv.isLinux  [ alsaLib   ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ];
+
   propagatedBuildInputs = [
     cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
   ];
@@ -48,22 +58,46 @@ stdenv.mkDerivation rec {
         --replace BOOST_CONSTEXPR_OR_CONST const
   '';
 
+  # Enables composition with nix-shell
+  grcSetupHook = writeText "grcSetupHook.sh" ''
+    addGRCBlocksPath() {
+      addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks
+    }
+    envHooks+=(addGRCBlocksPath)
+  '';
+
+  setupHook = [ grcSetupHook ];
+
+  # patch wxgui and pygtk check due to python importerror in a headless environment
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable -std=c++11"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}"
+    sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
+    sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
+    find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)' "{}" ";"
   '';
 
+  # Framework path needed for qwt6_qt4 but not qwt5
+  cmakeFlags =
+    stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ];
+
   # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
   #   programs will not display anything. Yes, $MATPLOTLIBRC must point to the
   #   *dirname* where matplotlibrc is located, not the file itself.
   # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
   #   we must wrap the stuff in bin/.
+  # Notes:
+  # - May want to use makeWrapper instead of wrapProgram
+  # - may want to change interpreter path on Python examples instead of wrapping
+  # - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages
+  # - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin
   postInstall = ''
     printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
 
     for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do
         wrapProgram "$file" \
             --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
-            --set MATPLOTLIBRC "$out/share/gnuradio"
+            --set MATPLOTLIBRC "$out/share/gnuradio" \
+            ${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"}
     done
   '';
 
@@ -80,7 +114,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.gnuradio.org;
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor fpletz ];
   };
 }
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index c542fbde56eb..8a31c591b29b 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchipfs, fetchurl }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "hello-2.10";
 
-  src = fetchipfs {
-    url    = "https://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz";
-    ipfs   = "QmWyj65ak3wd8kG2EvPCXKd6Tij15m4SwJz6g2yG2rQ7w8";
-    sha256 = "1im1gglfm4k10bh4mdaqzmx3lm3kivnsmxrvl6vyvmfqqzljq75l";
+  src = fetchurl {
+    url = "mirror://gnu/hello/${name}.tar.gz";
+    sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
   };
 
   doCheck = true;
@@ -22,9 +21,4 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.all;
   };
-
-  passthru.srcTarball = fetchurl {
-    inherit (src) url;
-    sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
-  };
 }
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index 91cf494d2574..bdbde47a33a0 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     # 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)
+    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
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index f90784759941..ebc13766cccb 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc }:
+{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc, gcc-unwrapped }:
 
 assert stdenv.isLinux;
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
    buildPhase = with xorg; ''
      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/xawt/libmawt.so
-     patchelf --set-rpath "${gcc.cc}/lib" ./libiKVM64.so
+     patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM64.so
      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libXcursor libX11 libXext libXrender libXtst libXi ]}" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/javaws
      patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
    '';
diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix
new file mode 100644
index 000000000000..1beff54ba3e7
--- /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.5";
+
+  src = fetchFromGitHub {
+    owner = "johanmalm";
+    repo = "jgmenu";
+    rev = "v${version}";
+    sha256 = "1gml2g711pr6wakznlxjrlmz8kylkv0ydpvv0jx2y5qczp3rwk3a";
+  };
+
+  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/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 47bcbb6fce91..4f1745c0d8ce 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -1,31 +1,37 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pcsclite, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, pcsclite, talloc, python2
 }:
 
 stdenv.mkDerivation rec {
   name = "libosmocore-${version}";
-  version = "0.9.0";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
-    rev = "8649d57f507d359c99a89654aac7e19ce22db282";
-    sha256 = "08mcpy9ljwb1i3l4cmlwn024q2psk5gg9f0ylgh99hy1ffx0n7am";
+    rev = "3cc757df1822114bf446dc2d5f6a95da92321a25";
+    sha256 = "0dk7065qcy2kjra0p8q2124p73jcyvvzz3cmhid1kx5scyxmr017";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  propagatedBuildInputs = [
+    talloc
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig
+  ];
+
   buildInputs = [
-    pcsclite
+    pcsclite python2
   ];
 
-  preConfigure = ''
-    autoreconf -i -f
-  '';
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "libosmocore";
     homepage = https://github.com/osmocom/libosmocore;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
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/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index b50d99466f89..9dcba11b3faf 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -4,7 +4,15 @@
 , enableCurl ? true, curl, openssl
 }:
 
-stdenv.mkDerivation rec {
+let
+
+  # OpenJPEG version is hardcoded in package source
+  openJpegVersion = with stdenv;
+    lib.concatStringsSep "." (lib.lists.take 2
+      (lib.splitString "." (lib.getVersion openjpeg)));
+
+
+in stdenv.mkDerivation rec {
   version = "1.11";
   name = "mupdf-${version}";
 
@@ -16,9 +24,9 @@ stdenv.mkDerivation rec {
   patches = [
     # Compatibility with new openjpeg
     (fetchpatch {
-      name = "mupdf-1.11-openjpeg-2.1.1.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/0001-mupdf-openjpeg.patch?h=packages/mupdf&id=3d997e7ff2ac20c44856ede22760ba6fbca81a5c";
-      sha256 = "1vr12kpzmmfr8pp3scwfhrm5laqwd58xm6vx971c4y8bxy60b2ig";
+      name = "mupdf-1.11-openjpeg-version.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/0001-mupdf-openjpeg.patch?h=packages/mupdf&id=c19349f42838e4dca02e564b97e0a5ab3e1b943f";
+      sha256 = "0sx7jq84sr8bj6sg2ahg9cdgqz8dh4w6r0ah2yil8vrsznn4la8r";
     })
 
     (fetchurl {
@@ -56,8 +64,18 @@ stdenv.mkDerivation rec {
       url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=82df2631d7d0446b206ea6b434ea609b6c28b0e8";
       sha256 = "04kfww7y0wazg6372g44fa2k5kiiigq4616ihkvmp18rz86903n9";
     })
+
+    (fetchurl {
+      name = "mupdf-1.11-CVE-2017-15369.patch";
+      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=c2663e51238ec8256da7fc61ad580db891d9fe9a";
+      sha256 = "0xx2mrbjcymi3gh0l3cq81m6bygp9dv79v1kyrbcvpl5z6wgl71y";
+    })
   ];
 
+  postPatch = ''
+    sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
+  '';
+
   makeFlags = [ "prefix=$(out)" ];
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg ]
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/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
new file mode 100644
index 000000000000..a3770715532f
--- /dev/null
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, xorg, x11 }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.sakura.5";
+  vname = "1.2.5";
+  name = "oneko-${vname}";
+  src = fetchurl {
+    url = "http://www.daidouji.com/oneko/distfiles/oneko-${version}.tar.gz";
+    sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f";
+  };
+  buildInputs = [ xorg.imake xorg.gccmakedep x11 ];
+  
+  configurePhase = "xmkmf";
+
+  installPhase = ''
+    make install BINDIR=$out/bin
+    make install.man MANPATH=$out/share/man
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Creates a cute cat chasing around your mouse cursor";
+    longDescription = ''
+    Oneko changes your mouse cursor into a mouse
+    and creates a little cute cat, which starts
+    chasing around your mouse cursor.
+    When the cat is done catching the mouse, it starts sleeping.
+    '';
+    homepage = "http://www.daidouji.com/oneko/";
+    license = licenses.publicDomain;
+    maintainers = [ maintainers.xaverdh ];
+    meta.platforms = platforms.linux;
+  };
+}
+
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/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index 8b93dd51406b..7ad8a85a419c 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -5,18 +5,18 @@ let
     if stdenv.system == "i686-linux" then fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
-      sha256 = "0nkbi05pr5kznj4vjqhsrxcqdmjdf2zsbirslxgm4jbh87skl6fm";
+      sha256 = "06q1jwqsrjvlj820dd4vl80jznwafsqshsg0p6si8qx4721blryz";
     } else fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
-      sha256 = "1xjwaqz0gs12ndgw7c2f1nkvj0nqcl0bxhd54pwk0dwrx9pn9avz";
+      sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab";
     };
 
 in
 
 stdenv.mkDerivation {
   # https://www.rescuetime.com/updates/linux_release_notes.html
-  name = "rescuetime-2.9.11.1300";
+  name = "rescuetime-2.10.0.1322";
   inherit src;
   buildInputs = [ dpkg makeWrapper ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
index 652dd9d5e650..f1c3cbc55577 100644
--- a/pkgs/applications/misc/rtl-sdr/default.nix
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   #   /etc/udev/rules.d/, and there is no option to install elsewhere. So install
   #   rules manually.
   # * Propagate libusb-1.0 dependency in pkg-config file.
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/etc/udev/rules.d/"
     cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
     homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
index bf2de3a5f1b9..0a8d20a3958d 100644
--- a/pkgs/applications/misc/sdcv/default.nix
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib gettext readline ];
 
   preInstall = ''
-    touch locale
+    mkdir locale
   '';
 
   NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__"
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "Console version of StarDict";
     maintainers = with maintainers; [ lovek323 ];
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix
index faf373092d57..78305675f17f 100644
--- a/pkgs/applications/misc/urh/default.nix
+++ b/pkgs/applications/misc/urh/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     inherit (src.meta) homepage;
     description = "Universal Radio Hacker: investigate wireless protocols like a boss";
     license = licenses.asl20;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ];
   };
 }
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/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
index 54d61a047a78..a895c9b4537b 100644
--- a/pkgs/applications/misc/xiphos/default.nix
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -8,20 +8,21 @@
 , gtkhtml, libglade, scrollkeeper
 , webkitgtk
 , dbus_glib, enchant, isocodes, libuuid, icu
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
-  name = "xiphos-${version}";  
-  version = "4.0.6";
+  name = "xiphos-${version}";
+  version = "4.0.7";
 
   src = fetchFromGitHub {
     owner = "crosswire";
     repo = "xiphos";
     rev = "${version}";
-    sha256 = "02xyy6rxxxaqbjbhdp813f0vp1jpfzqscjdbdc0qcd4yvi3baj5f";
+    sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
   buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt
                   sword clucene_core biblesync gnome_doc_utils libgsf gconf gtkhtml
                   libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid icu ];
@@ -34,11 +35,11 @@ stdenv.mkDerivation rec {
     export CLUCENE_HOME=${clucene_core};
     export SWORD_HOME=${sword};
   '';
-  
+
   configurePhase = ''
     python waf configure --prefix=$out --enable-webkit2
   '';
-  
+
   buildPhase = ''
     python waf build
   '';
@@ -50,10 +51,10 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A GTK Bible study tool";
     longDescription = ''
-    Xiphos (formerly known as GnomeSword) is a Bible study tool
-    written for Linux, UNIX, and Windows using GTK, offering a rich
-    and featureful environment for reading, study, and research using
-    modules from The SWORD Project and elsewhere.
+      Xiphos (formerly known as GnomeSword) is a Bible study tool
+      written for Linux, UNIX, and Windows using GTK, offering a rich
+      and featureful environment for reading, study, and research using
+      modules from The SWORD Project and elsewhere.
     '';
     homepage = http://www.xiphos.org/;
     license = licenses.gpl2Plus;
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 8f87fe7ddddd..6e3ba922d25f 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,9 +1,9 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "068jaws7lqwlw3g62d2cv7i44p6zvdnizdqd56hfs4wj08k068db";
-    sha256bin64 = "009ckf3gh039dwdf8rj494ra4qp0kijgzkrxianda1r7cqz1c3ys";
-    version = "63.0.3239.30";
+    sha256 = "1pk6ssvriqmckf61lafkbwyy98ylpaz0mq3g0zrifbhxzwkk01ni";
+    sha256bin64 = "0svdxgszy377hm3lzys90xj8qna93r4xz3d89sy086c9sq1ncsr0";
+    version = "63.0.3239.40";
   };
   dev = {
     sha256 = "0kpn5w1qvjlkxqhsc7lz269mxp7i0z9k92ay178kgsph3ygncm0x";
@@ -11,8 +11,8 @@
     version = "64.0.3260.2";
   };
   stable = {
-    sha256 = "0sclvs11kn60ibc66wfan0xdcsr2s8vkvbq759h86w9gq86pcycz";
-    sha256bin64 = "05lbrzd37q57mx9rii995l9z42a4aa0jh55ia615sqmzr56a7fdr";
-    version = "62.0.3202.89";
+    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 16b59debdd42..36f158ce0e80 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,955 +1,965 @@
 {
-  version = "57.0b14";
+  version = "58.0b7";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ach/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ach/firefox-58.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "07c3398805092ba5d252adcdb690a144f8143a8827e70e3be3cb71175735c9c37c9d0edb93936f8cd1af16ad7a6f988b8e8fe9eaed7e36bbb85abab0137893b6";
+      sha512 = "5021ffede8e021c46d8c01d46229e94eac8dfff5352a2d0865d41cd3130447641a8c98147343a5e10ce3c045e5c1e2020a7a950d980781cf36760e5a0528a934";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/af/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/af/firefox-58.0b7.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "fd954a1ddae090d6bd2c76922d4ec53ef249749c27996fbeb1276d2d82284540a000ad4fe6efbd690bb5e73b6923016d5c9c98d34ac5748c29791187417dd8c6";
+      sha512 = "46126df06020bbfe7d83050384a23479e9b2e95f82749bd77fbdaa0e9a9c26a4d8abe43ce7b96c90d5fda9a1fa30738076bd1908930f107fd573ada7bd198cbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/an/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/an/firefox-58.0b7.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "c57c10028a99df1694897966f54aa6f8b85a6b2d0ed23699542a7a2bbe458e26d622e2de398bf7559bc33e7e4172d23d5aff8402048174a39804247dd8516e0d";
+      sha512 = "ba1b4b6e4cb19da99f0c4122b7d63229e2d0396b91850710ccec1c36765fddc85069320c78a575e352338db0b9a45ba9a47d918a18ca51093c38fc4021a01d7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ar/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ar/firefox-58.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "a4417b95c1bec25f148c57c42895e84024153065536a303f8eef7a0d9a7d39d4de8bf287f3af815e8ccb7ec7ec797f098416f78775acc8d778c91975d6268014";
+      sha512 = "7b6c81d62d2f2b539dcc7523d099f1d13b2bbb1e0b5d48a55cdb0e16bf6bbdd96506a83ea8e8fd785cdcc40129492944b67c5f3145e4e8ef04b2f0bc16c11fc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/as/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/as/firefox-58.0b7.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "5b624b9d0a4ee345d5c7b79913a8cdb48acebae32f088479c0745acee925d58c826b5125186ffa7c017ff3524983bfa06fe5061ee9423c37fb6f0e7323cac85c";
+      sha512 = "d9aef18199fe709839e800843672ca1685575574399ababde05405241e336b98a63efc99e15af2833ef6148aa186eefb6b65e00f3b0c250e0c05ca6264148e94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ast/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ast/firefox-58.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "efb5ac3daa79a88425401f2bf5df6c0fba90fefd21840723cedc8ebae149816198b727dae67c3f74406c47e01dd2365d1eeb92c39a549f1acba4ba65dab704b4";
+      sha512 = "3757c1a187f57abbff989303fbf5d6efc1131b94d7d5e1c69c461ab7b4c2edcc535474976420dd3a2a0128f84922e0f2f0b6a84c412bea720d2e010b558fa766";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/az/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/az/firefox-58.0b7.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "703332727a0db4a51a39859209ce76120cbdde5a00d32a931e118e478dbb5f4a4e8f3d06abfa9bc97bf66a411f533c23b7375599fc0a7f0c13c9d7f518cb8990";
+      sha512 = "f0bc0432a5a5b9531ae15fe5de407fbf90706874609eea5b1f8294a7686ebfc93c822c2ae9b0856f20259fc0a7d1b1a544ba3b6c49eda02951f108ef4bd991bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/be/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/be/firefox-58.0b7.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "d8ad4ba538e2e3f86ad8564e2418cbd34f33d4e89233fa6638acf10a3e10eafc0b81d6c20b585b872c5c00bb6fa2af1ea4097c19de01446a6811e4843c99fbf2";
+      sha512 = "b7e046e8b6725e2fa709f0b75bfa58da0aac461d2510a336fc214aae8f5d6e6aea6e44d12a833b6d4b3697072d6b57f092064dd16917d93eed81c363e5e62d3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bg/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/bg/firefox-58.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "cb6af38306ab8bcd9229cf1dbcfaaf310108c31e28dbae6b9fc21a4cbdd82baf9fa785a9a94bdacb779c8679721903bc721a0e7ca2a1a09995fa97f1486a8232";
+      sha512 = "a1e962b4c2c19fce2e16f60bb47541e1ec54f27e515b284713da0aba46248f9daa7d043af7363466d9229d16ac5aaaaae5200fbf48ac0e3aa8dc0afa5dc8d0ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bn-BD/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/bn-BD/firefox-58.0b7.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "1739ab1c4c1a7387dab56fb89762b26d8cf279c14a7bbfb1f7f888e9c2c714eaec84aba12f1384defc7974e207b506e206f980a8a68be7f274cccf7232f30e32";
+      sha512 = "72aeeaada4862f009a4c74883f4ea7493a3af30b882cb27938f63463d61063390df7c937dbcdcfa76bbdc8645a269251084742848ef563d2ed9dd37288f0f2ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bn-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/bn-IN/firefox-58.0b7.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "358f8e3c1e9774fabd6bd8faff4cd2903c0e0cae6e5e6ee6f2ceb228ce7d489ed9112eb729a4f7d0ea25c377a2a54772279ea1343cec449b949688dfe19a69a0";
+      sha512 = "a4d5877b47ac1a3b2cfc20dd4b743ee7602eb4354f92a8e8427c482e79757243acd51f9d198be009acea3350b70e921376e83085c718cd578decd130991979a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/br/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/br/firefox-58.0b7.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "df0c34c951d81d500a0720c2a9cfda76831564dc45d2e34d37b677702414b2f53710fe4eb7f63257658fd058ffa648a904aaad4d864a325a1b1e1ddfee2faf32";
+      sha512 = "7c1e4711e488fa27361627a5c55b7a628056a18054df3c1e24f89566db449ad24e1c28b037e9e4f881d4600187ccd37829f472de391633c2a2aa06f487ffd55f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bs/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/bs/firefox-58.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "091cffc15f609bfab74061f13c526d4c13946e7b79d3a190ced0ffe2fb9aed457e1e1780d9c152699f4b42aa920d9bc77701eb944d9f9671b70da3278fabde8d";
+      sha512 = "0a9718896a1c4ab09aedcb6e3d45d8e44e9be184fa506cc0c631808fb4eed22c359b472d73de94ff8644bb055ac13e361a63ebca4bda590133957fc28e49a53a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ca/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ca/firefox-58.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "cd485d1202daeee2e24ca812350ce348ba93a0bf389741b13ad6aa6a81ae4c57007ea0b312e401fed8c268c8a86b5ccbf62ee25d2c1d8d787f16e92467f3c136";
+      sha512 = "c1535a98439ef472322ac15456661213882be440dd91d31c568a5253a1090c2a7ffd62be5c1b8fe9151bd09c29f6750e786488db81b5754427ccbb3e659cea1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cak/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/cak/firefox-58.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "c5573576cc70d776f3d40a2451295ad8a6230b0de280b0a2a3dae7ecc2c1fcc2eee5fd5e4df91a2b1c9a63411263a4a55f0bfa605a0688cbfb10c341dfe4eaa0";
+      sha512 = "8430fb0d9a0b8e6f0512defc5ebfbb44eb2cae2320f13f22b369ba499fd86ebf533ccdad0be89c88a26688e645f22da387fc41ee68df19088c0b955524576ec7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cs/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/cs/firefox-58.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "771141fa3d846651448b158d8ad583a45dd2fc05ca5e3ff2ca19687431a140744707260b3ad9e304bb2062757ef333815f69e10a48e72308a802f9088e24b22b";
+      sha512 = "70ca9d1cb7d8dade7d2b9c9ab928706370f988911dcfa59271a1f9bfeaa8f48addbaa874615ae8594a8fe322affa3af90339416cdc6689a79c36445dc718bedb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cy/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/cy/firefox-58.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "7fd6f5eb9473b3ee68a7a2a98128c205df6654bab21e4c19f6ecc1e427dcdca3b93e9ff22239ebb652a545a3cb8892782e34cb876ada78d604bc48816960f897";
+      sha512 = "fc2fe962bd2c697d90e5b31f9b71a834da09136fed525fab28a5b0ab9598a83e3b2af469f0c572b87a6ab080de60dddaccf565f5a96461ee48bdc7ebab850b96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/da/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/da/firefox-58.0b7.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "30df907a7e99f41f9291d2e677e124363a8c2f702e90db870e2ccc1bbabec2266f0c64fa3daac66c5da1543056d1e3e1e8458dd4627cecfc0a9090ab0aee13ae";
+      sha512 = "1d9898b932729ba9995cc5822713da0ca8a5b507861f424526bd776f83060657566009f99e05a430bb2f9e2444c533abf4839ddf0cf6ffcda9febd2bc4e7fbcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/de/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/de/firefox-58.0b7.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "bce375636ad043e2a9e331ecf84154f5e329217b6c1697ddcf17301115f39c6f35b88083cbec132f92fc30d93b414a8a913ddf02ff0c406295047d5d11a7a3e1";
+      sha512 = "24af7d62484e3826985a5114796dc93efe2d86c2ef5822e741f254b313623ad7d11902213b2e2092bfd139e222d14aef3555eaddef7e3a0fb766c18a04ba2c16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/dsb/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/dsb/firefox-58.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "0b75a555b9b02759b4315d3f77d78e71f2106db1b2901457b54e7a487b9f35a0aed3b6f47e7363257b2bbcd42104783fe14bc4171d658515b72fb61bdf9b0fd4";
+      sha512 = "96eef6d142d996fe85283113ade2c3d1b1dfb992463c7ece8539e8104accf10d52f61b96d764bbc8beccaadc3213d9d0d90937a248270f39b2afb0396eae2f83";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/el/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/el/firefox-58.0b7.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "f4592a580dd7fa207943d071c92816c1f6583f579e8a8fb6564da6e95c0edff1c7dac24c581e25f874b354b55aabdb8fba17a2f4d9677b653e957a66360fabc0";
+      sha512 = "c142c16fc294b4ece8ed90a91caa750e0d1a7854aa14341b1275a0f467f85298d776dbd329617b605a97cd8a031b389cf4d490705af9f232b8f4b17eb6648454";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-GB/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/en-GB/firefox-58.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "56731ee2e83a591201471bd6236a247a3a5713607344ae8a5c03efcad4f69eeec010dd89c1fdd6329325768a4b9a83ecbc278fc503a8d61244523748d0a8fd06";
+      sha512 = "168bc4cd0a7f3f857059aad18148499f272a72499c55b83b24877e9e4abc57eaabcb333dd36cb585b03960e835348fb152d4d86f0b78916ea69b49f09a82099b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-US/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/en-US/firefox-58.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "cbe3a6ae2dc8d89ebd935d2c58d3f735ce08f45418c31f1faa9f75d75255a07fa87d9b7d53f571bfd876701b566e27cb8bd761cd167749e2019b1f3bc1fb569f";
+      sha512 = "5a96f444d2bf25a74199ab3829497e0f11183dd87d5d5fcdab8864fbe591cb28cf9b57e68ad87b177825918f6524cea90cca483d93d19d5ac3d4670cd35d47e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-ZA/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/en-ZA/firefox-58.0b7.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "f5c32cbea6753f4325c7cfdc99bacc4565b58b0ffb7cdc8db6d559922b8402493b502e7a05fda4e08746d48dfa50ca7b70ac27e152ceed3fadb9d2af2ac0f639";
+      sha512 = "f7a74f3d0c4290e877ba26a94a40e19fd959c3ff4cf1dceb717fb840da84b0031d67fd48a1656791c51d092f064d634ffd76f0ec533b59d83c7257193728b35c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/eo/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/eo/firefox-58.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "89d278965fb4c7899abdf17f2fd1dbde201c959b623c46ba4db51628a3a09c5e054a614b8657f7f190ca5e9cdecced24f126978425bb38d14c84770958466bb0";
+      sha512 = "2d0cfc0347a6e96a0e1bc61e54bac3821f2c8b8510c275e88bc537d4d34a985d0a23306d6d33d031f0b41ad8b9650c577dec42abfcb2e957c12ff37c7372401a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-AR/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/es-AR/firefox-58.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "d21ed37e2d6461f31519d08040b271e9a6d476e7132f5db406fa3eb3fdce67384af376a89d740426fba12a5602c20a4d315c0e337f0707ed7b91d739b648ad63";
+      sha512 = "6710a20d4df4e1b4ff9a9c682792365776803de811b0d0e820b01b0d28646198f76d07fa8a55d0e1b65fcef240fcc01c7bd7850ebf870252032c8e03127c8182";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-CL/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/es-CL/firefox-58.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "bd0dd077e732c996de27e5fabd22933aa1c1ff448425bc757be909ccfdf7a8a2f32944721a248e4998bf9d455fcce13c22a89dbb780c3a61d8fb06745075b122";
+      sha512 = "1727f05473555e6aba5684b98ac668c3b8b7491b75b569f4c141c1312b164f3d758dbfee4bc0e0d8f5d273fac3fd7825319ee13a8313d0d607e7b7841b76ec9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-ES/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/es-ES/firefox-58.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "7abe774d7c2baa9e055c382fbe4612244e9ce5c778185e86c1b4e8422ab8af4f99a949bc8560109e6995d8101f8563e6251643a5c6e4ff1ca9675b064e1da580";
+      sha512 = "4ebdde6483285ee47b881247d5c3e7793a9adf8a498bbcc0037b384d6419a242fdf6f320470b873f30ffda97965c1c772e7ea2e52f9d056c6ca3e37b9422900a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-MX/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/es-MX/firefox-58.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "4f4c6a5cb3fb25a030a44f3b7c60d6a1af77b083ca4cd04711ed4663e276f03ac92f4b8be697554af7a4721641fc7588b005e27f2ed2c5c1efb947a64cfae8a1";
+      sha512 = "8454f61f7cd1dab0f8740f01af6c25fcf4d1a3c7364429e249d3fac80873f382aed68bca90a248466488bb254f161c5c68ced1f9fd30f2e42ffdb4e72a6036dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/et/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/et/firefox-58.0b7.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "f23d6cdaac6a412c28c633fcd304833bb341c159090575b8f8cd7bed6068a3ca3497cae072d831b1ac40ebc98853fec978a09009d3eaa5c1f6aa6bd4f8c3b956";
+      sha512 = "e7ce6126c9e027a1064c22172ad498693615c8e365d5ee6929423ca2d072db0d433577d44ee9a4f95ac99a26f7ed7822e3d684e369a191a293ce08d00929c5ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/eu/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/eu/firefox-58.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "1f7f209e1faafd254e607c7bfceb5b1913c59361d55bfde394d2af4f745e0be54b7d119cf71a88c577dc76f0ca9a96fa52cdb38b27ed5dd6d270eef5efca2501";
+      sha512 = "98841313a366d912506ebbdbfc5511239d7938cbcedf350d0b1e94c5af2316f8e902edf252b70ce5e631f2a2a7c045e2ac4d539ee2117bfccb00be7bf67e3950";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fa/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/fa/firefox-58.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "e175dfa91bda0daac8854d999cf3770332d61dc11ba338ba8a9c42718e7d470e07dab656a3a13ff25f4295df648196549b4a3f4b273061c278f03e0a76815213";
+      sha512 = "d22a361c8fa843be18a9354c9a9a831313b1c2245ff09a36b8d52b8775c2d7e044e127c63ab33117174346672b7c5b24115d6cead156b0edd5a8ae2bd1f93b3e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ff/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ff/firefox-58.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "243c09586248988625ae347ad10b691cb5f93ad78562c3223a244403a5ad41b138289a992edfce91a8744f45ff8a2feb008ef3dfeca608fa2cf44e39746bf794";
+      sha512 = "64ca4a2d1d95bac1fc8b3a798afb589e322ee43c7f5ad909448846c338e6cf096559394ce6da414fd2bbc9912f27fd3e66cdd3a82e2c53bb14674967c7c3b7e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fi/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/fi/firefox-58.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "66ac96ceef9d36ab4c16a288da714c9bb9dd72b12cd814dcdb3740135ce6d19f18ee564c31050b619a1af207d086674ea4f60ee01de3a18eb854f35af5d3fb8c";
+      sha512 = "6d96a6e91307e03f75b20693b0b0d84c54e0fc09cd6694ee689b2c84b37f0ecb991efa26ca51f61d3f7460cacaab5cd6aca7d4f2fc51b72d9dc33f481c8af650";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/fr/firefox-58.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "7a9398f8753c0b3d6777a5dab4c28fbacc493883e5326fcac0cb0a0f62509169768355a5c5db377afa6a1ec79676b8de53ccabc49666ac9830d588ad2c8bd8eb";
+      sha512 = "2fef7c93d2e7d2f095331e2b7a2818908579c841e4f7dfe5c74b733a2f0c51cb9d5b0b83a9bb0477e3c7f5fc85664bfe4b2a6e4fdfde80e4fa4e62bfd6d1fc3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fy-NL/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/fy-NL/firefox-58.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "b309d91af97a94246c9450eea61f81cd8f6e8564bd089caab7e1238df4855aea54568ae8d40c3c59e09729779623f1f488e2b18f05094ad79d7d773a82196eee";
+      sha512 = "9e7eb0cb3e0973dbcb1da1bb81c8569f89756379fc4c672e6b52db10a3cbaa6fffaae0098bd3de7d6b16fd8e15a5f66cadb573442b04e7e528c8fc343498ef7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ga-IE/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ga-IE/firefox-58.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "f3b699c8cddca58a8610aade833b470e006a804606ecf13f166239f32ec7fdf0ae57e6f91d3a104efd08fa9cb34c7d78026753d0cc235cabad8aed8ae85ccb22";
+      sha512 = "979c7644dee49ac564f8d62587cbc545806bb1a64bc414f3ba580286879b5b842f237202b3ca26702dc507757dfd26fa1bfbdefb89c1538f2039e9e036de6bf7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gd/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/gd/firefox-58.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "261b14e52513485a14d4c92f580a9deb228dd730f77911dde25785b8eb7974a1fc6d39b6d377a3dabf3f488f9d29892aed86c38a115aa4c9660b27a229a512f7";
+      sha512 = "66635d0d4c21ce55520fa51c9ad6cdb6a8049a747ad37f85f85f9ee0dce33b5dc35643759b27308c21eb6b88e05cbf5ea05b8e1dace379dd3291e05c7387bee3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/gl/firefox-58.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "6028afc50364a4bc0e21fcf82181b3d6ab44a985d7ed55fc090544d25c0bd65ba8737e1b653e9cf860f201c6c3aded33693c2ee7cb7229b899007e9a607a39fd";
+      sha512 = "6f6f8ed0a1d15681a138e6d3b5fbe9802faba506e6a65002f7a7c7eb87c3f46a231092ac9baf4043e4c783f88e585b325d647e65772ade994d807b72647cf9b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gn/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/gn/firefox-58.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "a189db0e527b1a69d1f42b23b5898224313f73b269ece12bcafdaa9204cecc2424660ff3543098cd6036ca17c724436fc6cce9fa7f38376dbd35c943f56cb559";
+      sha512 = "6e59b7421b75757ddbc95c4d49dccc9475727ff0b9212be0decce19253122081548874d00917edcd952d7622c2e17b3abdeef8396eb3facfc7dea3a00f118f96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gu-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/gu-IN/firefox-58.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "59c9e99ce0da07aefa433b76a961cf8b9294b30c4c3198ac7c8cee5d430c89a10058f614f0955ef768d1e0c12e583fb98612caad4cd48389454b9878bbb08667";
+      sha512 = "20cf94a9e46d23355e74828479ad481b3cbef854114bd7ae96b0cc6b2c0466657c4779633c4e190c7848d700cc716783c326e7291d4195eabf517161d93e8a96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/he/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/he/firefox-58.0b7.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "101f7135364f544517674f8c0bae2d16aa600798ec7755f4e02d0827df6920a60c19fb0d2ab3dc20febe1e9dfecd192a64fddfb2697b825ac940de530383ad7c";
+      sha512 = "5405d5e8f23739db3595e58578dd69efe0b3a3a2810dd9e785d468197fb762818692e33dc2fa25508ce6e8de03b18a8616c073324a905ec7fbe7c1adf2a378a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hi-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/hi-IN/firefox-58.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "dfabec31fc6170e3390a313a6f201ee51930c1e1c884a5e1b0b2107a2a3c1d19753c91404146dbbad9dc572f9828e3196e6fc1002a9b318b3648b1dffe2a9cf8";
+      sha512 = "3b0dd7838f501d9f64b2938911eef27ecada5afadeb4a4e880f71546989284e58086d93b5dc41be14d6c7043e13524981117fa478eb280606a097eabb9018f34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/hr/firefox-58.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "2dec6c07adeda8008e3d85b6552f29f882b1bb9b89a5e03422126067ebf9eda03e0272f31464c42f8b9deaea174c26b1571c1c416f1fab63a7e67cc0bfc2c136";
+      sha512 = "1ad50dbeaa00d90e224ef575e8e69f408ebab3f5fecba564f8026040ba1cafba2ec07e67a194f6a241e83352843d357f6967d8ec057df8890b794a2f1db22c1f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hsb/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/hsb/firefox-58.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "b5dce6117e1c964a612708263adc5533d8a063ad6586030fda1a214c6df887995f7ae7782039f063786bb332732857781392c16c646c29d9ffc53fc3c8cac8fe";
+      sha512 = "81963648042a152f368e31aebb242b069fe11dc8d8cddb0180a6b026f6d4c775c0700786f07dbb0c2b64fbc3bda16393fefaa001170af3a04bda365073496ec8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hu/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/hu/firefox-58.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "fe5654e089d50c099aa3cc9279c0a4a3e975a3e10d15b9b832249d082f95d461cbaa51f5851c3f4a680419e293fc9137b1ddf275ad376e073090db37ed92d888";
+      sha512 = "3877b682bbd4a0f426c9310263cfa5fb61d45f2e073753191337649576d7841a82bcb5592c01ed117708e888ef381253f8a56bfb2bdeb266ef034919d5651004";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hy-AM/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/hy-AM/firefox-58.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "9678679c8bdd32131fb7397a88098028a955624a68d59746d073671298a3ecbd8d2933675ba564fed0650f44add7fc1135f441a3edf2ea932cfe6fe5b2ef5d13";
+      sha512 = "aa0015261f93a69bbc34d8626cc8bf2c2501c85b445eb90910ee5aa5c3b94d9632a7b7c872aa97b499d2a44e02c1ec1b5a467356f8e9b32fb523badf782a9e7e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/id/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/id/firefox-58.0b7.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "c863c503ecbd71f17c311f99d94a86af12a57bc1ce0beed6fd0d0ccc5c814c25e5636de9127610b768fb947a0ee48ea585e1a205e1646ab20d2f6c2044b67618";
+      sha512 = "01601e686d119421d3a2e0e4583b05f365c2d8e14b1304d868b1045d64bdadafe1009f271482d4e0f142ab1ab8f3d9985101671ea5b7612d35ff54c5d3da5c9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/is/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/is/firefox-58.0b7.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "7fe2398dfc0da2bd215867414d765729e2b30620930ee1f50b98a348f6e6fc098c952d0c5ee200dbb51a84ec82f4ee2fe8b01c4a6fc879d2ebebd95f39f825ba";
+      sha512 = "d3549c49ac7da286587b3df91f14ef35d5f0d8ff0c28174bdf7b5a0cf1253dcdf905551845a0c56be85ee1289c44653c502a8ee10210316db05376449b20ffc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/it/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/it/firefox-58.0b7.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "043b409173d097ce49eda0e16144b3f50ba7f7a83ed679f8fd09c26d18914681e15b68308ec6c65aa09f26afd195b6f8e5afb4e2276a5717b716280450dc403b";
+      sha512 = "de88fb70a97574776d36ffed4f558e134aabcfde7e549548217bcb078196f20dff10abd8ad85c024ca0ad4715e5a03f0f8980f83e9b3b9c528433fb791ffc28e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ja/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ja/firefox-58.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "9c4391e27831ae034624f22e8643922324b7940f2b6c739d1c6b5c47449b83f2c8756b11efca47a42820a867248efc023876e1218327f1c8e80cda0c960734a5";
+      sha512 = "c6757e5b61ef605781b3ca729f910fbd7c78c5a95414e680d90932329850cebae7cc9d9acc40e8b08b04844864f0a7c7ab96bae315d2cd66ef76da06af6e68a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ka/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ka/firefox-58.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "490c43518d3cf1320d9a3e8f28c70908b31a5f9ed01b211f4e53aef67baa279eaf129f06ec6c21efe2fd4a89364f55ccda95847f058cb2f83fd1f92c466263dd";
+      sha512 = "4f577ad76047ebe9008aec34c5dd91a96cb79f10815e82d7ff17637b6c4df0172c1da8ab95028be1b8e486341c788b35f1d24283b1b847e96c2b859b61178b4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kab/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/kab/firefox-58.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "bffa144bd5c6c0d3fcf9c8d44c679f22af1127734ac8934a5cad4d5e6726978133cc99c61dde870143fcfa0b07c146c4d7a84117178e01083a0c37d9b4810184";
+      sha512 = "2d599ad1d8cf62cd62e93c41dead3db07553efe6613024ccb565d53747db02725b1142da1ba36cc16428df972039067f8a9ded62e18ab4f9531a4f16c47dda85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/kk/firefox-58.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "5b49760338013954ffcc3ae2c9c79b0d9ebd92f1a148188249559723bf23338a7b606b26f5326b48e2acb15e7ce023f4dd2a536c0cbf5b7af8eacfc33f3be670";
+      sha512 = "3c4b8ee8d17adeb42e38f4ec09910398cb56d4040440feb7af837ed30a2f87c57d06a445055d327b506ac1b90d7fb4445e8e90ec8dae390326aab44b0b40b12b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/km/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/km/firefox-58.0b7.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "7ea92ede74eda15d9a77b6b22a02a634364b60bff135da5356991644f474a47c16283670d24f2cc28d112c97f3b49fcfacb1c618f9caa16fb013c3c650b50feb";
+      sha512 = "53bf714979518598c170a426f56661f6f99282ebc3e03316c9e9667e442ab41cc331bb835062ec8e1e1c4f7c3623b7963b332d025f96e5509bcf9a53cfe37e8e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kn/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/kn/firefox-58.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "e3d3ad10a374421603068c420e2c5c28ee8a9f9b822df556a1237eccc54a778ca572e09795aa9022cfa373652cf2913c621c2fab82484f7eba77f56305ed6aab";
+      sha512 = "eb1f6e788bbe4e7634ed8e160001bda1612c8a2bc6cc0e8be22de71b36da05d72f0de3b4f635b32d67af664b3f987ade8ecc4fdf96159a659eff094861c6019c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ko/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ko/firefox-58.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "a681d5e49952f1e671e0c86854102979e052b84140002b968f791f4a325858985751a3872446ae2495802ea0c1df884291c8559a573cdb236cadb7cd706ce718";
+      sha512 = "3bb5687c08acaf89ad955924e7797cb2bde610c7f38b125256f9f09d2d66a5b418cf8f80a06f82563577244f29af79ff411297079a8d6ccc7ec1fad2bddba6ce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lij/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/lij/firefox-58.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "b33522bc78b07958a3b5b80bc0833673b1516652de2a165f5bc7ef54575a21af20a922e207be02c4531f64503e97279dca4ad4833d2eb86a6c04f3fd1fdae7f7";
+      sha512 = "a8b3da7cd3c19402ba0a66f8d8a8f055eca0fe74fc4c0c298cae55495df49e04465f08908d1c2808f85da0978ec2855ddc998a739a72deb4fc5729fba9d58868";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lt/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/lt/firefox-58.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "ec27a8aabc0736b410509a9fb9706627e06316b34a241639ae27108ba3c4945b4ae675fd85da390ae053603a0a13a124c0638c11c0750c665c8226446435bfec";
+      sha512 = "3be9e27deef5717867a5cfafeb5645b137c68c912fb5e17f4c674fc4d4f2989f71247fe85e96b2c4091b62392730934bfc2624b83ff7e329bb141f73cd9d11d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lv/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/lv/firefox-58.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "bc4b125320ba7033946a290e0d974cd4a4f517ae9c9e2a24d86d28307476fbcb4372ec0cfc567d984e90d105cf692a08100bcec81e4ab615fff19ec0ced0096f";
+      sha512 = "b1a027cc22e3b3fadc605d9da8c0e7955896550cd6b44bdbf40bebac5abcea32d02ab2f331cf4f04a06bdddb32c6b7056119b8caab4b0e30693474b8bd69b69e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mai/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/mai/firefox-58.0b7.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "2aca4d6ce673fcb71a8c6228e243157e597573d152d05bebdf8b9df3bdb479dcce1708cdaf2462902c5ed0b7eac83a9dca523bc55a6bf6b2a9fd1d4582a3d68b";
+      sha512 = "803a206dd987fd3205133c9d7d1ce0a7256737fd4a1728ff577c87f5cf9109f132461329c06d230c5c989e008b0bfcf5e8d3385525324a0d96326766953019a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/mk/firefox-58.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "22fd8e59aad75508702ea3fd37af4261f864a76e943cf6d07789d4f1d094d7e0d5e76e5d4c92b6dc642e0f30047d4515d8520bab667c05c16aa4ffb60f0fa168";
+      sha512 = "597dc0399bea9a38901ee97cd538d3937f76321e7ac4927de8162b62d614572f9d6aa176eef4ee37bf30fd251a0ccb59087db29991c6821c9f07b569a1d6e317";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ml/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ml/firefox-58.0b7.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "f96568186cf49bde7ceaf36805277c0cf4d75da2d5930227e625e2abddd5b740df4207ce53abac24c77dc755f52132204b945fcd7706de4e3075505635eae9fe";
+      sha512 = "093202e7dd82fde414ab51267b230aedbf1bcec286ceb3907fd6e028307c7f4fa729b1a9a8d6716a4415dcb6162f7d67caf691d9b717dcdd43af5c5b1dc60673";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/mr/firefox-58.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "82fbe7593e52299dbebe38fb97126b91f57e48968c7235d8adba93776ea6c6883dd8eb5df3345cae55d156a7bde2004f1f446339e46de90c85f1525eb1334147";
+      sha512 = "f9d7850249f03d6da92f8fdbf77ef895ad8d9b218dafeede9dc64e6578acacae19597bdb527e1c4f7e34a4053b24acd14d1c2561f85f0b1520cb3c0037d66289";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ms/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ms/firefox-58.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "3ece240f01f8322a86d1b8861be25e895fdbfc9a024406727400e0d6cee8efe88a11cbd6799e4b7d0d8396cad80a6a7438d4f0e3b641f94396a7d2e80be06e02";
+      sha512 = "f80431604aa18a39b85070d66d8e89aec0de61149d71de7112a05a3388fb018b2885dbbdad5fbad4f8040ac94ebb24a5c6c06f41c30b1f05e5bd4219c27a7c68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/my/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/my/firefox-58.0b7.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "9e670ecd9628c8822f634031dc7b6ea2610687df8967591ff44a3fc2922fc11bf84575811e9e0f51997764d67c357de5020619e3f637e31c3421e64b533930dc";
+      sha512 = "a621a9df2a542bcc9012c04bfbfaa8a6ec2fda1a01f35b52f28375208f769a757ef2404ddc2f9a2f096311e7e0f9e2851b95ec76a3ab5383df5df35e692a7776";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nb-NO/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/nb-NO/firefox-58.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "298d7d24c92a5f56f00d7d615ffcaa1b483882f5845f3de4bc8be2811ec6b5808a2bb813ee9d9b8aaac84a6c6f7bc600b45b7c22480e6c4c111fbe815d46e70f";
+      sha512 = "46f983e879935bc62e436cfead118363d81018fea9f186c19e085f521835a9da94d88e1d69767d30560e39430033504bc589a769413ba43d741260605c7db025";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ne-NP/firefox-58.0b7.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-x86_64";
+      sha512 = "8c8e6a1888230d4475dd7590f711a58930dc26042f38bc9cb8f9340fb2132e29d11a247219c4367fc5f74edba1fdcc3bc40544c979dbcc4d3b46d65083beb4f6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/nl/firefox-58.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "c59787d50bb14ecee498e9c454e3ab79571656160761e95a53b41ae8196093f6dec3f435d9a69f064b9c4aff0bef332e2d5334153d98c8984041e26c82ef04a6";
+      sha512 = "53792f4a06b7d9856d5d9b4a9741ae92e9bee321717039c5ecc7d2bba594e90105afc39cf208a5d2957da85e63bd6c69f072dfcc5e21bb46873c5e1859aba075";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nn-NO/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/nn-NO/firefox-58.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "c7c9965a5810bcaac0f1b0d08ab6a9d660a00e40368369998101c2cf043837459e6e65078906c0278564412655a76987f30b671bd90edb25820362c3a846b1eb";
+      sha512 = "5f69b9e0ec18bf22f966efe47aff9ef2d3e11a2aa299ea3b6f932fa35c13a17a10eb1ca938bdc31161b82801b88d5d3eaae192cf95633d12bef5e3f739c42e6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/or/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/or/firefox-58.0b7.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "bbdad4aa7743a1af3c31eb81003612d0729ceeea5a0303f129f24e352219007b55f40a931a0140fe1b1b4cff694572d1141779238881376e77f30a3f3675512f";
+      sha512 = "e050d984e25b3c2ad348f1880ae5508cfdc5deb3fa7569a188f9181c71a8dce028f810412b249834536bf8ecef5c7262b3156851883bbf5fad4ccda9ab2d0484";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pa-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/pa-IN/firefox-58.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "99f5ba6937e08c2cb0f05be9b8f2e87e1f27d5ad610540b3011cc2fcd11c2a7a84a1cdaea9b6133d1c9a38311eaa13221ba57bdb444c9aa343c446abc41c986b";
+      sha512 = "808e3e2895c5d6deb58a165bbee34205009f54a3718fff31b5a4127cbe878ac6fd564363bf3f86ee499b61658ad2300adcce8da1ea0f45f398a579e0a1109fe4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/pl/firefox-58.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "956648b1f331356f8ee31158758fa0ca7cc7685aa7b20c1833d87828f5f4d695fb3fdbebc55f4862c0f76afe72ea6035261c9ebaaec2561d728d61a4bf53ca9c";
+      sha512 = "3a0facece9ba0017119261071f7f61c4553c2c059935a2dac1a78b164d4af4af09d335077af5a433ca5e6d4add5ffd236d4179b750f8c6975ed384045cc5eb81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pt-BR/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/pt-BR/firefox-58.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "528a30c7ec5c7485d0a64b6787e0c14c66f832b2289884ff234799631f4e9c6d620c3312ca3d1872e28c80c7a192b8e0e4d0b9d88dbad610268e9d3fb37b3a05";
+      sha512 = "6137fd1415f277429e3eb9e4d19af058654beeb10c8abd6484d9ede083ffaeb7c87bb9191de0991d83270d0de008525b24ca5233bfd36dd2bd0160e74d26260f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pt-PT/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/pt-PT/firefox-58.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "c70eb4dd653d035fbcb7de8bcc78cc1855f7d6dde8296a825d733a26e9c44e38c8e77ad54c63f806f12b90c601508bd6376aa620a1e0948c0b265dde3c2443ce";
+      sha512 = "bcdcf8d7a2da21937dde5674ff437c9a548163b6eb2553e1f6404df32d830fec6fa092a7ce0611c47103394cdaafe001fb136fb4507adddd17ea8e3410b849ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/rm/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/rm/firefox-58.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "c9b9f0e3ea90fe7e2d5c2907d82e7ea5abd5f30212f1fc5e726dfe72adbe3835107cc836e310ee4bcbbcb6ed6a08bc8bea06d3bda08d1fe7a08ae20b6a22bbdf";
+      sha512 = "ecaee93f64529d262a6d286a4dd7bbc5fa36da4c4f88e128f5c5e398264294ce2bacabd63ac33825af25b842f988af6a47f5d54d45f243b0f9a3233e6cd83125";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ro/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ro/firefox-58.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "6246be75562143b57f27de69e39f9c82c7aea3e60d515cbab0ed5e32228f5b33abd61cb2fa7f3c4e73c65a6dab5ed446a0eaaa94767e0196d5b337e6b5a410a6";
+      sha512 = "63097cc17a58824b266098a9b34c149fac3eeee46f27a0a0877fdcb1ac8b32d613e21658f5b5daabf6eafbc8e91c4536c21d946ae2b04b67e9b512ad2862a94d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ru/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ru/firefox-58.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "467a4adb72e27ea95d324f52007e18c3ea307b7ff158a4e58bba69859f5369fca8e7243329e2bacf590f35315402af10d8071c34886a7fdc3cfd6e0548653aba";
+      sha512 = "f73ca4ebd865f3c07fd8e063a6977b57596cf195f575ed900509cc7f4e21aeac00bdcd5c5dd8cedea8dd58342be36e6260141b266f082181fc3e9088a0c2b34e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/si/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/si/firefox-58.0b7.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "47b11ccc3bdc373f3591ee73b84edcb9afe915f1bdf5b7abe65eb2ea675da44316a4ee5087c0c4e69a90dc337d43e201ac15b98d04a0ad970f8017d737e4f738";
+      sha512 = "c7cb0baeaf2e41c213b52e9037353c7d4fc3bf263a3c85b39982617c2d7608b2500d400ff41310d68f533abb594d8f182616d430680065dc3c4a3d25e514a541";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/sk/firefox-58.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "c7696394b76668733814f1b2cc1c41cbfd962d4d58e424c041fd419b3da2559b1f4057a8aee328e0698ec8b350e7909ce5da3770f287ba485dfbcbeb3d1de9ea";
+      sha512 = "fb0799563bbe799872dc7dad240184c960129495891a715bbebfeb744d7c568aeb95c02164403a2a81f64663512e344159fd7ba087f95fa9a02f224ceb7eef8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/sl/firefox-58.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "aea6c90fe73f9aa1340de0ba8207089deebdfea21d5fbd5d5c0ada6df26a4acb4349eee4a7ce09f9088439cf059fb7fcd6169cb1c34c83a33c909bdb3ed7af43";
+      sha512 = "fa265305f9aaeb889513b0fff54809428310de84108d82e48c8ff6e04e648836d71d7e41ecf7ba68922111679a38a75bf626a95185b6ff95938d4dd785183c96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/son/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/son/firefox-58.0b7.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "6d3a9b05ea14ad1281c51d99757475b6642a5411b7b409f2acba695c3c0a5719f4feaecd0c56713899475501fad3413fe46f4a3efd482111aae2395df22b1e25";
+      sha512 = "6ab92139262e57082d00fbb7f741365881de427fef119dc55237ec0f13fb4f75ec2ef8035e0d5641efff9fcf4f52f0ecb5cca7fccfb39e2686585eaa6b28656b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sq/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/sq/firefox-58.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "9e7639f9fce27b4c3b3fa265e0662b31360313569f1fad798c89ad1eca1944827c3aae23c283f4e153d3f81a73d235b5fac56598cc02dfe2dcb38aca806203a7";
+      sha512 = "60ffc9767a063d9a31853a31804094443a2d3681c7a5fac3bd8ef07057f041324547142aed74085a852b76501d8af039094bb2892d45dbdaa6092601504be4b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/sr/firefox-58.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "d84980d2b454f33a33fdd9b44ea7e2c41a73a351492fa7bd951a8e4ec288a7aa4d12ae362443a664abfb554693e8a8f5428843b28ed48429de3d32575f94ea74";
+      sha512 = "4c31955ee6eb5f9c7ab27c43b46dec743ee0e8b7c382646d647ce91581fd23ed3bb25aa8685027939fc9129f2dbed3a356f26130880df813a9750afc061cb40f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sv-SE/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/sv-SE/firefox-58.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "b26deb242735a3fa662687efbb8a293e76561821540ad701091a8b7033c9c1047459fac955815790ed026e4f69a51d2b0396a21102a79623b72f5ef8cbbd06e4";
+      sha512 = "254dc114ad52fb8270285549de75958d8a5d1252b3298fdc8caf3dd8a05579bb2cc7c8bb0cc8bf2d141118c78f65b539d9540b8787ed05a8fd8009ae4c80dbfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ta/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ta/firefox-58.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "1e98d86b9df418542dd15a204ed70732dc8111d8fdf34edbfee8217460e04467a822b66804e9876e28f15e9167ec5a6dc1551c4159c136006392feb7ca218009";
+      sha512 = "ec735ec8a7f9d12a788489ed0c22a08bf63070e4dc366929ddfc23a17cee0e5fc8fb637aafef058e41f8850071123cbb7a1df08b1311a51ef2a6a0939bdb9222";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/te/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/te/firefox-58.0b7.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "d22b7c8b45d37631434007b196c63044a860912826cb301a218b0aebab5ae8283370924a703cebb16a98a589336e024b31ad580b6fb57ccf3ed53f238e361704";
+      sha512 = "71d8760043f1a76deb3ea223892807b617a14c9c6019d9f1c2a5bafc0879a2cb32aa17a2c19053f446ef5eb48aeef96ed7dc3cca20444bcebe49a6e735c88637";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/th/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/th/firefox-58.0b7.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "8a806b68e3e5d4ba884bb9f72bf07c2bcdcf33a8111236fe837a41738e997116d092ffe73e4028dd7429c4bb0f097270fec7a20ff3b5bb316fde0a90af92d22e";
+      sha512 = "e8ac9d00da9281cfa4fa6cb37da9f4602a1b0fe6c9e66350e4ceafa39e50a40bd47f9da531973f94429e5bc5e5300c1a4f8cbb5586d4528efd92cd30b410213e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/tr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/tr/firefox-58.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "9b1e73d28f5f1fc352f830aa59612170b72dffd7ae060a8f2422ce14ec46f9e646fe625ce36dc4d380fb58ba0300c68a83f2d8aa8282100f6ff33a43ca79d807";
+      sha512 = "ed6ec28378a7dcf67113ecc6b3833436981663db319832349208df52a2f74ebacd125e9fda5bd75c2639b3cd4b2e8ff63ef449dd47c917cad6a5cabf250b6505";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/uk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/uk/firefox-58.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "96d471b413e980ced87be210faccd8cb6b796c17b871cf785c34f10ebc04c4c76ce4756bec0dbe121b689bab2f777e54eef6ea43750e31c1c83524d0825d0fc7";
+      sha512 = "6912316b46c0a7a299e90f78872c40af1b8b663b493d871d20b235c32497297ef7804158812601e6d4ee573e45462c6fabbd2fdc3c9aee32ef17f413c154b6b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ur/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/ur/firefox-58.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "0724b881cd4aa040b249882d41cf55260d6aca1f4876c89a42f717f00cecf40b32fa60451685b7a182d2ebb11dd08af7e0327bb5c9fe94b2a6f03ba8c9b4d02c";
+      sha512 = "7b077c5ef02814b89503066985cb4d59d3a14e59ce5d93a51c30a95fc31660957b6d1f8e9c6da2e031b4d652b56fab8a144725805c7772dc3ade2f95d84ad14c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/uz/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/uz/firefox-58.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "bedf1751786c828779fb719edfaec466a299ec706e40dda5f886bffe911d425b82e9f9a3cbf5a0deadff7ee77fd63c73f38ce3462aa7203316fc0569a4423927";
+      sha512 = "a7f26d0b9a5eb49a17036b32b1b11464d3a7e1ab0a55d58f67db7b3c0e6d3c8f84ee077a4437741e215ae7fc8fe06e14a957bb0782e7495312aae591736232f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/vi/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/vi/firefox-58.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "3ed1b4f71d75d0e863da048edf60ee3cbcc5239d4a8ebaf69fa6d3a8e8be20e556dc838155d7b99ab2776ffed60e578ce253c8e6f57491dc84ef3b68049cf929";
+      sha512 = "e02752022b7cea203d2910a95aa8f8bb96fd1e5f6acfc7a1d40871fc28c1fb679661647a1350754d49aa5bcf3dc2c4b1f7d4e676aa7d9eeeea9b32768d996a29";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/xh/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/xh/firefox-58.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "23db4e5df5432094b7f31a688b84d23304c7890d0ef99cd9c992d7a108a08199b6f6f94bf3574668b9b0a915ac49d2c0e8c6b0c37ecb145da3f5e2a5660d6d9f";
+      sha512 = "dcbe136f3b15245ecf8d40a7af269caee1063d2162fb206276ff435bc384d999f6cbf5eeb63d08211b3db51e963c14cdd4b3028bac0fe522d51456af5a182c5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/zh-CN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/zh-CN/firefox-58.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "bf08e65cf257f789dee34891818f94368fe89bb500138ffc72855da7acc62cc08a4eec3f4d32a637f59fd0eaf072994ba4d5691da300d75738e3274e4db3ff45";
+      sha512 = "8513dc605cc21e6cfd0751755ce7d4a38026f1e9fce8e24fbe7721c339814af32b12470ec40295b380ef461873f5cc4925b76985b18dcd40256b73ea2aec3d1f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/zh-TW/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-x86_64/zh-TW/firefox-58.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "6b924c8ad6b86cf07b6b2f01a6138636391acc519c469b7c1dd96ee5c707e1b81c656fe87df31519413ad60e56e06da46c0f762b26249426428dafa0420a5b97";
+      sha512 = "f21ca5ad4450f2b9c2d7463fbaf7a165ee19ea255758a75ff81cad38da13daa57880a3e9eb679d71352d3c15567a24be74cfccd5880963354670086c3928dd14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ach/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ach/firefox-58.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "56d847a9417a134af10f53ac5630f7b4a7108b177444327df97511494e2a28a279990ad37d48fe1fc482f34b45db66f1c8d458162f253faef3ea2e66e42e7166";
+      sha512 = "9120027617c43b1052acf1d195fbc527793dd5e89dbed25c9a6f19684b47a26f691be2d2a1fa2a934c2764f99c6592b1edea461196dc418ac0b471b3cdf41e49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/af/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/af/firefox-58.0b7.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "98d55bc29423eaa62b1c5f179887ac95e8aa228ded6e077cc645660a048ee3e42da7966adb9dad5f168477262638456bd9509aeaabfb2a754f0435b60e9b3a46";
+      sha512 = "1b4bd0c8f457e0fdf3c1a27a66218ec54221e5682ad1d4af825a6b0cf7790d9bbd9b181869e425433dc5c45db807663ac37d698ed08225834a5a7bffaefeef22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/an/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/an/firefox-58.0b7.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "0478d738826d3d9b0898ab93e25527b4dae789652a65a7b16ec5796b8e48e575387fa3b7474d7092ad851e107c03f9c58d8dbe738277371f2e881c56c9f727f3";
+      sha512 = "1994ee2911bc639f8bac8bac9f02e83e5c3b09f3848fd57f5fb37edcf1353511626989f8a11969c541877cc8953414a918af19f26012ad498d309aebaf4cce08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ar/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ar/firefox-58.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "4c884b86e8ef6b554d85151f1eb780edbee0bee6b60f2ae3b30ff9be74591c4f4df07e5834d0ca5cad456c574abac712a8e856e07892df652f7db510618d231a";
+      sha512 = "aba70cabad9403bd4885aee0d1f4db47b9cdf7aa6add013636be5463b48b90ff3a8af8be1a5ec3942b02d06d031f0a691b8685da669e4458af4a4080eb447575";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/as/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/as/firefox-58.0b7.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "a58c8f47fea197a5b9a397f8e58f73e381ffae3426c83872407481f079b62a585230d2f389245d5eca6308e8832fc95d8dbb7da97d25551faa44c20f6e032bfc";
+      sha512 = "1cc296a04e0e53ad0d944a692af21e1dd77ac7bb546163caeff0019560dbb2e86d4047979a975ca995d84c86440ff0a404c77b82765158e902788259d6bcf254";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ast/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ast/firefox-58.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "fa4f10093602f03b759502d76ed1d7636ca2fb0f83174869e3cdaec3503fae625e6d49a07c011dfdf6964aca7e8ba81861677cb387ab8c638a5a671864451dd9";
+      sha512 = "57b7a2e3865e19263ff17eaa590871c13fb6beee4481b64383b9937a3752bc5eecf95d2ea655ee0ffff1480e453cbaf1db96e49415598e2df8591950d9e7a5c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/az/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/az/firefox-58.0b7.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "8560bb32c0c3aec695d86d1c0ab6491ba0c2dfd0a936e7cddfb8d3cd35890db31ea233afc74d19974fa693614bfe7728e69b8d1ee47a34331b07674b0b57f118";
+      sha512 = "40016d7c89f3b7db4201d8d34242eb78fbec4304a1e2668741239d290f6bd6a40e8a144b9f6a31d151a51718eef7206c35d6ce353e79c1511707e8595a0271f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/be/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/be/firefox-58.0b7.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "026e1ecbddc4972cbf1a2a930fa1488b4e649ca7c811ad243a3c068f8cd6b57e5a73d193a3feb4cb49f012dfe3b5af9002f30609cd1551abc1ccc5e89476440f";
+      sha512 = "5c69c38110a37f8cac93d2d5e2c659414de26b668695a591bdd56633a9a67c37fe38653f1d5fbd313ddd632a485b07998f4f93baad704e8c99779e0d6843c8d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bg/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/bg/firefox-58.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "9d145f71f46e12f071e8e181f6511d20a6ca5f1f1950cb076ca25b929893da7546b950450f7fcb41021c4591238738f9b8797395a86c599a907f0df687cf0282";
+      sha512 = "a302e7b4dfa91bfaf04e2e0cf1e74743c5a6c1e343645073caf4ac0f41fe68ffe2c6b3abc8e0cd8a43a6228effe25fc2512a1822c2720ab44dfcd8e5e3252303";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bn-BD/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/bn-BD/firefox-58.0b7.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "846001c844e9ee3d9305eb5be18438af65d5920363f19935a60b503d4a31c0fecf1d7e6fd286cb7ee4b7e26455496b1d27fbf6ccdf2d2a432ec2e2472ebc9c75";
+      sha512 = "8b4ca44d6e50ddf72858942004b57d018a85338a8c19297fc15b02086372069367998e33d6864f6672636e86d4df9b8f4c2a112a6950d3af6f26ba4d225b4da0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bn-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/bn-IN/firefox-58.0b7.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "712ae023c09681b1ee9f41240d12a1641df5c4fd7eeff15d157c379e5b5779c65b93719b238fb121fdb9e5ce10809b21125a6eae23a77e1806daa0b2b13e4372";
+      sha512 = "3920d3ce88e2bdf716bb973ccafdd400ec837e1cbeeec22bde7c95523d1f8c975db031fd0b17ccea8435a42f4ab340e34ab391d23e50c625b620f216730a350f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/br/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/br/firefox-58.0b7.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "b99c48b8971dfdd0e642cf76cf890706402079122311b1b6af77d658b03acf87feb67918cb83e5435cbf0746e2c2a7c49bf7283969685d0b4bd616d4ec3066b4";
+      sha512 = "81b03d3596ae5172af9a2834d4a124361d547f22f82bbba65e0cb2dd6f7f9662adc0b59f639e8271fe8af5ba46afc822884e92d673720484095e56e0f7a0e77b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bs/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/bs/firefox-58.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "2203e66bcf453f22848df010cade83d6982178c8ccc023e05ff8fa60aa3f7e583f9d8e33a313fb70a696e149773d567be8228084708ca8d01b3cabc431a7576d";
+      sha512 = "5b1c5be05f6ea497db9b0d0e3f92eaa0f9097a5deb4a747b3e5506306de4b000f470c7c45f9c22d2a7f27ef61431a7b39a65fcc81a333989693ea1ea4aaf2dad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ca/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ca/firefox-58.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "75ce6cb2bd7c1d79b4260dfc19237a1344fbefdff9775a7e557f9a31dd9fc6235f58ca8bb8430b80bf0f25c14be5dc2509e86b41b7ff7814e2fc1baa63f187a9";
+      sha512 = "aea114a32c81e0e3f94ba005446388ca71f12ba1413f816992b1377e75835029cd2fd498477743051e2b9df6990a31373c93343b897d6281864eb1b7f58ebcc6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cak/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/cak/firefox-58.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "b4f0a11030bad0cd177db357bc49b6f745cd429d3a8dd9bb09e99db1dffd32ce8c21a94c0b98b6db703fdbe16750b4574b3378dfd40a358bc0c7957fd2cbbe2a";
+      sha512 = "0d649fbfbf6e9ac73439e40ac7ea7bca95d1898967579046f7b30e60958f33f39688b642e2981a0e6ad5af73ee06f4e17130c4b793d51688927af5ebc4d7c1c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cs/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/cs/firefox-58.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "5ee1dbd826801dc5b029c8eadcfe8d040f000527a6ff7f2a40713a137c59a144456adbb35cb202d7883d831486a0ad56079d07f681ce294a5e97825b7effd69c";
+      sha512 = "d5ea7b13cbb57dc4dfba0ee827a2a9815f1cab9c548ad8fd634bde40db3964ff213f98c22d708be34ce6ecb05d5d1a1b3ad6d4160bda8b02b2e8076ae77735ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cy/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/cy/firefox-58.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "7116bf1dbec5603d22546b1927a6038812c2abe1e9e7e1ae556919e62f04af422950efd808e28eb7f8b349a9d79bf01b9280d6a6aab94bda8c0f6e2a8968b841";
+      sha512 = "820d7a3e2a27ca0fc593e716c16505afcf3d93e6ef7f539c8c099f233101bbe6d2bf580a727ae59d2cb07c10c772dfc374d2553b8548a9ce7c2106c1a621b069";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/da/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/da/firefox-58.0b7.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "538ddf539a6d9dd22bc2dbf9f712773c1d7896ce2a49632d4acc2e5716dda95dc9d10393bacdf2fb7d24342c8a93c39eee139f32edfb429b0bbf7053b7bb3240";
+      sha512 = "fc5b49cf43ded9215febb9de1bc644dbae7469aa79e2fca13cadbf6f50559039ad6f0d3d908b0c2ca4b518b054ae19f580400888c12119bbc8b0277b26fe28bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/de/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/de/firefox-58.0b7.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "ff33af1ffb0549951baa32e423eac3828b15bbce18ee03cfcdffb57504fb0e592db2721f7008e84562e5c1ad297311a1b3d4fd5ab41e3d8346a2d1ca50e54c35";
+      sha512 = "e5c81597027424e20de1ef0d107015b1ba5bc4c296b738eacd358c8b87d713c0ae200b861d5fd55d82c1deab900a9840469176ba55c7a55e2874df686f5d6fcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/dsb/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/dsb/firefox-58.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "6dce022b035bf9c5d76c45492e29617668e0000f5f3981e3f132ca1595bb54b504cffa92d220e118fbefe8088f3749f4d077c591a12657ce9266b88aab8019c1";
+      sha512 = "0b06df756a9c0e661484664c10fb19eaaf5afe4f0905fd0b1adfeb0c49a014f6df9e221873b54e9e7593eb0120c7a1840408013f0c049210ca63a111be3f7f1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/el/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/el/firefox-58.0b7.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "b917927c48189bd26289fabe3a51f59965c8a421aa941732a50aa9aa3769ce085ee69bb04202c21699f5ebd6ec2cff75ea2446246d89916127be9418bb00f47b";
+      sha512 = "90ee61eff7cdb6be91aba936df2e93e43e109cc51ffc37b8632619551f12e6a0249df627060c5fad3fc8b1c1238ee63ab16c3a90b0ef15e3f6af68a7fde08ea9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-GB/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/en-GB/firefox-58.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "17257657f8366c5efab1a0c47aeb6129e624c883222a6bc3bbb097bb49b531894cdbfd39898d0d83981a1609fd3ea5dd101419819a1f156668fd3cdb3758b8d9";
+      sha512 = "20ede9aa6dc8622d3dda981674b7b6d7137e6e10713598811a315fc6ca7f575258e12c0f72bd05d716fc019516cef1cb3013a05676128eb647c3563192035f3b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-US/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/en-US/firefox-58.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "c86cce7893fbaaf4d3b00b961b07a2f2d680ec07451b735449a501b2d9fcfb2fcbc0cb29150866805ad38f6a4aa1b6c4cd87f5872b8c735791953f3646600703";
+      sha512 = "e788905b986760946abb6c38c4e0dd7383dd2bf3af59ffc3c9260257f90dfebb7ef8847c25f74fbd33af7b51f3460ef13e1f27cd328b2904171285e75ee1f309";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-ZA/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/en-ZA/firefox-58.0b7.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "0b278c62b2185a4a6cafb7015062693a0dad610ada1123d07e162456e4d942f02a0566ce525e68b639fd152c420b925ee3e934fd3c42ba25524b18cdeeb9af5b";
+      sha512 = "0ec5254bdc5dc72b8c25c9fee3a6f1754e02b2c0bc5ece57a8823d2dc9d2654bc825f367006f2103e166a6a1a19f85da6d6c9c887db2d897ee1984f0c9c00a3a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/eo/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/eo/firefox-58.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "a681db144a631e6584340febc3de05803921b757f7c1d39ad5b8ff3d119ed8b71a4d70a43ac1e3a121e04102770d2796103aa127886753b2bbea723e22df7000";
+      sha512 = "bd04bae5420497ba5d28906314b2e6acdf736dd8ea92c011c7d1a8eae13fef1f4be4036a121f5da85abb7522e521b726d7bf264d0ac330ea74844aa6830a60c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-AR/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/es-AR/firefox-58.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "40f5a7d9ba055f7eef155601f8a57e566c0829f32c92df48ea2ecebf6e10dd80885881a98d18a693643e2c00f8734218a7ef8908652eba1c4d4288f95a34cde3";
+      sha512 = "1121c258e7bb8a21b2470928f6fd54a5f46643acf83307e4f09a22212995eb32f9ba2df74dbd7911ef2d9343b0a9adf123d545987d34f679487d8510837efdc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-CL/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/es-CL/firefox-58.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "be1e5b8c6e184519d0b10fe67736d7635b6fe8ad71ab78014e53ce9a1f1342a83aa1b18f535ecde2406e8be7a8633ea58af9adb355ad2b19ce0879c62f70bd40";
+      sha512 = "ec242b744f9a5e9fd47a02f26bf742d50079957f37c4c5bb463544d01591e68606eb863f617344bf91f7abc9365bf57456f71d3e195fa3de8d15952926f4dd47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-ES/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/es-ES/firefox-58.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "be0d2b2cb5f82fbaf10be63aa76a5ff9b9111b4caf0ef5222b3ad7d67d39f25dafc125352c00bd91bb1eef50a6f57e996f6a10618d50c5d1340604883bffecd0";
+      sha512 = "4a2772faa3f035b4b55855191ee41370e3025c5d9c2fc4b9d4dbbdd0e8117a18d64ad61056c052c018622a3aad19c7b8b95182a42dc4b93d12030eeca03f2d28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-MX/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/es-MX/firefox-58.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "439f679ddd8169d51e1c1f9ad32185fc9b33df0a1301af7bdf8982dbfc5410cf82edb4dfce3dedc214ab258d714da91661882e45b8220895aafcca171fa9bb02";
+      sha512 = "f71db5f5d8cfe7e8089acfc471b0e132840890e687e2b96e3ba129325426f58f0bc125213004ab65c8028e4a388286856f69a9dce6e367bf9d54c12a776e84aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/et/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/et/firefox-58.0b7.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "2b80629eba503ca034fc4e9d873707aaa7668b2d4563792e3500acf89b35153fbd7f6406d12497b1ff1423e7ddc3bb4e0f3f63cc759758e544145f31aaea5a03";
+      sha512 = "bfa505755c021131e0f12cecc58836ceb2e8624883d220be6bc0bcafc1e4ed3d7d1671f431393249f55213802d9b57aa5af39058fb9ccce72ac9965590408664";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/eu/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/eu/firefox-58.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "03047624365bb4fc5bae68a5bec91a396da7d404731cbe09d89baf3079be0c4a9a2c7ff73d231f39e98689d5c4dc7290d2401fe14cb564ea53d063f79d7c151c";
+      sha512 = "07e789b568cde5aea24e193ca1d9808aa5ddeae967ee3c3d99c8daffc6b0a2ed93e90e60d31d58a6c1e385776b7c0b5f1ec35fa194af3f9f93c3bff9db0a6e05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fa/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/fa/firefox-58.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "8758735d6bce447b8492f9a395da6f58c63537fcc946b17b8173554b6eaf32a41137011bbd44842b16e8053d55642feb880e9cd52dbe75fbd55dc592724a98a0";
+      sha512 = "5508c0e83479923178a19b77f36b54b26d113717b134714a883f53dde4948268b59f8c67b7fdfe87d579a0c906aaadabf2f0244b81e2ca9cf71fd5905b234462";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ff/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ff/firefox-58.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "5d6a1b45f69135dce282fc411237db713538830b00f6361f86a95da199d56f2bb351de9e59fb1d61a4b617c79e8a80adce3c3e57ba837187d4c368b79e414dad";
+      sha512 = "49fd776104b461c4c6f9815bdb9be27cf0b9c5c3ccbefa7a96e6e593e428b2ba2ef99866954cff5b5c35df431cc0e0b3b7d56b27e7427f32f5a4ee7a1e254d88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fi/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/fi/firefox-58.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "f35de96ff1b8542206fb8e9942333397050a6e88bd0e6bca3c1e56fc4dc754dfac0b554b74188d316e6c820881ded2812efd9221b2c3d6497826ff29b89382ec";
+      sha512 = "0571dd2fc41026fb87c00b2294be660e378d7540e356623f5e5a874220fc6df76dee60bbdbe2f5c457caf5ab496692e787452f1d09a4ee1990268ac1aceb9da3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/fr/firefox-58.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "118d6ae69eb686ed1d791463bb2ba025749068017de94a9d002d22b195ccb9e0cf0d042e613ca88c310e685070612a070308971e12eeb318b26b2335b13a6a33";
+      sha512 = "16f0b696209d76b2c09ba9cec709da5e9cffe6fd3dd155aea562fb1bbf6bcce89059185898c0bd93c27f81511f710b6d7320298b32932994791c06c8fdfc2a7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fy-NL/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/fy-NL/firefox-58.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "79a22424fddf0add63c3a3528a63ea4c0c9d39f3bf9e35e18fc9ad4a57be7e7f675087f1a491698868d5ce57cdd149aabddc224b7b3078ad3a81e6ee6dc35b2b";
+      sha512 = "3724f5e7fbf76d1e076cf209ac693c226a0f1f629a076e51f06c4c377b43032fb2bd2f9d1148dbcd714e87dcb1d91d9bf1519c153c30d98665dbb8cdd459f964";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ga-IE/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ga-IE/firefox-58.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "04b87f564be35d19135973a0e17c2db1670aa804ad8c76b40c8f3ccd670e0c64456d84cfec276dfc55dfa29db5fc0bc70826752bba756cdb597c7fc12da1d30e";
+      sha512 = "2638337a66570f68a5fcfb0312c7838eedfa81f3a7e75aba2d61a079a59cb87f0014560e5b2989b73afd729559cf5bf3f89a52d623e49e725b4d0b7b18935918";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gd/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/gd/firefox-58.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "f2a66ee64ef80dfaf2c16af952be22ba9c11b3a2859b6a861e04ccc2e7863ed5bb1421338c1ce30ad9ca4506d6223190ab5feb194ee445e9fb09a11aa99a465f";
+      sha512 = "1d67e00669e7b7d17870c9d5087f53d958151a0f1a7c599c5097b6d39482734a14bee5a365f9cc8bf0d29cb1e319955e13d05a68cbc520a330158b360082d5c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/gl/firefox-58.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "f59b462819ee53e8727863b3e4cc240b83ec5828860e3a0428b012eb4047ac837760157a7db60bd85486cfb9945185a2b8f637581e489d90bf140bef873dd9f4";
+      sha512 = "f93cf117d682be8da8d4c9897f885471f0242c8866e44a1c4de4e77f7cdbf0acbf37cbdd78a0f5628d7d0fcb7817fd740f2927ba0ac58a98a508763f2c8902a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gn/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/gn/firefox-58.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "17499a923e6f7d0e63e4ff0ebee17f02c99f614da02d0ff8a737a37ecdcf69ba1798139c1b824d187b67b443e54701b1046b59fc6bac3757f86fd6303a778c57";
+      sha512 = "a8f8d86bdd09e01ad322d328833e1003b7a3a4e8ee33a98bc9c17d91e9f5df0b8b2c1cea7f51374c1b52468e6c8098b52ab3770503145c7815fedb9b4257a30d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gu-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/gu-IN/firefox-58.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "605ef03bab50ab1438be938bd8aadd917c742a5ac0bebd14dc8388a6e5cd844b52e0ef23670537dc50c2f3b4ca20814a9e559e667f3baaf292ce3fa16ded26a4";
+      sha512 = "796c3bcae7fc24ca6b772203c3e6f56b1d538b519575c457e17bfaac6bd5e43037d0e24e087f215fa668f3b684f2fc026589b501f77b23c104bb73307f865854";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/he/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/he/firefox-58.0b7.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "51bb0b64426ed0d46bb2265b18138dd0d5fdc58c2782d3bff4dd8ae13bbfb354648b346e07bfe2795a4fc31cff2df54d94ceb42ba0342a59218eb5444e9fc12f";
+      sha512 = "76941b10b9df55450b4058915983dd4e596144d84a3372d9e7e102f3b7fa23eadc38ab5f8a9751989ba24c00779ffbc3fbc9931c45113d2dd0c5c1231421d28e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hi-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/hi-IN/firefox-58.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "74c921e0bcefd0c81616b8685ac3a0fc85129a950a917ec37c724fbd92df8099e79726639cf18235379ebd345f78de754e4b4e87d859e696aec6e780c607839d";
+      sha512 = "1d78a3ab5d01c8063c1a3317360fe2dfacafa424a7b1a14b9a636874cf3bc5ec28a369b94f331175f53724a24a2ac5f18bc915b066facae23083cd773c9ce62c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/hr/firefox-58.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "8c4b634cbacfe34a2031c1edf196201fbbf13f7bf22be2910f27788e56b0647598d805953b888869644f4ec3547a0813377d517676e732770684b057e5f76028";
+      sha512 = "186be3426243521b093535ee61c60abf6f8863f73fc46eb441e19e8d36f94f9e17685b6d1fb342979c10948255eda47330bb3816cfdca4815463595a9d456478";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hsb/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/hsb/firefox-58.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "59ed77d9722413d8d75c8474de28660fe59d8990deb3c1743fca4fb1c18529173e0e7bb171cdd98df961792ca6368b91db26d6ebeb461543473ee5ce8eb7da82";
+      sha512 = "7aac26c4a34b50c40dd1b635712d28ee729b9971247de58f68c4bdcae1d135415ec253e024cbcd95800c4e39423c1cd9dfc337a5976a315e7e851e90b7d56d55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hu/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/hu/firefox-58.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "de8d917b533941220763d011fc9b38f0c0f8f32f09d999fdbe985017a002c3375b592865420e58fdc4a3d56f73206ddbbac568fb506ccd2e3cf4d2507e8ed315";
+      sha512 = "d2bd1034bb576b966f009b4f0a425007fbbb14dc2f215fb680bd19e526690ba7cc0b8e7c7b67a42883c89c2f3d832e2ddc7ea7d2ffb35ca825c4a373c54a8db7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hy-AM/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/hy-AM/firefox-58.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "ea76bd2eff30277dd06d606b0568dedb0f01c6330118da99fd6952f9bd5c8060a621687c66853b46554560b56f1ad2401e87e66bd44d1a85831805caf7ccebe2";
+      sha512 = "1c8cc4a1b43c6735cf6f1df6eb26d18192e23dfcb4bfb7960669291527c96efc6567bff24a7d6916f392220e403e51c1da21c2ed6618728fb62f14d70550f3df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/id/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/id/firefox-58.0b7.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "024ba211754ca36470ff316d626f46cfc2763b94dbfe027fec9dd628a0c617fbc9050ce7af336d22c962bcbb9190f1980b1381c5d3509485b4f7bb5780c6d15b";
+      sha512 = "e16c1497c161f3f4d98f8ffbccabaa5d6e7383370255b682536fb4cfdbd6da642350598fa6366944edc083acbaf5e873fc1954cbd05fa40ecb479bd2938ef0cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/is/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/is/firefox-58.0b7.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "d53d4d7545bca63ce99dc691481b890846c33f5efb802734514ba493e1b31e3b4ee9632a4389dc388c77692ceefa9eab4e9f85de1298d0337a6756ceb27d55a7";
+      sha512 = "fb922c6f81e5aecff633a6860c0210d83f064ab4a0276c980936ad86d904a287144d2372ea593cf2e93d5c5f06d35b27d1390dda76e41bbb43cdec5abad96708";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/it/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/it/firefox-58.0b7.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "960bdeabd29fd9bfe72f9e2b5dcefc1c9577490636e9cacee964b8646ee29ce2cc4c9cb87a93f057e2a6371cb734920928bbab90e6c6738a19098e9e5a4dab75";
+      sha512 = "fecd6c03310bebbdb55b4c6c0e14eea4474272f418fd24774c7da323f294cfa8c719d91e213f4b676d2821ed1d24d5777132917dc8cdd7fb5fb0dac8f4168df5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ja/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ja/firefox-58.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "f9d889ff8a25259bcc28b1178ca511ad7cb0ad9d0882c8b3f6a04e98d5f4b63ad9b190cc66c184f93fc96e0f869bdb10cdabaeb7b9807d49c3f72b7c62efe3c0";
+      sha512 = "be108bb25141db5f993de571d21485360e7b0e2ce85e652a9e49157a017e26857922af6350275803d5e57ca64f82bedc61de2e9a213b060f1e8a3f8f60971a59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ka/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ka/firefox-58.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "1ece76f8237065e712b9835d0ea15f2b7318f420f8e4d6f73496bd1dd9cc5fbbb4125a04b4b4cc5c36bedaac39fb844a101653efbb5d0555bd13c3a4ea3e9d28";
+      sha512 = "1cecd42a4127a62a19d07360871171facb25e7e67d6f76d2166de4b1fb8806c577f257a46abf516ca298b0a97eca6a36382194beb2edc7dd2624b141b7b0eecd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kab/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/kab/firefox-58.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "67d22ff37a79716869d7b59e95806c4a9b89bb2e256e0f1549fe5d3bc9fb3909f7d1c23111e8bb84a9cdfb4e029414908a79a8512c49847fb1d4b20263ccb43c";
+      sha512 = "e93b3f437b47ff0b1a454ec07a8c74f33d8856a603c653beb9cb78d2364225d97ad883ae4003fa866f2194207b50798827154f37ad498067a8bfb862e6b4fab5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/kk/firefox-58.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "b9cc2b1c31ea4bfbf17c2c7b0452bebb830cd3b8cedfcf2739360dba562119e0eede3b660a403420f367287e94e0bb34f072ea13b1cd1b58681302267f299464";
+      sha512 = "1a31f5ba5856f2e670e61faeb43d6af2818128562c0f65ec445035a0b8a98a5cc73ebfa2cb34bb35781a566f580f2e65a8efd582b145bba1fc375670e9c1eb31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/km/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/km/firefox-58.0b7.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "afb6985ad592ad2d634c3f84b1d573bb87c59bad892f066ddc1bafb5cce7109c59403f3c1394b2f65da0fcd29ec897a3144ce1ed410f623354410c27e386ce06";
+      sha512 = "9dded6c71cf84a51b0192443b1e0d02ef9ff23656647d46cec8d3159dde01fc16e2ba3f78c56d276c1e7d694917c9df57dfd61e856e581683cae13825f31cfeb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kn/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/kn/firefox-58.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "cc85e9d276e4833fc962554e44a54ba8f5d56c387c37ea78f2f8deb1b845eae8ecaba1761726e209275d24c4192bd61e409c9d87320c1315665c095fb5231a9f";
+      sha512 = "fe684ae3d54faef6a60535f8ecfd88013baab36bdc7922bff81be9d629b7be3c3c2723616fa12321e5277573549595e2f99474ee433270b5fc0abd251860b971";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ko/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ko/firefox-58.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "3934a012853c70b77fb02689141efcba7679e87d115d80d1c7f5945027f082986e679f146a6acbc97ff5b5be6b0d057e3b3f8dc292c4e66a37d5c3972fe865c9";
+      sha512 = "c7762f5ddbfe69421f8ec68e9b0d1474e03a4555baab7dc4588b9856d3a8b62c152165100f1bbf55f82ad4a5116bbf46ac042fa3f817b600146d851fbe1282db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lij/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/lij/firefox-58.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "571334620261a36127ae1e7a03c6142ed22fe49a95e28534030882c47a7325ba8200b8350904fa0e501cbe0801c2bb1968b456e9982bef165d3db0e82ad34b89";
+      sha512 = "41e2a2ef36485de0d52602458f22fdd415b5eaa9a59ad9ea286b70ac021f368741ac63ef1370bd42f0ccfc2f7caba4e09e8d3340bb8f6390891a9e16aa7081f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lt/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/lt/firefox-58.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "3a7a0f09b52991a4d8cc6009c2fb91f3f908989d8178b4b9909bfd90f29db6ba11f29ffb35f3f1e578f96d6be10eb0fb337d28188dc792e6d024e42a5a16af8a";
+      sha512 = "bcb09dd0cc9e368b36ca27de5905779488cf479cc6037a539e00f61523b478b1613ce96c140aeabe21edf9b416f53113102c4fc7b62a729f8ad6b01137710205";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lv/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/lv/firefox-58.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "7e5153caca960317e039f8ad44f6eee4ac8f582ff2b957f70c9eb3d6967d62fb94e4b13611006d746bcb4611ec1b0a003bbf610d412f9e41f86a8ea19096b70c";
+      sha512 = "016f8103ae922e60284b3b37306e7c92760ec04b03c7fa6386c7653bbfefdb5a29d0fecf4e7a9131377fb1e6d2b251985a44219ca41b5d449917da8f3a1791ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mai/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/mai/firefox-58.0b7.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "07cbb84ad4537482ae8b1ddb00a86197552d3a80f6432779952bc9b1577c920de07e60f78272b1ee3889b031fff1c5a34e1c1a69d3fa0621fc53413242f80242";
+      sha512 = "bd99a0d512a043e8aa7b5898974eabc7826a0840134ff2a78e02d84779dfbaef27adde21f2731a0b0aaa2342ae8def8f67eb3d652905ea4419b96f9894f358c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/mk/firefox-58.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "230ba5c56d60d1ec08092e9f6ae396fa836df56dff1aaed933a706014318fb13328db5d6b0bc3dcc030daab5f906d7760bb3a6af3c03422f724d627ab8b9d48d";
+      sha512 = "8227f2bdc93f6159eff5492e7832cb2221b6dd6507fd7cc98f1d59ddd980a3e5701feecf24b6ffcf6aaa32052458d263e44c84b917bb3bc622163cfc4c63da84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ml/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ml/firefox-58.0b7.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "e4aff215ab6b3bbdbe08f7cc698f11b12bfdab232ddcf995681ef62dd9808789541e8ac7b9b71c003775b78451c06f79ebc45d5a85562385a2e449679db346f4";
+      sha512 = "33b7875160f017e09dfdb639eca04eb8440b36eedde715a407e7ae732158c1fd981ff96aff53640056a7ca40704aa403f1a12b5536fa680e6656dbaa34771cd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/mr/firefox-58.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "b2b44d4a205e39d82b453a35569da1a3f428610551d322a1c57e64da42d96ca2f199e8e01769a24628506cbf3b621cd734923f9760305de8e480d51f360f79e0";
+      sha512 = "6a25d225e6973b825a75fb3d460788ce642733f34d4cdadebc2b0c9c2fc73ba8d75da2d1c4731087d2a7942970ad4716ea656be6065f094cc4f7a2de103699c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ms/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ms/firefox-58.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "3646303c3858e4c2a7dbb555495f5f06b1867a04a37cb8ce95bdfd998e7bc96d8afb8c83b1df7d945bdc8327cc8d7be3f3bd7199efbe23e58cc3e38608ff8313";
+      sha512 = "a8f7607cec5ab20710aef0d9ff98566a47eb83685ada5cf51c71e3daff48422c154504804271a120d2366f97299f70cf9828b156cdb079f10df97fa6d3cab7d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/my/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/my/firefox-58.0b7.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "afbcd9f8dce81267614855d4d59da02f87d369c2c0af78e28ebf25de18ea4eaa1412999fcf3d414ebd030f9448d71e48500a4e90aae03b3905ba69f2670b17d6";
+      sha512 = "90fbf20d018c8645374fc3e09d415812430fee93b7684a9ebfd7b14c900126e218af8ec647ad7eb8e5e3b263af6037afab0d0c17549c3cb1b179b979e6d9a2c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nb-NO/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/nb-NO/firefox-58.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "747dbaa1919c1cec14d4e085f8c8f284fc49508ce82cdf9a97538a85aeb9b901eb9e160e03346a769ef760bdb2108b33a25a967a527dfd3758f25cf11bad2e31";
+      sha512 = "f0e8740fa4b3099a29851d89bf798e7bd4e3efbc3d462b257140de2c09023279249c69417ff474ab215fb085c6286de6fc4992657ff715472b935f6168bc4219";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ne-NP/firefox-58.0b7.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-i686";
+      sha512 = "26b35c385dfb16147d2ad149a049554aa1ea156b493399168ffa5dfd865e99d6bb84830662ed1e0e2fb8a63e736053fe3754568f66dd6876f0aa992d298de1cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/nl/firefox-58.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "d882e7c1a49ba670535f17fc9ea99e7be4505d6dbd5d90855e4614cef319c38718da445afc411f1951ec3fc5d9a3b8799c64459a7adb588a29a126d1cd16d8fa";
+      sha512 = "59659c61446bf681116bc85630cf6a66cc2052188563e6ce26a914a4b0e6e680a9336d79e8d0bec215d6b2a7157afe3b9e6ef8fb6ba959e04f17c7b16d967725";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nn-NO/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/nn-NO/firefox-58.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "8bc137f953b13a447dfd419b9ee0e4005134437892f214e49e18f98e080d5413d1dc655bf0bf417cd7c8a09811d3e7850967662b9d0be0d3b72cbc92db7e2307";
+      sha512 = "0eb0530c5078fce30cd5ca7c60853e911da48e6c87ad5a11b5aeb93e60aeee4c6a058dc66b80f2ad74315128290aab2fd953e24977e8add1c1568a5932531ed4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/or/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/or/firefox-58.0b7.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "34bbba4bf288f62654f88afc461155a27cc0316a920d7b8e42198054d5800360401c933624140cd569bb9864f9eeaa5616fe2530888e4717c964506ce66cce0d";
+      sha512 = "1fbeb8befbb40c178d7ffd96e0a0de2843b01d1402a321d83359ce06012ff935a44b0f010c97c7e907943ca1268d158e658a63b6f2eff53bb7d2d924b55f8ec0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pa-IN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/pa-IN/firefox-58.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "1403e23fb95cf8449a149ecd698e768897a3733718dc1f6eb4590685263e2a1b54aaa3e557a968cfe71c5172bbdf7d24f3eb9fcdbeb431e31a1a26c0b9738e9e";
+      sha512 = "edf41295598aa9b41203daa4458e0754a84721f3e8d53d7a53bc3c9816afdb7ccbd1a6c31bd3a45b7199735668dd8798b0bf6fa02d64d3e94e4d85763ca07bcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/pl/firefox-58.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "a2d99c00bdb839e4ce89d1bd6a0334bee4b6c6d426c3054257824c46abb1eb3c1f283aa0a4a030f1865fea350a7032cfcba86e231d11ce06ec3066f5ac4d47fa";
+      sha512 = "579b86f6bc880cd0806045adf9963b0bd60e9e0ffc870da8941bc6f3f78718e7faf557fbe2f9b2153b66dfcf33b09cbf0df0977515532bb61ead4ec8dafa142f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pt-BR/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/pt-BR/firefox-58.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "5768a805aa0b7780b55fecbd9bd349c6cd78efcbb3595acc7cab18d3356835e53e63e58e352c30c79b349e0b0c80be59509fa684be21f541cc67aa320e654f44";
+      sha512 = "3b59937a0d1a1828b500449683421acc41d689d38de6abaf5c4676e2e2756feee6eaa62f00c35c16b46734e6f1838954a269acb5b9dd637e0f1dde4063f2a603";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pt-PT/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/pt-PT/firefox-58.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "ca4dc2c76af2db4d9a44f8ce9f29adf7188a799d00d2e8cb1bac807dc90930b06cc5329097ef771e4f070969cf42c3cfd65b32dfd3112f59efdb0071bc6292e2";
+      sha512 = "7b2c51bb9a96ded0541051846b02f11425441978bc373b55610a4b52e06ce8ac5485c84d5800e26eac56cd9b16f59b85950d7fdd6660cab0c142f3cf2262f831";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/rm/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/rm/firefox-58.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "86af2317c04244c63f8182f46eb95abb1a113223c6d503c6b85c2fa9b596f44959e86323da0ad3a708f6c94aea4180246bb562f26c64a8c9b27d9a490d65a291";
+      sha512 = "7e4090bfff047fee19e0fb0a319ce0f5f5db1b24b4d02b4f7fd4500e9ec8974cbcac16ce2afe627a03bfde50c223f21add1d347e756d436e995d4a6c3500a61c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ro/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ro/firefox-58.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "2120d05bdf2dd8a702726e232fb3f94838befaedeedcb7c651d8d07047759b885904220173bfaaaa6d55b71e52085ce23156ad030992e8ae3981d47b41de046e";
+      sha512 = "3d18a0fbc926e2af676abd5b2e51431fba6ebe816ba6a6da961e04949ab49928cbc8489a51e456e64086d689aa58b14047f907a2c027942fb8a08429f72200cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ru/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ru/firefox-58.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "221b4170254ed9acd7edb256ae560060f640c7e6c02236e1925e38489e387f839c14b5cdfa2a0e4a0173e8b98a2ab57b7733a6fa361172166097fc84b260bba3";
+      sha512 = "d505d479edbd543d4f983507faa38a3befd90325ff36126bc5f814db277a3bdde8526dff08b31545dc7a196236e4a33468c108186f80baea00d06a2ed860881d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/si/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/si/firefox-58.0b7.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "ea216290852677ae93bdbfee42b65473f9e00797175b7e36f4766a251fb302fd69009888f36efca7d04ef29fb0d66e75bbfddbf25f7f59dbe1d6767ffeb0c543";
+      sha512 = "5a9983c5d8fdcd341553ce6eb1d34dabf3e639b1bce7b9b9453a6769816e2445b7640ecca208b53525781a1b402a64eaeb4d32f8ab1860a3c9d700b21380a4c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/sk/firefox-58.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "92071604add2392aa144caf61ad747d98be52c3fbb82c86f903772d470928f71748d8def2f367a8b6bfe04ac6769fc57f8de29210ae50bc45b75b94f5005b564";
+      sha512 = "2b7ecd372d1835bf545587938e467193295fcdbae3173edf13d25e61304fe98e5f1e684c59768c7556073de5779a06f25285fc06a9dd17a4583e1536a38ec441";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sl/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/sl/firefox-58.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "94341abe0210c9632ebabc47325c55577e9e6a5f54b4cfb0ba9d19298dea1b3d6f70a68c3f82f6a4c371f8ddd6e088b18ea56282faeda0c824040e6c4cee0db1";
+      sha512 = "71c74759796b8d633f5f4b17348dd8ebbf6278cefac2b23e1869daeb2251a4e004f434e7e2cb4d77027f3d0758e3ac2d451b860beb3cf1442e555f117314b9fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/son/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/son/firefox-58.0b7.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "537a57fb00d61b0566d9fd344919b65486f7c767c93d0aec9595467cf9a081d63c8ee7d3c7c3a3409ddb08d57f36ae078e3defc79826779954641c895079c1da";
+      sha512 = "ac5b18c99b72f6a40153123428bfc397b738bcdf2a4a1d756b815afaa20fc32dd460fabc773f19df5757e3079694f692814e1f2fc28e18c5d5e710f2ad9166c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sq/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/sq/firefox-58.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "a4ad413f8bf4ea8333b3c182a5c02283886e395e58b6ac5a53a298afba0938ec38648b67af3009a44468ab6fa89b6684d86b4d83525f0dcbb470f078584b6dea";
+      sha512 = "36ca0ee0b8f7a6b5a401115341233ce100d1daecb67ba1c67519bfa1f84f759a049ace9d4239586e9e1542a260f128582fefeeba967caac895108e5e91f0b802";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/sr/firefox-58.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "15990e14d69bc0f043f7bcba54c5c27b7562c8fa68c5c14e7df695382303ee6ad40eb6b22319e8f9110b59f51209e0c8a6357e257862a50d8d515ea7f414ae74";
+      sha512 = "a98b76c55cab863e54dca9f6052f967dbb4091ceec7b1f06f2971a4d0f8fe4b4acd97b5ec236ff149f21ad88e2acd2eb7b69e004ad9268f69ca8c907d34e5dde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sv-SE/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/sv-SE/firefox-58.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "690e94fc46c94710e488b1a8cd096927756026d0d6ea49f983883092e32f9dc0d2fdbaf6efe4c236cf750873b7907807fcec6826d2ce8b2473d0c4ef5461a1e3";
+      sha512 = "65ba46fba9ba66d7179578678bf9fb93cadcebf0c1695a3fecf5553485041def92331ae0775e9ec474c4fde77e2136057a3884ccfaba16099ea13abb51b67480";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ta/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ta/firefox-58.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "839ac81dd6cde69b05e934a4bfb943fa5c65f86d4c7d64c58eb86e7911f81d93a85abc3ad732ae0baa9c7df76a906826a109ea15cb4ee85e802248b99b9ef1fb";
+      sha512 = "dda0cfeeb33b343d5ae837605fbda440a2d22c5f16c9daf4c4c24473fb12afdf73f3f9967d54f14f4cbdf888087c950542f97a3bcd2c7e0e1ee5998086486aec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/te/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/te/firefox-58.0b7.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "58b1225e50a0d3aef4b1d2da5d494b41e5ee41f53e2878a4945daf308d452348deed4cf87641aa51e9c061393c239109d02523596efb8ef7c675c885d80298aa";
+      sha512 = "3d232470deb9d33d1d3c5cbe28686b1388c5148c707fdcbcf5c3602aee826a790a6e7b51514034cab04d88548349bc8ca0bf72e6a9250b210fa3da70e748e196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/th/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/th/firefox-58.0b7.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "6d0cd2b6cd315ca50445f3f87d1d2d2977bc34246481a58239f06a90253bbb810c0de488d064e80d3d2bcc475d34481c1f59ef0499ff59057b77c0cd67e71c7f";
+      sha512 = "311d31090ff466ccff5b2eadf9ded5e4ef3872d24e11d55b9644490765ac2a27ee53346903c78cd1dde0da4e0e59287185cfbc26cae4d5f9159d5553d91dcf14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/tr/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/tr/firefox-58.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "291f0c8f1241120a4fe4c2754ac82f443ef6f0d354f8b71b25b2020948a4de5b7ddbc87bbe2fc08b09ab1ec491a34fbbc69e6d472dc0114e369a99f967bf27c7";
+      sha512 = "d8bc5d237bdd55dc93a1b39f2b4aec256b2b6b1478e1ae6433c6ccd5a7c298d1071a745bf912da845a8035f6e4eaab0a906383b4e9efb28baa5e66090fd803c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/uk/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/uk/firefox-58.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "a6db7a4daa79d614b2d7c94372aacc50b4068ad437b38aab72cce99aba668fb230d5b81691678e09efb645282118dedf25e0c94e9d9cd9ef6a692c43a288e119";
+      sha512 = "73231793dead71a431cec558bdf80400c14c1b376b4c298c6d8fca0a4696e18252a0e83b1719566d685d3e027b54166951e95bdeb3ee48d1b0869e2ae9b85918";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ur/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/ur/firefox-58.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "cb69cf2aab416490b866e9b15b3706dfb81b003887456ad83907047424285f46d1a4b727766b78a633b33c6418c3f24dd9b53a90b151a1752709191328c0e227";
+      sha512 = "df4b76246f622efb1c817d019a5b7278c41fd2ac9d253a981a5dbb290ca94cce6b40cf8dd308acb0f43a9d0dfe7ad48e83d75fe166e83a44b1c1694fa06d6663";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/uz/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/uz/firefox-58.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "bb29f30171804b14aed28e5953bdda7bc94e2e1d23eb9af54c36937f90ff7bfd068abe4c065690aeab2ea61df08a59a5ed808e1f41e7d055b81235f8662d35ac";
+      sha512 = "b905ae280282128eadf45956e9542e10eb308e37b2ca6115bdf0459537a9cf4015260cd68ccd7fe0d1c24cf48cc1ab20b515099897c4879a2845142f90e5b1c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/vi/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/vi/firefox-58.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "b91dade05c291572c257be0a33d685fb48079c4c1dceb95d6b51601430717c5bdd4f962b9047c2f2a22dad38578a041025ad59b424efd1260ddf6f9d9e4d92b8";
+      sha512 = "44070124799a100212fa49695defd9d15cfb71fb54a1f3495aca07ceb348154a6915aa5f9b695410bd928f33408ecacd396e79737e8ace2a38b1b543e500db77";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/xh/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/xh/firefox-58.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "771335861bfdb99f17ae6c8607e784e3901f637d8e4a06385bd2bab4797589377e8c1b875600e9d8434d6ce5a7003ba4ca154dced98228b85c6f70272c0b8616";
+      sha512 = "6b149c59b078b45aa423734d6f32c27038d1743d26c39f43dd2213f4797345d4c8f27a86cde554336e7eeff37205ee6446fe4ff7e8cf96c18e90c24067828d30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/zh-CN/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/zh-CN/firefox-58.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d48c546975b92cc5c130e50b9fb3c84116235aaaed6ae8e04e975d8ed3605540b9ad640bc995fed23e42d271b9b2b598613b14822358c7487852030c5802dca6";
+      sha512 = "861f46dce202c4cf3791fbefbea4c61f5bdfabededd6314b334ac9ab94067d57ed7251aa61aa4b27dd7173d4a575c722c5b8849449a82aaa5233022f0f918db2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/zh-TW/firefox-57.0b14.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b7/linux-i686/zh-TW/firefox-58.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "9e731700c738f0db2390478ba293f78a98496c374cd871a0ae483c3911685f0cca1b89531c06177f739fda77ee94fba03f2d93ad4669ce219d215cac8429819a";
+      sha512 = "ec0753823bb65736c773fe7b8653d90b8488cb378496ec942ca624842157ecdd1f05cfcc381e221ac47fe8ead74d0a7f1f5ac0ec6e01ae713c554117c882f8f0";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 2f3e8c40a3e5..ee51e9145c8e 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "58.0b2";
+  version = "58.0b7";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ach/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ach/firefox-58.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "6ffa1c861a68b6bd7e65b0883c734baa1161c3ff827cff2fabd2e38b5de64bf973034f40958471c12fbaec806978a74b3e2a5a4c2e23caf87dbe747cf75d0a1a";
+      sha512 = "b355d63a74c58f503381c29bce9f856298f3dd8e0220464cda93c1d3b83f8419e9e49af9e389d52376a2bf374255ef7876e5d8a6fa26d93f1266aa43bb586b04";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/af/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/af/firefox-58.0b7.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "4bf2e416ff864e6062a76c14d70d60da9c3c3261b2d401e4e0cb1abdec77f0c21878b36b863f3d11316e6114e358af200b762c4f1c7cb7cc84cb12c8c95d240e";
+      sha512 = "882554d2e7223c5bd1b675f31bc8446fcb3dacc0edf7535f83ab1bf3489898aadbd3afc20dc00f54331180d4b290be55a0d08134982364194863c01316c5b5ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/an/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/an/firefox-58.0b7.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "d1136b831820dd7f9bcd2d5d20d68ba66bdccc610bc9d26b59937b2ba017fff7fa1be1d616ff5586e136a16d1a2023255eb430d78ab7c97f35bad2b6172056b9";
+      sha512 = "b9e8827c645bfa90909b05e87b8bdf6f732adc7e8edcce5c6e6dbccd6632c34a59705db48cc22ccfa0e3b2c23131a96559d60870d9887977ad414b82aed8ff07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ar/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ar/firefox-58.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "ab9dc901df22fe84d01cfbc7b251ffb50eea784c2cff1a38c404b75ac58349f312ca7b602c107ea8b08bab7dee292b99ca33d3651fe43479357b57ef2d36a07f";
+      sha512 = "3ba3d24d4e2fa97f202f0c7450268d7e00c60ddb73ff4e4c466f93538bde0ee9b750828479b49eb5a3cb04f796068fdd7fdd6a8dd4573eec8d899eb09d50350e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/as/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/as/firefox-58.0b7.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "f7af5fc1e80cbca6227266c5f7945c665499f5be36436e7135721d67efcfb3d2b101e1749c03101ef491c231f96cc746a6bbae25fc5818f1790d61f59e4fdf2c";
+      sha512 = "08c62d72b3831ee27cf4b1926baa9be551c071c28ee223ed8dee88e5cf5675174a88852f49a7ade0fb6b4111100962db81cea52695e6f77f236a7cd1325307b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ast/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ast/firefox-58.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "ac9fe13f073358dd71f81583e6d831617be46b65781da099fac48db37a942c31bfad3b72422ef8a14e65c5de28939cdfbb1c580f3db5cdd54819a0da0257e151";
+      sha512 = "a854a19b29cea5ff11138bba008ab360305c8365c9916cf78ec3df2500ed8883cd52bda1ee80dc25e64f90981e3e7c63766f4b41e656b722f4aa75f22ea11c78";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/az/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/az/firefox-58.0b7.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "05e30463e29723157815f91c02f7d6e323fad0443d59ef9b6abe2110998170894aa95467d5f05f78daa43fdf05f3e72af5c9656134529aadc9cf165b201acbe1";
+      sha512 = "989e3d1d669a6e71755b371e1ffef76800269fe28d061b89eab09419ed66bff381c90b33b68a6a372abd85d9d37e01795e05b14567a03e29275a340e00996f54";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/be/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/be/firefox-58.0b7.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "5aeac6d316409651180bb00de74ceb48bf8bffeb027491c1d42830390aa11d64d13e6748a6bd5519c5132d902e0bdb06dab35ae76d6ecf2a8e769503587c7660";
+      sha512 = "6680ac8b73e9572b5881bc237228de6deae56a98a1d91737b7d7691716fcd10806caf86712629176c5e134514b988133d73524023cd7e462c315c6f90c5cc17e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bg/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/bg/firefox-58.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "6cce86d49c53498611c85505b5996c6db92b5a5aca9319b18ea0e5ab19dee2842cc4ca036ccd9b1bb7131aa539e38037c0363281e170182ad81e59141150f20f";
+      sha512 = "958f2178e429807bb65c96e29c846cfb3f80be37d758dbce6456936bbf50f680be8a95154d913beb657b27d61fe1aa8f8a43bd0d379f2ba95d2324ede2f364f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bn-BD/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/bn-BD/firefox-58.0b7.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "b177f5531f887bea5a8b47da45a4ec1477a9adfe48de02ede1aa49761fedaff4ab06603ea004ccfc0991e9598982077dc2f30945e1042ad8098d8cd6eed7fa41";
+      sha512 = "2a099f52cb7e3589998486075ab6aa9fa150f359833cfe589ba05e9c8b44532ed190b0a3441363661196b57a43fa5e4486f5e07236112307cee3725d8b12ecc7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bn-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/bn-IN/firefox-58.0b7.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "5475cc9261e666aa11915f70599a281dc5bbba7a88527646fc932b6272b70a936186077254d147c68bec28fee4f79859567256c327043ffa5504feedc76e3eb9";
+      sha512 = "2a8ac01e60183758458b92eefde55596f1acd5869285d73969e5b48bf17bd9ae6c475b0045a8a2b07940346a149bd1d13f824d9e4684a47e89729af30101bc9d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/br/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/br/firefox-58.0b7.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "ace1027ea7d5115ce7654a8b12609c4c78da5a6dbf8a08544d467d4a8766f39df557659c9c54fd2ee613c403ac523cf4fa8fe241544112e7c7999c572f45d656";
+      sha512 = "34ff59c99b880cdc4ebafa3bd1c73f5b6a19ccbe7f38b64b93abaaa7e1e1408d2c2f66e63468840143707ff238563a3d76194a5153e2061a98ed4429c2d785e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bs/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/bs/firefox-58.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "d8256bcaca634f53c60fa8fc4189c68fc14dc1aa7941beeb28692f76e4ed62465290fb0234236a684ac489634f71577dfd5d5e613d710f1e191cb3021b2971a0";
+      sha512 = "aa88d929675e726245aeb87d4e9f3229006151f023af8c28c056f229b32f42c4bd6160a784ef39922e2442fba043bfef4bb00bed773a31a1a9b944f817eed2b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ca/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ca/firefox-58.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "0fee3a02c437015679460682325c7fadb211bd5d4a3f5f1ee04c978eefb0694ccae7b840801a9453f8ca0d383079fc0481cc157741281ba09be32a1012ceb2d0";
+      sha512 = "8ee983b3914e3e085d3949fbea35b0832b23552b35b02c7063a009b9e327453aeeeebb636408283ab9a59f7b590c44da853b7650c6f752c05d8aaa834e93a2d2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cak/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/cak/firefox-58.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "ece5f44da4de5370701ca57f6d3bfa68df19568ef07ad515a2937a49b77e63ab9752ac9d31b1da837e914ccf9805528e7727e04765cb77909e33c576358c6912";
+      sha512 = "e49aae0773ffd71b0feca654dbd5f1bcda25f01d78e9e636743e803dec92f62c75cd3526185991283717caafbbf9457f547074a5b86db125a7f5c5684d778648";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cs/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/cs/firefox-58.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "48fea82e0062a91b89e868c0f3baef3869987b9465314d40f9df109b573c24d826bd87a474e81d43b5aa9dd02cc1968f438c4c93924c06ddc133dcca592ab095";
+      sha512 = "fe35781268de26a0e3334d503694071c3c3cc68f2a0ef5f1e7408d0ec110f20ef7661df93aa0572e0f8445a1921656a00c02ddcd5713a4aa4b3425fb4bb3575e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cy/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/cy/firefox-58.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "15cf8a4ee6016f4dc81cc1a4287ec1b7d26fe8eab613087bb3b95c7feac4adf89fc25777961682e5f85a158a5c1afe3d41d8c5bdc455a0ce0739c59885d0a2ee";
+      sha512 = "c7e961fe94dd40c0636d33cf4657202bdfde900b6f133ea8362c2bec15ba135d027aaeee1d6b53456a30baae3ff0f02f2802ae0d0eee9973c22aa68a03d9b74c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/da/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/da/firefox-58.0b7.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "7e66d426d4837999faef4f8259c30720a39448b81ccaced2698be4051311cd7b7fec08eb0ebd738af7bef3474ad4059e2e90e9c8d12d829c8cbe7d758296343d";
+      sha512 = "6bb77408308d0f3a0dbb925e6c00a36027b05913379901b1b95381ea92df3d2e407d9c4c02d8079ce9e8f2a5221a1ea70f770bbc6eec55b194308895163bf0ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/de/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/de/firefox-58.0b7.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "cda87407ecd86d825dcc15dfea4c1dd2f56d3bcaa6af2cbdbb8b209ea280c60dbb72b68db71f84e94783f7c263ad4dec503603b650411c72b38c1a5a470deefa";
+      sha512 = "b2efdf05e1db70272aeb8756615e33d066dd0cdd9403b7c062065894bb7d893782599d95684da254e4d9a1c8d6b0b05332b1f85b8128045c1b6c04edcd7cb29e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/dsb/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/dsb/firefox-58.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "db9da2c7397d64d1d5944f6dab29b29325b6773f85af1a4d5e87d06dcc580cc1157b4f7092e7fd9bde250f332d26983b7ac2c7662b240f4e97f2ee1404ad4b1d";
+      sha512 = "500f7fe100e93c1d8e198fe2545426ea060dd8bdf1beeb519b44a252016ba9354650ea16445107f311d122c99bc1ae97e336f91c64c7e9db85941ed889c01e81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/el/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/el/firefox-58.0b7.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "51c02952a6a1f94f25dae1de9138a9a39203eec9b02c3f90084e319f8e3e17c436937dc5525709229db22a27de5f79abc1cdd8502631b6ba280770d91151d5d5";
+      sha512 = "bc1579ef64b403d49949d872482f614462aa9307b99521fc4aaf3c17b19f0fae37af60a02b5c9ad3c7d39f8eb9b61fe7dfda3cebf62e14fa9b55ab506cc62915";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-GB/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/en-GB/firefox-58.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "b5925d08497647afb8f6cb6bfe5ea5fd899e55ed77f3709ae007e2359d1b7c38fd5e7cedc56f12d68e660b5d9f10c56bd65cccb92a645d25cc617f188da88a65";
+      sha512 = "8a42036c7067a1e2c284dcc450e1a0e70f4ec4ff2a548abcaaf29b0491b444c859e8069b53a2cb70fbd7932a4f1cb0cebe78c17d76c6f51eebbd0ed67a1b7f62";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-US/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/en-US/firefox-58.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "b40a42713892b760d659c4fe5ca002b8ccb5309319b57d89b5f9af37c84a021ad67601f5c7f5b02a445dec7a00d671a28df6ab701775f59b1a7be7dda93d673e";
+      sha512 = "a3e4ab4a5e4acb70ca04befafe9e510787c05d5fdcc1d38cb6a2dadc3fa7dd674b9b153ec55e1fce5aa691355ebfcd38386963f2fcbd9c99407e3b08ebf55eee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-ZA/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/en-ZA/firefox-58.0b7.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "1765b79663475ff97dacaf441cf127256be5097205f52f3ecd5648b5d15087a9e43fc97e165cec714d452a3c802d798b89650eb3e9b33c00e739a1ca2684dfd2";
+      sha512 = "19c7ed0eebfc97eca859c562f2acffb1c60157c2273d56bf9ff36c09547af32a387f70fb631621e20d4012b87786f2e85ab4287b612bc469dbbc4c440932f76f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/eo/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/eo/firefox-58.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "e1d30c41b6ba56604539a5b527effd16c7a40f85691fafc04d8e006f2d09c9531f70f5e3305aea8eff8840487acd87657a0aae66a3275d5b64ce84ee151ba3e8";
+      sha512 = "8e60c9955caad5ca2e275664173c6027aa5eab6577e8b6377afa61a368aa1f630f957e30c4544bb35c7f9d1c41247dd0b5d5833df53d5823fbb96cdc626424af";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-AR/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/es-AR/firefox-58.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "6830e829c86a4860a3ae461e16d4d63feeb141cdf65fdeb29c4cdd4e4fbd1887a5425b81eae9a34a28d750fbe27e70f065acd70d0cffa6c9d1cfede023e43f07";
+      sha512 = "7ee0b8ab22eddea1ae637a028338a702e5350aa5fa787e5959ac7eb5885818da484c3c320fe1d808d18643e96bdb710c769752f4c94e2f6d581d1734ed7e1efb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-CL/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/es-CL/firefox-58.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "ea55c8fda45368ab7adc12891c3cc19d27124e8740ccbcda6b2b7edecd3310dfe068344f856d97b5c8cff066427dd21baf2d242397ef249a7590d01989be274b";
+      sha512 = "ddbf5e1d7a8477de040e3f975dc1cf430e0df98752f357e60b868653bd03bfe4b49c7c87749617102c5365687318622e7d1fe14d9e49c1dfaf74932d206a4f2b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-ES/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/es-ES/firefox-58.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "ba2776ad1a474183d828fc73c4a3e3f8036159c8ba08ea8b6bcfe562aac0808adc015c94f4375dab850fa61df6ce94d6bb684e028db07385486ecc2964f9834e";
+      sha512 = "f4019184bfa81a69825373ea981ad9faeb3db567619eb3679c6eba1e6a1d59a1ec7b3af97eb0515bf5335b75de4fa134dc38aa0f250287754ef161832042bc9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-MX/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/es-MX/firefox-58.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "14b755e01ce982a3aacab5cc70c086c877f16df8b46e46aca46faf0950eeab61e2cbc90de0f9dc452c6f27f8e4367e4fd70209491721c04a88af9fe8edf92b10";
+      sha512 = "cae64caf66bdc27dd753af5c2862582801a59248c42eecfb1e0a7a18f3c54469985e7e2b389f1df602a05b897fd7b6340f3978d005004c5950f0a6cc8db20ffa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/et/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/et/firefox-58.0b7.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "d211c2958e9927c2852801331ced3986a5a9f75b9fe3d734a5b380e807a6f91e3c328c48817e21b43ca2b6fc48986f80f5d5f3cf4c0bd03257c046b5a930c985";
+      sha512 = "0974f9c5a521abc705056f449b8b5e8a0fbef166e912f4ba27925380b3d718518105774a53ccce9d40ce533ead399fc43e6107c2487473dad33ee650e9a09995";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/eu/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/eu/firefox-58.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "d9f53b988a86a48df41a691742975096343a3b4905e5ae78ec9bfe5580ff71cc56457fbfad2fa8512d3a3124989532f21caddfb920d886c6891b2a1d82e26b6f";
+      sha512 = "554f3f84a41236bba47b1f2996226a01f65d826e4e66b4488dd22a57fdc50e9c0e5bffec7e72b65cdda698ff024f5b97679c5eb7767dd7fb617b9b20cd36beaa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fa/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/fa/firefox-58.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "43ad5afa9cca9944203c33ef053bc86cc36e50497992ecbb7959edce25d54d588b736f56684af04fba8f10750b450a613ca4008715ec5edc2cc70d31a5288296";
+      sha512 = "7d63b48b1a5a92fdde507752679906c152f53a916e27b1c11f9cbab62cfa7088370b4a4d24f7c959f18ea8dfc788f5dc9b44db68a62187ae1907ec218e2fb9c3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ff/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ff/firefox-58.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "64a11c61a3104e5fa06c802e25ebb293e9fbe58b3d4af50a36a9919d213d75ecb1e1aff8d164f111398b0e4efb46a2574d05f23f39ffe845729e0fe18ec27720";
+      sha512 = "137ecac136bae04e581197183321ca0fd4ddc63baea406c552ff258cbe47e33dda59b48b5c44b02ecadda95f3af86fd864ebea0c666b11004caaf53ad301e13d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fi/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/fi/firefox-58.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "0c739ae31197dc3c9c10a40ee97eb4bd623ac3551f67bd2dd0527a4e6efabb47bab6c31c15925925d5670611b82de921e0d068491819b9a580c8062cd0a794cb";
+      sha512 = "b45a081faf7cd4d0562d619547a4cd6b9fc18aba0aa195418a3e894c8dec599f6bc3dd9789e17ea97bb926ce23055bcd6ff3738883fe609a52159de4edfad195";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/fr/firefox-58.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "7fa98e4e5fd8174043d6d85ee63aa22130a9191dabd40ad8935f233559eeb2dc46bdf27047975251f4d843770f900eb1756161e2d5dfd91e95c4b03b0841af82";
+      sha512 = "2c5bf3a7e4997ae89b47fce1a2727ecc877df477c95d05fa37328de2df0df5d95ee0061a8f9c6dd916d971316cc05320a64dc277bd3e27b1794e5947dad2832f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fy-NL/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/fy-NL/firefox-58.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "412827dd52dc04d0a342bc0ae0871108264048b13f3476af0295b9304efea3eb24719b5ed034407dd25f7d7faef635ed08056b12de78d6fb1ec0a30acc1a1392";
+      sha512 = "307678c29e1b824087742cd5585c96fe284967963e804cf8f4e70ce3825fb3a3a86d66427ec532a4a2ff16cd4619082cc593c267839172fb511b396acf55f92e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ga-IE/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ga-IE/firefox-58.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "02272dfcf04b9ee4bf6ea5f1b03f59892526e0df14cab0dfa1b090678e9ea45a76962bbbb35ab5ee13a6bc919bb5849d5e401f8157f0e5119c265a53759177d4";
+      sha512 = "ab16b1b65702a41f0f449cd14c8c2486b1750e687f4a0868b809be706213b90f9aa91357eea54f95fe4cdb75e88d9ed3b16ec3494b34d7d7a9a1c620df53b164";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gd/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/gd/firefox-58.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "64a89548064d36cbca0a0572319e979a565470b4cc63aef5005f520e58f37e7a54e7ab5380ee5e0947d1a1b051825a5fe223a8ad5cfc833636ae9f9653b33779";
+      sha512 = "d4982c3e287abafbe26da1f2646dcb0a916dbeec410fea81192b95439b396743793fb7506775c1099896a6b224ca35a61703616ab7944a45294177c9c74000f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/gl/firefox-58.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "b69ab34709258444c957dc55f55bfcfe5965b31e984fb911d2fb8b8499a62044c5d24e68e93880454b09888f68e3e80c68c0e37a424de53786fcbe1ea8142ab0";
+      sha512 = "be09c60107d26d7a3f8726cd91ead596563ae7bb84b2241e30f1fb438edd8711af280ca88824fbf0bf3b6d25aa52762262dc7693b661ca1297faf3d99ce4a608";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gn/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/gn/firefox-58.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "25f3c7753bfe47a5198e770def91596f904f5b4de0658ee49c2209afbcf53fda35c8058465ae21876aa733daf35bf58c14f464f2e125996e27952759671cf351";
+      sha512 = "a074175569889f960807b8b0b1256ef110a659ce43477aa86c2b9145f68d8e2b98fddccccd2e7a3806891f16785b511215936503a56979781fded661dab75b85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gu-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/gu-IN/firefox-58.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "f20a7cf31dca9f635b96b5a95b24fef039f3a856e64a34b681d75e19e1f997bf41f7a8a49163ec1a63ea2d2a500eba174a3e8f5c931e4b7b9ec0857c908c5aca";
+      sha512 = "6d237e27e9946b3398cba23afa7008b28e64d0cea7ff3131d061a1ae5bc993b10f958831611ff371752556cf8e0ae00e0822195b596ed53da66200342e8051ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/he/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/he/firefox-58.0b7.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "c2de1b8b8cd2af04efb78b432b865df564fdb70e41b3ae7ee17bd66f438bd8ae60b49774265ae9efc3e5e17d8ff947f50de4872e6004e497b3ad073c096d5110";
+      sha512 = "2233bdeafddb2310e06818eb044e5bc045d73887a98a77e09816ed7aedd6fb646e81a9d0b61fd35ae727694b236a07ad800299a3e42f03fa31aabc69de995056";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hi-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/hi-IN/firefox-58.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "9f513d17bc01dd34b1a07939d8d4858b5c525d99a0bab1eb7ed5f205de3442e3f9dea90e5bf2a7743f6b624757dd3b182ad976d5b32771e99b8c62b016aab594";
+      sha512 = "e5b20c0cbd48e2f0bcefa3c5846277e69e6f19499b4419542803f271b9b928fbd90740fae35703463678fbcc0a962fc25610434100f58029ffbe56229a5c22e2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/hr/firefox-58.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "0f43806af6aca2980e358fb7bb39b2970d9d7c32175ff9dd4a3af5765866fb68a1e4a5ea7071aaaeef4a70b502c5df86dd88e9a4fb5e6db00f5e11f9d99b324e";
+      sha512 = "bf7798d353790e8e1af6e477ed0a73176c002470fef1e546d7bbf6b047fffb7d2014578e1f6b03c1f4eac162c3b50745c660a75688964aabdbc660d93bbbb826";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hsb/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/hsb/firefox-58.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "4397b1ff3a113f7591ea8c2211fb7b15edc3af9d2d8883a720eb68d5f19024488262818795d9f14b67c91649337e8884ea12d6dff6fcd0650c31d2f917cef493";
+      sha512 = "ca9f7f2269ed979d3dd5d7272935e448f59654fac764f28a4fb49c84acb8752bb51f0aeaef759b8065d1895f8c252201d14f6643a8a300f96b35f7799ae788b7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hu/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/hu/firefox-58.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "d7dd0be61fe7ac795817b7e2eca9f9ce1c312e49e851e068b410fb9076fb83bfb82928eaf7e1bb11f7647890a0b74dd16b93ede8e8672f7a70e9d0482a859646";
+      sha512 = "43592bfc8dbd8f44f78d15db03b83d260b6e7f5f951c1bdc5a394498bb5262db3ef62b2339d2fafa5ff7f46244fcf6135ef74c4aa9b837794871f28c849c8d9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hy-AM/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/hy-AM/firefox-58.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "a924053e4df4b5e036dd25e3f663239bce6e6879e0cd0060fe62a5f06c573bfbd25ded2be37940c14a13c493ff421127245dea88ef183ca9f496bc8a89d1eeb9";
+      sha512 = "1eda4b6deae9e363a77a209853043bc6f7e02c956ff22aa531caf28bf127dfed860f8214642c194e67f4a698a12842dfda280b28d6880482a7c2f4b32861f3e1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/id/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/id/firefox-58.0b7.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "cd83da2536a067120783df1a5a04ef3e16aa87a47fbfc4c50d0009983652506e10688f05e2da66034051fbe8518754e025489b29e013cb07b9829dfb2c70cff6";
+      sha512 = "3b87bd4ee39c107dd81959a9a2e03e535b08c0b7403ac837d71bf0b1264745925341766bc15c7455b4fa2723d7140318e44da6454a2d8388e21e3177983deaa5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/is/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/is/firefox-58.0b7.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "87e6c6111b9a30de82235201e9d341cf2ceed3d4599d94815d807edb252dea937d7870cfd229d7fb47af8c822201567f3ab990b15731f9fef243edbbb5ff918c";
+      sha512 = "dda4d26d7b916e6940ac7f0950b8c5127cca8a1f6811f8c9c4bb39514a6ed9f428246495e7bede0943179d96c19c8113f351e8d4031652f5447eb268a4fe91ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/it/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/it/firefox-58.0b7.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "bfded5c6a7aabd2120cc56c756d900b2b71766d4ea6cc6c5cc9905ec14068cc98f10a8ee54862f8223b6d7ae43b09346dae87e5b146df8bae1a63dc84686ec69";
+      sha512 = "aeca0362e1b225e6a9aac3e9ef557f52cb61d63c2a4d2321062f279336eb548c59d5f8a2fccef1e9e6f8a4aa91b871df54352395975260b7105328c448dc9d1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ja/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ja/firefox-58.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "e74df1de9adccd46ac36675084a16c7d07bfa48025802ef3c932b291bba76955de14f52282bf2cce2d69a355393e97aea946cbd3314c5cc97e699afa610c2afe";
+      sha512 = "b91648658110b127a52b5370267f2fe8fe8a5897dd157c89ac4652cf09c05ed0e59bf56ab9be0fb68325cfcb0e4b9ba08bc4b32cb286caeb3f2126ab145d3515";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ka/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ka/firefox-58.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "fd729433c08e2c569e0c72859d38f70fd62293b5f1a97bb41ee01950845c4480c6f48e80cec6ffd9fd81d34e357d2fbfd67515a44c9db02acd5f79acb55886f7";
+      sha512 = "98c0c4428fe319c7b240935c1d9dcd80901f221a89e94f39296e4a99152e31386415df4339003e1af2160bfbd157f47985194d17e0ff903a9a38b5ff0b3395bc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kab/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/kab/firefox-58.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "edb999b2b27885422defea989e41c845b0f7a50d47e4f6e7ff2690fae9b911b9c0dd93e40a7420b1920790b5443800990836999e3044457acddb55781fb8a7a7";
+      sha512 = "54c977f161f7519d7024e55f280cb82b96d28e8eca97d1ea09b963eaca3072d67dbfdfab811544f431e5995409394b86ba7a9eddb23ad54e7765103833608c81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/kk/firefox-58.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "21eba1ee7a9fa51cb9967ecb4250fa305e3e516d0d69285a90b1ccecda6add2793fa035ef434626f4d9620374e91f1db4d8489a1454e4d611a529e693e46d09b";
+      sha512 = "af071b2eafad1a1a210076029b10a02728f3274848b40989237f7b972974dcafcf6151a19647b6a929a7854a3f2c7bfbf549dc4743c393c1c1bf9ff1c07bb1b2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/km/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/km/firefox-58.0b7.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "565028e6aa408c734684518d7f3d033639ebf6ab3dbc74b682f291933f1141fbb7b758b0c1e8fed555067db0981e8a4f5d5c4e2e9c53d2ad066b8df269ff489f";
+      sha512 = "a6cc95086c2e7ce85b3e04077926eebfd35ae03513f11e8320e2758709c1eb77c0c9811de986bb1d2849fba075904e72a0fd6984919dbfb93731293081ea3a5b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kn/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/kn/firefox-58.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "1f6dd3187c140ece200c16a4e80ff848131165603fcb38385842e8feeec5fd13db3d1ae415a8f428f2d22f20289a856bb3afc96d853cb9e31c5d1445a1a63dda";
+      sha512 = "1da26d5ed1c97e1317233c543b9c30d04447f1f9189f21ef31f64a09b5b68067a512d8dfffe62ce14804c66c45db62a21a6432e1fc48382848399d69d97cf1ff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ko/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ko/firefox-58.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "103a51778565afbd6423a043340e9bad47156fad51776106aa0342fca022ca6481f7b13b8f2a51d2e9e8b1982f50f377ade1d73bf6b152dd61c329fd3456a1ba";
+      sha512 = "4045be725ee0cfb739aed6012765f1f401cbed320d1fae312ef5ec54e3be71e1c88d8a9c60bd28bbe7b3bff421e733c546cc062d865f1c8223adbc92a54c995e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lij/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/lij/firefox-58.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "4c92f4803f094bb5d64c58c6d8315e51e764fc80c1886e9c18a58f93a93f8794a00a4319ed90ba60ecc9ec4dbcc37f3e8960a8b67261673806a19c8bfac8d989";
+      sha512 = "59b501de7c78be64d1be4b192da341e7cccaf07eb501677671b8e1eb99764dee6d1032688f12b1285903d3939a1d81cc0fa8862cd426364dcbf73d4137ad62d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lt/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/lt/firefox-58.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "83dcc50c0f7eb41ca6fb41a1b036b80a8ab4993334a632e60b9523eb8a4306db427beaf2527bc4bdd1143ebe6c0f4b406b1b9768ef8f3c03ce375e33cae6cc11";
+      sha512 = "e54c1ccf9cd38b20fbc6b311da438ebf07aaa342cdcfab6eab3de9f3fbb66df4c82cc2c55dbfe174c36e1833ddadaddf556f14d24575451b0598096f345b376d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lv/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/lv/firefox-58.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "27daf42869ae64f31d8d83f52e9d3f951e1277352276eb8436c2885e1a1de023b3985a0057687dca48ba69aed0ef03cf27770099e45a0fed5461de8cbaa0205c";
+      sha512 = "61ff2411b297e63885b9df5833f73e0ab86bed2c8e12f299a16dce72ea4c29a00b9d087ad5b9a80ee9bd483d3cbf9ed59ac47c891b8799a0e654f8adf33ec62d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mai/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/mai/firefox-58.0b7.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "9b7c38d7d23f6604963f280132b16c0a949530d7df88f47a5328d1ced1bfe4cf8f12fd6540b54a4608aa0efe09f35f870f18c49d4a8cf1a95e800b541f534b79";
+      sha512 = "aef821c2bfe76e517db845088bd2875f444cfb62fed446b0499dcfbe43ece148e9c86570bc19cd1b46ac641ce8c6779b615634ed945da6e1a7dec0c2c3fa965c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/mk/firefox-58.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "1cb4b8304888fb9a4adadcf23b0c624c1ece8fb96a972f6d788f1b8936f05f8ab331df7bb949a4883673d193238a80919f728b985e0a9601f7c59c519fcf9501";
+      sha512 = "6e9a83ae4370d3804ef90910f388131c55aae827f93224dabc299d12b29808c0c0bf31fac901ff5c85dc90a98219f19a769dbc7b7b3fda627203cf56c8d23e5f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ml/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ml/firefox-58.0b7.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "e801dbb5f71922d09563149bb12461d4661eb877bb862f04fea418b9fd488dfb871deb97c131aa680d551de5d46e2801545d01f17fde06179290e12288e5f74f";
+      sha512 = "9be7ac0acf37a32eb53627ce832f8a3234120c80fd67af09bf7e2c7aeb1324b09ed3c0106de5677721ae23fd7f4f02d90cd20d91a17fcdfdfcd9b509a4a8810e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/mr/firefox-58.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "41eff5af28b452069fed8c8408dfe47b46ce192b6d0a996c6c5b0600e862424580c50251fbfbaaeed64d387367413f69ee2ed9819bebebf9fa67b2ff50e4417d";
+      sha512 = "df0e410cb222cc65bccce5fb69c2791e08ba027dcdb8f3ffe8c54e7684c6cde61c45dde606058f44abaec69f6c9723552a6dc01e8a4dd8571527b65eb21841ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ms/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ms/firefox-58.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "544e03a7a03b26a5b2f9da0284325234149faa5bafda74895f6ea29743471e302cc33b5398bb5d3e0f2d14dc82b6e8a8d02927e2a2e2c2364b3e2d1f20bc3354";
+      sha512 = "8f05498e1fa755716035589079fcf604d622a30fd368179193da065d5480e1de2d5e617121b83517e44f6a5353629e2cea92d6c8d36ddeba04cee7a7a95b5cdb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/my/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/my/firefox-58.0b7.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "28dc75be5d3eccdff87eb738a909195b5832cd4deeab9f4f29915e372462e24c9160e0dad4ec9fc80cd14179bd1eb08e79ed96afed74ce053a43731b0a95ffbf";
+      sha512 = "f9db9cb3c427406ae5714e3bff51a8464092632568ab210a1d4eb980efe22946fa13537dd88970b436e6351c048ebf8506b9879a7e8f7c77a30e6cb67ae1e40e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nb-NO/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/nb-NO/firefox-58.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "6c9dbe11b53af3ef09b9520df28c2ae606fc8ef552518b8bbe3816a871333a061f504b113e05086ecf590041182e3baa134bf6d84a45b6a5eb3c2fa43cbeaf8f";
+      sha512 = "d27876baf7b781d685ebc7ff5e4ec218fb8c0a3bc64c3020f27dc358260a2eb8f971a7de7257d2bb038f795ec4647a9c39d709892ba56821c1e627c63c5c8dda";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ne-NP/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ne-NP/firefox-58.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "80b819ade71f4ba3034d04d3f5178b1f4221ef5930d5f5429c5cf255ade70ccfeda42d87da3f4e227446576405362dcade34db285addf1bc2474404d98f96a94";
+      sha512 = "141b85781e78c91531dbe462be1640b8004eb904c309525d300e12e2b9efc1d0af63688fb992b0d0c73410eaf120c6001aea26072a9142c8f940ef77a47996d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/nl/firefox-58.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "a617fcf15d972552b2cb659fadf695ab5ef6953c7c81273ca7cfb5ef02d681c80d245ffa62c25a0ef6a894c9f1413245c50bff375c97e34b8a16ae30fcdf217d";
+      sha512 = "67c6aacba4fe0720e538e785dbe7037211c61b3c07ff0f4ca929a1ecf6a632c2f99c9055e24de800cae646c63dcf16db36b41be093fc61218e0d2b944eaa176c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nn-NO/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/nn-NO/firefox-58.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "e124e1b983dae9ce9b595423949767980289169b9b3609033c34176bd8d6fec9e7cb13504a8d03c0d42359aaf045fbe0ba66aadf0566acbc80840861676ae9ec";
+      sha512 = "46210a7bac4ef8dd8ed9d3c0935c1a4f9ef9eeb8b6f3af9735bfbf621fa648d1e9dbd3b50d2f0b6b58a5f81b6bd89792c4407bd96bd9fb98d3e67cf88ba1810d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/or/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/or/firefox-58.0b7.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "f7b8643f83ef6ccc0d6d3de8629808372625d7cd75d0bed8d8993d4fcfbf37764bb29ab1b2a2d3519cb6e5fe2d43af33e407a6295b1f770cef4672f20f1aa9ec";
+      sha512 = "f299323b3cf6f553348b2abe62ce8ab6ccd6920cecdc97496f758d982db2ccfbdcaacfea7f6c0a2eafb3447dfcceedb62c14688a7f804fe250a960a253e7bc31";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pa-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/pa-IN/firefox-58.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "f3cfeb091d875fa35f2b76d5fd33c4766fc3d37dd4041b23e400e223d6be4e791a797cf95f534b935e6f40c28ba58b4394fed28c3beca7a097eb5616feb02924";
+      sha512 = "b325ad05db6493fa745f16fab0fefd49007f31a43645f0dd00e8514be7da2e5b782b93fa85769fb621fb69ad0d3fa0f9902daaa25ec511fcce48b642305f1e13";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/pl/firefox-58.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "a0f5e040ce4614d82f5ff7fb5b6e16920299290840a961b8e71c5fcf9c9aad88092d519739b21bbd330d03aefeb25cb0c8ddb9d75792297b970ec741043c6ff5";
+      sha512 = "b2ff187fc28d692d62c26f838bee305dc3ba0022ad0f03f597ab70f805f38e727e2b19235780f5c146b96afafd147c23d9501ffc54999ef49d882a8119c9cf4a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pt-BR/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/pt-BR/firefox-58.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "d9de5bd80a4658a4b7fbda8b22dcea6104a77034e62ac66ee4906c2f71f9048c9f8f3b85bce38a0a4c6f9d0243e23ad4ccd6db8ccadcd3a1d79a034554b5035c";
+      sha512 = "09c1451fa4d6f84f9c15e9c996a3ae09cd8cf2194536fc92e23260ebf867225fe8f7e129cb2fd11ec8d877605071c7d9918981d0c9fb201818a90ecbc010b4a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pt-PT/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/pt-PT/firefox-58.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "ee24357ea59c9936f8bd4f2ccab32d73012b9bdc0f6416350a30a0c3a726a817eff5a275f689dce78c0256816f644b56e68ce8642632ff2394bb89719873962d";
+      sha512 = "605591fe3e44575f7c4b9c0646925b5c35736d5f64430fbfb911bea96ad05b6868af47afec8e8dfcb09497887a524e71dbe47419cb9e751228927bc004d6ca32";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/rm/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/rm/firefox-58.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "3fc05929e41b1da505831fd29ddc590b11c8cc68d656e6a29ceb36a8d4f1718d3e2c651bbe57dc6587d6cce08a71b2131e6310e3ea688f2950a5edf4dda5f14f";
+      sha512 = "9d9de9942082d7870f306e8cc8d30260d5a03170a1e70d27c8db96cdc25873e0189093cf777e4132c01ad0f6816e94c59e68af7ba47c86ef5148d067c84023e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ro/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ro/firefox-58.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "8d204165cb4a8b4861f2bdfdee197a621db698c767443ecfe25751345fb651be01d3d2d18de8cba10e684f203a6276ee71ed5b1b99a43d1df943a9b5147e2fd6";
+      sha512 = "0de1d98cc4397fbf01f897939c5c0d70031e0bdad44607faa08d450b16a68314742c29fb0703330cb177e494d511215372b547f6833ff8ac72574ba319cbee73";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ru/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ru/firefox-58.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "7b12852be30cba66d33b345fb8976d1edca871eac490d3c49f0ed89c48a772d48a4094dc1e52a32e103a3196f6bb12264b3fe46bf53a14ca0e5ed3eb49164d0c";
+      sha512 = "415c2c10fea63663b27bca93ae625cf6cf2bd5aded6a09fbb047ffd29f78655169181cb86e6a117a5c357106adabd4ecda78ec1758babea2d100f098084e8529";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/si/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/si/firefox-58.0b7.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "7079174fdf891f983d0415cb802470899af11e792e3abdc00f8503116a007cec1177fc71f96f8b0b8d15576d2046690824d152cf7b5577f5cfbe0aece16c36d3";
+      sha512 = "f46ac06614aefbda20382b6d102e865386c84678f4e5f382af2303731ae51c72d4f6d5718aa4f51d2da44a4acf92359b9f6239391bd9ba3a5962c1133ba5daa8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/sk/firefox-58.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "820e8465d6b9bae28a572cf7ee3d2b8594fdb6fe54879151ab327f93a1313cb2019687ac335ecdb64c5047421832db50c05b01b0b52303a0cf71d4a320900557";
+      sha512 = "ba2a73fed7cf2abaab1a2648eb71a1d56a001a3d9291717877cc33f1ae0c366d0450a5d58a12093166c49c4ea3d0b320acda60410246b16f7e0f943061e29f4c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/sl/firefox-58.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "d1e55e5cb55c1894a39ec3eb11657c1ffb491f165af8e645f28d2af6e3ae481a04177345a76e91b769a68fcb2a84dc425363c153820be564ad015eaf27ba77d8";
+      sha512 = "dfc2314639777052743741639f145add299086c6d57be80f222c9c27e63d4242839f1d4eecd1957e261577a9cade34af3b7313e6ff8abd0962df6164f38de8dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/son/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/son/firefox-58.0b7.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "1b46e24fab45edf3aa81535f282b73c8b7e5975b6f329f751a3f3300c7bb01fc77e08660eb01158473bc1c8ce2c1cb831da316d39ef4e89370b26d6fddd68fd3";
+      sha512 = "cdc5d930af53a67fd20858967b95d52a065bcd5a728b6b9f9b25650732307f47c37fefc2fd60fa35f6237428f0ff7a519f2e21157e84bd6278414f7fc55cc560";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sq/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/sq/firefox-58.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3e6ac70fb3f1c7dd7617caf254abd3f4c725019d56d6ccb15a8dffb6d5e5046ade6e6b50be8cf8239208a4c4458063c435de63ba7e9c6de4b93ebf3d3b7a8ca5";
+      sha512 = "fce3821863a45e7c01439c1dab525d38b35dbdcbfdfd3a94772a2cb2df946eb4bbcdfe19b81561378e9dc3bda15e24eefe22a0c16ae3c7d8c7dbfe4abd99e305";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/sr/firefox-58.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "fe2164cd54ec4ae280432e26310be2ff167a990a578ec1b6ddbdbdc14563c0e49f87dcd6358b745aaf6acb258b385dae97afb2a1fd6106e5dc269a0845740114";
+      sha512 = "3b9fa78b0ed3db0ed23ccf7229b4db6a4620dab399e8bab65138ba536cc61c37f0477b08734a9ea6f00d02c21a8b61e618e99f911feb13ed4e28a8c648b95b3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sv-SE/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/sv-SE/firefox-58.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "c79e3ff3c3a2cecde79e2e5b24bb9806df816a4a1fc3d0f0aae67471e4b107bbdcf6686414fad8e3626799f12f8d818023f0b71bb393b1770eff38d6169d70c9";
+      sha512 = "56b408f771b9f1387dd59329190f9ac0939707742b09eee69db0d2b8a82d9ac0c648aebd8a53a58872090285dc011e150aeaba656eeb137f6d36000298b2f488";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ta/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ta/firefox-58.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "8266408b1f4e0fc2b96c0cde463619675f7038824c3ebb2c97186e79736431b77b35e0ae62fe09064fe631f07b77eb19becf6e435d4fbc096f41020bec291384";
+      sha512 = "f68e73e7649e7893ad3b8e213f6f6f1ba6e4dac05114772fc337e40ba3e8584972c13ec5a15da7670edcd9f9164789117720e27bf30d859807317dabd1087223";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/te/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/te/firefox-58.0b7.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "110dcbd4c13f9d917f78094914a25c8f7d80d44aee9553421130dc526c0d6c29bbead1e5fb2f778d955bf65436d983fea429de6f73b9328066541841f7475e02";
+      sha512 = "d14b5d3740c263ee27a17572c637b4602cdd5736b6ccd104d851df17d9c78475e27c409b99cc5693c91e257c589cd964ffb0837421bbe029a780a59c1f687d00";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/th/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/th/firefox-58.0b7.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "1533d96c6f0e23f38c113515e7fff3caf99915035050cddab0ca021b176d7184b80e9bd5ac79d809a0d31b3be987f9e31367874b4c35adbcf62a2ce685d41338";
+      sha512 = "b67d2c9f80bc2d935e7aa00b2f12ce3bfd48a268d22dacdeaffda53a75ce92f93e156f8debfc9b153f9dcebf45e0e46d8d7a9946723bbb20f582fec5b431a000";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/tr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/tr/firefox-58.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "da6ce35769007f140b9732d7d429def5267f733d8674a7a80b11aa89aaa7514743a61d1f22210bb7368416f570d7f0748609b31ac72ab80ffe0ef7fea3397bb3";
+      sha512 = "ac7547c885a650e11cf60cef7716a61d1316e1278b7219c70b1b5d49ff5591cd539b89dd7c50a84bdea0c2d830d3a789858b75f449f2af5cffb6887a29d61474";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/uk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/uk/firefox-58.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "df03b9d2bc39c4d620d1886dc1d22eb70289fe8d6fd7ef429beb8170a95b5fb1fa15526b9b68bf774a3f09170d0573f642173a6302f8dc9acc41bd9f2604773b";
+      sha512 = "81e78a5b4a08b1fb32842ce840a623368be5e19f34f851c8b5a5ba73b420ea5659a13cef2c9bd4eca249e9cb69f6967c207b6ee9c3953134e4e39e594fefd523";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ur/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/ur/firefox-58.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "a0914042713f9fb91e52e35eafe4b6a666b670e951b4e6c3ed3945804a5640d06c5634eda943927a84ba274871242a4495b754280e4c601fd69c9e054f1b8175";
+      sha512 = "4ebfa2f5291f636df662f69efe33ee1a139109b0dcf86a1de2bca2e99d0d2a85e68bef474924617e465451d8481e0b84bec9ad21a2bbd79b1508c161018bb5e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/uz/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/uz/firefox-58.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "22eb91f33b22b43a81cb0039aa2f11bccf6d83433897d0607d5a52c127366a3b75c18d1df2ab985090a724b278bc703e80370b8ac765bd891981620b0ae36a4c";
+      sha512 = "6f362fff1fad005fc0ec1dcaf202f57cad67bea9345bd4d249497f6d601e4bd7c5f3d953e7879e4ca13f441e85ec90538b80b726d4b0023a4755e7c7cf7a7c72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/vi/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/vi/firefox-58.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "e6801f622d134be7811212ee8ed47bec259eea1463baeac098ec59e5687cd2ebe42d77d42fa0b18f4a054c7a392efcb6121ddba000323998901f46ace3a7fe4a";
+      sha512 = "98aa6b2a2a2dd35eb6e565e0da9e3891d3dc3f222985a17ceb5e577934d9c3d2b42858b7aa4db3f163d63984187d3a145bd16ee47545480b2ac0e62b030964c8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/xh/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/xh/firefox-58.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "0c0ec3f3112ba5cb7a8df9c9c69714dfc585539b4a13632bba94c8e58b7e5a44a25ec4206c7d656fb31c883454a337e5c3cf24ba67d758fbe9841207c4b84249";
+      sha512 = "cc76ce2a34d4cdf72122b727bdb4da6cc2ca4d19522f41dc6750104ad56ebf04d42842c9a4ef9986d5eed42389104f680d0bedc7991fa5cff0b4d581ae4c9d23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/zh-CN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/zh-CN/firefox-58.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "789602749a56379b7edba5bf5ea9acd1d950782408f07f0ecf505575ef5cc94f580a601d26c4225c40d49eced4d844fe4213be2df52c83db7788b4a42fc10952";
+      sha512 = "c10781bae664b55c9b3fc585c89a976f851f4bf0e5b9eb0309dad3a4dac6908181748c085abc433e5ab855687e45abd4ab54d9eed97dfa76758a89dc79cf8115";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/zh-TW/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-x86_64/zh-TW/firefox-58.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "44b7d87e066ffd2cb83c33dda0ea3edb18cb0439c3ffb45d78fc07109e370b6b8cb7e95379423162928e9f81d5be773377716af774f8b3378d9214049bc73917";
+      sha512 = "d241108de1cd47b6e24b88fd51282d712fb7e60a8f9128f1aeb429f341d9986bab45a0cc2d51f4d09a080df94bed8ae838571047cf4c182e153a045f7297a03e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ach/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ach/firefox-58.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "586c8cb8baaea42e694dd5f9886df52c4a34ec8224863127bd3b87bbe2594420b90a644c7b414b85db98714eaaecae88d8b91fe78351cf0e113dcef89d3e0087";
+      sha512 = "98d329507d9af92978f28fe7d2df49de9a1da26cc3c1de1e42b0bcda0bca3a6152d4a78835ba311b1b57dafb855ef269d01942cc07c4058f63ac48b680834bac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/af/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/af/firefox-58.0b7.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "5d66112bd0b361b7a064efc184bf51d498a61a58ac97ff4a6d542b7c6be6f1802ec7da9cf89fc554f8d3e8ecea28d3d1c694cf47b628a15ddce6bb24589be525";
+      sha512 = "52c2c2b5ae3df87db1c01a765027e4603eca347151b0885e0cc459155b3d6fb66e1ab97c3accb085a3acc904838d54ac4be7832b351be15437e26b686c42834c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/an/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/an/firefox-58.0b7.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "3726fa3ebc4d21b02a7165d12b0ef8fe2c3ab5b204fdcf6e8b71994ff48897631dfd220708da0365cb875de8b6e20ea0db416654d0de471989f8cc57f427e64a";
+      sha512 = "a64b6ab9b7ec5f2d8809b09ac900bb38e382dccee6eb8e677d286b8d3aabf4407f993b346ce7b32cfd38168896549495284187d3174333c497e414319b60f83c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ar/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ar/firefox-58.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "ba99e30e7cd10dad54df7331087a2667d8ee1397c1b184f7deee3ed15f7c6d6b111592e74be320808bf67846d1cb7278270a47cdaf9db1d0fd671387371a203c";
+      sha512 = "b1da75c13acf066ef372de4c46de2ba581574ac40794c180a4a11382217d0c1f40bedb5d9e57f8f343ecd6d74f6b159fbd530739530b595c803f90b7be2a51ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/as/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/as/firefox-58.0b7.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "db6035cc1b2a6c04ae79e4179dc5f1a64a910a0c8646e8cb93af63460b5d8bb5a07369b93dd4c703d09a39693a07c3bfb913e4ba6d45aaf3e125c407b38f6d6b";
+      sha512 = "0369f6c79b84dd202cad688666286a733e6b8c6ead6d299b9390975b8944f9e0bf53eb5d869bcedf1339b7ba816a1077e213b008a3dc67eb98d0631fb6d5d1f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ast/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ast/firefox-58.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "42496b6755ef735527419453fab12497a8d6762d176faa8b0af7338c2e62cba2f2560ba0f7a22d6eaf10badeb2caeb6367773b19d2717c1bdad64149d74d0f98";
+      sha512 = "ffb3f26d41a4a3a2ba8b0e8ac7dc7409e1445d95eaf232a2db65be6bb07a88cff6ffa106c6fc5aa5a5e01971427a85cedfd4fb8c1b34912f8e21656d22dc0e10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/az/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/az/firefox-58.0b7.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "c16fe3c909a0793cd91f320f94fe309e1f0b559cc84fb01ece5bfe455a1854701b259821f79fa6db8cdb6dd630a477e55e51793947661e0b3fb8aa26f3c4e22b";
+      sha512 = "d53031a6c7c5cfaf31085e19349ddbc4357effbba1a31989f6ecd18a1440ee8f2d143be8b0e3135b8b21da3077ebc158adde2a0619cff0ea2ecda0a142625ea7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/be/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/be/firefox-58.0b7.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "5bc3b984ad38f105a922d1c614e1783d32a84956848f51797d4f1b3b5b9daafeff0730d103bb27313840b07ee97be73c30d6674a527f57ea7d95542742a06a00";
+      sha512 = "cf723d1ed59adaff178159fc714436b40e131fae560c36a5b41fa83d24edc73df839b1655bafb1cac405424b3b86e205f324694ef6e2363a64af58a68f497ed2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bg/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/bg/firefox-58.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "50f64269f264fe1c31970b43d6a0a8860a563154b8913b9a6d186398a6e6d80baf37bc0f091a6ff49115d44d01fca550cf1d65c16dc77d6498a236595be2779e";
+      sha512 = "4cd99fa9e9c821e94fa521ea824d73341c98f6c01227edb5ef268f8c580e81ca0689271c285b706ede899d14e2174bb4c830a4104f43d6b78db5ffaffe855e91";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bn-BD/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/bn-BD/firefox-58.0b7.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "be9cf4bfba0a65d491a586a1ea2ed6a2dd1946bfa715401763b3067c3388b02a86a1d53a7295ea6ed6b47cabdfa342d0f0ac6598e62f396baff74db5858f0c8f";
+      sha512 = "626e9ab5288a9b0f75198cc76a36a6ebf400c9d68b65ea2b861011f4d05dd77e4455f7775041c83fafd2244b23953dbe1bf20548d3ab6946f6f10bd2384778e1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bn-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/bn-IN/firefox-58.0b7.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "f448f52a639102c82396633f62741861cb2a3a0434a0e7185c8ed6e70b24153e606a5ed22ff003ea7ac2aaf6996135e7094e5d0226bbb8f143f0f3871daf5ad1";
+      sha512 = "c277f4b51eb0579cf9de3f741b7d8486458a7f4b97bd97b25522fecd6159421ef40cffaf05af0fb34391da1e03fa060b09d3caacb2b9206b2ed9ce5cc30a192e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/br/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/br/firefox-58.0b7.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "f52471ee4b82c820813accebfd6563494d41ce7949449ecfbb86da45c0a4f36c0894b830ac33f96894b02e6785cb8389a965d638f75cdd04018730cbae41c7d2";
+      sha512 = "2f066ad7d7a00d9408a02fe3060fdbeb5ea05887f6d37fdbd1d585f3db7f6d5e84c8d87838208151cdc4264c274a26100684382162a6ab076636af1d81b86ee9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bs/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/bs/firefox-58.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "9df7d37a1cd531c43cdba491ac5fb844c20f335058858cda88bd9934bea097d9d170e18b3b29ef0fbe5ca2808469b75a4eab767b37ed2e29ac7cf2141ade8f38";
+      sha512 = "3a0f697d8244ae056d7c37a8ec972ef6db763076a02261ad41e8e0883955e1a241900f933027a51588f79f46ccd58b8f31f10863809629a1f1c76c95b4c4aa6d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ca/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ca/firefox-58.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "43fb2e6b9945a4586070d433fe080cd2b9b8c0923c12ca084d6d21dc3e22164f470a3c791b5af181aedbe1d76e78cee3981c7fd1872f45815a8db267a9ccd74c";
+      sha512 = "c8e8b802160dea04112309468f6780a10856e6e66662861591d797e76b512280b58498add433f654f0c294fc7c55ba1c2cbb3a546395322f2013e98d9552d8c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cak/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/cak/firefox-58.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "7a76be4291a5d3f6bf150f09701df4390d7f74c0046694a220f4511468a815404713062ad560f75d35643548065a2340bc70c439e23ae14272fbc20375f5901d";
+      sha512 = "08182222a75dc5c6efaddc1159baf3b04647389543b836f2b201c67e688712c8c5a711b093da76fac713879855aaa6ebdc07dbc4db09c4414c0192cb5a72a098";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cs/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/cs/firefox-58.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "d0a8c61960d2289b5402f718db28a6ff355fcdbcda77124949c420c3023b57595559305dc763165550f0453ae0e4a01cbbd3fc37e6af9540c80f857c8b4da00a";
+      sha512 = "1c5554d8f7b87cf84b27261760dd52880bc2c4056c653082f0a4c4d152b6a17406e5053325f20c33e3ad542bbcc6ff6f69242e66d497b9580b97b3eaaa133f58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cy/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/cy/firefox-58.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "85d9dd9fbaa72ff350d464015f2ca2e810a66d2917f19a7830ef50548ea3b5de1a4e818fcdacaaf9e5c7009cef391bfd3818e196d89483abc43a1badadcfd41b";
+      sha512 = "9d30edd3384179f782652bc62065080e2498e71f757e741de1a6ca580f267acca7b1b3eb880e95137bf3bbc25c3074fcb1c91f1a6f781dec4b092f4e2faedfb0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/da/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/da/firefox-58.0b7.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "f7a87024c27c0b7fcdaf5cee4c31235043c1c506003e04c71e60792dbc9a4cb3fdb972b335c3b6eb10fc9774b36dbb2f6b415ca90f4547c6979bf4568876075b";
+      sha512 = "ada5241340f151a68249660f7e8488480321a8f37aa401336f110e5cc33a74325566fa7407835da347662dd5a30f820339222809495689c42a88349653122396";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/de/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/de/firefox-58.0b7.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "b4f1fabe3de50583afcdc27a3599dfe9d2a08f2e8b1942aa0045df6059e9686d2f2f1fb3462c2e21d9e6fa1ef5a7849bffe2cbfe1d18bc70879a98ce8fad8718";
+      sha512 = "af625e0f82684b81e072772ef715214ec4a69de8f33f12e0b1b863ab9ac036d50605db9777f94fab7642384b8206cfabcf4e630879f689d47294587cea88c713";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/dsb/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/dsb/firefox-58.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "0d85cd11ad6c28c87d6df4dd9f5f16dfc37f885b1686ff85ea051bddd6f5b2db43db0a6b2f71998eed707533416b6af5e4dba209b43586a76e74c03ba26cecdf";
+      sha512 = "febbce7d083540f3f08b9a55b201b7b49a735f97bd3adb1161a1d0656978944febcdc6641f939ce52710f9ba3f8a54fe95ac22aa869c32d22c9d8e61b0ce2a62";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/el/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/el/firefox-58.0b7.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "014ff2a89bd240bd32399732647b4c0cbb47ddb9e5a7705be56eee3df8c8b2c95339be61ed35893c4a4fe03afbff3e48c9e03d44f0cedd5c3694ead76d4ddd19";
+      sha512 = "09572dac031e2cc5ecc376644d46cd50e52c9eb763f7c44cd14c3da1418a83898a22c18509a2b681cff62413e81a073be835302fb65d25be1415ea73ccd2d2c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-GB/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/en-GB/firefox-58.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "e8746eac5d253cb2e5968b0d2da6b596a3b14baa967622528d03db684f9b507cbcde59fc0ed6ceb64d4eaf5e1767abf1fd8e8b651bfbec1beb9b7a5019c8ae4a";
+      sha512 = "c6e32537f1cbd818393e53ea6564f0a79583b77501175115791dc2c0dcab8ca22e344998e9d37a15431b11f5ff2a6503e22f41c1d49460dbb18eefcfd7719d6f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-US/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/en-US/firefox-58.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "ad0b071d92c3a882f81b7ac3e295e4234b9912bdca1ab70cae0d79f17b3f5fe04d30c70e91f5639b8c8e0f6759988f0f7bca3a0d4771ba3b60c63b08bbc71c8b";
+      sha512 = "5cd9ebf8aabc49bbf0fd7bacfa9f177c893fd5dee92c18305abb7de7bb82f32cc1307ae2fdf5e7f3e182946adf7f9517eef976f0d01a65e0f7db820c4d4b88eb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-ZA/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/en-ZA/firefox-58.0b7.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "4434b81ad8cba0b9c380a73feef18eeb1f1c043842b24a13dbe1059285dd0d4c6168f358a38a31a143e2b0f7c2d19bea08734d02a5f7deecd2a185226ae6d694";
+      sha512 = "df70b9aece332a403dec64fe58439dd9c225f833d3f5346c4f094d793e6cdb5068259877206104a66f9398a4601494b74116b04e3d14fc5ec79ee99ac5356de3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/eo/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/eo/firefox-58.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "1f3ab8f6e3969cb9aafb4fc8ec1e8af9d2f883e4013851d822bce47153a1d06fd689e0e2230ebb0fb3eea81f140f4cf984a4b5286325a576bbf5668d5c247346";
+      sha512 = "42a00884b74218e405f6381886d599b4f64643c215f7873a2d0a3a5ff799193735c400cd6ae4019f0324772914216969bb8af3f6c3d56cc8a26c2559be7c1cf9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-AR/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/es-AR/firefox-58.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "b609c22e7cab67feb44be92f8ea3cdc86a512ee96c56c82273013a02c795bcd8da4ef40f586c94133118ef5ccc7968f21a27cbfef499bcd61be069e55c6f9567";
+      sha512 = "9a27c4d078647a71bde4aec074edd869cf84aeb55dd5ce6daf880a76a0477663b32528af15b347f7dfb31698116668907868a79c14a5a5f6c8e928e97e6564b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-CL/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/es-CL/firefox-58.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "b6bdd2abeff665239e8f246940ee65bfcb54f1831d34aee5264b3e7714ad6819a5dbe9e3107d169cbf8f2532bef1d68bc40d185c281977efd8a3f8d918b06388";
+      sha512 = "08a0204b0ed37d5729f2fba089ede6bcb112ca265eb765c2cb22d81c6da7269e20fe7e01be9cc814e7c36abf1e403ff217081f0da2895c78823f1cf3fe982a55";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-ES/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/es-ES/firefox-58.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "672afad688d5a03a1aba52d9ca29073dd2e7636ad049f98552978cc98285b5794b5ab854c78d169a14825455933413e5dea5d4779f5ef24447c1a414361fba37";
+      sha512 = "5abeea861b944f5601bc3ef80e3cc9ea193d98f4266487bce0ace6fcffa6003f405e31eda96a4d3de27d3d65067222fb6f8ae0068a771712cfe484fc2954102d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-MX/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/es-MX/firefox-58.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "d10de0d07161e4cca3a7ca42fa7ec3941062db191f2d80325770f55ebc080be2c8ff9b3b8b52c47cd8422f6811696fd6dcad51cf1c2c4fd6c976bd197dd39251";
+      sha512 = "5f336ae010dcd7359488423a7573f0680ec6600706bb36cdd92d59f95a54ea64c3bc739cb30b9e33eaf543bf9a776a943adcb9f9bd4ae3a822bc84b6a585cb2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/et/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/et/firefox-58.0b7.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "c3ea53b3422a9cf101eb737d2cb511270fa4b0370453dee86c74f6cf9f36f6d7a2c4f36b85b760ddd089bf655f540f8d12a1d59c259e8beb26b69ab345569785";
+      sha512 = "7d7d221f935a1b3e0aad2917c799fd620fa08a6f597dd3977c054af91bf69521954abe04e781c523b4e2feb6a2ba547c2e02ebbee22a963de1757e181f29e469";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/eu/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/eu/firefox-58.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "1221a19d5fb265cc86fbe3a1f03d99d0d5a5088432d89624ce7c00f26dcaca5571f8b136be8fa65f4c829e6b5a371d22d49dc7bfd0c31f3c168a4abd7d49e8ba";
+      sha512 = "04a6b048d6f12ba19e0b068da31300372c74926ce7d3320a083fe6c8c25565ee0b59b133f44a16114522daf9119d95549ee6a5b78f3e5bbb9e173a38a0d99b44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fa/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/fa/firefox-58.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "575757d295a420921db0528a8833cc69a7aafb13e4a51c63804b8c76517497f63e84aeb4972bdae0e7139233be50613c26179b6d7cd066beaec2d8ecdf429d95";
+      sha512 = "838bd0c1d1514426b40ff0951811c931b687639a37f725a8f775a3816c71b031a2b3ccd92d8077a52ef942361ba318e48c4f34ab29e81cf926e24b530a08043a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ff/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ff/firefox-58.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "a729c190bb3579ef4fca48c837c886f152bfcb550c29fe01a65f6f1186b7e80b71dde3a4f45ab80f282b04868cbc1291e1949a908b7075752fe0af7409c3fdfd";
+      sha512 = "44b96c2590473da06f39b1d32254afdefc939971dd362adfd663b463ab9dba514ebceab26d3db41a8ec6686121b37d22748195c6d009511ab8c9b8878773c1e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fi/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/fi/firefox-58.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "ac7a6844df3a0183d9516e3f526d6e8729b831f241926add256eb790be4d05ab58c62726940eece24b0be6dde8530c62280c744b00117312e937bc024b16d197";
+      sha512 = "a1699b918168cd81025cd33d6b8593dc6489e31aeea03e45bdd03b8ee394c0461dd1263acfdcb38b8830651ab9e847aa19a7739a1b53ca72d2d68c8826469f6a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/fr/firefox-58.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "f46400d33f72dc888ce686e270c981b0fb11b68207d89297288010df325a71b29f48200c34322a5d9ff493d9540aadcf5f30282fc1da0dff75cc63548534378e";
+      sha512 = "3303b8f51a6873bc8a1f598a1962201c6b362b57cc4a84ec8a14a2d564bc5dae364828ce3245f4952820ba48261a0c2bc65fa8b594a00970f3f617ab922e77c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fy-NL/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/fy-NL/firefox-58.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "17e6da89a57a34e4609acbffdda18679fb446c3d931bf5277e10099f3ceaade22bd9db41e9d38da6db09d9150888544c6619a818a50737b429a6f03def94479b";
+      sha512 = "5eebd8ac23ea2724facc64a08e03d48d696df05808dc1a79606ce7bb8a2da2145b08cc1a9f047a52b90764687e1843ed961840bdaa496ab11ea08d049f1187c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ga-IE/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ga-IE/firefox-58.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "5671564000d63a401e40db275a9ac2f131c9a0811b0165cf1f1d3769324eb481b2de95a29f4b3cb8935ba9808ece9bae4e7760c14764c8521cba1517bfa69626";
+      sha512 = "ea913a2d9f160c77a8e8a52f168006a04ecf4c6d77101a026fbe2883a30717d5d17cbda9210f6ec57555c51127dfc50067af2d6f32ea707d20b34ab1a7639cdf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gd/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/gd/firefox-58.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "f7c280869b2468c173f0c45a92301c16252365e5cd1fac0b3ec7a3e779325f0cb6a31bb89761e37b697dc5f1a5dcd8160d935769a683dc656f89ffc29995e782";
+      sha512 = "6bf8504144cfd79ee2951762e2967c2bef65adeec5de10b5437d628fd1889c805b84f935de3c3e4ac256809f89d9ff24626d991959a07146dc8973d29fbf0212";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/gl/firefox-58.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "75e161834e33a4d9e761f85b2cf1de2da88113503c1235d26a2db0a0ebd815ec12e6d5673aeffb368dc6f75877c52d67e59f27ee44e9eddea8f7efa17b4b040a";
+      sha512 = "30a9e9a7f26f18d62ade66056e0081bb5b371f242b237c98c6c0054e46432824cf49cb160931cb22ae4853f27746753c151a0b345afb87396a54e8eeedf69553";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gn/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/gn/firefox-58.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "5aeffab6468ba08c15d74cbbda355a8c51132d8f09f5d603e61c6caa04f1c57a3cd659463454d967a8fd68a17bda9185a0d281368381bed772d1b7e8c5722fad";
+      sha512 = "c66e6dcfa79c8c4470070eb5b8aa99dadcdbeea85c39c35e4213b37788f24fc614f1446c1068a66fa97dbdffb2aa8404f151f871dcdc755d2e00454aa28e8cf7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gu-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/gu-IN/firefox-58.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "89d204f7b931897a9a782eaf99b5cda7a049d35f7e4f3336b3f941d6234ae3984130c59a352052878a72602d6fd21e9725ec51fc2bf990ab395bfccc1ce202cb";
+      sha512 = "dc3a225601cdf6d068bf47d7d9205d71ef23d7750eb6a31faa13c0d02a5fef29be0da2bf163cae3047ce9f1916109f7d0c7af49fcf8e2e405a8491c2a036b3c4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/he/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/he/firefox-58.0b7.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "7e3bfa2d8fc1ab1640bd2310c596451afc25ebdbf5b0827e218afcc7144b126220bd4cc94c8c769c20b6f00c6ab338adf4602dc271a3480caa1db69b28e41409";
+      sha512 = "b0684731032f017c65f188ec095fad4f08056bd354ebc360b826b148fed6de3cca470465d1223ca2b2d5abab2130ad58f95407ae138f4517f7d45f85df859027";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hi-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/hi-IN/firefox-58.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "803312f7e912059d05c88a1a6f448fdeede2aee53532fd67d685ad64c4961dd125c81ca9792a2ee781269221da738fdd7c76119a3b9d4ce6b9a5cf579af90388";
+      sha512 = "5687922a94fd6e2fc6e536a779706c4addf08cae557fe0f622eeb831b3ae6ecae5b7f999ab3987f8b36b2240632d4cbc9ccbbb386bfc4037cfb49291c1b00731";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/hr/firefox-58.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "bd4c68ee7fd5d7ae80907111f184825b94b1f12d02019cdf1511ec76ea98098b1935953b5c5759f28538f110a71cc7804b2161d29b8b3835a481f6f025b70448";
+      sha512 = "d4daa25502154234e0d1be9621ffd68e6855bb5f287a4cd2ab70900724fcd05d92bc7b209a6251d999da95a16dd5cdbf9955b707731ad4f7d02d08c7c73c4f88";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hsb/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/hsb/firefox-58.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "6d9d67e98cb39884b54e068b471d5e16e38897105ed890f14d322568a910fa29c5a3a927a31215133a8635e47800f8863afcfb7d88243b8cf9414b450c70f44e";
+      sha512 = "fba127c2e6f56ee1fa02bdc91f8908db0a08c3f51ad6c6c449e854d00050b763b38dbcfb787e4d19b2c1e55a98b2d4caf96ecc044a908af2d4490b68667d2f20";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hu/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/hu/firefox-58.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "2f07c74f085e7490ba851448db019d7e0d5deef9a74e53c7e0e3bc13d4be5ba341032b9c63d5f2a7f631883858046d84eae5612166e966c330bd14777015a6ff";
+      sha512 = "bad377718bb9407bb7e1589f9de5bb62feaf6bf29ea1a72dbab2a20fc6f4be603d2dfed5e34dc7817da18d1795a3f677e2bd0b2c39f5a1a7b7c4ad2874ac72d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hy-AM/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/hy-AM/firefox-58.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "91440eb5832be50208473b6474c0f13d794cc24a37b2f9a160b2f173fadba946b934fe0c0867b7e3bab605da6011f32fe834825f2ef229e0a20813f58097ef7f";
+      sha512 = "bb9140f4c5dba5e3e4659f8785b00ca05b3fa7322d31adeb9a3d541d96963928758d1f19267c0033b2e350a604aaa083d087486059c41909565e20df2658b2eb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/id/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/id/firefox-58.0b7.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "b0a2504f562b902bf0ff11363c44bc6fece5c327d0acf9eb8f0b17d5750846df1ad1414c17387a39bae5f1ac33de9198b05c55b0f2a97590a29e6b9c243ff20b";
+      sha512 = "69994a1e68ffa635ca3fe4e93b05367064cb18372c3e6a7877185e7446683260fb7defd47e9b1864cc8ce4599c410d4abaf6b9157d951ec9ac1dfcaebef0ccfd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/is/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/is/firefox-58.0b7.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "e3518d927758c3e6c0bf73026b3896ec44cd5bb0abc3e0a8e280e458c66b70a32b15d53a27b97671335fa3a00cc7a88032f11458962e48cb1e984aec6c22dea5";
+      sha512 = "5cd43047b176bed5bc342fd53f2de983999ee01b2c0e7458861fd7beea1c6a0847272c8e47ff8c73faf6ab65b7d467d0e2065546cd1142cda74fe5d3dd2714fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/it/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/it/firefox-58.0b7.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "617dacd7122d8920c9b51974136b7834c079adf0486e9476f4e203805621864c47138a6bb79f05496f075071d37e45baf6279815e17a3640a805e80b7489b61a";
+      sha512 = "71214088f87885e9ff3c4f525630a97ff156b1af331943d29f8aa1badb20b805c77d387ca7efcff33823ebe6d606f42b5cfc55a49d5f4efae77074dbfc5fd30c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ja/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ja/firefox-58.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "a0e21fe3a2eb933ebbf379294eebcf3c9f59f5331d4ad7959f5a1241aa4c0a90aa018c901d715274b12b2bde9533571ff164bdf71f081024dc0810e838f73fc0";
+      sha512 = "73e9beee6ada0b6374b5418ba0698f8411d65676dce9055311bf64d21af0dbde39feb5558104cae12c2ba586120e91c700dfa9a6a1503733992785a42a7b4571";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ka/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ka/firefox-58.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "1f33af1629bd806aea449d429d7348362dcce82a5a02ed4930375e9701c700eebfe5773ef492fd303f68d86dd3ce47cd7c3f73e1a5bbf3d82bda1095e696cb55";
+      sha512 = "3fc7d0f8bac54b4a9f5482a7f2c09df9037db1278399509211061c40a6478527003822a10bca4c51fb5a7be7b6f214881c7036ea95523295522d440aac1f5ff7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kab/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/kab/firefox-58.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "84f8b464d56f70ece330d6cb5dcc9d7c65b201b4365bc030c02c4b9892ba8641e8686e0f0419da40d620397842c4dcf0de58e9cc6776108e99e9659fe0997a75";
+      sha512 = "5ebe7ef7af8392ef3e513c74b1c5cb8d09aa61ed043d6813d43851c5638aabe21e93faf6116fb8b8e16cefac32f050325201d22c935105cc87d9b35e5dbdaae9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/kk/firefox-58.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "83774a6b52db454e9a8b18b1ca7199f52ff215e5e35fe7cf0d86de6ae61af3846eb25510fdc7dbe670fc227688ee97b1ac6f25fb6860575431500a0b02eeb4ae";
+      sha512 = "be0ef76eef943ce2fe09d46efdaebe9e3403575a474b09c8c768dbdd0f3603a280028f776bce6495afbe33197a65da50382e61e0727d1a077536be75402f03bc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/km/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/km/firefox-58.0b7.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "6d64e1ad6f6ae88c4d32b6ce96c7f72c03cdb1d13fd25c819e8aabfed07b16bc1ea308f991c8671b6812ae2f91114ca14ef8049bf0a95dfa4b79d11a38bc8afa";
+      sha512 = "74c38a54471e0e2687f781b4fceee73ad8810f53bc242299ec5f5c922fc78de2d23d59e4f4f39de8336b813d6336ff7d32c18ed508aafc3af613abdeb5ebee75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kn/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/kn/firefox-58.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "46bc7f686d971754d1ca3040fafa5573c1b4c6df63d91511beed6848b15717e4820b1a1ef842ef5704dac42e51cd6102102f0566807a2b1ed86f8fc5d8e1cf2e";
+      sha512 = "ce9c2552b82349095e85155ab1476d6017091af407b5237992a6a1289ad9898b708a90f84d9c2ba6fa58801357e547d16b4378f72863c267646944f781939933";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ko/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ko/firefox-58.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "1eecec7d2ba6c2052f26177082384a48505ea2b88fbc5a3880166b11ca061ce77f9e08055776b9904d1d677ce072a87bd9f703dda51667f3fb50b62b42d6bc03";
+      sha512 = "bf04ad87e4cff3a08e00df9cfef1fdf77c35343b6fabbb5adc23e8c50ab13cb83ef2f65daa9c0df2c3e2297450ae1edb52d45c80f07c005d87a4e143567993ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lij/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/lij/firefox-58.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "20a4f1a52da9e853a40049d7fbed2435ddd48f748a453ae94c9ea14bfae3082aebf032c8f573104eb07317db4ebb970992db667010d0d8e0af6eef995c6481ad";
+      sha512 = "239ecc91a5493187ae99d717421398ba597838b64b0b3066e36b00634a5dcd22c53de53286602cff43a4c2ab212fa37cd4400f713cfea3cd04fc1f3d1d8c06d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lt/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/lt/firefox-58.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "b427ef0a9af8c10b52d4ad55da69d314a55da4de8c68572c57a0983f3e8d566f1604f28c06267736e1d3921cf81912a8829bceddd0cf72b60c08cbb49a190c6f";
+      sha512 = "d1a98945a8048563ae0ae9a66e9ac2e0b52b0d462a7e57506dbbf9db36366b53a0a0b2053273bb472b98e707717bb3a725ab8f6428747a53ce428b4d835b1848";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lv/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/lv/firefox-58.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "ff70e130c43b3a5e6b378aa4c048e5b92488a75b8c22a4df4a08ff1a100d63f02dd1bcfa5d4713dec79f65bbac31d3078f786143497c6b0a3d49b545ff43613a";
+      sha512 = "e9844c643e6bb21a799eda91b72ead9826fe27a78e038efcc9d48752769d80528a2aa231b669ef542fbb2a1d30e16e4b53f6092820497564647fb567d2580225";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mai/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/mai/firefox-58.0b7.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "cfb436e43c1eaa7c5d7b0e4102b79a4e68833591a3c3b09df084533c0ac445bc6ad9a7f4e6f3e3fd0c4ef10c5c177ed7149c992742aa3512c0761a15a64e808c";
+      sha512 = "1a31bce28b6c53b58f4b8c69a20d236ed19e73e9a41ab8ccf7db37d34400cac71e5ad3219f10b7f4b54e7c9c5f1e08ade3fb49d7455e5f21954cf418a629ab6a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/mk/firefox-58.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "59c02906c3ae7f810d53b04d8eb1ff6255d62dc3062d5938453a37d50bd35565215e6df9cd13eedd552d9121c415ea94f6a7b507c50b510433c41b6451f1f61d";
+      sha512 = "c4f75da668c8785d1da8f35c359feaac9d956972243e3c03442faf464dc675ea491837d98b1437d21913f689f1f1ea34763bbbdf37ee3d581c2e7a0627f6ca8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ml/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ml/firefox-58.0b7.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "84c005fa8b3310ee98ec57e882205a465349481bf4cdd3d2daaecc7104ed82882d93df133f6945a2bab2e0b03ef444435438670674d426f7902ef55ead3ad4d8";
+      sha512 = "c94900d0415f99b289fe4e2d02e8c220fa23aafbbf117f76f2c4fd379cf557fc41b1f0b39372f38c3caa59201171ae8736f8cfc2f583278124f13f06b4858703";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/mr/firefox-58.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "0bd928955589fe29d3801cd4995d9b20c816262549f96e894d06aea026dfcb621aea12abd161af991ee533491408660e38dd8c95af2cb91f24ae1cd6de949c07";
+      sha512 = "e8039393e633cc934254a05852982fcc89c11616a774512a5e55307bc9ff44e5550dbd042595b4424e5a2b8c48e3c45cd361818bef268dc7c191a984fe063a6a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ms/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ms/firefox-58.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "b9486a558d50b1afd2f7b2dce4a932f233635c2c15c08ca39ca80e83b1319ee1db59aeba679cedee109e4bebe8082017aa7c61ab79bb39238e3c231435a24399";
+      sha512 = "15c9f6c81c5e13e61a17d0feeb792aa00a6883f0810a6b894cba35ce85b7ec2d14d546193b82d2af590a04bdb1a11d08ed9b9613d2d3a7904e7c2838a7641426";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/my/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/my/firefox-58.0b7.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "d3caac45f5923c01c5c2f7515f2d813351fc8941b8ab11e856b69353f7147bc8c8b06c535642b8c04945c50f923533ac06f87fe3b3a5a818024cd42c08b71a03";
+      sha512 = "5eeb827dc270daaffb7cf674eb97187346a9c042130eecba841f413fc58622d47f24bb533e21b49c3f06839780025da09ec40c953647153ccaa563d8940f749c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nb-NO/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/nb-NO/firefox-58.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "56dd91a54b47451bebbd2fdddd5550ee2f8d4339bf46a38d16598e68d54bb853bcc03bd5db946fb800d501c1aa4630f8ed35cd0d8789ce260c78dac0823d7308";
+      sha512 = "e183edc3c32359d8417e401bf970e0472eed5fe3f77d8a59234f46c95922b8a1e26fb53305f47e808ca802a81cf3d12e4df97da2414cd8f8a19104cfa380b3e9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ne-NP/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ne-NP/firefox-58.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "93667ea20de391de78cb8d2a0e06c9015998d00fd4a9fd112912ba93855cae49ce0456fb562bba8b2a32875d4e891ed5e5253517d05ef2b8e6a48bb884f55dc2";
+      sha512 = "cb8f01fc5ec81b116e0a8b8569a240067dc4e299211e006bab61a3eb0632ebf3f18be3207d31b7e78948e4f2db4e082861e308f2499fd27875dceaffc9f69a5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/nl/firefox-58.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "9255942bc49f5fd871b4d1c701175a4b74cf555ebba1b89bc8d5d78b9d1db9fc5409c162c2434b78f3094062eb204765a55f235695e6a8c2dfefd70c14cf9fc9";
+      sha512 = "3ceb15448fb6e81a0d2f406b46aebc293d3f89689f95947ce2af574abf97a1375bd248f7cb3f88e0af312d3653a97e397329111fb920ff8ebd825aa26b5111af";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nn-NO/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/nn-NO/firefox-58.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "1a72ee04194b5fd4c0799363eb55bba6f993ec51fd920f5a7fe68c06622aa8d92ab7e014275b66fe4406c1f44276d01b34c843c84d16e523632fe2697661a228";
+      sha512 = "40fd16ea82fe7a0d37be0e3c44dd406466268883cf543843dfd3261ffe64fe2d926aa9cb85bfb1196121f6904000ae427e11622940ce2f45f848caa3e7d29ba8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/or/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/or/firefox-58.0b7.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "8b0230279f6d2563e43a0fce11b86c302d852c8acf72a1d27e77d6480d63252518ff5b83ee94b7e5188f687f75bf8929118d01e42e4a7335c0fb5c721bc991af";
+      sha512 = "139f67751a2614c8b4f1ddabe24146349060ef164f739169b5700fe5d05b0deb6ff5e7c9bd166bc529601c6d28c76a58761f25f0e9ee82cbc83b333e5a45c3ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pa-IN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/pa-IN/firefox-58.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "d7feaf16ea00a77ab91a9b1017f3589e6ddca518cfdf09634fd74142d0a4ce0a87c06ce373a7dd356236aaed6673b3d274bb59fad6113a10cb285abc663ef6a2";
+      sha512 = "cafe3828876f674d46577129b66a11c3f34dc591f7dac38a0daccd30ae9e0450b4c5cf501807a38f01b09e3194ba5825bb5b6bd89943853c0657aa436c675fa3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/pl/firefox-58.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "4da447f1beb6eefab3af199090382a1305332802a9e466532a3237271540dc8d1d7b32795196c17a7b41e9884276beef294159db35ca52e3a289e171844838d5";
+      sha512 = "e5a2d2815385eb0715e34570789f034b2916a9b1e6a691ff26daac6dd40bff885416f791225cea33be582e56526f9a63c62cf135417a9f9c2257ed361e326f86";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pt-BR/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/pt-BR/firefox-58.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "77bd9d6d893f9c89bbfd6feed241155ce1b6b2d6c3e31985e64fbecac7b254dcae3c4ec7418752d2dc0a9dd820b4358e77011087a61414f320bbf18e93d0ec74";
+      sha512 = "d564a3e2a9d982af28d84e9833573fef25b7cdb5bf510ce8fd76a7b691757c3d060e55abea0e407cb3e471f3365ce4972aed44e9e1eec35cdbdb4a1f3ead948f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pt-PT/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/pt-PT/firefox-58.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "29c6bb56aa2652aec25bc46f46aef5743ea6023106a109e50878528755e31ddcb6e641841729415453161c6c3ffea1a2888fddc046077a76aa723b393ae1c90f";
+      sha512 = "2cb9d77d4aa39ef47fc529ab8110db7f02d5a8d2b77096a09a1663b8ceca389265bf84c4ae5f81c64e00a7b109d3b34cba3b1b2265c60c1a986e56e23a1f5a69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/rm/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/rm/firefox-58.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "0d28de9c90068bcf336959588e2f202fedc2e5ff47d08fc15b4baf127ea79162d89080ad933cc7e57c03270a5d86100073a403229ccefe590369df4b085eeda2";
+      sha512 = "a37c003f15a4bea4fa9ed2780322a7bcfdf659a670956566853c07ac88758563208cc6fc7f544372615961a2e4d55bd947724b6ccdc7805debf3eb5bf76a909f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ro/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ro/firefox-58.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "a31114b63d5570327302cad0c1e77d7e6ade42a65f53dda70434e3043d1d5188d96791572433d9fb2acbaa1ff5110c9c24cd022c1696867ff6c2999571568076";
+      sha512 = "321a4bf577d95794c2ae3faf5ba60ed9d385c1925753c1598ce5b8121fe8625146f324bc741a837c9367cd735b0730a858b2966790a6d07fd9659f0d85077a17";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ru/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ru/firefox-58.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "ee8aaa73834322c22b239297738eb2ced76a1c2eb7431288ebfcf100966599eacac11ba7e00fa9211fad6c8e624a0f0988552ff1674ac0395ce96c755228cc1a";
+      sha512 = "82225b9a91625e16fc519f6c0d4058080673797e7769bfc0772ad9641a55aa04f2134f9e1ab501f11c04a5d3631e0b4fb53eedb55878fde84e2dbf3e54e6f262";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/si/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/si/firefox-58.0b7.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "22bdfb93f5f153d5ec5556fb8c0e04183c892bffd616eac296d2f2b0bd8ff32bc04bd204e1e62a56a52c1fa00c9d8a309bccbc353179cf3ef1b8d74a4e0c7168";
+      sha512 = "6828ddba8835ca059650ba7d483bf89f7c35fe80ea3dc113afe056729f793b42548152f80e1df9ece0b0d4c734fd05a1d949dc84124ef8ec870bb5e1d1f8eb74";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/sk/firefox-58.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "3a3cf394d15b11dd95fc0e597fd327d391f06d7a0731b3b57f7a9bea1a05c39b6b65b8a1092f44edd16f08ad2ca8cbd63730650531d1697fdd3fc55a1dcb6c01";
+      sha512 = "c048812d8780bce27039cb82511eccdb12be820494b55fa6f63cf1e8743c0cf25d347af2ff16f032915e15a7e7d6ad4342397bc5151de7202b1229758937836c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sl/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/sl/firefox-58.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "cc27b4356c292b41756eba6debad5b4b18e24435d90c4d2b8afa622328ab96fcc0c854cca03d6ff6fd648d3322bf01a57f9a83fdf5966a7467575dfb1c227db9";
+      sha512 = "3746e7f3c8a946a0643f810d1bdf5e995acd7942cb52b15bf7f45f0d9c021466ca771356a565a53324a689358dfe7689e95f20d0f8c33c3f7a5292f8e63ad28c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/son/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/son/firefox-58.0b7.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "7dd44cfdd59e0e1bb71aa3b2ae8243751bafad89e6639d13d0efe4a3ab99ef34d87ac27f249d768c457e6ddd01d574beaa8ba689a7b85e9c1ce841f2506c55f2";
+      sha512 = "8701eb4acbfe9381a5f24366db0fc755b9a4d18427b2de2b8094b03cf8dfb9e87431b57cc579d5b0d771784d87f9b69fe5b10c7eac481f56b3ac10350c1cf52e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sq/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/sq/firefox-58.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "60d7b94a02b6eed876aa7d8cdad849bf384d0f62efaa0590d19907d18d9f42cab2b77b0ac93ba2eaa721d44237e1256fe092429f7c95de4c38c97e8e3d7cd2e3";
+      sha512 = "00be0448b199245bca07c6ba638f646749aa9eca02fdccf84112478320c2909e70c09bd34b76f548ddc52bfdfe1950e386bb5dbd12d506e09b36b60adec7cd28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/sr/firefox-58.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "268fe1e88100cd55fe5ca1b3c2a028e436de0360e0c9e95ae2f77176e67f975f1609e97447eb98eefe82d188a804ffb04c05eae69ef9f6e405296f99794e5f33";
+      sha512 = "8d3ae2aed74483f37f3da6d7e113e8200c5db77567bd80b71a23694b40014cc903e57cc07d62ef984fca2f9462f9283271b23699f1b9c6b98a0b065c295d8aa3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sv-SE/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/sv-SE/firefox-58.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "39c049e89a7e48f9f1d965d8fe43499856c3cd1ff5d86005d90d486b1cd04adddc5ef5246c71908ea38aae995456aae22124386b5a45d53e86e3e74380193bd8";
+      sha512 = "4d33ddf5a7fe1f2e60a5c25e6d574dee95fb4ca561bb25af402ab9a78e041949a9949383fe4a8e279733591c56a8f250917dfc8dd31b5ea5843f84e2020de6f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ta/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ta/firefox-58.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "bc4fc2ea66fb0701d77ebc31c92d0a72775af52ed8ea7273a470783f972576349db571c861835d78fd201cb28d80fe4ccc5fc566af61502e74cc8e72cc1ac3a5";
+      sha512 = "dde799e1d842f7597844cfd943717a2a977cf7f4aa8b428b8ca2c6532c5d39c56e11540243e08a146f3a13e236c5bcb9db704b1380bc64bc9d1487b1931090f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/te/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/te/firefox-58.0b7.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "73090fb7df13733d6dee28cb6b9bf40aedf19ffa85149a5d0afb24732b9420f13b8d9860494f83a908c54db9d6e864eb73ca80cac549333f6e3a24b87c8f7337";
+      sha512 = "a786fe2c63e29783167212f5a54b5a5ccbb82e4db466ebe796719bd2c220d0901117b0f1fc7136c50710f24da872834bf76abe97eabc26148c6795a50857a6b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/th/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/th/firefox-58.0b7.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "d6f9e42773736a179ed85ab2767f74270d868adb749286c1221484296f269c5087074e40678bf3abd5b420de3487d934982e53f7d094b98b1faf84ae9b19b7ed";
+      sha512 = "9879ebc9087897c9cd8db72bde8838dac3bbdf32fd0951a1182ad6fdbf3fe4da042d96f8a636e575c6aa6924589a36d5f9490032655afbee0703169bd1c9ec01";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/tr/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/tr/firefox-58.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "f9714e0d2340ed9c76a67c733936485810cdf2e3b38c32e1958fabdefcca989102c175c77a34eab30fce1270076a81127ae14b68b8371aa86bc2be2051db4a0c";
+      sha512 = "2b840760c6d7c70ee5c211baa9a4b87f1ed261513d6f81b26a2ecbc8aa5cec6d18cea8bbcbd387cf68e4bb0b9e4dc9f33b166434bbf4026169dda7b852fe4411";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/uk/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/uk/firefox-58.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "784692df6d887e23480cc66730a2e487440d22812398415e412e2d8bdd1f1f9f0235a85be0f1dc55037d3c964996f57a1739f1ae54fc8857d211715a20a40c5d";
+      sha512 = "98301c81612ba9fc581030f6e48e76184622d40a6f539802d363d19547c010dccc0dc05d071e901a383d98f35b33be866b1e084240f470b53e70ebc14306ae45";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ur/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/ur/firefox-58.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "103d50b878d74827f11c79005f008fb8291cfb8c062e136e2d965bc61200fb6c82998ef3bd9c186a7ce5ae1371e5f21ee6cc6d664fbd60f737b7d05a85abad2f";
+      sha512 = "0b8c8a94018d4e5ff16e361d21a4abde8697ec2d50e30e1b270752d9c23f51642db333cba34bee2e3466905197c0bae5c2f97729b127b094862d8df490e4be30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/uz/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/uz/firefox-58.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "869230cc3f649a9ab78a2de7dd68cd6c0d416de0f27640c1b2bdd80c88acf71b653bb9ad51a8cc7a8c2be9bcd7cbf5ebe5574577ad00cdec542a85e19902ecfa";
+      sha512 = "4d3bae5e390ebb7c77344c5305827fec98254f8c5c42eab539ea527d8988cebc05e2e6ff9e15b70db9ca43212f4a719ec919720fb55ea92e148562b92c9aeb53";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/vi/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/vi/firefox-58.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "f80a57dc3d505701ba4a79819988133a74913918ba96692ed6e6d4479672e28b5c4acb06b978be3e7494ff868737992b8a34223964b737a7346fecf2a93eec5d";
+      sha512 = "bc3b10dfb5c01c138575fd13b03769e9b0ed6aa43bfc346c0571c6d4f145a8efbdd3fbcb6f5fe714468ad9404eeedc9e0ea7f176a480b9fa20ee7e48e90bca14";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/xh/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/xh/firefox-58.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "662b14f48738d32b88c14bab1730e73ab208e85317a4abe8215419642299020a491d22299196091b40af41e88fa4fdd6794385152d9eea49f2aa9d6cf800c8bf";
+      sha512 = "2fc2ed8240532f509ade1ae2d6d84a2bd199ba68458e6fe79043e7545a99b1b7ad35e58a0e1490032de4c31de4f3b8b6c3b43004f8bbc985a9225475d23c0310";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/zh-CN/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/zh-CN/firefox-58.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "42562df31b9f69b0370c01f281f289bb7bde34f5c82e43d46cf22084dfd12ecfea7a340116ac16744d5f6af04bbb9eb48d31b610dde34def50860327b9caa9fa";
+      sha512 = "8267a33ae4a2cfe68c8938a0b1aec67dd37e9f66bc76fd174011f97fa1c78ee3dbf6d49a28635dbb2b6687e553c8c52e3b8b0ab0377bc324e2fee67ae4a19201";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/zh-TW/firefox-58.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b7/linux-i686/zh-TW/firefox-58.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "71965696cd645d00cc0c2f212e89bc63e023f6c36c3182ed0169839550752559d8c1a04ad47c832e5113c321a54209e00ff598dae7cf5a46edb169176f3cd86d";
+      sha512 = "425b2dd914e64699f3deef384f0ff2ac8c3bf1b0a2350dd20b6c961f3ca13d94b6fdb68b521665f9ef403df3438c2d8b4be05b8d3da2a4271ed279f779e8bd9e";
     }
     ];
 }
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..4c3647bd4481 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
@@ -8,139 +8,160 @@
 , google_talk_plugin, fribid, gnome3/*.gnome_shell*/
 , esteidfirefoxplugin
 , vlc_npapi
+, browserpass
 , libudev
 , kerberos
 }:
 
 ## configurability of the wrapper itself
+
 browser:
-{ browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
-, name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
-, desktopName ? # browserName with first letter capitalized
-  (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
-, nameSuffix ? ""
-, icon ? browserName
-}:
 
 let
-  cfg = stdenv.lib.attrByPath [ browserName ] {} config;
-  enableAdobeFlash = cfg.enableAdobeFlash or false;
-  ffmpegSupport = browser.ffmpegSupport or false;
-  gssSupport = browser.gssSupport or false;
-  jre = cfg.jre or false;
-  icedtea = cfg.icedtea or false;
-
-  plugins =
-     assert !(jre && icedtea);
-     ([ ]
-      ++ lib.optional enableAdobeFlash flashplayer
-      ++ lib.optional (cfg.enableDjvu or false) (djview4)
-      ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
-      ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
-      ++ lib.optional icedtea icedtea_web
-      ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
-      ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
-      ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
-      ++ lib.optional (cfg.enableTrezor or false) trezor-bridge
-      ++ lib.optional (cfg.enableBluejeans or false) bluejeans
-      ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
-      ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
-      ++ lib.optional (cfg.enableVLC or false) vlc_npapi
-     );
-  libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
-         ++ lib.optional gssSupport kerberos
-         ++ lib.optionals (cfg.enableQuakeLive or false)
-         (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ])
-         ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
-         ++ lib.optional (config.pulseaudio or false) libpulseaudio;
-  gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
-  gtk_modules = [ libcanberra_gtk2 ];
-
-in stdenv.mkDerivation {
-  inherit name;
-
-  desktopItem = makeDesktopItem {
-    name = browserName;
-    exec = "${browserName}${nameSuffix} %U";
-    inherit icon;
-    comment = "";
-    desktopName = "${desktopName}${nameSuffix}";
-    genericName = "Web Browser";
-    categories = "Application;Network;WebBrowser;";
-    mimeType = stdenv.lib.concatStringsSep ";" [
-      "text/html"
-      "text/xml"
-      "application/xhtml+xml"
-      "application/vnd.mozilla.xul+xml"
-      "x-scheme-handler/http"
-      "x-scheme-handler/https"
-      "x-scheme-handler/ftp"
-    ];
-  };
-
-  buildInputs = [makeWrapper]
-    ++ lib.optional (!ffmpegSupport) gst-plugins
-    ++ lib.optional (browser ? gtk3) browser.gtk3;
-
-  buildCommand = ''
-    if [ ! -x "${browser}/bin/${browserName}" ]
-    then
-        echo "cannot find executable file \`${browser}/bin/${browserName}'"
-        exit 1
-    fi
-
-    makeWrapper "$(readlink -v --canonicalize-existing "${browser}/bin/${browserName}")" \
-        "$out/bin/${browserName}${nameSuffix}" \
-        --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
-        --suffix LD_LIBRARY_PATH ':' "$libs" \
-        --suffix-each GTK_PATH ':' "$gtk_modules" \
-        --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
-        --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
-        --suffix PATH ':' "$out/bin" \
-        --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
-        ${lib.optionalString (!ffmpegSupport)
-            ''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
-        + lib.optionalString (browser ? gtk3)
-            ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-              --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share'
-            ''
-         }
-
-    if [ -e "${browser}/share/icons" ]; then
-        mkdir -p "$out/share"
-        ln -s "${browser}/share/icons" "$out/share/icons"
-    else
-        mkdir -p "$out/share/icons/hicolor/128x128/apps"
-        ln -s "${browser}/lib/${browserName}-"*"/browser/icons/mozicon128.png" \
-            "$out/share/icons/hicolor/128x128/apps/${browserName}.png"
-    fi
-
-    install -D -t $out/share/applications $desktopItem/share/applications/*
-
-    # For manpages, in case the program supplies them
-    mkdir -p $out/nix-support
-    echo ${browser} > $out/nix-support/propagated-user-env-packages
-  '';
-
-  preferLocalBuild = true;
-
-  # Let each plugin tell us (through its `mozillaPlugin') attribute
-  # where to find the plugin in its tree.
-  plugins = map (x: x + x.mozillaPlugin) plugins;
-  libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
-  gtk_modules = map (x: x + x.gtkModule) gtk_modules;
-
-  passthru = { unwrapped = browser; };
-
-  disallowedRequisites = [ stdenv.cc ];
-
-  meta = browser.meta // {
-    description =
-      browser.meta.description
-      + " (with plugins: "
-      + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
-      + ")";
-    hydraPlatforms = [];
-    priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
-  };
-}
+  wrapper =
+    { browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
+    , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
+    , desktopName ? # browserName with first letter capitalized
+      (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
+    , nameSuffix ? ""
+    , icon ? browserName
+    , extraPlugins ? []
+    , extraNativeMessagingHosts ? []
+    }:
+
+    let
+      cfg = stdenv.lib.attrByPath [ browserName ] {} config;
+      enableAdobeFlash = cfg.enableAdobeFlash or false;
+      ffmpegSupport = browser.ffmpegSupport or false;
+      gssSupport = browser.gssSupport or false;
+      jre = cfg.jre or false;
+      icedtea = cfg.icedtea or false;
+
+      plugins =
+        assert !(jre && icedtea);
+        ([ ]
+          ++ lib.optional enableAdobeFlash flashplayer
+          ++ lib.optional (cfg.enableDjvu or false) (djview4)
+          ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
+          ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional icedtea icedtea_web
+          ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
+          ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
+          ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
+          ++ lib.optional (cfg.enableTrezor or false) trezor-bridge
+          ++ lib.optional (cfg.enableBluejeans or false) bluejeans
+          ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
+          ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
+          ++ lib.optional (cfg.enableVLC or false) vlc_npapi
+          ++ extraPlugins
+        );
+      nativeMessagingHosts =
+        ([ ]
+          ++ lib.optional (cfg.enableBrowserpass or false) browserpass
+          ++ extraNativeMessagingHosts
+        );
+      libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
+            ++ lib.optional gssSupport kerberos
+            ++ lib.optionals (cfg.enableQuakeLive or false)
+            (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ])
+            ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
+            ++ lib.optional (config.pulseaudio or false) libpulseaudio;
+      gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
+      gtk_modules = [ libcanberra_gtk2 ];
+
+    in stdenv.mkDerivation {
+      inherit name;
+
+      desktopItem = makeDesktopItem {
+        name = browserName;
+        exec = "${browserName}${nameSuffix} %U";
+        inherit icon;
+        comment = "";
+        desktopName = "${desktopName}${nameSuffix}";
+        genericName = "Web Browser";
+        categories = "Application;Network;WebBrowser;";
+        mimeType = stdenv.lib.concatStringsSep ";" [
+          "text/html"
+          "text/xml"
+          "application/xhtml+xml"
+          "application/vnd.mozilla.xul+xml"
+          "x-scheme-handler/http"
+          "x-scheme-handler/https"
+          "x-scheme-handler/ftp"
+        ];
+      };
+
+      buildInputs = [makeWrapper]
+        ++ lib.optional (!ffmpegSupport) gst-plugins
+        ++ lib.optional (browser ? gtk3) browser.gtk3;
+
+      buildCommand = ''
+        if [ ! -x "${browser}/bin/${browserName}" ]
+        then
+            echo "cannot find executable file \`${browser}/bin/${browserName}'"
+            exit 1
+        fi
+
+        makeWrapper "$(readlink -v --canonicalize-existing "${browser}/bin/${browserName}")" \
+            "$out/bin/${browserName}${nameSuffix}" \
+            --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
+            --suffix LD_LIBRARY_PATH ':' "$libs" \
+            --suffix-each GTK_PATH ':' "$gtk_modules" \
+            --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
+            --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)
+                ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+                  --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share'
+                ''
+            }
+
+        if [ -e "${browser}/share/icons" ]; then
+            mkdir -p "$out/share"
+            ln -s "${browser}/share/icons" "$out/share/icons"
+        else
+            mkdir -p "$out/share/icons/hicolor/128x128/apps"
+            ln -s "${browser}/lib/${browserName}-"*"/browser/icons/mozicon128.png" \
+                "$out/share/icons/hicolor/128x128/apps/${browserName}.png"
+        fi
+
+        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
+      '';
+
+      preferLocalBuild = true;
+
+      # Let each plugin tell us (through its `mozillaPlugin') attribute
+      # where to find the plugin in its tree.
+      plugins = map (x: x + x.mozillaPlugin) plugins;
+      libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
+      gtk_modules = map (x: x + x.gtkModule) gtk_modules;
+
+      passthru = { unwrapped = browser; };
+
+      disallowedRequisites = [ stdenv.cc ];
+
+      meta = browser.meta // {
+        description =
+          browser.meta.description
+          + " (with plugins: "
+          + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
+          + ")";
+        hydraPlatforms = [];
+        priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
+      };
+    };
+in
+  lib.makeOverridable wrapper
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/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index e24c21b535bf..736011a13eba 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.6.0";
+  version = "27.6.2";
 
   src = fetchFromGitHub {
     name   = "palemoon-src";
     owner  = "MoonchildProductions";
     repo   = "Pale-Moon";
     rev    = version + "_Release";
-    sha256 = "1v5rbam93fcc7c1l69clr9chi2l0zv0dhjq12v535n8vv9lhahhl";
+    sha256 = "0ickxrwl36iyqj3v9qq6hnfl2y652f2ppwi949pfh4f6shm9x0ri";
   };
 
   desktopItem = makeDesktopItem {
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 4af725d3c958..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.9";
+  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 = "0ykbpp0qr3glygmnnc6ac41kkvrxn52472z6kbpf7i6qzvk4ba0d";
+      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 = "02alpzmvm3ldlp51sqppz41d12lx93n5qj6i3gqz6din96swm7j8";
+      sha256 = "0mjw8z76pbm1hshz875shkmjmxqhpan5la52r3y20v6rc0gfd9p5";
     };
   };
 in
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index 95ad83cb3b17..cc69be36e371 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "machine-${version}";
-  version = "0.12.2";
+  version = "0.13.0";
 
   goPackagePath = "github.com/docker/machine";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "docker";
     repo = "machine";
-    sha256 = "0ikgjb6x6h7f43vjabxnqgrrlq516zsz7vj945hca1w919jpdwhf";
+    sha256 = "1bqblgz2avrvp9xv6rlvgl0xh2ghpml3a00xhq3mmzkznayw6chq";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix
new file mode 100644
index 000000000000..99cb7b98f5cc
--- /dev/null
+++ b/pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix
@@ -0,0 +1,21 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/docker/machine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/machine";
+      rev = "5b274558ea6ca822c06dd407a4e774a0105c3f60";
+      sha256 = "1wdq9h4bx7awgclh969gvmcnl9jvgv7ldfklnclh5iv47mi7q22d";
+    };
+  }
+  {
+    goPackagePath = "github.com/zchee/libhyperkit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/zchee/libhyperkit";
+      rev = "1a19a7693fac32b46ec6cdd22da6fbec974447fc";
+      sha256 = "119f5gcl24znwnmi837jk667asd3lirx32jldpd4mbyb3sm9nz24";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
new file mode 100644
index 000000000000..6b0440eb84ae
--- /dev/null
+++ b/pkgs/applications/networking/cluster/docker-machine/xhyve.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, Hypervisor, vmnet }:
+
+buildGoPackage rec {
+  name = "docker-machine-xhyve-${version}";
+  version = "0.3.3";
+
+  goPackagePath = "github.com/zchee/docker-machine-driver-xhyve";
+  goDeps = ./xhyve-deps.nix;
+
+  src = fetchFromGitHub {
+    rev    = "v${version}";
+    owner  = "zchee";
+    repo   = "docker-machine-driver-xhyve";
+    sha256 = "0rj6pyqp4yv4j28bglqjs95rip5i77vv8mrkmqv1rxrsl3i8aqqy";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ Hypervisor vmnet ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/zchee/docker-machine-driver-xhyve;
+    description = "Xhyve driver for docker-machine.";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ periklis ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix
new file mode 100644
index 000000000000..b2c97d1ea396
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kompose/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "kompose-${version}";
+  version = "1.5.0";
+
+  goPackagePath = "github.com/kubernetes/kompose";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "kubernetes";
+    repo = "kompose";
+    sha256 = "1r5f8jbr2c1xxb5fpfgy23w4m30zahhmrw23jlk1hpx2w1pi1iyh";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tool to help users who are familiar with docker-compose move to Kubernetes";
+    homepage = https://github.com/kubernetes/kompose;
+    license = licenses.asl20;
+    maintainers = with maintainers; [thpham];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 909242273930..6654ee89c806 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -14,6 +14,8 @@ let
   #   src/common/command_utils.cpp
   # https://github.com/NixOS/nixpkgs/issues/13783
   tarWithGzip = lib.overrideDerivation gnutar (oldAttrs: {
+    # Original builder is bash 4.3.42 from bootstrap tools, too old for makeWrapper.
+    builder = "${bash}/bin/bash";
     buildInputs = (oldAttrs.buildInputs or []) ++ [ makeWrapper ];
     postInstall = (oldAttrs.postInstall or "") + ''
       wrapProgram $out/bin/tar --prefix PATH ":" "${gzip}/bin"
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 00ee3a3771eb..a3b30a5ef405 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm,
-  gpgme, makeWrapper }:
+  gpgme, makeWrapper, hostPlatform, vmnet }:
 
 let
   binPath = [ kubernetes ]
@@ -34,9 +34,13 @@ in buildGoPackage rec {
     sha256 = "1f7kjn26y7knmab5avj8spb40ny1y0jix5j5p0dqfjvg9climl0h";
   };
 
+  patches = [
+    ./localkube.patch
+  ];
+
   # kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
   # that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
-  buildInputs = [ go-bindata makeWrapper kubernetes gpgme ];
+  buildInputs = [ go-bindata makeWrapper kubernetes gpgme ] ++ stdenv.lib.optional hostPlatform.isDarwin vmnet;
   subPackages = [ "cmd/minikube" ];
 
   preBuild = ''
diff --git a/pkgs/applications/networking/cluster/minikube/localkube.patch b/pkgs/applications/networking/cluster/minikube/localkube.patch
new file mode 100644
index 000000000000..08ec85813a3e
--- /dev/null
+++ b/pkgs/applications/networking/cluster/minikube/localkube.patch
@@ -0,0 +1,20 @@
+diff --git a/pkg/minikube/bootstrapper/localkube/localkube.go b/pkg/minikube/bootstrapper/localkube/localkube.go
+index 1c4b5000..c9f120d4 100644
+--- a/pkg/minikube/bootstrapper/localkube/localkube.go
++++ b/pkg/minikube/bootstrapper/localkube/localkube.go
+@@ -113,14 +113,9 @@ func (lk *LocalkubeBootstrapper) UpdateCluster(config bootstrapper.KubernetesCon
+
+ 	copyableFiles := []assets.CopyableFile{}
+ 	var localkubeFile assets.CopyableFile
+-	var err error
+
+ 	//add url/file/bundled localkube to file list
+-	lCacher := localkubeCacher{config}
+-	localkubeFile, err = lCacher.fetchLocalkubeFromURI()
+-	if err != nil {
+-		return errors.Wrap(err, "Error updating localkube from uri")
+-	}
++	localkubeFile = assets.NewBinDataAsset("out/localkube", "/", "localkube", "0777")
+ 	copyableFiles = append(copyableFiles, localkubeFile)
+
+ 	// user added files
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/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index e6e3585a4d13..1fce0695bfd4 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -91,8 +91,15 @@ in {
   };
 
   terraform_0_10 = pluggable (generic {
-    version = "0.10.7";
-    sha256 = "0gjvrra255m973nzi7rpqp5dn5npnd79cnv8vjcs7wmkdj1hli0l";
+    version = "0.10.8";
+    sha256 = "11hhij0hq99xhwlg5dx5nv7y074x79wkr8hr3wc6ln0kwdk5scdf";
+    patches = [ ./provider-path.patch ];
+    passthru = { inherit plugins; };
+  });
+
+  terraform_0_11 = pluggable (generic {
+    version = "0.11.0";
+    sha256 = "0qsydg6bn7k6d68pd1y4j5iys9i66c690yq21axcpnjfibxgqyff";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix
index d29bd9648609..675e3f768ebf 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix
@@ -32,8 +32,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "1.0.0";
-      sha256  = "1x3ldlx2iryxwfaws8ng9n0k06p7n8xqc6sjyxw73jdasxbh8wgi";
+      version = "1.3.1";
+      sha256  = "0vsvvw1qdjb69jilhjl5g8h7dn82n0n23k2v67dqywhinilafcmv";
     };
   azure =
     {
@@ -46,8 +46,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "0.2.2";
-      sha256  = "1jdkj1zylrlcd2qkfkl81i0ybdpmvbvvsk0f4ahafiqp550srf2d";
+      version = "0.3.3";
+      sha256  = "0qq10gjwka0268ylzx5r7qhj0xpjh8fxrjr1fwbiq8sp6i1jb7sa";
     };
   bitbucket =
     {
@@ -84,6 +84,13 @@
       version = "0.1.0";
       sha256  = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
     };
+  cloudscale =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-cloudscale";
+      version = "1.0.0";
+      sha256  = "0yqiz4xywbd3568hl6va8da81fbc1hnynlz4z0vqxgi3bs8hhdhz";
+    };
   cloudstack =
     {
       owner   = "terraform-providers";
@@ -95,8 +102,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cobbler";
-      version = "0.1.0";
-      sha256  = "1867aqlz1v7scybaia9yakaxw76lh6y2whhajv5pqy1ng58rcgiz";
+      version = "1.0.0";
+      sha256  = "0v7j9r2ic3ks2hy80mx5xay05m6r52vclsbbbf9vb0srnrvz21gy";
     };
   consul =
     {
@@ -109,8 +116,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "0.1.1";
-      sha256  = "0nyqybi3fl9qlhpx2n0vjz7kn3bqhf4wy93zhq3j3853zxpcjpzc";
+      version = "1.0.0";
+      sha256  = "1kabjhq7xl2mhh0gvg87a9zh8y2k0h5ghcmb86xzvx25j3jdqfg6";
     };
   digitalocean =
     {
@@ -144,15 +151,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-docker";
-      version = "0.1.0";
-      sha256  = "1nacxkyy12w4rj1bdf5ayqmmm47nwh362pcksr227rkwmsjlmg1m";
+      version = "0.1.1";
+      sha256  = "02lhbl34dq7lsby3g32969i4g9l3z6xw1v00shljd3amgyz2l2r2";
     };
   dyn =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dyn";
-      version = "1.0.0";
-      sha256  = "0ph3516syca8f1zxmz66mh6y5kd8sc74kl0n8zixcgd6rvq0dysr";
+      version = "1.1.0";
+      sha256  = "0sx4h3drb230m69lsmafyfd2cfvwnb9gld8s6ky54115kd3nckml";
     };
   external =
     {
@@ -179,29 +186,29 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-gitlab";
-      version = "0.1.0";
-      sha256  = "1xjhpaq2agdshrl5jbq9ak2nxdy86iay5bw16zww2qc5ah21sdg2";
+      version = "1.0.0";
+      sha256  = "1kxmzdzdb6fc64i2bzch6020zfk0ygms9gh5mm1bypsyqmj4qc6r";
     };
   google =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "1.0.1";
-      sha256  = "0l0bpcfjnzlgf3g60iyfr3axw0244w99cf04z7y3bcszk5njipri";
+      version = "1.2.0";
+      sha256  = "1q3ypacsjc8779v1k81z0vs3kx6i340fa4mz26gscf85rx8bghim";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
-      version = "0.1.0";
-      sha256  = "1m2anc5cyn2p3yh4zn0y6wvzb0s2fz3sfdqm9psvx53266c2c81q";
+      version = "1.0.0";
+      sha256  = "0fsdin1rd7hah6pp3x568db2mmk66q0fhiplsri7vyj03n3z55v2";
     };
   heroku =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "0.1.0";
-      sha256  = "1f72lm95bnkhaf2accypdn7xsxcgkqri5fq5mriya4n34c61z3l6";
+      version = "0.1.1";
+      sha256  = "0i5pdb05qkd6h9zyr88ppsiii6g6zjc5096xblizvmiww7mp81gn";
     };
   http =
     {
@@ -235,8 +242,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.0.0";
-      sha256  = "1kh7a83f98v6b4v3zj84ddhrg2hya4nmvrw0mjc26q12g4z2d5g6";
+      version = "1.0.1";
+      sha256  = "0s8h8nxsl07bhvynmgps07giqr2xmxizk1rcx4xivfc3q5mkvnhb";
     };
   librato =
     {
@@ -259,6 +266,13 @@
       version = "0.1.0";
       sha256  = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
     };
+  logicmonitor =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-logicmonitor";
+      version = "1.0.0";
+      sha256  = "106y74w9nhqs65h26ipyjg636zcrnpn5s8r49sg4kh4ynvnrkv8v";
+    };
   mailgun =
     {
       owner   = "terraform-providers";
@@ -270,8 +284,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      version = "0.1.0";
-      sha256  = "0vjr97xf15va9qypjb9318h1nxr0sd6ydcy7ijnqb8538v3581mv";
+      version = "1.0.0";
+      sha256  = "1vkr1gg9adrkzlbdy0w0wn1ap5zla1k54kxfmd5jndw4hzgysi82";
     };
   newrelic =
     {
@@ -319,8 +333,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "0.2.2";
-      sha256  = "1027pqv1cvyvakn4kgivd720g9na38nam5bb5fjyd4d04xpq9v90";
+      version = "1.0.0";
+      sha256  = "0ddy62psapajbgnf7f998cnwiyak3lnk43vj0rl230dhnma9crpm";
     };
   opsgenie =
     {
@@ -340,8 +354,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.0.0";
-      sha256  = "0ibz9k1yfqkfsmqmv1pl2jwzbld0l6f7zd8y80iw0v5wswclswya";
+      version = "1.1.0";
+      sha256  = "0848y78jri1kzd70xcgv0p62yww46d0kr9zpqwh32m866xx5isfi";
     };
   pagerduty =
     {
@@ -368,8 +382,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
-      version = "0.1.2";
-      sha256  = "105l0rijqmp7kmd7wygnhnj02q7y1rz0r8pj2mjzncb5pr48m3qp";
+      version = "1.0.0";
+      sha256  = "15j66mm7mkwblwncb5s0xbcz7jz99mzswhppzxchwkbk3325syyx";
     };
   rabbitmq =
     {
@@ -382,8 +396,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rancher";
-      version = "1.0.0";
-      sha256  = "1fs8p0l8f79b1s2g0p5zlq1has9i7w3bmv76vrm79076v7w2v0d6";
+      version = "1.1.1";
+      sha256  = "1gs62yd31kywg2yhnikli1khai1n0lwy8pb3g7k5ad8ibffjskmz";
     };
   random =
     {
@@ -403,8 +417,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "0.1.1";
-      sha256  = "145wfcr5zjjk8vgx5xjf1hqh6h8jqxkhxbvv9x1w34i5bv809ch6";
+      version = "1.0.0";
+      sha256  = "0zp9hhvlcn6cpnblwrr03icbagzk745b0lrm5bs23crbnddal905";
     };
   softlayer =
     {
@@ -438,22 +452,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-terraform";
-      version = "1.0.0";
-      sha256  = "0icyyi4h48yh5235p5svm4p0jzbqqm1f3846dqy37czhjfcrn3gh";
+      version = "1.0.2";
+      sha256  = "1aj6g6l68n9kqmxfjlkwwxnac7fhha6wrmvsw4yylf0qyssww75v";
     };
   tls =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "1.0.0";
-      sha256  = "063ai5zipmkwq0nr5c25gqsr970r8aba12ynxg9x8cnay0zn9s95";
+      version = "1.0.1";
+      sha256  = "0mzm1pkqgcslz3j4an1vpx92hnqa53ly0kp3zix8kp2kfnn17qky";
     };
   triton =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.2.1";
-      sha256  = "0ds2anr65xx9kdjv6x68lcxgl3js6l0m2cbx3kwx5465m01m3gxz";
+      version = "0.3.0";
+      sha256  = "0x8cws41mpxcwd4hf380gizhdnnfs2df5pwcc417sbp2706cai1h";
     };
   ultradns =
     {
@@ -466,8 +480,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "0.1.0";
-      sha256  = "1rr4gaqfr6panjjdb5xx9vbq7701zjps0l75zi526kij1pph98p1";
+      version = "1.0.0";
+      sha256  = "1v4b8zs0s48gqgsh719hwi69i4h8i5vvp2g5m881z5yzv7n7haqw";
     };
   vcd =
     {
@@ -480,7 +494,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "0.4.1";
-      sha256  = "0afxvjx9zb9ym0cs8j15s6nfp20rmmifjdc098wcfjmgnw6p7f01";
+      version = "0.4.2";
+      sha256  = "0k9mndxfiq5drcz2qhqasc7cqra0mfdwwwblb1m6lyg7flg7dli0";
     };
 }
diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix
index 54fc72fbfae4..affcbcc4b3c0 100644
--- a/pkgs/applications/networking/corebird/default.nix
+++ b/pkgs/applications/networking/corebird/default.nix
@@ -3,14 +3,14 @@
 , glib_networking }:
 
 stdenv.mkDerivation rec {
-  version = "1.7.1";
+  version = "1.7.3";
   name = "corebird-${version}";
 
   src = fetchFromGitHub {
     owner = "baedert";
     repo = "corebird";
     rev = version;
-    sha256 = "1g6wkzrl6j0mmgafpv0jpqa906s1x7p5hmiqdgs9qwm7q2wlwrqd";
+    sha256 = "1xay22v5j239ppl6ydbj842zpm5v2mg5mcgpy5cjrhhmnbg79fgk";
   };
 
   preConfigure = ''
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/gmailieer/default.nix b/pkgs/applications/networking/gmailieer/default.nix
index b3a9634c8a16..26a05151d1cf 100644
--- a/pkgs/applications/networking/gmailieer/default.nix
+++ b/pkgs/applications/networking/gmailieer/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "gmailieer";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "gauteh";
     repo = "gmailieer";
     rev = "v${version}";
-    sha256 = "1app783gf0p9p196nqsgbyl6s1bp304dfav86fqiq86h1scld787";
+    sha256 = "0vpc8nrh3cx91pcw45jjr2jllkqbx6w2khq7nyqv59gc4q5mz0p2";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 6e86cfb3d023..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.0rc4";
+  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,7 +12,7 @@ let
 in {
   guiStable = mkGui {
     stable = true;
-    sha256Hash = "10qp6430md8d0h2wamgfaq7pai59mqmcw6sw3i1gvb20m0avvsvb";
+    sha256Hash = "0fms8469daa8jhmsdqnadm18gc27g18q4m974wjfpz9n1rn78sjk";
   };
   guiPreview = mkGui {
     stable = false;
@@ -21,7 +21,7 @@ in {
 
   serverStable = mkServer {
     stable = true;
-    sha256Hash = "1c7mzj1r2zh90a7vs3s17jakfp9s43b8nnj29rpamqxvl3qhbdy7";
+    sha256Hash = "1s66qnkhd9rqak13m57i266bgrk8f1ky2wxdha1jj0q9gxdsqa39";
   };
   serverPreview = mkServer {
     stable = false;
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 6e3280b99019..59380cf6965e 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -18,21 +18,11 @@ let
         };
         doInstallCheck = false;
       }));
-  yarl = if (!stable)
-    then (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
-      { propagatedBuildInputs = [ multidict_3_1_3 ]; }))
-    else (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
-      rec {
-        pname = "yarl";
-        version = "0.9.8";
-        name = "${pname}-${version}";
-        src = pythonPackages.fetchPypi {
-          inherit pname version;
-          sha256 = "1v2dsmr7bqp0yx51pwhbxyvzza8m2f88prsnbd926mi6ah38p0d7";
-        };
-      }));
-  aiohttp = if (!stable)
-    then (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 = "2.2.5";
@@ -43,33 +33,10 @@ let
         };
         propagatedBuildInputs = [ yarl multidict_3_1_3 ]
           ++ (with pythonPackages; [ async-timeout chardet ]);
-      }))
-    else (stdenv.lib.overrideDerivation pythonPackages.aiohttp (oldAttrs:
-      rec {
-        pname = "aiohttp";
-        version = "1.3.5";
-        name = "${pname}-${version}";
-        src = pythonPackages.fetchPypi {
-          inherit pname version;
-          sha256 = "0hpqdiaifgyfqmxkyzwypwvrnvz5rqzgzylzhihfidc5ldfs856d";
-        };
-        propagatedBuildInputs = [ yarl ]
-          ++ (with pythonPackages; [ async-timeout chardet multidict ]);
-      }));
-  aiohttp-cors = if (!stable)
-    then (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors (oldAttrs:
-      { propagatedBuildInputs = [ aiohttp ]; }))
-    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 ];
       }));
+  aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors
+    (oldAttrs:
+      { propagatedBuildInputs = [ aiohttp ]; }));
 in pythonPackages.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "gns3-server";
@@ -87,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/coyim/default.nix b/pkgs/applications/networking/instant-messengers/coyim/default.nix
index 5f868fc98584..5b70d7479269 100644
--- a/pkgs/applications/networking/instant-messengers/coyim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/coyim/default.nix
@@ -16,9 +16,10 @@ buildGoPackage rec {
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook glib cairo gdk_pixbuf gnome3.gtk gnome3.defaultIconTheme ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "a safe and secure chat client";
     homepage = https://coy.im/;
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index 4e116e685c60..770c2fc02c5e 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.30.0.1663";
+  version = "4.30.2.1665";
 
   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 = "13mh49nx75pvaygzi70sg96iad3mn9ym0p4p3ja46amkxbdkq7h7";
+        sha256 = "0gk1h2p5apppw94353378b2z93c5kllhgadb91z1g3mczczsbm0n";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
@@ -78,8 +78,8 @@ stdenv.mkDerivation {
       --replace /opt/HipChat4/bin/HipChat4 $out/bin/hipchat
 
     makeWrapper $d/HipChat.bin $out/bin/hipchat \
-      --set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \
-      --set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \
+      --run 'export HIPCHAT_LD_LIBRARY_PATH=$LD_LIBRARY_PATH' \
+      --run 'export HIPCHAT_QT_PLUGIN_PATH=$QT_PLUGIN_PATH' \
       --set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb \
       --set QTWEBENGINEPROCESS_PATH $d/QtWebEngineProcess
 
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 9cf6f4f2a408..c71eb698417e 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner  = "qTox";
     repo   = "qTox";
     rev    = "v${version}";
-    sha256 = "1l1k8s10jj6nm9i33m8xhjwdhikvp7csdp6x1gxjxdj526aak8q9";
+    sha256 = "08x71p23d0sp0w11k8z3wf3k56iclmdq9x652n8ggidgyrdi9f6y";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 08625d321235..c47075059d29 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,29 +1,29 @@
-{ mkDerivation, lib, fetchgit, qtbase, qtquickcontrols, cmake }:
-
-mkDerivation rec {
-  name = "quaternion-git-${version}";
-  version = "2017-10-07";
-
-  # quaternion and tensor share the same libqmatrixclient library as a git submodule
-  #
-  # As all 3 projects are in very early stages, we simply load the submodule.
-  #
-  # At some point in the future, we should separate out libqmatrixclient into its own
-  # derivation.
-
-  src = fetchgit {
-    url             = "https://github.com/QMatrixClient/Quaternion.git";
-    rev             = "1007f2ca4ad5e8cc5dba437d6a0cdea07d1f1332";
-    sha256          = "0hvc81ld7fcwyrxsr2q3yvzh0rzhgmflby4nmyzcbjds7b7pv0xq";
-    fetchSubmodules = true;
+{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
+
+stdenv.mkDerivation rec {
+  name = "quaternion-${version}";
+  version = "0.0.4";
+
+  # libqmatrixclient doesn't support dynamic linking as of 0.1 so we simply pull in the source
+
+  src = fetchFromGitHub {
+    owner  = "QMatrixClient";
+    repo   = "Quaternion";
+    rev    = "v${version}";
+    sha256 = "0an2nvwjs1hf7cb4maaj3rskhgsjgimzazsx53ndxskzwcssidvi";
   };
 
-  buildInputs = [ qtbase qtquickcontrols ];
+  buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
+
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = [
-    "-Wno-dev"
-  ];
+  enableParallelBuilding = true;
+
+  # take the source from libqmatrixclient
+  postPatch = ''
+    rm -rf lib
+    ln -s ${libqmatrixclient.src} lib
+  '';
 
   postInstall = ''
     substituteInPlace $out/share/applications/quaternion.desktop \
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
index ceb922624a12..543bf6425250 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-8_x, ruby, sencha }:
+{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-8_x, ruby, sencha, auth0ClientID, auth0Domain }:
 
 stdenv.mkDerivation rec {
   name = "rambox-bare-${version}";
@@ -22,12 +22,6 @@ stdenv.mkDerivation rec {
 
   patches = [ ./hide-check-for-updates.patch ./isDev.patch ];
 
-  # 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";
-
   configurePhase = ''
     echo 'var auth0Cfg = { clientID: "${auth0ClientID}", domain: "${auth0Domain}" };' > env.js
     ln -s ${node_modules} node_modules
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 1523d16be56e..b6e9c9210251 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -1,10 +1,14 @@
-{ stdenv, newScope, makeWrapper, electron, xdg_utils, makeDesktopItem }:
+{ stdenv, newScope, makeWrapper, electron, xdg_utils, makeDesktopItem
+, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU"
+, auth0Domain ? "nixpkgs.auth0.com" }:
 
 let
   callPackage = newScope self;
   self = {
     fetchNodeModules = callPackage ./fetchNodeModules.nix {};
-    rambox-bare = callPackage ./bare.nix {};
+    rambox-bare = callPackage ./bare.nix {
+      inherit auth0ClientID auth0Domain;
+    };
     sencha = callPackage ./sencha {};
   };
   desktopItem = makeDesktopItem rec {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index db0d874c5897..2965ce86cc9f 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "riot-web-${version}";
-  version = "0.12.6";
+  version = "0.13.1";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "00hxjhnsm4622hv46xm7lc81kbnzi2iz77qppwma14cbh63jbilv";
+    sha256 = "19g0d3wqmz4vj9flf7pfgfvm2qf2w3jhxp9qdyfbiwd670h5wjlv";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 0376fb79c9be..bd0c03cf29d8 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -79,9 +79,10 @@ in
 
     meta = {
       description = "Signal Private Messenger for the Desktop.";
-      homepage = https://signal.org/;
-      license = lib.licenses.gpl3;
-      platforms = [
+      homepage    = https://signal.org/;
+      license     = lib.licenses.gpl3;
+      maintainers = [ lib.maintainers.ixmatus ];
+      platforms   = [
         "x86_64-linux"
       ];
     };
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index bfccc4bfcb6c..b92bf50b315b 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, dpkg, makeWrapper
-, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib, glibc, gnome2, libsecret
-, libnotify, nspr, nss, systemd, xorg, libv4l, libstdcxx5 }:
+, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib, glibc, gnome2
+, libnotify, libpulseaudio, libsecret, libstdcxx5, libv4l, nspr, nss, systemd, xorg }:
 
 let
 
-  version = "5.5.0.1";
+  version = "8.11.0.4";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -17,9 +17,8 @@ let
     fontconfig
     freetype
     glib
-    libsecret
     glibc
-    libstdcxx5
+    libsecret
 
     gnome2.GConf
     gnome2.gdk_pixbuf
@@ -29,10 +28,12 @@ let
     gnome2.gnome_keyring
 
     libnotify
+    libpulseaudio
     nspr
     nss
     stdenv.cc.cc
     systemd
+    libstdcxx5
     libv4l
 
     xorg.libxkbfile
@@ -54,7 +55,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "1r65qlsjwp0n0fmlhvbp71h03b3x73r26jk9f4q687sjqnzmkvcr";
+        sha256 = "1dq7k4zlqqsx7786phialia5xbpc3cp1wrjhqrvga09yg4dl505c";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.system}";
@@ -82,8 +83,8 @@ in stdenv.mkDerivation {
 
   postFixup = ''
     for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* -or -name \*.node\* \) ); do
-                patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
-                patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
+      patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
     done
 
     ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
@@ -92,15 +93,13 @@ in stdenv.mkDerivation {
     substituteInPlace $out/share/applications/skypeforlinux.desktop \
       --replace /usr/bin/ $out/bin/ \
       --replace /usr/share/ $out/share/
-
   '';
 
   meta = with stdenv.lib; {
     description = "Linux client for skype";
     homepage = https://www.skype.com;
     license = licenses.unfree;
-    maintainers = with stdenv.lib.maintainers; [ panaeon ];
+    maintainers = with stdenv.lib.maintainers; [ panaeon jraygauthier ];
     platforms = [ "x86_64-linux" ];
   };
 }
-
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 8f107c4f3c37..23a5d91f0d25 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "2.8.2";
+  version = "2.9.0";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -46,7 +46,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "019gzij6m1y9bv561nhbhgf2njp2svjqi5hs907pdjf7xwciwrkm";
+        sha256 = "1ddfvsy4lr7hcnzxbk4crczylj1qwm9av02xms4w2p0k0c8nhvvc";
       }
     else
       throw "Slack is not supported on ${stdenv.system}";
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/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix
index 0571946061bc..c6b930fc590f 100644
--- a/pkgs/applications/networking/instant-messengers/tensor/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix
@@ -1,5 +1,8 @@
 { stdenv, fetchgit, qtbase, qtquickcontrols, qmake, makeDesktopItem }:
 
+# we now have libqmatrixclient so a future version of tensor that supports it
+# should use that
+
 stdenv.mkDerivation rec {
   name = "tensor-git-${version}";
   version = "2017-02-21";
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/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 2c38965e100a..74c19b07aaa9 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.11";
+  version = "0.4.13";
   rev = "v${version}";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
@@ -10,7 +10,7 @@ buildGoPackage rec {
   extraSrcPaths = [
     (fetchgx {
       inherit name src;
-      sha256 = "1n8xr9xg23wm255zjm7nxd761xapmsv11a0giks2gaibh4nps1jl";
+      sha256 = "150lhf5999jz0nck5s0fs0fp3pgaj85s7dndh68h9caw1fwpwb4f";
     })
   ];
 
@@ -18,7 +18,7 @@ buildGoPackage rec {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "1qi87sq490xpj4mip1d30x4v77gkacnw4idm0mwla92pg44v6wh9";
+    sha256 = "103mlsnqfnnqxh4phr192haaiv98d1bwpvca1sqrxz1216r5x0ik";
   };
 
   meta = with stdenv.lib; {
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/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index b3a68a7fcb98..5d0ab27840bb 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -1,12 +1,15 @@
-{ stdenv, fetchurl, ncurses, which, perl
+{ stdenv, fetchurl, fetchpatch, ncurses, which, perl
 , gdbm ? null
 , openssl ? null
 , cyrus_sasl ? null
+, gnupg ? null
 , gpgme ? null
 , kerberos ? null
 , headerCache  ? true
 , sslSupport   ? true
 , saslSupport  ? true
+, smimeSupport ? false
+, gpgSupport   ? false
 , gpgmeSupport ? true
 , imapSupport  ? true
 , withSidebar  ? true
@@ -16,7 +19,9 @@
 assert headerCache  -> gdbm       != null;
 assert sslSupport   -> openssl    != null;
 assert saslSupport  -> cyrus_sasl != null;
-assert gpgmeSupport -> gpgme      != null;
+assert smimeSupport -> openssl    != null;
+assert gpgSupport   -> gnupg      != null;
+assert gpgmeSupport -> gpgme      != null && openssl != null;
 
 with stdenv.lib;
 
@@ -29,9 +34,10 @@ stdenv.mkDerivation rec {
     sha256 = "1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl";
   };
 
-  patchPhase = optionalString (openssl != null) ''
-    sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
-  '';
+  patches = optional smimeSupport (fetchpatch {
+    url    = "https://sources.debian.net/src/mutt/1.7.2-1/debian/patches/misc/smime.rc.patch";
+    sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+  });
 
   buildInputs =
     [ ncurses which perl ]
@@ -64,6 +70,22 @@ stdenv.mkDerivation rec {
     ++ optional gssSupport  "--with-gss"
     ++ optional saslSupport "--with-sasl";
 
+  postPatch = optionalString (smimeSupport || gpgmeSupport) ''
+    sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
+  '';
+
+  postInstall = optionalString smimeSupport ''
+    # S/MIME setup
+    cp contrib/smime.rc $out/etc/smime.rc
+    sed -i 's#openssl#${openssl}/bin/openssl#' $out/etc/smime.rc
+    echo "source $out/etc/smime.rc" >> $out/etc/Muttrc
+  '' + optionalString gpgSupport ''
+    # GnuPG setup
+    cp contrib/gpg.rc $out/etc/gpg.rc
+    sed -i 's#\(command="\)gpg #\1${gnupg}/bin/gpg #' $out/etc/gpg.rc
+    echo "source $out/etc/gpg.rc" >> $out/etc/Muttrc
+  '';
+
   meta = {
     description = "A small but very powerful text-based mail client";
     homepage = http://www.mutt.org;
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 4b522518e3f2..f72fdba52f8b 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, mime-types }:
 
 let
   muttWrapper = writeScript "mutt" ''
@@ -27,9 +28,12 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     cyrus_sasl gss gpgme kerberos libidn ncurses
     notmuch openssl perl lmdb
+    mime-types
   ];
 
-  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 +43,11 @@ 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
+    # and use a far more comprehensive list than the one shipped with neomutt
+    substituteInPlace sendlib.c \
+      --replace /etc/mime.types ${mime-types}/etc/mime.types
   '';
 
   configureFlags = [
@@ -65,6 +74,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     cp ${muttWrapper} $out/bin/mutt
+    wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/lib/neomutt"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 93d180a327b7..6d268f69a7ce 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -12,7 +12,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.25";
+  version = "0.25.2";
   name = "notmuch-${version}";
 
   passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "02z6d87ip1hkipz8d7w0sfklg8dd5fd5vlgp768640ixg0gqvlk5";
+    sha256 = "0ai6vbs9wzwfz7jcphgqsqpcbq137l34xhmcli4h5c8n82fvmdp4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 7ac8091e1c11..1df72dbe5fcf 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,595 +1,595 @@
 {
-  version = "52.4.0";
+  version = "52.5.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ar/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ar/thunderbird-52.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "28a0114c665250f419d77f1f3898af6533e1b8b82b546ecd3ca9baf801751fd189239093eaecdabab9a9318fd47020b647086a31676158a21656ff7c477dbbf8";
+      sha512 = "e848c7a44222be7bc637dc2d0356028e67c4093f48e4eb9c66e0c02731f41b2e1f2d09cd7765ee984137fcef4d498aac8cfee39b31c0fe5187347107b2cd12a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ast/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ast/thunderbird-52.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "f7b9d53202597ef666ca87eb1f8cbb439af386eb78460558e8bef33502a7eac591d43751beb52319d046d780fb38a78e685fa8cb3baaa6abfef439bed6ab3d1a";
+      sha512 = "a9f8888ab021e696c8460d75ba1f843f8b31555f3f6f95e9af7f9c6d910ea1c3d68bab3d5adc6c0f70e6d8d9227db4176a7db762d28c1ff19addc95e0a756826";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/be/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/be/thunderbird-52.5.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "a9a39cf4477e469774f2ce7b7012948911009ff2ab26948a177f3efa9e8ccbcb7d7f3d3ab609742fe1d177253dcdeacb78f7b4a9874f3156f6f54203d0ed42ef";
+      sha512 = "4d903b23dcaf17d41c6b9f3d7a3ec936ecc01f19b93ecba88a5fe826f715b606064a6e2737611697c072e887f3776cf10ddba7e26a66dc4b91c3658129171580";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/bg/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/bg/thunderbird-52.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "38fc89a687344467f98cb2e31967aa53f3c502a8f288b5d65e6aa91a578b250c17750ea998d32d58511920a0a5a1224e77e2691a381b7526585e341712d82cbd";
+      sha512 = "6d34b3c3e907a16125f26f5f6365b5c3f2127ccf725753e94495b5dafedf3c506e71017d2b4699b755f8940ad0ea4241d6cfc00e958d4642c928c68a7e278fdb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/bn-BD/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/bn-BD/thunderbird-52.5.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "437d943339c4955b5264f95bdd4aaa2a91d448a393e6561bbb41c078a960100962c1d51bad73172c5f5cd691f713ab34c218ff5c3e3cde3641d8a6ad604f6d75";
+      sha512 = "74106efb92c5ba792a3f10dc0ea19d2fc38012f1f761c0e9b9753f8b067e2771a9c4691df55197a9b5e23024f73688bbc26d24357f0eef95b8b305bccad5d9f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/br/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/br/thunderbird-52.5.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "5c43e3cc4366792b7c7a44ae36fe2bd9e6b459f540868dcee767193826648b03a4e4a447f83f5787036e48c96e75639a305304e050a91f0925d9ee4db97e5b75";
+      sha512 = "2477afe645f7c0e0005a4817a42d24075dfabfce2724446bcd4fce50b72b7408895261544537be0e3dbdf8323e1af07215ca277c9e69261d575cdf4fc1f242ca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ca/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ca/thunderbird-52.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "c2243ee5f160f786ebced364432b4a3b489699a3f024a8da327cfaa3c5e2d0d58884870311416fcb019723d5bfec8294440c701c6c453c15346f5f765c4449c0";
+      sha512 = "810c5295bcde18217b77e2f147a70a5e94798b92c40d659c47f3f113624f049b788ba9fdcdc22608cc57719e8236372636e6ca46ce7fde309b70fc05e3036f47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/cs/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/cs/thunderbird-52.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "332faf549d1d988defdce1531fb4cc81e5f1565423f3e24ebfe16581275224539ed50857dec04c8aa66cc55372a76b676816831d08842bbafd227ca3058f9b5b";
+      sha512 = "f8e033ed566d6b076213e33c489fcfcab520a0e1c3ce5c89c78c7443b360e55136e90b518428527a682854a24cb9b303a6c3475a59950d9546c1becd5db2a46a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/cy/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/cy/thunderbird-52.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "bfe220ed1e1d8d156f0c1cf7ea11b0778bc0b23f7335b90c65bf581c9e2cd22db9a7f5d48d7a6a95f1d21693714a216d2a24249f36aed7ce097f205d4d05d6f3";
+      sha512 = "27ade0c53cee3fe125420eb7fdeb5b013771d34af735bacd59af6681836d81acddda3b3b9cefe3f8a05b70703c040d6692732c427db13e5dd971848c078ae7ab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/da/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/da/thunderbird-52.5.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "dcff4359821cb6b24ba129671a1716394afd642a5c4b887a1905baf82cf5d2a94512a547780cd42b1478f443f59db5a3363a52d719824af050dd69af54f97a02";
+      sha512 = "11de17a749643d35bcee49ebb1aa62caeb6806fd0025125363f228593979e873fbf8a927bc451c2e4a5332f431937c00601ff380d74e48bed60cfea5399b891b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/de/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/de/thunderbird-52.5.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "f5071c052814eab801f3d2c98751c05486b211f23b511b27a1ad5810634b763ada3bd890288e4934c16a28742ef023ef089de9d84a188f6e19d07f471b289583";
+      sha512 = "3d2408f523d55471f0bcdcb3a05e66381d390f56987b448a40118b1f0e3fb66cba8ed64cb3178694873f5ee0c7f5a74303ffa288eddf7192a4f519d537ecb65d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/dsb/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/dsb/thunderbird-52.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "522d365f32b28620a7936cf5a8fb230db6fee8c1ae055a27e6649cff8559811684168eacf019ec16d6268e405607a576d46e1d5ba4759c1e3fd10736d7560370";
+      sha512 = "d1f560111bd8d8eac360ed39b0ac741ca10c480ec528cad48e9bf6544d17e12fe2f41d4abe4caa3549b448fd1fb55416ed84fa864dd60fe0cabd91766e754992";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/el/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/el/thunderbird-52.5.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ecf3dcadb1a82310494063cc317ee248b91c30594ba89a9c58a71349a423cf9e66c5bd06be4d1488ee6cd5027187bae1364144037b9ac3cd4bc8af7cd4396810";
+      sha512 = "22c3270759d095c4672694c0885d3960d87cb9f53eedcf7c030f8a38f204d4809914b3fe1cd144f32555508eded73999907c64df2d9ae9494c69ce879180278f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/en-GB/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/en-GB/thunderbird-52.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "8ddde6cd0270cffc26cdb4c4513213405b71ea4315d69a3b1bef602bbd58eca30bc09d0ddd41996cd77881e2d678dd13a93d07fa833210780dba146a931db383";
+      sha512 = "3e778e8f60101d2371ce7eb369c3f80c26fdc8164f5fcc78b8f65f2986288388e06d1413387b493ae479bd95b3af7fdd76f88365aa5803c4e9e3bb23e4f3aa59";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/en-US/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/en-US/thunderbird-52.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "edf130b3b061f15137e6eb83c9674642f0f475de56b293d4acde60f1e7ebcf0d262085fa2a513787ac201ceec5552c029167cec5ad0556baa7b0dd3b52ae4c3f";
+      sha512 = "d4eb0d90d621b28cc706bca0f6884361b7fd53cb02dd9ecccfc3f6027634353cc8f4c911824ebe6bf1d7bbfb06318258daad32fd47687f2f3b930c90da4b8830";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/es-AR/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/es-AR/thunderbird-52.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "931644cbf5e7b4f032f607a52a78f553a7a2ee8fc77fb7d0e73e6d276a6a1ba4a724cc91921c5ef5ac5ad21a3536ffbff264b80eb8d8a658133a24ca0b869456";
+      sha512 = "0088b0380aa533e4c2818e0b384f5edafeaa3c84256e81eefd0dff95f27adc32c8a22b3368576d13aa1276674f519333b5c3f4a825fcc38da1abd0751c48f996";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/es-ES/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/es-ES/thunderbird-52.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "c2673d9f6b347493e3fc807cec86f55300a6e894c9c1edd7f7bec63cb073fdda2e9cf7794269f02f744280788bbcb8e42ee6249c317aabc57f91cbaa3635492f";
+      sha512 = "251cf4cba82dbc10bc38039348894843b8f5c76875be72ce5ea1cb26cf26939055350e61a86e8ed9f63964bb95e99aac5442389c87588829e45e9ef41709ac7b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/et/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/et/thunderbird-52.5.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "dd634f76848fb990b4fb1bd28e2cceafca651280ece9ead3aad6b9746d0eaeef76b5ad925163a68367d84f66949e799e2649cf358ad0949ee4f2538c71b8914b";
+      sha512 = "609bfd8fd7f8dc17b52173de9916133e0cd52e41e66a488ee2bd1aea5078cb9e08084c10d0b20be36204bfc3f785574500e2bbf9a81f307394b169068ef3ff07";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/eu/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/eu/thunderbird-52.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "1c9f04cc1b32ffb21bfacb186f327aa945f36f12ae316a9cff8b2a4f8584ff8847ac5be1c8bd898ea1a71fbf3294a2f54b270eb6f0b63abb3da3178c6a125600";
+      sha512 = "ebbc42c9d491f0f0e9ac5528d58c5d8604a913d77fb3d4548cb0127e356817c729c1ce87fd7874ae6f688268ab64b8b898611780b5c6b11707b455f529ab5f65";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/fi/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/fi/thunderbird-52.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "03880d8334ede087a419443e9fb56bcf6727c652f435a366b4b49fb6116a62225686297ba82f298378e03267dc1aa50e90d75b81ea277a7afeb93331c45c3459";
+      sha512 = "807b4fe85c2b751e815dd4ac19b0e80199f391f7a8fe7e7f5c1f7f75e896620ddc7b758aae076bd44f9cd7774b2020640f858e139db57b508919d78caa77d913";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/fr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/fr/thunderbird-52.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "6f9909df3329a32d6d0c2203b484fdaa8b54a17849283bffcb04298601a284a6fe30eac20ec6b3a97ad2e8e3d4e0360c6145e87baa2af11049ae0d94fe9dcd44";
+      sha512 = "d2d6e92815ed9176a2743578c32ac82150d4097eee6bf31356a9bc1cc1ba649c86008d301654e291bf0bf5ae2d81c13d941c4203aaa9dd3c4110d36a34f28140";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/fy-NL/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/fy-NL/thunderbird-52.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "b20f130ad4a9b0f8448707945773cc76198e04854a0114a06379fd33c3d5abd9abb1f14e4f145df9c1c46e5d1e09522af640ded99f4f20543fd444e365d81fb9";
+      sha512 = "bb5e34f15d63abecc4b68a74cf818def59caa2de47c9ab71458ca79839fd29f3fc2476b5e38a95d5d5252acb03595f0e065bcba5eaba6ff2eba29be66607f417";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ga-IE/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ga-IE/thunderbird-52.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "3fd6839351470d65f14165e3633c80950270ede2c4c9e658c001424126ffbf29c7bde86a720ca33e50cbe9a5306f0339c5cd491371e3ad03a6ee575c75889d63";
+      sha512 = "e6f84323e42ad5a0df546307ba0a87be57d1ead7b7a807ffed4cb977b5b4c19c91ce8058794da07fb1ce678e4f8e59838454deb9a19232a5cd7d60c6cbbce74c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/gd/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/gd/thunderbird-52.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "a7aae188c866586606f9adb82d5110bc2b89a6bd757191e798b9b2dc799916ae56cbc82932f4b8da76e88a3c1f5ffc828c58aee0cd8f83ede19bde2be2164b79";
+      sha512 = "1e28be9ff5c3ccefc320e020dbe574f9d5f8319eaa79e441ab7f1283557eca01501a2e0f4aca6af6e58157b4c1686422d70a258010657803ceb272b900ad3e3a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/gl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/gl/thunderbird-52.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "3cdab0c553f1d09cdb4dfd1160371eec3d1f878329dcf2f81a177f17647f8dd9b73566a56427d2a593f70f6aecfec951e3dfc2a389c838a4069e5f4db68c10eb";
+      sha512 = "db2d76733fb97558d05b3ccb963ad82ab6886d1db32923bb73e4a62bbd80353fb7d7cbe4e1a82fc9095d582e467fe9a045d82be0aeb319fddcdc88c530733381";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/he/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/he/thunderbird-52.5.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "b71593a5c7cf8fe3960c701f5bce270366f5717b7ccd2a5f20dcdf402d1435b79db06662629deb4bd28e24b251fd2fa1a71a9e932f132e2df7a25ab5a8849de3";
+      sha512 = "1b4640496d3a1acc7b8a146c8642f25dbc5dcccb7a164fb49a0ddad41e5a43d571936111154838b149bcee091205f0212926618ba5f233aaee051d5def345889";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/hr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/hr/thunderbird-52.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "d55deeebb9605565ae3c062c8617d7e351f2f514c13f00507d75a5da4ef8e8d845247147d2aa111d4e78c57ceb01404ed3ac2bb69883bddab7b59ce0ff5eff35";
+      sha512 = "5d4e361e7597b4dd0a896e38e31cf737dc1d51e87c09490a298147e4f0f395989567de2edff69f862fccc860dd0c18b24d2f91356736294c71429d22f47eab4d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/hsb/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/hsb/thunderbird-52.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "c177a0e3c6074eef1abf086fa34e95b09f39a1529ce640927b7be6ee8b7ee8c740ba4e2afbadefe3fa83314cb7c3223499b1a5f08e3b4e381b60bee1ffbdac7c";
+      sha512 = "40b51097b472a36078a7de4ed35446baf9a3a5806a92f13d49cb0024ca154e511195e6b470959b6084ba689c4475224acb81010f417618686a4e99efc624754d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/hu/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/hu/thunderbird-52.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "1442a03fa4367d1f33337d0e88a193de8a6992ab8aa91e28e4a46b8f1860a3cc346d15c00d745b5074b8dec1beca5dba182b5fe2e87827e7ea83b82aba28b721";
+      sha512 = "01a11e4e59c527e43d13c5c12dd95665bea7aad105d9ee9988e94671e394b7a55c2e85154e1bfb200d9290373de32d7c33ad1364e6cf2c189d8c9d8b52fb813a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/hy-AM/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/hy-AM/thunderbird-52.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "c01325976516765a14a196ff04eb3296a2dfd81670cbf4d693682e78795b14b54f4d2801566f0ccd52c52f0b7100b6040f4e3540c4f3cb8c8b92038e059df45d";
+      sha512 = "bc3c78d1d3da660c66b64930d295f3e79467684d178c831ae4f2eceb9d9c7753e5f1b60453fca674346da5e6eaf3c835df7340f0cdeb0e9040be546aa69d0cfc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/id/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/id/thunderbird-52.5.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "db56686b1d8713da9584e03633bcb2b14706c0b44d24484d6625de638eddcbdad1b1afacecf7dba52db6d18b2bbaaa15ea5f4d492366c24c5e2e212050f16c12";
+      sha512 = "d377473cce2365f60aa5a65680daa2569716f3c331d20427f3d9002a72b42c0356e112f943db228a026f0d8cd5319168a9f718f3144b4c0a93ea3209c9003680";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/is/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/is/thunderbird-52.5.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "5423202ebccaddd114393e5a2038b2efbe93fd528dc3d7b659987ab5aa2a4ad82921b3b835249285135be67216eed03de6d58b72800d9c7bf87ec812a37f21ab";
+      sha512 = "bf41f55ef16c9ec322d732174a1076e5ab6a5db12f861891bb0ad1becf2b630b7504155505789e9ff7778b6c708642da55630aa20c0c18ccf11734572f62bab4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/it/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/it/thunderbird-52.5.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "b64e31155c73f13cd84bb4488e63df5c95473957c792f63f8cf25308d2b860b084aa6beb519a7666fde83d3db25e28ffb1064ddd0abca73ff631924cfa83d7f6";
+      sha512 = "eef60e791ffabfae57c4e9f4094a39c8cb5c61ad4a8296aa111c6ff4e14f05bd86d4f9e682859ba6ae4e8d0c10001403d21bf8fa54e7c5688ca9e0ff06b4d2fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ja/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ja/thunderbird-52.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "8852c526663f69b038ded6bb1382e02de700eab741cb04ccb8d3e329ee4534477a6ea402134a76fe82a020bad279c66e70bc06b0ed8d0fbaea9aaeaafa051b44";
+      sha512 = "43dfc61aebfd6b80651900b1bd066e3c731e06854bb375d2eba206733d4bffb42f9b0116fbea0853f2aa440a6873cbe9e188ed528cff25c8634d7afb59e9d3c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/kab/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/kab/thunderbird-52.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "b08dc52afb713142e11805c5b99f73a11bd3c16756dc5bbb6a0c3de13cc801f27438887d8733cf4b97d70d4741abcb0d8782b9e6f6ffc359f38318f1702fcb7f";
+      sha512 = "e75c653e6dcaa6a3116aba962afc6196c29e9194235b726e3ba0b4fe050129512f6d67358a2ce9e2b6879f6f52c6ada583af10b70cddde7ee0b8fa72edacc40d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ko/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ko/thunderbird-52.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "0de39397e4401ad939dbce0c02e35505c593398bc2078ad19d680a797a8cfa3f0950a810c8650634e3d40ea3b5265f9e193b77408f1588b51575d87446a336c9";
+      sha512 = "52e29e6b2996a59dc4ffeee6f7a35f7a491e1d44af370ab1537d0a45c8d9ab8b1bf972a24f1f2efbcb6fa1d8e9b7b15c7b0c00d5aaf24546fe7860c7a6f97afb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/lt/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/lt/thunderbird-52.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "13842d9f210dd192e2072c138d8d0778e85d028dde92b08e616dff6ba62f84b6aa36363a259dca69bb006850de2fb8c42fd93874a4befa970d817aad34d47b57";
+      sha512 = "d935c882dd6a9a3ad5a6c5609047a6e3c2c4146b198e8c28657ad166d7b6ad826e6db0e4c88944214521f0cda0907281b50a6088432b574d1ee13e5c504c939a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/nb-NO/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/nb-NO/thunderbird-52.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "ec9c96abe94ac17139e9fa83ac2d7ca8ddc6889e7286a4d31e61625db6daea3969fcbaa0796ae0bea41e3a433ed3e170a73c4be1a177bedcbfcf705e306e28e9";
+      sha512 = "bd607e451f2601483aa4d59cf6225318a3bf1b2066d0f6b76c64025de0b20a8c8d8211f95b953440505248905d5b4dac569cdc610fe4d9d658a6ecc124966b82";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/nl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/nl/thunderbird-52.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "52e117078f1871bfc7b549a47617d277c763267f7033136c9715223d8f876184c0b5012b193a5f497e1fdba78b902a3c38651e0115829b0f5ca7f0cbb1c439d3";
+      sha512 = "4767403a33047512f301617dfdc779f92e001114a06f31244e5b9a648ed4a7a96c6fa16194a803682417d151f2f9d61da241065f15cdd2e5953eb5ef41220093";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/nn-NO/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/nn-NO/thunderbird-52.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "24258bbf5e3643544ba5db26fab9678f7e2a44b390ee993be4a304d148b5a57674158afd308d6ef93a86c8e525b37e1aee55ed07be6953301f164a2da00688d4";
+      sha512 = "f2fd66bc8a520f90fb65e5f737ea25e44f5e3270429cfcf878e4b128f1facfc3bd29282586aa6ba73478de04cb796322436d14580d86fb5861072b6722e2ef87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/pa-IN/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/pa-IN/thunderbird-52.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "e9d8b4e6019d4cf1ce562e6cc9b9aeac0e93d8b9ac9283c7e8f260b4d611fe2bd0bf6d71c9f82c9d2cbfba5770659d21cfb03fc2deb36b80be0a424178a65936";
+      sha512 = "8e4c38febf02e61b874f931b0cf03221781ed9543f9b7a392ca9122f101622c20135f0fd94e5ee7696d0741a9910e1d1031fad3c825941d54da1f56a2533b61f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/pl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/pl/thunderbird-52.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "81ced2424282fe6dc7ca6f5e043f6c42ae87cddef900b73fddfe6cd8c488a90e3099824b57d0971816a60c3f43ce66e1799195ae21369958b2e8085018017267";
+      sha512 = "3e6fda867feb132f37913a8b2bda2ff2736f4d804e274f01c306d387b3c48fe30aa04b6f85eb4a7fb444036bdd4b3fcd4f68cbb53244d85b5064aa36c3588cde";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/pt-BR/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/pt-BR/thunderbird-52.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "4120b94c13a9fcf1aa31a2abc3fdde27ef8c0354550ae8511b61641745cdd5eaec16e1ddd1d22193ca6680f070b71c188d94cdc75a40fa1596fa88ed59545b28";
+      sha512 = "662e0616d12fcb7dcfcb98a4e07228509ae7ad731c93d2c90a7bb7ebc3bd0f9636563a70977db14733c832220258eede361526b01132dd02a4e44b16acc6a5e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/pt-PT/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/pt-PT/thunderbird-52.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "a89dd739da5262713c99aa9aa28544e48710e80b83770810b240681ff0546c3b3faa37b48ae56c018a6d1d625f0411df557ced12eddfb3a1198eea474418eb68";
+      sha512 = "8037be03b26263f3a1e69c4971cb70db50f95356c97e3252f76f080f5a7961c1b2ac5aea09d2e142994c5fc91c91ab8db738e5a104795e8506a06c997977930a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/rm/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/rm/thunderbird-52.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "3665bad7a0d1f2d725d0a44ad55918228c2d9cef49112fb19d2c3d885d1ec62af89c15aa0ce96ddebdabf97c8a5e10fdd58d892c085e5b9d17bab6658e7bf444";
+      sha512 = "93a76b870c15b61a1135e405f76897a86674e1fad2dfa9b3a71cab83f99c9369b7363a395e813536492a25133548f227f5254795cd20de78f127c969fa3ff5aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ro/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ro/thunderbird-52.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "07afa28b22705e0e84e17026d04111cb9a5283838fcb94225e2c05da1fa0692770b17052c52d8cfcdb7bd3372fdbba9cd9ed9bc16f6f59f2e3ab6f4308543d91";
+      sha512 = "4a535aac1f6666d20c7aee65ee974bd545cd4aba56fd0ea2655d89a532b60bcbb174b8046792365041b431d3d3099e0c273c5ce83f1e1f3599a476028b482f37";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ru/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ru/thunderbird-52.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "189c40a8d950496d62f980180502ad342621caf3a2ddffb0fe4f813c9c2d4a25aa375d8ad70c8b7e8ff85f09607bc2ced3366524346a70eed731bd8d9409e5d2";
+      sha512 = "ec56cb45428ce24497ad398716f99f49d6a5787a042855dd5839e5185d43763ea87b89090bf15c571841aa0526f5b4b0fec8958bd673a39ccf33ad5f2937b33a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/si/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/si/thunderbird-52.5.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "0b6ee1e5ca86472a5cc67cdc242a6b62aeea50609661e369c8dd3dfac5a774f50eaf0a68973b1fe5d6d9bdf6a385c52a90b8711c80facbf9fb301981a7aae395";
+      sha512 = "e1b19b27571cc833de579d1460d27629042529480546cf3de11a39608b8d599ffd19451ae3df96390009e95b87521f17e5843bc77251c923823d3b0529167f17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/sk/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/sk/thunderbird-52.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "9c1f164a2da43aeb51e8b64115618590ba0e9284f3eca8b16d3792b33e269a0acc253314ab7943cbaee94ffc2ae321247b4982798d9d48608e85a935afcb6faf";
+      sha512 = "d20d0649426fbcc812b536d368ec5785b32def01b91d67776d5776a7fb45d9c723e1c455d20eedc7825370b03e484634ea42fb55dab5b3c860167cbeb8596c7b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/sl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/sl/thunderbird-52.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "5d4698be05af9f9181af63eb3ca6718feb1c74c81f0a6fbc82217791c911dc5f14ab433d32f6484ced2cd75d5db4b76aff3bbe420d619afcddfcbcaef25873e7";
+      sha512 = "c37ecb24cc9bfe2d31459590d0882fd9cf196e822a18105b61150db4049bd52c31bad2a05ebfb710bf1d1d879a22b3e6fdca08ec81663e1c1735a4a2d157b4b2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/sq/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/sq/thunderbird-52.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "32d62e6dfe28c67cc7b0e2cd27c96fd7c7e1079790eb73a8731af44e8a62f8fd1ea2e7298dc772e3014fc8255f022f38bbd5478430629140d0dca9ba0daa401e";
+      sha512 = "0ed120ba3b39f884784269a6098242b8e1298bb4287749b901c2702d06c6824f762942bfe05a0dc1966c19e883239b09312139ee7eeb2cb22995d47aa2d124cc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/sr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/sr/thunderbird-52.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "6aca04c1b4378489239cef6b5032ef6dfd6d39d84308c335d03e97ea7c48acf021f6cffe35d652e117f71e6ae3f31f54e5ca73a44b4dc51dedcb3f5faf7d016f";
+      sha512 = "5e83710d06507a40705ae5177e4749c31aed4e932efc0c51f8da6a4b30d598328601f8a53b9fc0dc35cadcc130bb637771454d9cf55e8dec2b934287213e17f8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/sv-SE/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/sv-SE/thunderbird-52.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "099e22013b8d6791857c378c0f94373ca42d35bbc442cf273c9de2360ab8e64d712eccaedd5a13915ee19a195b6c9f04748ba738e7bbf9b8153edc4c66070d31";
+      sha512 = "4cbb20b1d818f0238cb0d5235ea82a1984b8dd632467ca91e3f3f4e8ba58de904603d1135c8a7ea359188f1b01a6ffe8d654a2d0a73b4af1f3862011d697f755";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/ta-LK/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/ta-LK/thunderbird-52.5.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "d3c95f37ffbbc5ef78b7c050a4e091bd9f36fa9529ed7c38e25f5495694c1b792d0bfcf53d15b74b52239acb21bd0d235ceb07c7f68f99e1b31e59e6f6282aaf";
+      sha512 = "3c2397e9b9e8abbbef10af15cd35ba086336daa5c317ba60d4489786b3ae4fee89457f2b34c0b42ea550000e8536ca3fee94032848b11dbb2c4cb6fe489efe6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/tr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/tr/thunderbird-52.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "2f79b9d45d747424a65271033a75a86ff503694d88a30238452fbf817ba153c4638395d3e59f5f6cc662ab3361d2304d5a4c925957d9d6e6d7bddf34947acdf7";
+      sha512 = "9360797bca24f5477120d93665f9b4aa1614463558b6646e2813b31fac5b5bf84d5e88a752696c28fb51613c288482e3d88197ded2310b66515582b11f81aeb0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/uk/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/uk/thunderbird-52.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "e0d891b4cc082e32d3f6af318f9224e996a8ed3c7e1385bb86a5e2f963239999712c444fed00d779320f6b06efb38f3eb97023e353f91eeb7831b44a870c6394";
+      sha512 = "ee521d20fd5e7cc3f803f74ef5a9ecc4c1df8b149668489b28cc212ad2d5c765bda838904ad726b92b5e0e2eb35c2ba6fd4f48ac7c700e41e896e0e976fe2028";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/vi/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/vi/thunderbird-52.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "5a9e13e126c7bc8ef435b8edde1896b9773ce1dfc39fe3fe1bb31e54fe4f592acdb3db360fe0890eb35b1896aeed0954bbd051fde6116b07cb513b1390ee56e7";
+      sha512 = "3d7b7cd1f83e80290f460829b49b6893a73871456cd10ab22da482381ece0ac14fac3e5c0e2fdf1e61d463b7c211c33ec8d98120fc0bc17d2052bbbcd4e16af8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/zh-CN/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/zh-CN/thunderbird-52.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "b0374f022c2a259076d52bc0dc142098975f9f1d3a886192332fd1c1b2a5c9dabc0d3fc1a7fc0f28f6f17979931b9c78a9682be1226ff751446c5427a5219a51";
+      sha512 = "c0f9902bacbb659f5f012f30b6190d4e3e53baa7e4473cf231da0b7c509beb98e49f0e4fd1ca3ed9917c54279609ce5fba1c51b80b12aeafedb82a83218856d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-x86_64/zh-TW/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-x86_64/zh-TW/thunderbird-52.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "7e289afc737339be5a3db5869125d891da65fb75a62b7670c3880943ae11bda33122f81cab46bfa95223c45662684b8fb66ec11cfc5f375e024f4d57be098684";
+      sha512 = "64dbbbe05b3ade46901686fa4733cc7c25570d1f02b378a2b2855b75905e687db9f97db852bb53e2baaa1010a0ff365bbd90060eb7cec7db745faf014c5e5564";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ar/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ar/thunderbird-52.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "872ceb5933a562d352cb3bfc6e9cc95a7485625e5256380cae367d38a560f75bd7964fed1becfa5359db3befbe4aa249f114df307cf14e2db75dd047d87e5c53";
+      sha512 = "1e6449d23bb937d07fd28049ef4e36b64c1f36edf3f4def640dfa6412d354ec6acd5b1642e0b266f18334f3ab7806a9cbb016946c0a36ec4222cfcae39339bcf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ast/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ast/thunderbird-52.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "9955dde6ae54c096dbc5e5a28729963a72997fda97505657ccec6e0b5f95f35508815fe663f266932c79ef91463ef6c5da79ace4c19149b17dde9655dbe8017f";
+      sha512 = "38f0fddb28d8a894798e9811599e706e60ff80131b22568e3dc70ff7f43388acd6de5ee4485587c59fdba8f790b393f4f16cef6bcdd86b928f3fa1bfff7297e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/be/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/be/thunderbird-52.5.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "94106fb12bf932f3a8217f3252b4f76394f13cb19c602d1b4a67e4477c3a0c781c3481ac973e40af7b306fdb32c88d4c70f8302b14e693c7270e2afab0dc2539";
+      sha512 = "0966c3fdbf73a51d2c7776918abba4b77392dfe2308aee36970cffcbbc3e1de537625c0b5881a85eea74817b33055278d976af719773579885b3294746a3ae50";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/bg/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/bg/thunderbird-52.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "194a420d07f952f7d088cb15fd14dce30e352dac13e543321e94fc60b7780678ea1ba51d450aac2d7566a8f23a583cba70e3aed373602ac896e0be13d234f8f2";
+      sha512 = "a0a792063a3eaad2d15f4b726c9ed170f59f99b1ba9c966fdcd6471865dcf2f25284ab5e4e28641a66fa8ddcb019f8b8f521d69f5ed5e8d1ebc2729abd9be8b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/bn-BD/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/bn-BD/thunderbird-52.5.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "08a439a7fe40121f318131b035e7a5a1b44a56a6f3434b2854136103b0e11fd720540352ed04bde23f33c7ef75cb57eabbe86425c8f2e440f92c9260ddf1a902";
+      sha512 = "ea583cbba8a0080a5529fb91988a0ee1c7aada1447b616e1ae43b6eff86dde87768cb4fe90fdede8454ad5240d266bc5e6ba9f1e5e05f2ad82cd3ef68ba374d3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/br/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/br/thunderbird-52.5.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "68984b8fb564e24f3e331504a0c8a2e88cc1021319b2a47beeffd145eb42a19bd555aca495ac60612efb191830c273c473e0c3cd5844f109e78a4908834926b1";
+      sha512 = "18060c8473e82554ff793ba495ba6760c7d7d8c2ccf8fdafbb41589c57474baa0a88808d154a29f6359c657bec40d9d164e53066d44bead78d4661b229522783";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ca/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ca/thunderbird-52.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "2202c43a63bb283d9eef16c27e0d6125d43284b9c1acdb8cbbdc71f3a9d6f6d527c4a03363dced911321f28399a86ef25defd294befddb8fae41912e17c2fdef";
+      sha512 = "f63dc5e923d8e60470fa4e4bc5adb8ef629a82dcca84a87a6e742e9d34a8709cd0946a85bf5822b19b5ff5c1c34b6e290439f3e3418e4ab86844a0ff54c2632a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/cs/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/cs/thunderbird-52.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "d01c6ba52794d3850656c1538e46b64eb69a7c1e3a17347ab5cfda9fb1e91976a4bfc7096f7d12bdf2f15625387aec7066b0a25879d979687c955058b92ce6c7";
+      sha512 = "72e1a77e10105a757c51542bb236d10c417f96f58c3875b63112c71848ce023c8754971bcd34dc5d2a48719070939d3733df9dbe4d2218e7bae7e89049d067cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/cy/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/cy/thunderbird-52.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "3d056c91e1599e91249774cb21d8fbc887b7bab38546aca1815ca9c49fbf4d641bab2427f03ea993a72dc29793feb1cb0cb26217a4f6827e9e0d9d3cb5e3ca0c";
+      sha512 = "4901eb53235ac29cdf685dbee78db301abc1f088ea9df585e388814c8f48d81aa0daf816f927b0c7d6df7985d8dd1e64c0c1cc26026f3ad9625251a72b666692";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/da/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/da/thunderbird-52.5.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "c940d26284c8ab0a45bc6a55b67b467df7ac160c8774f0e2e2deb9082ea9500142a1d3c8851031a7e7a1763fdf5348c14de57d7168c3f1bb23fed3cf31a1b09e";
+      sha512 = "0f061a7ad1e3b113d7b954487d661b4ca57a0ae861770c44081257a069e324388ba506b27ef0123a240cd949edb4ae60f500712c0addeed146cb922c76bbdc32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/de/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/de/thunderbird-52.5.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "b1b63590885f30797ae9825f2286deca69a82a73e7c407be87fa92280b904c0605e7047a402bf6ce1e13936933a27efaa2b35d534b23f745a2ab4a9538d31b47";
+      sha512 = "12ecdd09f77035ece4161c97cf4ae8bffab6a7eb46c7b9a2f7323dbcbdcf4f3d1bfcf5fab4d40b2887fbf64b541c0d5bac54f1b8f73ce7e31bfa201e955077c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/dsb/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/dsb/thunderbird-52.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "fc81fbfcc6533d34fde2e08351dea6d7e2a561a3620a6d0d225dc1081f59d9927ceb0abfca7c2d21b1cc727c0319646a2f386c022524178e90aa6bba344371c3";
+      sha512 = "54fe7ff647565d5b82843d879ce3f791b2962bb034ec2ec2d5ea85cea3019ddae49f9f45384751d1a2d0f879aff4203a61687a4432ebdb948fd30569b6ddd7be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/el/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/el/thunderbird-52.5.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "baf8d0a52fbb12afdccd003209614ce8d5b4062336744ee783a6c3e7eb5a542c4da233fb680f320226f3681b440ab1d0717616a3664051d231b6638729903b00";
+      sha512 = "d667a2d4f3782c30b308cfa6dd13ad321f6b7108d95f05c68dabe085228de28439f8e851920205404e48849829e65a07601ddcc553f3c73b08e233175805f046";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/en-GB/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/en-GB/thunderbird-52.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "0f5fac2fd3da05cbdece404fe3d170ef49574b5abff07a17120d189338140fadbc0971c7be05656544819df2b1987fd86c0f9fdfcd312e540035e70877212342";
+      sha512 = "ed7d40db832e9abf89d0d1e497f1b276dec7836e494b616eee8db1557cddd33f6f700bc9f17db0324f7a3b191ea425a7701b7e2b10630c21ab07f3c709039312";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/en-US/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/en-US/thunderbird-52.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "1f3a640d140fa305e115158d98aadf95d180b396aa3935de4505f0f94f510d206ae6e45adf36572cb160175383d0aaad11c3244003e4a99dae613e1a749430cf";
+      sha512 = "9ffe74492c2fe29523a34b02ab869f9660aa1c33b16e45a026c4404e714b9cb6a5d2b24e73c7ac2f52e22f21e6e88e9a7686edbeb2c0876594054b17222d9ad5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/es-AR/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/es-AR/thunderbird-52.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "42525a75e154fdf263f276330a998f127de697519a79b447d4860403c40ca2a6caec0a225a978461ae776e56218313a3fa31441817cbb13db34cd47afb9a5eb8";
+      sha512 = "9f154f4fcb465925d445cbaecad4495d12d6381f0afd502973c4869890dfcd77366fa90bba835016729343947e064772163529528bfa76d52fc87bba5e9af1d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/es-ES/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/es-ES/thunderbird-52.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "86b47481b760206b49f87d15a917754d875203d83613c0c8b83e181f95986e6252ff26cd6dd6f7c6545f9d4da4801f6f236fa82dcce0d0172f19228b4eb5fe33";
+      sha512 = "4dc72ba78d8de913ab2b3a76920e0f4e3bb75cd880c3a8a55af72cc38334906e5786b24feb0db7d1e12db845f995c28e3342b5bb1bd4600c70de6b9fba012194";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/et/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/et/thunderbird-52.5.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "4bbfa1fde3a6270b49989747b4b27c284abb89819c46119cc3f2f90f0cad1648e49a2e1e01a35ef193eed4cf504a3e027138ea30a225c3d75347aa062d56afeb";
+      sha512 = "64279f558880cd6f6653e9387b479f08dcff440a23dc9a7bda664f09ca641cea05a268bea7cb7ee6495910fc67f1294f78bb163d09d70df06f335486d46d7ee9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/eu/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/eu/thunderbird-52.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "292fd0f2db956e5bc86a84d5edf51e3e36141610c99f75b1dd8af0f086fa8bc4a4e5a4e1c3d085587b6bf2d6e3435bc70ee66d379809886a391d67e2c243d762";
+      sha512 = "90185fb2a72b648af46b83470b2c57ab8784baad2c75c32920a5e6e1d5e03b5fd3a5ffad04cd52ea73a942c4ccc9b02d71ef7ca4887d3d089ba8f13745087b79";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/fi/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/fi/thunderbird-52.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "b8df95d4ca36efdc4370821068590b1d7e3fb9f348afeb18a0a02c977027312457aaa59c38ee02908e944f166d485576522ea0cb087b28fa857963107e43ced7";
+      sha512 = "3d8fbda9afd0bb82db6baba04d06682c5083a8a05cb941552c5ae2abfa0fd7e9ea9e020423877f3141922485a69c1af5d48235dda29fb4b583c1f4435a747f59";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/fr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/fr/thunderbird-52.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "7880654b4133e50ee248b6e287d52ba867361b900fbbdd149c6f06c9d5df1d0b57ce6d9d9bed3e1ab68e90b0ddf874d0b2427553b24ea39f267f576c63357bca";
+      sha512 = "669723deede608bb8239ee5a04dcccfccf3680e32da494d28fe5380714b012a322caca38eb3b6ccb3c136a3a9742f917a5614f1183ee08b80d760fa5cb19493a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/fy-NL/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/fy-NL/thunderbird-52.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "4784b06aeb705141d84103bf46635e6ba6a7f7795b40e654f63c783a63ee19d54843c211eac90c4246c5131ecc8808940e560f2fd2a2543522cef13bf3828938";
+      sha512 = "c35371dc26545e5f1b30a1c866538380e8d6cd21456e1415260cfdcde3c37f6f301f1a5ebfcba4d6a5612ed3809f7a27e5a5470fd5f5b7146b923ab15a5046a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ga-IE/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ga-IE/thunderbird-52.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "91b4145d82a4748ef2cfe6d4d46c9e92c3a54a55f72ab1c28135363471d68ee028064ec0c0bb334fb731c6577305177a06d85b2a9d820d9e2a44fb01ac961beb";
+      sha512 = "1f5eaa4928e7b56ad27937b6a49f90fc5739149dfa8119563eb6153cd1d850243ce3a15e42d6e5a7a7c306401c97424b5ebbb6bbc7d20102aab09723c91925a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/gd/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/gd/thunderbird-52.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "4e979ce305a014de612c0f3797b9f8c8d89445f05972a24d8c13cd01160aa2c15007b0e505f9a0cb354f8cf65e286ba52eae8a6bbdcf4c7cf4e89809e0ce530a";
+      sha512 = "61c1f4d9769981149a5961c096d9826e737ed356582b90d09efc437c38f93d9897ee84489f33e3fdc20787dd9d437ed58a5592bc5f586748d3e5897ddda38b20";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/gl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/gl/thunderbird-52.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "b3081eee4473c097b37b9070cdcdd8eb48e1cf69ee63fd76f1eee0d5ed84009b69d0b31fb38c36f7d5137b78d0ab32087a8e668f1ad01e6ef96984ecd973af11";
+      sha512 = "cd23d74ddd303be4d86e4c63d5d2186ce3d0237caa62b0a48987b63c63322898f591e4b2c7a5fa5d219c49cb28070fde5cd933050dc0c0e6b9aefdd5f03e5b1d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/he/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/he/thunderbird-52.5.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "2781cc8fcac549ea394629ba1d7c43c683ea25b4d3c5807f7a4da50541e47ba18ed4d4080e7f3c785be8e71e0a8e2ae0cb9a24e348f830b71b7398efd06863e5";
+      sha512 = "58d98ff08576c3cd3d5a8637b8ba8dbab1b7e61942f4dd772ca48e3fb447a2dbcefe2cb9ed8cd3e86ffd0d9f8ba33366dbe01d744a825bf513861ea870d69ecc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/hr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/hr/thunderbird-52.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "d42587bb96454e3ee24b964dee1de0f51283b2c3316dd25e798a8809d2289306bf6eba6078f664f87720e7038b14f009640fdb4d3acf211195dc881e6e207c6c";
+      sha512 = "770a4a095993a9a84266b15e461645c4446ba6370092f1d0984d2ebcf836d24538276f63f9513dcaa537a4f016bb699169dafb14a68450f1e13050679800c5b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/hsb/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/hsb/thunderbird-52.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "49e3ee2559c124db79e2dbb2fe74291a377ccf1fbd75b450c8d4913000a055cea855fad03369e7420391faf114e160e35b02d432de847e673e352b731986bb84";
+      sha512 = "35f0a061f152d871636723b4690d3a3ff7172abb5adf0644b02e44fd23583e9a9d8ea68890a5313d74d190a6d293798b5ae8969a38b1166cd942a3d17b0246f6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/hu/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/hu/thunderbird-52.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "fad46a1ea3e8a1df49e4ba836c68b1744577fdfec319d9dc0b2bd8756d4dc859cb5af7484791b83f2260bd40d1ae64f19539f8f4b3977252a1f559b7df9fef35";
+      sha512 = "a4e9dd6ad2295cde7d7e5bfa8efee3c68123ae11d7535f0c076e29b18b952320ef39e4c92e8ad4aa66f63d8490b5737ee849e425378db04df8c794bb64f5393e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/hy-AM/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/hy-AM/thunderbird-52.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "6a34e03e5e272c847f674bd8c48cee66fb659cbf88251debe505c54011b029cea7b7e8a9722c61b3e603d66aaa4313a5971fdbf2035fd06d305cf229cd8b2afa";
+      sha512 = "8006eedb925424458cc9e084b367d4b8f16f78a6245159c61f13b75455404adf13eba353b4141cc555d82d4d6060deae9f97633884ba6d3b18d88af8bf93c4c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/id/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/id/thunderbird-52.5.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "1cce3d3653b474219f00f4555990406b661a14c4198f3d246624def4e5a3ad3ea393a74f6c80e0f17b5799784e212778ccb8b56bda31c5e48a55193bef09c417";
+      sha512 = "df166f9e33adadd2e38290d1ea92a035c9cd0d910c1b246906ed38181c8db12bba29e69b4a909594a79b8b3eccc23131f34236afb40d6746793cdbda3a195bcd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/is/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/is/thunderbird-52.5.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "f3604e918502d16ba92e65e9def425efbb829a261d2c433ce83ec89d6ebfebbfcddd1b01508f953ec3c26166c6d01112486cdab6d1a0fe1e6a582f0566900b89";
+      sha512 = "1a05df69389d95d9920e133e085a0d3a05eb917b1b28c24fe9d8cdce316e19319fe08aa7a3fec304153fa0f59a0b8a630f9c44fa1d9c0310de03fc102172dbc4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/it/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/it/thunderbird-52.5.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "458bc19bd6b08f6834e310f7ec4591ad4e84067ae2373864ca9019c20551abbcbc067467fffada229000dda01369da3c28967df522182d8eda1a147d136b6315";
+      sha512 = "c446fa3e15e9eb72aff880f928f5c8a0b2b0c96632c243db4f5c377bd2dab56ccfb569a8500e9778ac5a4459ca634dc6d2ec1ec0f05aaa2980d3f45109fa2ffa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ja/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ja/thunderbird-52.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "05faf43b8b0f616bf552988a577891e816fe36b208b7d6292c9896a6946386815e117278feef33063b4f2eb7b5ec89aebc59e1d4432021969bf3b95e750defa3";
+      sha512 = "c7699f90c49fc4bca1580c749ccc446a95cb9f1a5a48cfee3b2a566ba13e073a4e405ba7b17ebff704f719639e323332f533db19f7c82007300322330f2b3983";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/kab/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/kab/thunderbird-52.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "594669d5518b0be87095527b3013799812c9f45254434523903ad19edb2ebd4bc32409df6f646b1d1e953098e126673427400238a056e0a8c44b672009a12a2c";
+      sha512 = "5c098954ce0e642c76c3597d419bcd5f286d62af96ccf2726bd00cefe12036708217cc6829c39cd669a21ed0cdfd8a6d511b8a55e8dafefa8c3940040e99d9a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ko/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ko/thunderbird-52.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "db3e6c9efbeeed833384256814a713a5bf3d2a220a74c88fd28f91ec0dd6c7600d77e18ce66c9dc9f1929f5da7452c5904f012fa8f5e4fa04084892e17b2647f";
+      sha512 = "0a435742a13454634ef563b704d1618ce492a997814466ece1066e244160494e2092588b5cbbe5d1a7076b89c895b5f1a3288a377b547d454eb411960e3faeb4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/lt/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/lt/thunderbird-52.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "2b8e8b74bbba2a72dc88a8dba457189cad1c902c0bf2cbc54bf989c6444c8b164238f1d9e21c2c8e470df5198d8586cd613b40292b737c04f4c2d834d298dc13";
+      sha512 = "0ffbe8a40179cdce48423c70ce871ebbce066932cf9ab21560ba3107d2794198a7c8f5d5d3fefa58627beac4faa2ed398a09c429a47b261153f3045fe5779883";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/nb-NO/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/nb-NO/thunderbird-52.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "bf99756bb7bc5fa699cae5ef3da5a3614e57483b2892e2f6f769699ef3478e22847ddeaf63fc0c521cd1fbcccbdf9bc5054430a5cdbb50e26e371818cae404fb";
+      sha512 = "d44ece21a5ce26df33d7ea04f56cf2a21dc67bb053212a71a2a30dbabb7894bc9cd5b8a07f86906c882fda29603d2c8ff16d675c8e8bef8ec362be8c824624a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/nl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/nl/thunderbird-52.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "80170d51276bb77de4af8d45d5869069c7d9c6db7ad6d5786fd4c2c5cfb0a20ceb1cdce7b5dbf99a79dca329efa5d9a53d4ed738cbe7f77bdcb65a8b6e2e7511";
+      sha512 = "8c2489dd4d860fc657893986f268746512cef54943b19f7c129013e5a6a8db8f4a8fb0ef22b1cfdc41306bbd63d1c81131989af7161d310cabe2427e21ab4702";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/nn-NO/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/nn-NO/thunderbird-52.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f223dd33108a750563a498e92b53cd3e68e3d50fdb1a08e295a9c3e893c20908ea56c9c5312874469b2f96d1046f754df55bc38d1595d5b811b7ed659e267d98";
+      sha512 = "57270f4645bc1d82f3602a49aad11bb6261a2be39200b3284ee65082df363b5870b1cacbaeb3802a83f6ef1554a4d6a2c6e6b2720aa2b9d29b7a86208d676f6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/pa-IN/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/pa-IN/thunderbird-52.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "a418fea2521ff6971d68d975823bd0917580450a7ff38975455b891c8e3cbcfdf51c40502fa072ebc1f43ce93a3b07ce93db369edfbd511beee5dfc5041a0a84";
+      sha512 = "7a7464cbf08e418c56c979abba5ef7120f1202073ab630ef4ce070aa1b55520597dda0b0f31e7afc50e14c8c4fe0f33759a2278035d5db5f21edacb6d521672c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/pl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/pl/thunderbird-52.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "05adc7298c91853b373756944d360589caeef6a999f6c5ea9babe3b12ff9409909040b69b641b69b78bd17bddda59f9828e294f5cd5f7d7061cc3f51eb3c48b3";
+      sha512 = "ae0b8da805a3b055bbb64a3c0f1d3562f44fae08751026b8300c130f4a2629a1a17857d2be2468c9e2ddb2a082155d35a26b7b1f0c99369b2031a90b34aa2443";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/pt-BR/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/pt-BR/thunderbird-52.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "4a2503e3a1daf5b9cb26acf25720c4d0fdc7a170bd454a185e4cf2cd9c9429dcbdee4c13e59e11a2a275d88513b1ae31dffae8bdf70c3196249e432360fbe705";
+      sha512 = "f61d66c71c2144aba0781f82370318fcff0637d4bb28cda3703f099718691f13bbbc51eaa4252ef1fbd1dbe821032597e41adb80b1abec89a2bc50df043f5099";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/pt-PT/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/pt-PT/thunderbird-52.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "cb02054a64a74c2e1f936594f001dd721e3016cc68cf705c0413a732153bbe45aaa14736d38b22358bda5f3d059f7306087c27faf040d91bd7f92066403e65c1";
+      sha512 = "ad0d63ab9389e3c4cf6985835dc4277d3ac5cf79e09457331f87629c8f9a58e95ce7b68c2eec8973ab445cc8f8c50c0b01b78ebd0ada042f4fa6a2d2bc838241";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/rm/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/rm/thunderbird-52.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "8e745e5d1e5a4d3f432bf8c5f90906a22c8d2fe4c6d77ec032cb7eccae1f2f9e7cf0620dd3ef378414d6f34cc25346ff44b7fbee05016f34c49a0c8c5959184c";
+      sha512 = "5e5f96598101695ad0d16a7f3aea38c42d875b3d7b7e2eb529786f16cc008ca8b20bfcb24d2b975cdd2e114d00c1d17f8901f19fa84263f64506d9d75568e6be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ro/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ro/thunderbird-52.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "20d9b9666704c87f73f4c8cbe8d09cf79349e811f4c4da93f2754886cc89fabf7c2388430f9f072a3918b38984742adab48ada320dd75761a7443f3be1198a8e";
+      sha512 = "82a0324bc4724460d5aafa194a78d611c1d11cc347446d5c2203e9fb40a45f6c7ffb0e17aa87b603af8b3ae5847fa91cac529ae878a6981c9c754ea91b8b6b52";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ru/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ru/thunderbird-52.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "ff7c64ed9a4403e24b7f0f9fb06bc4b96153fbe7d30b94ea7e145d33dc24bb1b2807db8d6e3398dc84e13f68d9c5c4fbaacc3027cd46ee58fecaa8b7b17b27a7";
+      sha512 = "508d949263abd425ff805f417cfa60736d391e1dc99b53dca2243c4c93487ad2889ac6a9bd8beed59b4e09bc82ba31b9c5cbc9fe084ee3b5fde74baaa2720a7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/si/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/si/thunderbird-52.5.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "b2358e6df5f5cda477c530dddd9d27e35a8919aa346b66521336fb0cddd2821bb7dd867f4ad005c135ce040a1eb64ad9f1feef81a268a299ca2170312f7c89ef";
+      sha512 = "e9869c86acbba32bab6b536f2542b498e9de0a306558b3115ffaf143f83c5a5010ead37573ed7ce9565c42b6306d98b4f92da866ba62f5c4042dd537f66e377e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/sk/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/sk/thunderbird-52.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "fc3eae35914d2a2ec6d44bf6348f71872f7ccb09d25ed974843b8010526f219437e6530c4d86825d027f1593da0943e0b9a5557bf41d4095e4e9d37108a94c3a";
+      sha512 = "1297d9a8ed5d062790766ee5cb66a1c3b67526326440b5d3f27b712440c0e3525ab2231774e02436bfad4b8ccf1006e5a16d2fce4be26bf2c757427228f7fed7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/sl/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/sl/thunderbird-52.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "532b87d22bd05194470801cccf242ffbae57685e69a836c8179e2fc562bdf2aba196f214b7a66006ef90d7fb1781d66e1ea62c2cf95820402deb9a73122ad143";
+      sha512 = "734d57ba493e160547953debc20b1d5565c31b0e6e5b486344f5da65aa4cbc77fa7790f49f4ad6322a633232fbcca2f21bdeae7f4abb2aa8cf13e5741519d706";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/sq/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/sq/thunderbird-52.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "b621973b1f76f2d789afa854917e20b7b48e3381344da29e07b8c5bfd469162c47d51e9552ab2428895c45dab9662d8fdc2704e65c96faa4afbddc4649a77dec";
+      sha512 = "e7a21ce516318f46d467f987dd244174ed2533bdeeeba41c2fff3a838ebb78047febabe6f3e86ab57bcc12f0b1418fb7ac195ca044a7c84eda404e152690b554";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/sr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/sr/thunderbird-52.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "d26812c232168c30c6a76dad5f3f7e20fe88cd75fc63f863bca255fa353928b8d3988c56abbb649266e52b8d31d70182c59ded496607aae17d7d2d0409ecc53a";
+      sha512 = "132fbcd2a7890ac413dbc3b1651a02227b741a8a31e2406780f36415fd47ed75503968a93414ec31384f28ecf1e14753f0e1bb2988468d973dfac9ab45787519";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/sv-SE/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/sv-SE/thunderbird-52.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "294e141cabec4edab0695e7c8e29149543e4cf4d451cfe9ba038a6997a822e02f223045ac3a8ac25b99a1e847740fac4d9d5c0b5ce0c5d69d331d823bf8e4899";
+      sha512 = "6e07841987bba5fcd69f790fc8a292ad7a3d71bcd802d16081145f243a71d49c8c57c5b6ad60ebfe1a550d62b1c9713843a83066893a397889f925e8b88904ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/ta-LK/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/ta-LK/thunderbird-52.5.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "9c9b79cf21e64461b8a78dd0f7816346ada2cce0ef4bce4da291497c9fd1aa414c199d57265390e5b885828b1efa38f9883882870b84a5b3a64ffffb47da79e1";
+      sha512 = "978b1ba5f77271906ea67b37637b31a9c1da0f97453ea4e140adff8558ee2b01fe32f3018a48b141198cd0ad9f9d927ce213100be3f3310b020bfb3ff8b1d69c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/tr/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/tr/thunderbird-52.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "61a671ae2804b06143e636c9e8ae0badb460bf9cbb3555213bf43aa2d56b2a9f13ca3a13362f2a9b7ecafb4b03451093ea2f817a104cc7d4555e11b1ffb18103";
+      sha512 = "2531185c167e66b77c6b7f968927a64a9e8de56580fd82c7b2408bfac71523738610b740650644eeee4c485dbf532a8da92367bdc574733d0df0d749613bd6b4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/uk/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/uk/thunderbird-52.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "629ede67d8bbfd6b1233d2030234fed7f99915045131caa11edce99b6e9c314b7cfd6ef457d26a0e628b525bb78c05426e8c078364ade5e606dfaba90200feee";
+      sha512 = "3f9eed73e2e85528deef2f2ffcbc166d2a836d363693f6ece98adeabe872a6aaa77facd16efd918fac9eefebed68ff35c59750d7116545a6540c9e1aede45c51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/vi/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/vi/thunderbird-52.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "728644651b7eff73be44bceccf8038bca79e020fbaad87d74fb1ff4856554766e6494e1e16a0d93187615f5f8cb663fc3233855d66e8cf0996fe597c9645273c";
+      sha512 = "fa776aca6c434491925e6fcd1802f047fcdcc2ae817805ffae0c873e17f1ad233836954544d85ac378ab28fb607c9cbc5b1808a12bbfa1d9337c8e47de4eddd7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/zh-CN/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/zh-CN/thunderbird-52.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "ef5a81e04ed973fd2ed576d1654f1ada7d9cefb6943bf604bee53053fedc4b2127c780ac2ff3c9b568813699f29f744950e899bc71733cd8d385368e1d0c07c2";
+      sha512 = "ddc20a6b05b48d6bcbc59c585b4a2365cee6d526ddef29e3dd04d38c8632c5c7ddda9eab24f2850dd2614bb7acc6e982ae4673c2b51c679eb5afd48047bf6fca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.4.0/linux-i686/zh-TW/thunderbird-52.4.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.0/linux-i686/zh-TW/thunderbird-52.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "ddf5a00621d6916c6033f81589c9376a8aaba3bf12810a2fd41358af323d9f6354384a5b938f299855d27a1272d36e99ca3f45a8ab8299aa7afc118d942ae624";
+      sha512 = "aa527aeaa6b10d785e3fa3a8052c5dfa70f9aae2601119aed7dfd60e8af30f03cc1b4d93f749c36be4e54bbce6071fe66fb1937fa392b8391ca695e55ffe68ab";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 2e1f8ed50701..966e1886f34b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -22,11 +22,11 @@ let
   wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
 in stdenv.mkDerivation rec {
   name = "thunderbird-${version}";
-  version = "52.4.0";
+  version = "52.5.0";
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "6ac39cecca9e53b51754d7a8bd7cae228d197eb234b03a2386c16fd665f4f7a67f10bbdf981c20b3f7a21a5ef67e2771154a3dd9f249c6a884c48a9e59bcfc78";
+    sha512 = "b9b599e5853887bd518e5a57f6fd04751bb78f553f97b260cd9ba7268c4cff307be40b81b00f1320f5a5156e5c67115595b2d389f931c265d0c3448f56fb8319";
   };
 
   # New sed no longer tolerates this mistake.
@@ -72,7 +72,6 @@ in stdenv.mkDerivation rec {
       "--enable-system-sqlite"
       #"--enable-system-cairo"
       "--enable-startup-notification"
-      "--enable-content-sandbox"            # available since 26.0, but not much info available
       "--disable-crashreporter"
       "--disable-tests"
       "--disable-necko-wifi" # maybe we want to enable this at some point
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 1a409fc885a2..94e8bd34087d 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 \
@@ -40,6 +45,8 @@ in stdenv.mkDerivation rec {
     substitute scripts/msmtpq/msmtp-queue $out/bin/msmtp-queue \
       --replace @msmtpq@ $out/bin/msmtpq
 
+    ln -s msmtp $out/bin/sendmail
+
     chmod +x $out/bin/*
   '';
 
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/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 081f765a3e87..652de194a5e7 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite
+{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, qttools, sqlite
 , inotify-tools, withGnomeKeyring ? false, makeWrapper, libgnome_keyring }:
 
 stdenv.mkDerivation rec {
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [ ./find-sql.patch ];
+  patchFlags = "-d client -p1";
+
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ qtbase qtwebkit qtkeychain sqlite ]
+  buildInputs = [ qtbase qtwebkit qtkeychain qttools sqlite ]
     ++ stdenv.lib.optional stdenv.isLinux inotify-tools
     ++ stdenv.lib.optional withGnomeKeyring makeWrapper;
 
diff --git a/pkgs/applications/networking/nextcloud-client/find-sql.patch b/pkgs/applications/networking/nextcloud-client/find-sql.patch
new file mode 100644
index 000000000000..baf6a4fbf491
--- /dev/null
+++ b/pkgs/applications/networking/nextcloud-client/find-sql.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/modules/QtVersionAbstraction.cmake b/cmake/modules/QtVersionAbstraction.cmake
+index 5bd853c84..93ddf3cf8 100644
+--- a/cmake/modules/QtVersionAbstraction.cmake
++++ b/cmake/modules/QtVersionAbstraction.cmake
+@@ -17,6 +17,7 @@ if( Qt5Core_FOUND )
+     message(STATUS "Found Qt5 core, checking for further dependencies...")
+     find_package(Qt5Network REQUIRED)
+     find_package(Qt5Xml REQUIRED)
++    find_package(Qt5Sql REQUIRED)
+     find_package(Qt5Concurrent REQUIRED)
+     if(UNIT_TESTING)
+         find_package(Qt5Test REQUIRED)
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 814dc1bf69a9..e900f90f46ee 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1r5ddln1wc9iyjizgqb104i0r6qhzsmm2wdnxfaif119cv0vphda";
   };
 
+  patches = [ ../nextcloud-client/find-sql.patch ];
+
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];
 
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 03178b5cb75d..1cf6db21bedb 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, which
-, boost, libtorrentRasterbar, qtbase, qttools
+, boost, libtorrentRasterbar, qtbase, qttools, qtsvg
 , debugSupport ? false # Debugging
 , guiSupport ? true, dbus_libs ? null # GUI (disable to run headless)
 , webuiSupport ? true # WebUI
@@ -10,16 +10,16 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "3.3.16";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "0mxyn2pajvb55bhcaz55v64p2xzy15p0yy174s62b5y3f8cac27a";
+    sha256 = "0khy875ahh9rlk8lyfpwsbxjsbp7i1cwqvd1j1s4cqc812szh3z3";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
 
-  buildInputs = [ boost libtorrentRasterbar qtbase qttools ]
+  buildInputs = [ boost libtorrentRasterbar qtbase qttools qtsvg ]
     ++ optional guiSupport dbus_libs;
 
   # Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist.
diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix
index 4179cc3058e8..4caa9ae63f75 100644
--- a/pkgs/applications/networking/remote/rdesktop/default.nix
+++ b/pkgs/applications/networking/remote/rdesktop/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openssl, libX11} :
+{stdenv, fetchurl, openssl, libX11, libgssglue, pkgconfig} :
 
 stdenv.mkDerivation (rec {
   pname = "rdesktop";
@@ -10,12 +10,12 @@ stdenv.mkDerivation (rec {
     sha256 = "1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8";
   };
 
-  buildInputs = [openssl libX11];
+  nativeBuildInputs = [pkgconfig];
+  buildInputs = [openssl libX11 libgssglue];
 
   configureFlags = [
     "--with-ipv6"
     "--with-openssl=${openssl.dev}"
-    "--disable-credssp"
     "--disable-smartcard"
   ];
 
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index 1563cdf3d056..ea503b8df9bd 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   patches = [
-    ./patches/fix-13791.patch
+    # https://bugzilla.abisource.com/show_bug.cgi?id=13791
+    (fetchurl {
+      url = https://bugzilla.abisource.com/attachment.cgi?id=5860;
+      sha256 = "02p8kz02xm1197zcpzjs010mna9hxsbq5lwgxr8b7qhh9yxja7al";
+    })
   ];
 
   buildInputs =
diff --git a/pkgs/applications/office/abiword/patches/fix-13791.patch b/pkgs/applications/office/abiword/patches/fix-13791.patch
deleted file mode 100644
index 98004f01bcba..000000000000
--- a/pkgs/applications/office/abiword/patches/fix-13791.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-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/fava/default.nix b/pkgs/applications/office/fava/default.nix
index 56a93e990095..fdbf9183d751 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -5,12 +5,12 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.5";
+  version = "1.6";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d3jncidzvfsxjplzg4cmflqr4mxrbrlj5bh6fpxj529pialpkk6";
+    sha256 = "0iif4imx76ra0lsisksrq5vf54wbivnrb3xqz6mkx9lik3pp5sbx";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
index 3421abc557fc..14c954c0c831 100644
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -1,6 +1,7 @@
-{ fetchurl, stdenv, pkgconfig, libxml2, libxslt, perl, perlPackages, gconf, guile
-, intltool, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
-, webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file
+{ fetchurl, fetchpatch, stdenv, intltool, pkgconfig, file, makeWrapper
+, libxml2, libxslt, perl, perlPackages, gconf, guile
+, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
+, webkit, glibcLocales, gsettings_desktop_schemas, dconf
 , gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers
 , pango, gdk_pixbuf
 }:
@@ -13,16 +14,26 @@ Two cave-ats right now:
 */
 
 stdenv.mkDerivation rec {
-  name = "gnucash-2.6.12";
+  name = "gnucash-2.6.18-1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "0x84f07p30pwhriamv8ifljgw755cj87rc12jy1xddf47spyj7rp";
+    sha256 = "1794qi7lkn1kbnhzk08wawacfcphbln3ngdl3q0qax5drv7hnwv8";
   };
 
+  patches = [
+    (fetchpatch {
+     sha256 = "11nlf9j7jm1i37mfcmmnkplxr3nlf257fxd01095vd65i2rn1m8h";
+     name = "fix-brittle-test.patch";
+     url = "https://github.com/Gnucash/gnucash/commit/42ac55e03a1a84739f4a5b7a247c31d91c0adc4a.patch";
+    })
+  ];
+
+  nativeBuildInputs = [ intltool pkgconfig file makeWrapper ];
+
   buildInputs = [
     # general
-    intltool pkgconfig libxml2 libxslt glibcLocales file gettext swig enchant
+    libxml2 libxslt glibcLocales gettext swig enchant
     bzip2 isocodes
     # glib, gtk...
     glib gtk2 goffice webkit
@@ -36,12 +47,10 @@ stdenv.mkDerivation rec {
     guile slibGuile
     # database backends
     libdbi libdbiDrivers
-    # build
-    makeWrapper
   ];
 
-  patchPhase = ''
-  patchShebangs ./src
+  postPatch = ''
+    patchShebangs ./src
   '';
 
   configureFlags = [
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index c6458e477186..3632138a0221 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -9,11 +9,11 @@ let
   isonum = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent; sha256 = "04b62dw2g3cj9i4vn9xyrsrlz8fpmmijq98dm0nrkky31bwbbrs3"; };
   isogrk1 = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent; sha256 = "04b23anhs5wr62n4rgsjirzvw7rpjcsf8smz4ffzaqh3b0vw90vm"; };
 in stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.35";
+  name = "gnumeric-1.12.36";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "77b1e3ce523578a807767ad71680fb865ac021d7bfadf93eada99ae094c06c0a";
+    sha256 = "3cbfe25f26bd31b832efed2827ac35c3c1600bed9ccd233a4037a9f4d7c54848";
   };
 
   configureFlags = "--disable-component";
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 6ce003ff25d9..b78eaa9fd3f3 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.11-stable";
+  shortVersion = "1.17.12-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 "033855ix5qj1gwd3pa6qws5k94hgbp6rvibrrxl3rn5bvhrvvbkq"
-    else "09h6br8qhvphkvzy28y1pnh7dhyigb3w41w3kjwqj6027i46chi7";
+    then "09n910ny8k103g1v8m19f9n827l2y0kmz79cwgy95k6acf2rkc2x"
+    else "11z65mj1a2rw6cwfarl8r1vzpcz4ww5mgvd5fyv31l60mbmnqkap";
 
   deps = [
     qt5.qtbase
diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix
index 557529964649..2e052243a052 100644
--- a/pkgs/applications/office/paperwork/backend.nix
+++ b/pkgs/applications/office/paperwork/backend.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  name = "paperwork-backend-${version}";
+  pname = "paperwork-backend";
   version = "1.2.1";
 
   src = fetchFromGitHub {
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/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 5903edd337df..190186db1810 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -12,7 +12,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake ];
 
-  preConfigure = "./autogen.sh";
+  preConfigure = ''
+    ./autogen.sh
+
+    # Build fails on Linux with windres.
+    export ac_cv_prog_WINDRES=
+  '';
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://gravit.slowchop.com;
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 886a98f2e6b3..32eaa37375f8 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,23 +1,23 @@
 { mkDerivation, lib, fetchurl
 , cmake, freetype, libpng, mesa, gettext, openssl, perl, libiconv
 , qtscript, qtserialport, qttools
-, qtmultimedia
+, qtmultimedia, qtlocation
 }:
 
 mkDerivation rec {
   name = "stellarium-${version}";
-  version = "0.15.0";
+  version = "0.16.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "0il751lgnfkx35h1m8fzwwnrygpxjx2a80gng1i1rbybkykf7l3l";
+    sha256 = "087x6mbcn2yj8d3qi382vfkzgdwmanxzqi5l1x3iranxmx9c40dh";
   };
 
   nativeBuildInputs = [ cmake perl ];
 
   buildInputs = [
     freetype libpng mesa openssl libiconv qtscript qtserialport qttools
-    qtmultimedia
+    qtmultimedia qtlocation
   ];
 
   meta = with lib; {
@@ -26,6 +26,6 @@ mkDerivation rec {
     license = licenses.gpl2;
 
     platforms = platforms.linux; # should be mesaPlatforms, but we don't have qt on darwin
-    maintainers = [ maintainers.peti ];
+    maintainers = with maintainers; [ peti ma27 ];
   };
 }
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/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/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
index bd4ccea231b3..e76689992296 100644
--- a/pkgs/applications/science/logic/acgtk/default.nix
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -27,9 +27,11 @@ stdenv.mkDerivation {
   patches = [ ./install-emacs-to-site-lisp.patch
               ./use-nix-ocaml-byteflags.patch ];
 
-  postPatch = stdenv.lib.optionalString (camlp4 != null) ''
+  postPatch = optionalString (camlp4 != null) ''
     substituteInPlace src/Makefile.master.in \
       --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4/"
+  '' + optionalString (versionAtLeast (stdenv.lib.getVersion ocamlPackages.yojson) "1.4") ''
+    substituteInPlace src/scripting/Makefile.in --replace yojson.cmo yojson.cma
   '';
 
   # The bytecode executable is dependent on the dynamic library provided by
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/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/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/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/git-and-tools/git-codeowners/default.nix b/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix
index 07e0ce80c5d6..206a4af91212 100644
--- a/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   name = "git-codeowners-${version}";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "softprops";
     repo = "git-codeowners";
     rev = "v${version}";
-    sha256 = "0imxbi6y1165bi2rik0n98v79fkgp8alb615qh41idg1p2krzyy5";
+    sha256 = "0bzq4ridzb4l1zqrj1r0vlzkjpgfaqwky5jf49cwjhz4ybwrfpkq";
   };
 
-  cargoSha256 = "0h831rf5vlvpzfm4sr3fvwlc0ys776fqis90y414mczphkxvz437";
+  cargoSha256 = "0rdmv9s86xba1zkl2j5rgix6k7pkkxqmpar03sak2fjrd7mh8iz0";
 
   meta = with lib; {
     homepage = "https://github.com/softprops/git-codeowners";
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 5e42992cbe22..c0b672069005 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation {
     ./symlinks-in-bin.patch
     ./git-sh-i18n.patch
     ./ssh-path.patch
+    ./git-send-email-honor-PATH.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
new file mode 100644
index 000000000000..1aec77504b7b
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch
@@ -0,0 +1,47 @@
+From 9a4396ddaedaf59ebee16d69900884e990b79cdd Mon Sep 17 00:00:00 2001
+From: Florian Klink <flokli@flokli.de>
+Date: Fri, 17 Nov 2017 13:21:37 +0100
+Subject: [PATCH] git-send-email: honor $PATH
+
+This will search $PATH for a sendmail binary, instead of the (previously
+fixed) list of paths.
+
+Signed-off-by: Florian Klink <flokli@flokli.de>
+---
+ Documentation/git-send-email.txt | 5 ++---
+ git-send-email.perl              | 3 ++-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
+index bac9014ac..b9b1f2c41 100644
+--- a/Documentation/git-send-email.txt
++++ b/Documentation/git-send-email.txt
+@@ -203,9 +203,8 @@ a password is obtained using 'git-credential'.
+ 	specify a full pathname of a sendmail-like program instead;
+ 	the program must support the `-i` option.  Default value can
+ 	be specified by the `sendemail.smtpServer` configuration
+-	option; the built-in default is `/usr/sbin/sendmail` or
+-	`/usr/lib/sendmail` if such program is available, or
+-	`localhost` otherwise.
++	option; the built-in default is to search in $PATH if such program is
++	available, or `localhost` otherwise.
+ 
+ --smtp-server-port=<port>::
+ 	Specifies a port different from the default port (SMTP
+diff --git a/git-send-email.perl b/git-send-email.perl
+index 2208dcc21..8e357aeab 100755
+--- a/git-send-email.perl
++++ b/git-send-email.perl
+@@ -885,7 +885,8 @@ if (defined $initial_reply_to) {
+ }
+ 
+ if (!defined $smtp_server) {
+-	foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
++	my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH};
++	foreach (@sendmail_paths) {
+ 		if (-x $_) {
+ 			$smtp_server = $_;
+ 			last;
+-- 
+2.15.0
+
diff --git a/pkgs/applications/version-management/git-up/default.nix b/pkgs/applications/version-management/git-up/default.nix
index 4b6ba9398b48..45c97868c4bf 100644
--- a/pkgs/applications/version-management/git-up/default.nix
+++ b/pkgs/applications/version-management/git-up/default.nix
@@ -31,5 +31,6 @@ python2Packages.buildPythonApplication rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
+    broken = true; # Incompatible with Git 2.15 object store.
   };
 }
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 25a85f4b92d7..13852261e863 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
 
-  NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions
-                       "-std=c++11"; # fix build with glm >= 0.9.6.0
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = http://gource.io/;
@@ -36,7 +35,7 @@ stdenv.mkDerivation rec {
       Mercurial and Bazaar and SVN. Gource can also parse logs produced
       by several third party tools for CVS repositories.
     '';
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 36c7c3c58851..1a8fe6f5fe5c 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -4,11 +4,11 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "pijul-${version}";
-  version = "0.7.3";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://pijul.org/releases/${name}.tar.gz";
-    sha256 = "08cffv6nfp1iv9m2qhr9hggy9kg8xp07p8kqkjypfsdsb983vz5n";
+    sha256 = "00pi03yp2bgnjpsz2hgaapxfw2i4idbjqc88cagpvn4yr1612wqx";
   };
 
   sourceRoot = "${name}/pijul";
@@ -18,7 +18,7 @@ buildRustPackage rec {
 
   doCheck = false;
 
-  cargoSha256 = "0r69vghjd6b30v0qjsipyv56n92iwvyxmllrnwjzjf5pzhhjl7sy";
+  cargoSha256 = "1cnr08qbpia3336l37k1jli20d7kwnrw2gys8s9mg271cb4vdx03";
 
   meta = with stdenv.lib; {
     description = "A distributed version control system";
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 6466e5ab0ae5..44d1ad0cd357 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -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/gnome-mpv/default.nix b/pkgs/applications/video/gnome-mpv/default.nix
index c93510cb1a70..2f073d1731dc 100644
--- a/pkgs/applications/video/gnome-mpv/default.nix
+++ b/pkgs/applications/video/gnome-mpv/default.nix
@@ -1,25 +1,32 @@
-{ stdenv, fetchurl
-, intltool, pkgconfig, wrapGAppsHook
+{ stdenv, fetchFromGitHub, meson, ninja
+, gettext, pkgconfig, desktop_file_utils, wrapGAppsHook
 , appstream-glib, epoxy, glib, gtk3, mpv
 }:
 
 stdenv.mkDerivation rec {
   name = "gnome-mpv-${version}";
-  version = "0.9";
+  version = "0.13";
 
-  src = fetchurl {
-    sha256 = "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0";
-    url = "https://github.com/gnome-mpv/gnome-mpv/releases/download/v${version}/${name}.tar.xz";
+  src = fetchFromGitHub {
+    owner = "gnome-mpv";
+    repo = "gnome-mpv";
+    rev = "0d73b33d60050fd32bf8fae77d831548970a0b69"; # upstream forgot to update appdata
+    # rev = "v${version}";
+    sha256 = "1cjhw3kz163iwj2japhnv354i1lr112xyyfkxw82cwy2554cfim4";
   };
 
-  nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
-  buildInputs = [ appstream-glib epoxy glib.dev gtk3 mpv ];
-
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+  nativeBuildInputs = [ meson ninja appstream-glib gettext pkgconfig desktop_file_utils wrapGAppsHook ];
+  buildInputs = [ epoxy glib gtk3 mpv ];
 
   enableParallelBuilding = true;
 
+  postPatch = ''
+    patchShebangs .
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
+  '';
+
   doCheck = true;
+  checkPhase = "meson test";
 
   meta = with stdenv.lib; {
     description = "Simple GTK+ frontend for the mpv video player";
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 5a64c36abe4f..da90f681f7a8 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, lib, fetchurl, makeWrapper
+{ stdenv, lib, fetchFromGitHub, fetchurl, autoconf, automake, libtool, makeWrapper
 , pkgconfig, cmake, gnumake, yasm, python2
-, boost, avahi, libdvdcss, libdvdnav, libdvdread, lame, autoreconfHook
+, libgcrypt, libgpgerror, libunistring
+, boost, avahi, lame, autoreconfHook
 , gettext, pcre-cpp, yajl, fribidi, which
 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre
 , libX11, xproto, inputproto, libxml2
@@ -16,133 +17,194 @@
 , sqlite, mysql, nasm, gnutls, libva, wayland
 , curl, bzip2, zip, unzip, glxinfo, xdpyinfo
 , libcec, libcec_platform, dcadec, libuuid
-, libcrossguid
-, dbus_libs ? null, dbusSupport ? true
-, udev, udevSupport ? true
-, libusb ? null, usbSupport ? false
-, samba ? null, sambaSupport ? true
-, libmicrohttpd, bash
-# TODO: would be nice to have nfsSupport (needs libnfs library)
-, rtmpdump ? null, rtmpSupport ? true
-, libvdpau ? null, vdpauSupport ? true
-, libpulseaudio ? null, pulseSupport ? true
-, joystickSupport ? true
+, libcrossguid, libmicrohttpd
+, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1, libXdmcp
+, libplist, p11_kit, zlib
+, dbusSupport ? true, dbus_libs ? null
+, joystickSupport ? true, cwiid ? null
+, nfsSupport ? true, libnfs ? null
+, pulseSupport ? true, libpulseaudio ? null
+, rtmpSupport ? true, rtmpdump ? null
+, sambaSupport ? true, samba ? null
+, udevSupport ? true, udev ? null
+, usbSupport  ? false, libusb ? null
+, vdpauSupport ? true, libvdpau ? null
 }:
 
 assert dbusSupport  -> dbus_libs != null;
+assert nfsSupport   -> libnfs != null;
+assert pulseSupport -> libpulseaudio != null;
+assert rtmpSupport  -> rtmpdump != null;
+assert sambaSupport -> samba != null;
 assert udevSupport  -> udev != null;
 assert usbSupport   -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable
-assert sambaSupport -> samba != null;
 assert vdpauSupport -> libvdpau != null;
-assert pulseSupport -> libpulseaudio != null;
-assert rtmpSupport  -> rtmpdump != null;
+
+# TODO for Kodi 18.0
+# - cmake is no longer in project/cmake
+# - maybe we can remove auto{conf,make} and libtool from inputs
+# - check if dbus support PR has been merged and add dbus as a buildInput
 
 let
-  kodi_version = "17.4";
+  kodiReleaseDate = "20171115";
+  kodiVersion = "17.6";
   rel = "Krypton";
-  ffmpeg_3_1_9 = fetchurl {
-    url = "https://github.com/xbmc/FFmpeg/archive/3.1.9-${rel}-${kodi_version}.tar.gz";
-    sha256 = "0rhjz505ljfg2jqbm3rd7qbcjq4vnp8h9a8vad8rjf84v3alglpa";
+
+  kodi_src = fetchFromGitHub {
+    owner  = "xbmc";
+    repo   = "xbmc";
+    rev    = "${kodiVersion}-${rel}";
+    sha256 = "1pwmmbry7dajwdpmc1mdygjvxna4kl38h32d71g10yf3mdm5wmz3";
   };
-  # Usage of kodi fork of libdvdnav and libdvdread is necessary for functional dvd playback:
-  libdvdnav_src = fetchurl {
-    url = "https://github.com/xbmc/libdvdnav/archive/981488f.tar.gz";
-    sha256 = "312b3d15bc448d24e92f4b2e7248409525eccc4e75776026d805478e51c5ef3d";
+
+  kodiDependency = { name, version, rev, sha256, ... } @attrs:
+    let
+      attrs' = builtins.removeAttrs attrs ["name" "version" "rev" "sha256"];
+    in stdenv.mkDerivation ({
+      name = "kodi-${lib.toLower name}-${version}";
+      src = fetchFromGitHub {
+        owner = "xbmc";
+        repo  = name;
+        inherit rev sha256;
+      };
+      enableParallelBuilding = true;
+    } // attrs');
+
+  ffmpeg = kodiDependency rec {
+    name    = "FFmpeg";
+    version = "3.1.11";
+    rev     = "${version}-${rel}-17.5"; # TODO: change 17.5 back to ${kodiVersion}
+    sha256  = "0nc4sb6v1g3l11v9h5l9n44a8r40186rcbp2xg5c7vg6wcpjid13";
+    preConfigure = ''
+      cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
+    '';
+    buildInputs = [ gnutls libidn libtasn1 p11_kit zlib ];
+    nativeBuildInputs = [ cmake nasm pkgconfig ];
   };
-  libdvdread_src = fetchurl {
-    url = "https://github.com/xbmc/libdvdread/archive/17d99db.tar.gz";
-    sha256 = "e7179b2054163652596a56301c9f025515cb08c6d6310b42b897c3ad11c0199b";
+
+  # we should be able to build these externally and have kodi reference them as buildInputs.
+  # Doesn't work ATM though so we just use them for the src
+
+  libdvdcss = kodiDependency {
+    name              = "libdvdcss";
+    version           = "20160215";
+    rev               = "2f12236bc1c92f73c21e973363f79eb300de603f";
+    sha256            = "198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd";
+    buildInputs       = [ libdvdread ];
+    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  };
+
+  libdvdnav = kodiDependency {
+    name              = "libdvdnav";
+    version           = "20170217";
+    rev               = "981488f7f27554b103cca10c1fbeba027396c94a";
+    sha256            = "089pswc51l3avh95zl4cpsh7gh1innh7b2y4xgx840mcmy46ycr8";
+    buildInputs       = [ libdvdread ];
+    nativeBuildInputs = [ autoreconfHook pkgconfig ];
   };
+
+  libdvdread = kodiDependency {
+    name              = "libdvdread";
+    version           = "20160221";
+    rev               = "17d99db97e7b8f23077b342369d3c22a6250affd";
+    sha256            = "1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl";
+    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  };
+
 in stdenv.mkDerivation rec {
-    version = kodi_version;
-    name = "kodi-${version}";
+    name = "kodi-${kodiVersion}";
 
-    src = fetchurl {
-      url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
-      sha256 = "1p1lxkapynjbd85ns7m4jybl4k35kxzv7105xkh03hlz8kkqc23b";
-    };
+    src = kodi_src;
 
     buildInputs = [
-      libxml2 gnutls yasm python2
+      gnutls libidn libtasn1 nasm p11_kit
+      libxml2 yasm python2
       boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva
       openssl gperf tinyxml2 taglib libssh swig jre
-      libX11 xproto inputproto which
-      libXt libXmu libXext xextproto
-      libXinerama libXrandr randrproto
-      libXtst libXfixes fixesproto
+      libX11 xproto inputproto libXt libXmu libXext xextproto
+      libXinerama libXrandr randrproto libXtst libXfixes fixesproto
       SDL SDL_image SDL_mixer alsaLib
       mesa glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff wayland
+      libjpeg jasper libpng libtiff libva wayland
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
       lzo libcdio libmodplug libass libbluray
-      sqlite mysql.lib nasm avahi libdvdcss lame
+      sqlite mysql.lib avahi lame
       curl bzip2 zip unzip glxinfo xdpyinfo
       libcec libcec_platform dcadec libuuid
-      libcrossguid
+      libgcrypt libgpgerror libunistring
+      libcrossguid cwiid libplist
+      bluez giflib glib harfbuzz lcms2 libpthreadstubs libXdmcp
+      ffmpeg
+      # libdvdcss libdvdnav libdvdread
     ]
-    ++ lib.optional dbusSupport dbus_libs
-    ++ lib.optional udevSupport udev
-    ++ lib.optional usbSupport libusb
-    ++ lib.optional sambaSupport samba
-    ++ lib.optional vdpauSupport libvdpau
-    ++ lib.optional pulseSupport libpulseaudio
-    ++ lib.optional rtmpSupport rtmpdump
-    ++ lib.optional joystickSupport SDL2;
+    ++ lib.optional  dbusSupport     dbus_libs
+    ++ lib.optionals joystickSupport [ cwiid SDL2 ]
+    ++ lib.optional  nfsSupport      libnfs
+    ++ lib.optional  pulseSupport    libpulseaudio
+    ++ lib.optional  rtmpSupport     rtmpdump
+    ++ lib.optional  sambaSupport    samba
+    ++ lib.optional  udevSupport     udev
+    ++ lib.optional  usbSupport      libusb
+    ++ lib.optional  vdpauSupport    libvdpau;
 
     nativeBuildInputs = [
-      autoreconfHook cmake gnumake makeWrapper pkgconfig
+      cmake
+      doxygen
+      makeWrapper
+      which
+      pkgconfig gnumake
+      autoconf automake libtool # still needed for some components. Check if that is the case with 18.0
     ];
 
-    dontUseCmakeConfigure = true;
+    cmakeFlags = [
+      "-Dlibdvdcss_URL=${libdvdcss.src}"
+      "-Dlibdvdnav_URL=${libdvdnav.src}"
+      "-Dlibdvdread_URL=${libdvdread.src}"
+      "-DGIT_VERSION=${kodiReleaseDate}"
+      "-DENABLE_EVENTCLIENTS=ON"
+      "-DENABLE_INTERNAL_CROSSGUID=OFF"
+      "-DENABLE_OPTICAL=ON"
+      "-DLIRC_DEVICE=/run/lirc/lircd"
+    ];
+
+    enableParallelBuilding = true;
+
+    # 14 tests fail but the biggest issue is that every test takes 30 seconds -
+    # I'm guessing there is a thing waiting to time out
+    doCheck = false;
 
     postPatch = ''
       substituteInPlace xbmc/linux/LinuxTimezone.cpp \
         --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
-      substituteInPlace tools/depends/target/ffmpeg/autobuild.sh \
-        --replace "/bin/bash" "${bash}/bin/bash -ex"
-      cp ${ffmpeg_3_1_9} tools/depends/target/ffmpeg/ffmpeg-3.1.9-${rel}-${version}.tar.gz
-      ln -s ${libdvdcss.src} tools/depends/target/libdvdcss/libdvdcss-master.tar.gz
-      cp ${libdvdnav_src} tools/depends/target/libdvdnav/libdvdnav-master.tar.gz
-      cp ${libdvdread_src} tools/depends/target/libdvdread/libdvdread-master.tar.gz
     '';
 
     preConfigure = ''
-      patchShebangs .
-      ./bootstrap
-      # tests here fail
-      sed -i '/TestSystemInfo.cpp/d' xbmc/utils/test/{Makefile,CMakeLists.txt}
-      # tests here trigger a segfault in kodi.bin
-      sed -i '/TestWebServer.cpp/d'  xbmc/network/test/{Makefile,CMakeLists.txt}
+      cd project/cmake
     '';
 
-    enableParallelBuilding = true;
-
-    doCheck = true;
-
-    configureFlags = [ "--enable-libcec" ]
-    ++ lib.optional (!sambaSupport) "--disable-samba"
-    ++ lib.optional vdpauSupport "--enable-vdpau"
-    ++ lib.optional pulseSupport "--enable-pulse"
-    ++ lib.optional rtmpSupport "--enable-rtmp"
-    ++ lib.optional joystickSupport "--enable-joystick";
-
     postInstall = ''
       for p in $(ls $out/bin/) ; do
         wrapProgram $out/bin/$p \
-          --prefix PATH ":" "${lib.makeBinPath
-              [ python2 glxinfo xdpyinfo ]}" \
+          --prefix PATH            ":" "${lib.makeBinPath [ python2 glxinfo xdpyinfo ]}" \
           --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
               [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ]}"
       done
+
+      substituteInPlace $out/share/xsessions/kodi.desktop \
+        --replace kodi-standalone $out/bin/kodi-standalone
     '';
 
+    doInstallCheck = true;
+
+    installCheckPhase = "$out/bin/kodi --version";
+
     meta = with stdenv.lib; {
-      homepage = https://kodi.tv/;
       description = "Media center";
-      license = licenses.gpl2;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ domenkozar titanous edwtjo ];
+      homepage    = https://kodi.tv/;
+      license     = licenses.gpl2;
+      platforms   = platforms.linux;
+      maintainers = with maintainers; [ domenkozar titanous edwtjo peterhoeg ];
     };
 }
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index e98500f8e76c..52c39e837a12 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -149,14 +149,14 @@ rec {
 
   joystick = mkKodiABIPlugin rec {
     namespace = "peripheral.joystick";
-    version = "1.3.6";
+    version = "1.3.2";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "kodi-game";
       repo = namespace;
-      rev = "5b480ccdd4a87f2ca3283a7b8d1bd69a114af0db";
-      sha256 = "1zf5zwghx96bqk7bx53qra27lfbgfdi1dsk4s3hwixr8ii72cqpp";
+      rev = "96171dd32899553ffe8fc775fca66e8df5ff5cf1";
+      sha256 = "18m61v8z9fbh4imvzhh4g9629r9df49g2yk9ycaczirg131dhfbh";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 5d82a8c5d096..057e4327ebe1 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -29,13 +29,13 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "20.1.0";
+  version = "20.1.3";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "1366nl301rhz8cfbq89ixiq1hdxdn8iimz9xyln274anghz02sbr";
+    sha256 = "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg";
   };
 
   patches = [ ./find-xcb.patch ];
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index 29345f7548d5..825bfe7955a8 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -49,7 +49,7 @@ let
     crossAttrs = {
       configurePlatforms = [];
       configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.prefix}"
+        "--cross-prefix=${stdenv.cc.targetPrefix}"
         "--enable-cross-compile"
         "--target_os=linux"
         "--arch=${hostPlatform.arch}"
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
new file mode 100644
index 000000000000..d55f0aa1b35b
--- /dev/null
+++ b/pkgs/applications/video/peek/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala, wrapGAppsHook
+, gsettings_desktop_schemas, gtk3, keybinder3
+}:
+
+stdenv.mkDerivation rec {
+  name = "peek-${version}";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "phw";
+    repo = "peek";
+    rev = version;
+    sha256 = "04sc6gfrqvnx288rmgsywpjx9l6jcfn2qdbwjcbdvx4wl3gna0qm";
+  };
+
+  nativeBuildInputs = [ cmake gettext pkgconfig libxml2.bin txt2man vala wrapGAppsHook ];
+
+  buildInputs = [ gsettings_desktop_schemas gtk3 keybinder3 ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage    = https://github.com/phw/peek;
+    description = "Simple animated GIF screen recorder with an easy to use interface";
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ puffnfresh ];
+    platforms   = platforms.linux;
+  };
+}
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/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/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 48bb512e1341..ba74bc38a357 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -13,18 +13,8 @@ rec {
       , runcRev, runcSha256
       , containerdRev, containerdSha256
       , tiniRev, tiniSha256
-  } : stdenv.mkDerivation rec {
-    inherit version rev;
-
-    name = "docker-${version}";
-
-    src = fetchFromGitHub {
-      owner = "docker";
-      repo = "docker-ce";
-      rev = "v${version}";
-      sha256 = sha256;
-    };
-
+    } :
+  let
     docker-runc = runc.overrideAttrs (oldAttrs: rec {
       name = "docker-runc";
       src = fetchFromGitHub {
@@ -36,6 +26,7 @@ rec {
       # docker/runc already include these patches / are not applicable
       patches = [];
     });
+
     docker-containerd = containerd.overrideAttrs (oldAttrs: rec {
       name = "docker-containerd";
       src = fetchFromGitHub {
@@ -45,12 +36,18 @@ rec {
         sha256 = containerdSha256;
       };
 
+      hardeningDisable = [ "fortify" ];
+
+      buildInputs = [ removeReferencesTo go btrfs-progs ];
+
       # This should go into the containerd derivation once 1.0.0 is out
       preBuild = ''
+        export GOPATH=$(pwd)/vendor
         mkdir $(pwd)/vendor/src
         mv $(pwd)/vendor/{github.com,golang.org,google.golang.org} $(pwd)/vendor/src/
       '' + oldAttrs.preBuild;
     });
+
     docker-tini = tini.overrideAttrs  (oldAttrs: rec {
       name = "docker-init";
       src = fetchFromGitHub {
@@ -68,32 +65,49 @@ rec {
         "-DMINIMAL=ON"
       ];
     });
+  in
+    stdenv.mkDerivation ((optionalAttrs (stdenv.isLinux) rec {
+
+    inherit docker-runc docker-containerd docker-proxy docker-tini;
+
+    DOCKER_BUILDTAGS = []
+      ++ optional (systemd != null) [ "journald" ]
+      ++ optional (btrfs-progs == null) "exclude_graphdriver_btrfs"
+      ++ optional (devicemapper == null) "exclude_graphdriver_devicemapper"
+      ++ optional (libseccomp != null) "seccomp";
+
+   }) // rec {
+    inherit version rev;
+
+    name = "docker-${version}";
+
+    src = fetchFromGitHub {
+      owner = "docker";
+      repo = "docker-ce";
+      rev = "v${version}";
+      sha256 = sha256;
+    };
 
     # Optimizations break compilation of libseccomp c bindings
     hardeningDisable = [ "fortify" ];
 
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [
-      makeWrapper removeReferencesTo go-md2man go
-      sqlite devicemapper btrfs-progs systemd libtool libseccomp
+      makeWrapper removeReferencesTo go-md2man go libtool
+    ] ++ optionals (stdenv.isLinux) [
+      sqlite devicemapper btrfs-progs systemd libseccomp
     ];
 
     dontStrip = true;
 
-    DOCKER_BUILDTAGS = []
-      ++ optional (systemd != null) [ "journald" ]
-      ++ optional (btrfs-progs == null) "exclude_graphdriver_btrfs"
-      ++ optional (devicemapper == null) "exclude_graphdriver_devicemapper"
-      ++ optional (libseccomp != null) "seccomp";
-
-    buildPhase = ''
+    buildPhase = (optionalString (stdenv.isLinux) ''
       # build engine
       cd ./components/engine
       export AUTO_GOPATH=1
       export DOCKER_GITCOMMIT="${rev}"
       ./hack/make.sh dynbinary
       cd -
-
+    '') + ''
       # build cli
       cd ./components/cli
       # Mimic AUTO_GOPATH
@@ -110,27 +124,24 @@ rec {
 
     # systemd 230 no longer has libsystemd-journal as a separate entity from libsystemd
     patchPhase = ''
+      substituteInPlace ./components/cli/scripts/build/.variables --replace "set -eu" ""
+    '' + optionalString (stdenv.isLinux) ''
       patchShebangs .
       substituteInPlace ./components/engine/hack/make.sh                   --replace libsystemd-journal libsystemd
       substituteInPlace ./components/engine/daemon/logger/journald/read.go --replace libsystemd-journal libsystemd
-      substituteInPlace ./components/cli/scripts/build/.variables --replace "set -eu" ""
-     '';
+    '';
 
     outputs = ["out" "man"];
 
-    extraPath = makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps utillinux ];
-
-    installPhase = ''
-      install -Dm755 ./components/cli/docker $out/libexec/docker/docker
+    extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps utillinux ]);
 
+    installPhase = optionalString (stdenv.isLinux) ''
       if [ -d "./components/engine/bundles/${version}" ]; then
         install -Dm755 ./components/engine/bundles/${version}/dynbinary-daemon/dockerd-${version} $out/libexec/docker/dockerd
       else
         install -Dm755 ./components/engine/bundles/dynbinary-daemon/dockerd-${version} $out/libexec/docker/dockerd
       fi
 
-      makeWrapper $out/libexec/docker/docker $out/bin/docker \
-        --prefix PATH : "$out/libexec/docker:$extraPath"
       makeWrapper $out/libexec/docker/dockerd $out/bin/dockerd \
         --prefix PATH : "$out/libexec/docker:$extraPath"
 
@@ -143,6 +154,11 @@ rec {
 
       # systemd
       install -Dm644 ./components/engine/contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
+    '' + ''
+      install -Dm755 ./components/cli/docker $out/libexec/docker/docker
+
+      makeWrapper $out/libexec/docker/docker $out/bin/docker \
+        --prefix PATH : "$out/libexec/docker:$extraPath"
 
       # completion (cli)
       install -Dm644 ./components/cli/contrib/completion/bash/docker $out/share/bash-completion/completions/docker
@@ -174,17 +190,19 @@ rec {
     '';
 
     preFixup = ''
-      find $out -type f -exec remove-references-to -t ${go} -t ${stdenv.cc.cc} -t ${stdenv.glibc.dev} '{}' +
+      find $out -type f -exec remove-references-to -t ${go} -t ${stdenv.cc.cc} '{}' +
+    '' + optionalString (stdenv.isLinux) ''
+      find $out -type f -exec remove-references-to -t ${stdenv.glibc.dev} '{}' +
     '';
 
     meta = {
       homepage = https://www.docker.com/;
       description = "An open source project to pack, ship and run any application as a lightweight container";
       license = licenses.asl20;
-      maintainers = with maintainers; [ nequissimus offline tailhook vdemeester ];
-      platforms = platforms.linux;
+      maintainers = with maintainers; [ nequissimus offline tailhook vdemeester periklis ];
+      platforms = with platforms; linux ++ darwin;
     };
-  };
+  });
 
   # Get revisions from
   # https://github.com/docker/docker-ce/blob/v${version}/components/engine/hack/dockerfile/binaries-commits
@@ -201,14 +219,14 @@ rec {
     tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
   };
 
-  docker_17_10 = dockerGen rec {
-    version = "17.10.0-ce";
-    rev = "f4ffd2511ce93aa9e5eefdf0e912f77543080b0b"; # git commit
-    sha256 = "07x47cfdaz4lhlga1pchcbqqy0nd2q6zch0ycag18vzi99w4gmh2";
+  docker_17_11 = dockerGen rec {
+    version = "17.11.0-ce";
+    rev = "1caf76ce6baa889133ece59fab3c36aaf143d4ef"; # git commit
+    sha256 = "09s7lxcs4wdjj69l7z3nybbms7iqspk1wy7qnr4r52s8vr3fd5s4";
     runcRev = "0351df1c5a66838d0c392b4ac4cf9450de844e2d";
     runcSha256 = "1cmkdv6rli7v0y0fddqxvrvzd486fg9ssp3kgkya3szkljzz4xj0";
-    containerdRev = "06b9cb35161009dcb7123345749fef02f7cea8e0";
-    containerdSha256 = "10hms8a2nn69nfnwly6923jzx40c3slpsdhjhff4bxh36flpf9gd";
+    containerdRev = "992280e8e265f491f7a624ab82f3e238be086e49";
+    containerdSha256 = "1ci6jlgrrgz4ph451035sl98lj2jd467pd4qnv85ma9gzblrxs7n";
     tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
     tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
   };
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index 9ca73747c459..cd72142e9794 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
       overhead
     '';
     homepage    = https://github.com/lkl/linux/;
-    platforms   = [ "x86_64-linux" ]; # Darwin probably works too but I haven't tested it
+    platforms   = [ "x86_64-linux" "aarch64-linux" ]; # Darwin probably works too but I haven't tested it
     license     = licenses.gpl2;
     maintainers = with maintainers; [ copumpkin ];
   };
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index cb0f772ada3a..2488bb1ae10e 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -4,7 +4,7 @@
 , makeWrapper
 , attr, libcap, libcap_ng
 , CoreServices, Cocoa, rez, setfile
-, numaSupport ? stdenv.isLinux, numactl
+, numaSupport ? stdenv.isLinux && !stdenv.isArm, numactl
 , seccompSupport ? stdenv.isLinux, libseccomp
 , pulseSupport ? !stdenv.isDarwin, libpulseaudio
 , sdlSupport ? !stdenv.isDarwin, SDL
@@ -12,7 +12,7 @@
 , spiceSupport ? !stdenv.isDarwin, spice, spice_protocol
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
-, x86Only ? false
+, hostCpuOnly ? false
 , nixosTestRunner ? false
 }:
 
@@ -23,12 +23,17 @@ let
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
+
+  hostCpuTargets = if stdenv.isi686 || stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
+                      else if stdenv.isArm then "arm-softmmu"
+                      else if stdenv.isAarch64 then "aarch64-softmmu"
+                      else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
 in
 
 stdenv.mkDerivation rec {
   name = "qemu-"
     + stdenv.lib.optionalString xenSupport "xen-"
-    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString hostCpuOnly "host-cpu-only-"
     + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
     + version;
 
@@ -57,7 +62,12 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-etc-install.patch ]
     ++ optional nixosTestRunner ./force-uid0-on-9p.patch
-    ++ optional pulseSupport ./fix-hda-recording.patch;
+    ++ optional pulseSupport ./fix-hda-recording.patch
+    ++ [ (fetchpatch {
+           name = "qemu-CVE-2017-15118.patch";
+           url = "http://git.qemu.org/?p=qemu.git;a=patch;h=51ae4f8455c9e32c54770c4ebc25bf86a8128183";
+           sha256 = "0f9i096dz3h1i8g92y99vak23rjs1shf7prlcxqizsz0fah7wx7h"; })
+       ];
 
   hardeningDisable = [ "stackprotector" ];
 
@@ -75,7 +85,7 @@ stdenv.mkDerivation rec {
     ++ optional seccompSupport "--enable-seccomp"
     ++ optional spiceSupport "--enable-spice"
     ++ optional usbredirSupport "--enable-usb-redir"
-    ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
+    ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
     ++ optional stdenv.isDarwin "--enable-cocoa"
     ++ optional stdenv.isLinux "--enable-linux-aio"
     ++ optional xenSupport "--enable-xen";
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 6649b027c316..3e502cde08b2 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 = "9328548ca8cbc526232c0631cb5a17618c771b07665b362c1e3d89a2425bf799";
+  extpackRev = "119230";
+  main = "05y03fcp013gc500q34bj6hvx1banib41v8l3hcxknzfgwq0rarm";
+  version = "5.2.2";
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
   extensionPack = requireFile rec {
@@ -94,14 +94,6 @@ in stdenv.mkDerivation {
   postPatch = ''
     sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \
       src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp
-    patch -p0 < ${
-      fetchurl { # for glibc-2.26
-        name = "conflicting-types-for-greg_t.patch";
-        url = "http://www.linuxquestions.org/questions/"
-            + "attachment.php?attachmentid=25801&d=1504099531";
-        sha256 = "1bcyf9qrqxizyjp1s662k6n1cfyfjbl7256r4n20kbr65yxcydps";
-      }
-    }
   '';
 
   # first line: ugly hack, and it isn't yet clear why it's a problem
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index eb2e1ebf4a7a..0aa0423fc13a 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,14 +19,22 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0vxhavlh55fdlm4zhvi21fyxzdydbn56y499bq5aghvsdsmwiy3d";
+    sha256 = "1f0vm20qdjxqsbciwgybxqqpn609gj5dy68an8lpi1wlk93s05w3";
   };
 
-  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";
+
+  patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
+
+  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 +63,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 +99,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 +125,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..0be949f63c92
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch
@@ -0,0 +1,38 @@
+diff --git a/vboxsf/Makefile.include.header b/vboxsf/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxsf/Makefile.include.header
++++ b/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/vboxguest/Makefile.include.header b/vboxguest/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxguest/Makefile.include.header
++++ b/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/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxvideo/Makefile.include.header
++++ b/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..e59e2e98c1b3
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch
@@ -0,0 +1,12 @@
+diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxvideo/Makefile.include.header
++++ b/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/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index ec73150a5069..4043c05e3d6d 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -10,7 +10,7 @@
 with luaPackages; stdenv.mkDerivation rec {
   name = "awesome-${version}";
   version = "4.2";
-  
+
   src = fetchFromGitHub {
     owner = "awesomewm";
     repo = "awesome";
@@ -25,10 +25,10 @@ with luaPackages; stdenv.mkDerivation rec {
     imagemagick
     makeWrapper
     pkgconfig
-    xmlto docbook_xml_dtd_45 
+    xmlto docbook_xml_dtd_45
     docbook_xsl findXMLCatalogs
   ];
-   
+
   propagatedUserEnvPkgs = [ hicolor_icon_theme ];
   buildInputs = [ cairo librsvg dbus gdk_pixbuf gobjectIntrospection
                   git lgi libpthreadstubs libstartup_notification
@@ -49,8 +49,8 @@ with luaPackages; stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/awesome \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \
-      --prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \
+      --prefix LUA_CPATH ";" '${lgi}/lib/lua/${lua.luaversion}/?.so' \
+      --prefix LUA_PATH ";" '${lgi}/share/lua/${lua.luaversion}/?.lua' \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
       --prefix PATH : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
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/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index 8f4d4858ca11..22521cc6da8d 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -36,9 +36,9 @@ python27Packages.buildPythonApplication rec {
 
   postInstall = ''
     wrapProgram $out/bin/qtile \
-      --set QTILE_WRAPPER '$0' \
-      --set QTILE_SAVED_PYTHONPATH '$PYTHONPATH' \
-      --set QTILE_SAVED_PATH '$PATH'
+      --run 'export QTILE_WRAPPER=$0' \
+      --run 'export QTILE_SAVED_PYTHONPATH=$PYTHONPATH' \
+      --run 'export QTILE_SAVED_PATH=$PATH'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 395541d62503..0b78debdc589 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   name = "weston-${version}";
-  version = "1.12.0";
+  version = "3.0.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "ac7ac2a32e3b9f50131fccded5d2326bd36b2226712d90b61999118a09af5033";
+    sha256 = "19936zlkb75xcaidd8fag4ah8000wrh2ziqy7nxkq36pimgdbqfd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash b/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash
deleted file mode 100644
index c3077e869e75..000000000000
--- a/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash
+++ /dev/null
@@ -1,108 +0,0 @@
-#! @shell@
-
-set -eu -o pipefail
-
-path_backup="$PATH"
-if [ -n "@coreutils_bin@" ]; then
-  PATH="@coreutils_bin@/bin"
-fi
-
-declare -r recurThreshold=300
-
-declare overflowCount=0
-for ((n=0; n < $#; ++n)); do
-    case "${!n}" in
-        -l*) let overflowCount+=1 ;;
-        -reexport-l*) let overflowCount+=1 ;;
-        *) ;;
-    esac
-done
-
-declare -a allArgs=()
-
-if (( "$overflowCount" <= "$recurThreshold" )); then
-    allArgs=("$@")
-else
-    declare -a childrenLookup=() childrenLink=()
-
-    while (( $# )); do
-        case "$1" in
-            -L/*)
-                childrenLookup+=("$1")
-                allArgs+=("$1")
-                ;;
-            -L)
-                echo "cctools LD does not support '-L foo' or '-l foo'" >&2
-                exit 1
-                ;;
-            -l)
-                echo "cctools LD does not support '-L foo' or '-l foo'" >&2
-                exit 1
-                ;;
-            -lazy_library | -lazy_framework | -lto_library)
-                # We aren't linking any "azy_library", "to_library", etc.
-                allArgs+=("$1")
-                ;;
-            -lazy-l | -weak-l)    allArgs+=("$1") ;;
-                # We can't so easily prevent header issues from these.
-            -lSystem)             allArgs+=("$1") ;;
-                # Special case as indirection seems like a bad idea for something
-                # so fundamental. Can be removed for simplicity.
-            -l?* | -reexport-l?*) childrenLink+=("$1") ;;
-            *)                    allArgs+=("$1") ;;
-        esac
-
-        shift
-    done
-
-    declare n=0
-    while (( $n < "${#childrenLink[@]}" )); do
-        if [[ "${childrenLink[n]}" = -l* ]]; then
-            childrenLink[n]="-reexport${childrenLink[n]}"
-        fi
-        let ++n
-    done
-    unset n
-
-    declare -r outputNameLibless=$(basename $( \
-        if [[ -z "${outputName:+isUndefined}" ]]; then
-            echo unnamed
-        elif [[ "${outputName:0:3}" = lib ]]; then
-            echo "${outputName:3}"
-        else
-            echo "${outputName}"
-        fi))
-    declare -ra children=("$outputNameLibless-reexport-delegate-0" \
-                          "$outputNameLibless-reexport-delegate-1")
-
-    mkdir -p "$out/lib"
-
-    PATH="$PATH:@out@/bin"
-
-    symbolBloatObject=$outputNameLibless-symbol-hack.o
-    if [[ ! -e $symbolBloatObject ]]; then
-        # `-Q` means use GNU Assembler rather than Clang, avoiding an awkward
-        # dependency cycle.
-        printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
-            | @binPrefix@as -Q -- -o $symbolBloatObject
-    fi
-
-    # first half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
-      -o "$out/lib/lib${children[0]}.dylib" \
-      -install_name "$out/lib/lib${children[0]}.dylib" \
-      "${childrenLookup[@]}" "$symbolBloatObject" \
-      "${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
-
-    # second half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
-      -o "$out/lib/lib${children[1]}.dylib" \
-      -install_name "$out/lib/lib${children[1]}.dylib" \
-      "${childrenLookup[@]}" "$symbolBloatObject" \
-      "${childrenLink[@]:$((${#childrenLink[@]} / 2 ))}"
-
-    allArgs+=("-L$out/lib" "-l${children[0]}" "-l${children[1]}")
-fi
-
-PATH="$path_backup"
-exec @prog@ "${allArgs[@]}"
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 8d8b8a42fe9f..b79697b33f0c 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -32,8 +32,8 @@ let
   #
   # TODO(@Ericson2314) Make unconditional, or optional but always true by
   # default.
-  prefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
-                                     (targetPlatform.config + "-");
+  targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
+                                           (targetPlatform.config + "-");
 
   ccVersion = (builtins.parseDrvName cc.name).version;
   ccName = (builtins.parseDrvName cc.name).name;
@@ -81,7 +81,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = prefix
+  name = targetPrefix
     + (if name != "" then name else "${ccName}-wrapper")
     + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
 
@@ -91,8 +91,7 @@ stdenv.mkDerivation {
   shell = getBin shell + shell.shellPath or "";
   gnugrep_bin = if nativeTools then "" else gnugrep;
 
-  binPrefix = prefix;
-  inherit infixSalt;
+  inherit targetPrefix infixSalt;
 
   outputs = [ "out" "man" ];
 
@@ -102,8 +101,7 @@ stdenv.mkDerivation {
     # 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;
+    inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile;
 
     emacsBufferSetup = pkgs: ''
       ; We should handle propagation here too
@@ -154,7 +152,7 @@ stdenv.mkDerivation {
     + optionalString (targetPlatform.isSunOS && nativePrefix != "") ''
       # Solaris needs an additional ld wrapper.
       ldPath="${nativePrefix}/bin"
-      exec="$ldPath/${prefix}ld"
+      exec="$ldPath/${targetPrefix}ld"
       wrap ld-solaris ${./ld-solaris-wrapper.sh}
     '')
 
@@ -162,83 +160,83 @@ stdenv.mkDerivation {
       # Create a symlink to as (the assembler).  This is useful when a
       # cc-wrapper is installed in a user environment, as it ensures that
       # the right assembler is called.
-      if [ -e $ldPath/${prefix}as ]; then
-        ln -s $ldPath/${prefix}as $out/bin/${prefix}as
+      if [ -e $ldPath/${targetPrefix}as ]; then
+        ln -s $ldPath/${targetPrefix}as $out/bin/${targetPrefix}as
       fi
 
     '' + (if !useMacosReexportHack then ''
-      wrap ${prefix}ld ${./ld-wrapper.sh} ''${ld:-$ldPath/${prefix}ld}
+      wrap ${targetPrefix}ld ${./ld-wrapper.sh} ''${ld:-$ldPath/${targetPrefix}ld}
     '' else ''
-      ldInner="${prefix}ld-reexport-delegate"
-      wrap "$ldInner" ${./macos-sierra-reexport-hack.bash} ''${ld:-$ldPath/${prefix}ld}
-      wrap "${prefix}ld" ${./ld-wrapper.sh} "$out/bin/$ldInner"
+      ldInner="${targetPrefix}ld-reexport-delegate"
+      wrap "$ldInner" ${./macos-sierra-reexport-hack.bash} ''${ld:-$ldPath/${targetPrefix}ld}
+      wrap "${targetPrefix}ld" ${./ld-wrapper.sh} "$out/bin/$ldInner"
       unset ldInner
     '') + ''
 
-      if [ -e ${binutils_bin}/bin/${prefix}ld.gold ]; then
-        wrap ${prefix}ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/${prefix}ld.gold
+      if [ -e ${binutils_bin}/bin/${targetPrefix}ld.gold ]; then
+        wrap ${targetPrefix}ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/${targetPrefix}ld.gold
       fi
 
       if [ -e ${binutils_bin}/bin/ld.bfd ]; then
-        wrap ${prefix}ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/${prefix}ld.bfd
+        wrap ${targetPrefix}ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/${targetPrefix}ld.bfd
       fi
 
       # We export environment variables pointing to the wrapped nonstandard
       # cmds, lest some lousy configure script use those to guess compiler
       # version.
-      export named_cc=${prefix}cc
-      export named_cxx=${prefix}c++
+      export named_cc=${targetPrefix}cc
+      export named_cxx=${targetPrefix}c++
 
       export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
-      if [ -e $ccPath/${prefix}gcc ]; then
-        wrap ${prefix}gcc ${./cc-wrapper.sh} $ccPath/${prefix}gcc
-        ln -s ${prefix}gcc $out/bin/${prefix}cc
-        export named_cc=${prefix}gcc
-        export named_cxx=${prefix}g++
+      if [ -e $ccPath/${targetPrefix}gcc ]; then
+        wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
+        ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
+        export named_cc=${targetPrefix}gcc
+        export named_cxx=${targetPrefix}g++
       elif [ -e $ccPath/clang ]; then
-        wrap ${prefix}clang ${./cc-wrapper.sh} $ccPath/clang
-        ln -s ${prefix}clang $out/bin/${prefix}cc
-        export named_cc=${prefix}clang
-        export named_cxx=${prefix}clang++
+        wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
+        ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
+        export named_cc=${targetPrefix}clang
+        export named_cxx=${targetPrefix}clang++
       fi
 
-      if [ -e $ccPath/${prefix}g++ ]; then
-        wrap ${prefix}g++ ${./cc-wrapper.sh} $ccPath/${prefix}g++
-        ln -s ${prefix}g++ $out/bin/${prefix}c++
+      if [ -e $ccPath/${targetPrefix}g++ ]; then
+        wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
+        ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
       elif [ -e $ccPath/clang++ ]; then
-        wrap ${prefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
-        ln -s ${prefix}clang++ $out/bin/${prefix}c++
+        wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
       fi
 
       if [ -e $ccPath/cpp ]; then
-        wrap ${prefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
+        wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
       fi
     ''
 
     + optionalString cc.langFortran or false ''
-      wrap ${prefix}gfortran ${./cc-wrapper.sh} $ccPath/${prefix}gfortran
-      ln -sv ${prefix}gfortran $out/bin/${prefix}g77
-      ln -sv ${prefix}gfortran $out/bin/${prefix}f77
+      wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
+      ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
+      ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
     ''
 
     + optionalString cc.langJava or false ''
-      wrap ${prefix}gcj ${./cc-wrapper.sh} $ccPath/${prefix}gcj
+      wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
     ''
 
     + optionalString cc.langGo or false ''
-      wrap ${prefix}gccgo ${./cc-wrapper.sh} $ccPath/${prefix}gccgo
+      wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
     ''
 
     + optionalString cc.langAda or false ''
-      wrap ${prefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${prefix}gnatgcc
-      wrap ${prefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${prefix}gnatmake
-      wrap ${prefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${prefix}gnatbind
-      wrap ${prefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${prefix}gnatlink
+      wrap ${targetPrefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gnatgcc
+      wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
+      wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
+      wrap ${targetPrefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${targetPrefix}gnatlink
     ''
 
     + optionalString cc.langVhdl or false ''
-      ln -s $ccPath/${prefix}ghdl $out/bin/${prefix}ghdl
+      ln -s $ccPath/${targetPrefix}ghdl $out/bin/${targetPrefix}ghdl
     '';
 
   propagatedBuildInputs = extraPackages;
@@ -362,10 +360,10 @@ stdenv.mkDerivation {
 
       # some linkers on some platforms don't support specific -z flags
       export hardening_unsupported_flags=""
-      if [[ "$($ldPath/${prefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
+      if [[ "$($ldPath/${targetPrefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
         hardening_unsupported_flags+=" bindnow"
       fi
-      if [[ "$($ldPath/${prefix}ld -z relro 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
+      if [[ "$($ldPath/${targetPrefix}ld -z relro 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
         hardening_unsupported_flags+=" relro"
       fi
     ''
diff --git a/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash b/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
index b7aa7ea5c092..205035453332 100644
--- a/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
+++ b/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
@@ -82,18 +82,18 @@ else
     symbolBloatObject=$outputNameLibless-symbol-hack.o
     if [[ ! -e $symbolBloatObject ]]; then
         printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
-            | @binPrefix@as -- -o $symbolBloatObject
+            | @targetPrefix@as -- -o $symbolBloatObject
     fi
 
     # first half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
+    @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
       -o "$out/lib/lib${children[0]}.dylib" \
       -install_name "$out/lib/lib${children[0]}.dylib" \
       "${childrenLookup[@]}" "$symbolBloatObject" \
       "${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
 
     # second half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
+    @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
       -o "$out/lib/lib${children[1]}.dylib" \
       -install_name "$out/lib/lib${children[1]}.dylib" \
       "${childrenLookup[@]}" "$symbolBloatObject" \
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
index e43c1609edb1..7822b7f84d00 100644
--- a/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -97,10 +97,12 @@ ccWrapper_addCVars () {
 # setup-hook, which `role` tracks.
 if [ -n "${crossConfig:-}" ]; then
     export NIX_CC_WRAPPER_@infixSalt@_TARGET_BUILD=1
-    role="BUILD_"
+    role_pre='BUILD_'
+    role_post='_FOR_BUILD'
 else
     export NIX_CC_WRAPPER_@infixSalt@_TARGET_HOST=1
-    role=""
+    role_pre=''
+    role_post=''
 fi
 
 # Eventually the exact sort of env-hook we create will depend on the role. This
@@ -133,20 +135,24 @@ fi
 
 # Export tool environment variables so various build systems use the right ones.
 
-export NIX_${role}CC=@out@
+export NIX_${role_pre}CC=@out@
 
-export ${role}CC=@named_cc@
-export ${role}CXX=@named_cxx@
+export ${role_pre}CC=@named_cc@
+export ${role_pre}CXX=@named_cxx@
+export CC${role_post}=@named_cc@
+export CXX${role_post}=@named_cxx@
 
-for CMD in \
-    ar as nm objcopy ranlib strip strings size ld windres
+for cmd in \
+    ar as ld nm objcopy objdump readelf ranlib strip strings size windres
 do
     if
-        PATH=$_PATH type -p "@binPrefix@$CMD" > /dev/null
+        PATH=$_PATH type -p "@targetPrefix@${cmd}" > /dev/null
     then
-        export "${role}$(echo "$CMD" | tr "[:lower:]" "[:upper:]")=@binPrefix@${CMD}";
+        upper_case="$(echo "$cmd" | tr "[:lower:]" "[:upper:]")"
+        export "${role_pre}${upper_case}=@targetPrefix@${cmd}";
+        export "${upper_case}${role_post}=@targetPrefix@${cmd}";
     fi
 done
 
 # No local scope in sourced file
-unset role
+unset -v role_pre role_post cmd upper_case
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 376cd0e1d154..5e1785446441 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -94,6 +94,7 @@ stdenv.mkDerivation (
       touch now
       touch -d "1970-01-01 00:00:00 UTC" then
       find $sourceRoot ! -newer then -print0 | xargs -0r touch --reference now
+      rm now then
       eval "$nextPostUnpack"
     '';
 
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 37ea264a53fb..57948c33bbc3 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -43,6 +43,10 @@ in stdenv.mkDerivation (args // {
   postUnpack = ''
     eval "$cargoDepsHook"
 
+    unpackFile "$cargoDeps"
+    cargoDepsCopy=$(stripHash $(basename $cargoDeps))
+    chmod -R +w "$cargoDepsCopy"
+
     mkdir .cargo
     cat >.cargo/config <<-EOF
       [source.crates-io]
@@ -50,9 +54,11 @@ in stdenv.mkDerivation (args // {
       replace-with = 'vendored-sources'
 
       [source.vendored-sources]
-      directory = '$cargoDeps'
+      directory = '$(pwd)/$cargoDepsCopy'
     EOF
 
+    unset cargoDepsCopy
+
     export RUST_LOG=${logLevel}
     export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
   '' + (args.postUnpack or "");
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index f9d435df655b..f75b285bacf2 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -47,7 +47,12 @@ makeWrapper() {
             varName="${params[$((n + 1))]}"
             value="${params[$((n + 2))]}"
             n=$((n + 2))
-            echo "export $varName=\"$value\"" >> "$wrapper"
+            echo "export $varName=${value@Q}" >> "$wrapper"
+        elif [[ "$p" == "--set-default" ]]; then
+            varName="${params[$((n + 1))]}"
+            value="${params[$((n + 2))]}"
+            n=$((n + 2))
+            echo "export $varName=\${$varName-${value@Q}}" >> "$wrapper"
         elif [[ "$p" == "--unset" ]]; then
             varName="${params[$((n + 1))]}"
             n=$((n + 1))
@@ -63,9 +68,9 @@ makeWrapper() {
             n=$((n + 3))
             if test -n "$value"; then
                 if test "$p" = "--suffix"; then
-                    echo "export $varName=\$$varName\${$varName:+$separator}$value" >> "$wrapper"
+                    echo "export $varName=\$$varName\${$varName:+${separator@Q}}${value@Q}" >> "$wrapper"
                 else
-                    echo "export $varName=$value\${$varName:+$separator}\$$varName" >> "$wrapper"
+                    echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
                 fi
             fi
         elif [[ "$p" == "--suffix-each" ]]; then
@@ -74,7 +79,7 @@ makeWrapper() {
             values="${params[$((n + 3))]}"
             n=$((n + 3))
             for value in $values; do
-                echo "export $varName=\$$varName\${$varName:+$separator}$value" >> "$wrapper"
+                echo "export $varName=\$$varName\${$varName:+$separator}${value@Q}" >> "$wrapper"
             done
         elif [[ ("$p" == "--suffix-contents") || ("$p" == "--prefix-contents") ]]; then
             varName="${params[$((n + 1))]}"
@@ -82,10 +87,11 @@ makeWrapper() {
             fileNames="${params[$((n + 3))]}"
             n=$((n + 3))
             for fileName in $fileNames; do
+                contents="$(cat "$fileName")"
                 if test "$p" = "--suffix-contents"; then
-                    echo "export $varName=\$$varName\${$varName:+$separator}$(cat "$fileName")" >> "$wrapper"
+                    echo "export $varName=\$$varName\${$varName:+$separator}${contents@Q}" >> "$wrapper"
                 else
-                    echo "export $varName=$(cat "$fileName")\${$varName:+$separator}\$$varName" >> "$wrapper"
+                    echo "export $varName=${contents@Q}\${$varName:+$separator}\$$varName" >> "$wrapper"
                 fi
             done
         elif [[ "$p" == "--add-flags" ]]; then
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh
index 60d4ccf99ed1..d43b18776742 100644
--- a/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -140,6 +140,7 @@ _multioutDocs() {
     moveToOutput share/info "${!outputInfo}"
     moveToOutput share/doc "${!outputDoc}"
     moveToOutput share/gtk-doc "${!outputDevdoc}"
+    moveToOutput share/devhelp/books "${!outputDevdoc}"
 
     # the default outputMan is in $bin
     moveToOutput share/man "${!outputMan}"
@@ -164,8 +165,6 @@ _multioutDevs() {
 }
 
 # Make the "dev" propagate other outputs needed for development.
-# Note: with current cross-building setup, all packages are "native" if not cross-building;
-# however, if cross-building, the outputs are non-native. We have to choose the right file.
 _multioutPropagateDev() {
     if [ "$outputs" = "out" ]; then return; fi;
 
@@ -193,16 +192,8 @@ _multioutPropagateDev() {
         return
     fi
 
-    local propagatedBuildInputsFile
-    if [ -z "$crossConfig" ]; then
-        propagatedBuildInputsFile=propagated-native-build-inputs
-    else
-        propagatedBuildInputsFile=propagated-build-inputs
-    fi
-
     mkdir -p "${!propagaterOutput}"/nix-support
     for output in $propagatedBuildOutputs; do
-        echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/$propagatedBuildInputsFile
+        echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs
     done
 }
-
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 32214db65842..7d44feb5ca65 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -101,7 +101,7 @@ rec {
         mkdir -p $out/nix-support
         cp ${script} $out/nix-support/setup-hook
       '' + lib.optionalString (deps != []) ''
-        printWords ${toString deps} > $out/nix-support/propagated-native-build-inputs
+        printWords ${toString deps} > $out/nix-support/propagated-build-inputs
       '' + lib.optionalString (substitutions != {}) ''
         substituteAll ${script} $out/nix-support/setup-hook
       '');
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index d886e9a56fa4..fdd7c2013b40 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -3,7 +3,7 @@
 , img ? "bzImage"
 , storeDir ? builtins.storeDir
 , rootModules ?
-    [ "virtio_pci" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
+    [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
 }:
 
 with pkgs;
@@ -64,6 +64,7 @@ rec {
     ''
       mknod -m 666 ${dev}/null    c 1 3
       mknod -m 666 ${dev}/zero    c 1 5
+      mknod -m 666 ${dev}/full    c 1 7
       mknod -m 666 ${dev}/random  c 1 8
       mknod -m 666 ${dev}/urandom c 1 9
       mknod -m 666 ${dev}/tty     c 5 0
@@ -1310,6 +1311,17 @@ rec {
       packages = commonCentOSPackages ++ [ "procps-ng" ];
     };
 
+    centos73x86_64 = {
+      name = "centos-7.3-x86_64";
+      fullName = "CentOS 7.3 (x86_64)";
+      packagesList = fetchurl {
+        url = http://vault.centos.org/7.3.1611/os/x86_64/repodata/dd86df27191d231cc6b7c5828fadb63b08db4725aef8e2613351667e649c9ca3-primary.xml.gz;
+        sha256 = "18wwkij7wrji6dhy5y5f4m3xn21vnsnqz0n5nz31q8qx34kxz1nx";
+      };
+      urlPrefix = http://vault.centos.org/7.3.1611/os/x86_64;
+      archs = ["noarch" "x86_64"];
+      packages = commonCentOSPackages ++ [ "procps-ng" ];
+    };
   };
 
 
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/inconsolata/default.nix b/pkgs/data/fonts/inconsolata/default.nix
index 13aeae803124..e1544787b726 100644
--- a/pkgs/data/fonts/inconsolata/default.nix
+++ b/pkgs/data/fonts/inconsolata/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchzip }:
+{ stdenv, google-fonts }:
 
-let
-  version = "1.010";
-in fetchzip {
+stdenv.mkDerivation rec {
   name = "inconsolata-${version}";
 
-  url = "http://www.levien.com/type/myfonts/Inconsolata.otf";
+  inherit (google-fonts) src version;
 
-  postFetch = "install -Dm644 $downloadedFile $out/share/fonts/opentype/inconsolata.otf";
-
-  sha256 = "1yyf7agabfv0ia57c7in0r33x7c8ay445zf7c3dfc83j6w85g3i7";
+  installPhase = ''
+    install -m644 --target $out/share/fonts/truetype/inconsolata -D $src/ofl/inconsolata/*.ttf
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.levien.com/type/myfonts/inconsolata.html;
     description = "A monospace font for both screen and print";
-    maintainers = with maintainers; [ raskin rycee ];
+    maintainers = with maintainers; [ mikoim raskin rycee ];
     license = licenses.ofl;
     platforms = platforms.all;
   };
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
new file mode 100644
index 000000000000..3ac8bd339a08
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "1.13.3";
+in fetchzip rec {
+  name = "iosevka-bin-${version}";
+
+  url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
+  '';
+
+  sha256 = "0103rjxcp2sis42xp7fh7g8i03h5snvs8n78lgsf79g8ssw0p9d4";
+
+  meta = with stdenv.lib; {
+    homepage = https://be5invis.github.io/Iosevka/;
+    downloadPage = "https://github.com/be5invis/Iosevka/releases";
+    description = ''
+      Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
+      Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
+    '';
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.cstrahan ];
+  };
+}
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 04f8ebc613c5..bf36d23e5c2f 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,18 +1,88 @@
-{ stdenv, fetchzip }:
+{
+  stdenv, lib,
+  fetchFromGitHub, fetchurl,
+  runCommand, writeText,
+  nodejs, ttfautohint-nox, otfcc,
+
+  # Custom font set options.
+  # See https://github.com/be5invis/Iosevka#build-your-own-style
+  design ? [], upright ? [], italic ? [], oblique ? [],
+  # Custom font set name. Required if any custom settings above.
+  set ? null
+}:
+
+assert (design != []) -> set != null;
+assert (upright != []) -> set != null;
+assert (italic != []) -> set != null;
+assert (oblique != []) -> set != null;
+
+let
+  installPackageLock = import ./package-lock.nix { inherit fetchurl lib; };
+in
+
+let pname = if set != null then "iosevka-${set}" else "iosevka"; in
 
 let
   version = "1.13.3";
-in fetchzip rec {
-  name = "iosevka-${version}";
+  name = "${pname}-${version}";
+  src = fetchFromGitHub {
+    owner = "be5invis";
+    repo ="Iosevka";
+    rev = "v${version}";
+    sha256 = "0wfhfiahllq8ngn0mybvp29cfcm7b8ndk3fyhizd620wrj50bazf";
+  };
+in
+
+with lib;
+let unwords = concatStringsSep " "; in
+
+let
+  param = name: options:
+    if options != [] then "${name}='${unwords options}'" else null;
+  config = unwords (lib.filter (x: x != null) [
+    (param "design" design)
+    (param "upright" upright)
+    (param "italic" italic)
+    (param "oblique" oblique)
+  ]);
+  custom = design != [] || upright != [] || italic != [] || oblique != [];
+in
+
+stdenv.mkDerivation {
+  inherit name pname version src;
+
+  nativeBuildInputs = [ nodejs ttfautohint-nox otfcc ];
+
+  passAsFile = [ "installPackageLock" ];
+  installPackageLock = installPackageLock ./package-lock.json;
+
+  preConfigure = ''
+    HOME=$TMPDIR
+    source "$installPackageLockPath";
+    npm --offline rebuild
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+
+    ${optionalString custom ''make custom-config set=${set} ${config}''}
+
+    runHook postConfigure
+  '';
+
+  makeFlags = lib.optionals custom [ "custom" "set=${set}" ];
+
+  installPhase = ''
+    runHook preInstall
 
-  url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
+    fontdir="$out/share/fonts/$pname"
+    install -d "$fontdir"
+    install "dist/$pname/ttf"/* "$fontdir"
 
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
+    runHook postInstall
   '';
 
-  sha256 = "0103rjxcp2sis42xp7fh7g8i03h5snvs8n78lgsf79g8ssw0p9d4";
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = https://be5invis.github.io/Iosevka/;
@@ -23,6 +93,6 @@ in fetchzip rec {
     '';
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = with maintainers; [ cstrahan jfrankenau ttuegel ];
   };
 }
diff --git a/pkgs/data/fonts/iosevka/package-lock.json b/pkgs/data/fonts/iosevka/package-lock.json
new file mode 100644
index 000000000000..4e8a9be8807c
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/package-lock.json
@@ -0,0 +1,1017 @@
+{
+  "name": "iosevka",
+  "version": "1.13.3",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "JSONStream": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz",
+      "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=",
+      "requires": {
+        "jsonparse": "1.3.1",
+        "through": "2.3.8"
+      }
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+    },
+    "bezier-js": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.2.3.tgz",
+      "integrity": "sha1-xVdBFqSjVkpxU41z4LDVFdqN3sU="
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+    },
+    "camelcase": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+      "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+    },
+    "caryll-shapeops": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/caryll-shapeops/-/caryll-shapeops-0.2.1.tgz",
+      "integrity": "sha1-uEBMpQ5pAMB6vJNXubsAhbQEa8s=",
+      "requires": {
+        "bezier-js": "2.2.3",
+        "clipper-lib": "1.0.0"
+      }
+    },
+    "child-process-promise": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz",
+      "integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=",
+      "requires": {
+        "cross-spawn": "4.0.2",
+        "node-version": "1.1.0",
+        "promise-polyfill": "6.0.2"
+      }
+    },
+    "clipper-lib": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/clipper-lib/-/clipper-lib-1.0.0.tgz",
+      "integrity": "sha1-6QLOsm4o7lz6YBSr33kKUe//Tss="
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wrap-ansi": "2.1.0"
+      }
+    },
+    "clone": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
+      "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8="
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+    },
+    "coffee-script": {
+      "version": "1.12.7",
+      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
+      "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
+    },
+    "cross-spawn": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
+      "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+      "requires": {
+        "lru-cache": "4.1.1",
+        "which": "1.3.0"
+      }
+    },
+    "cubic2quad": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.1.1.tgz",
+      "integrity": "sha1-abGcYaP1tB7PLx1fro+wNBWqixU="
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+    },
+    "deep-is": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+    },
+    "defaults": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "requires": {
+        "clone": "1.0.3"
+      }
+    },
+    "error-ex": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+      "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+      "requires": {
+        "is-arrayish": "0.2.1"
+      }
+    },
+    "escodegen": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz",
+      "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==",
+      "requires": {
+        "esprima": "3.1.3",
+        "estraverse": "4.2.0",
+        "esutils": "2.0.2",
+        "optionator": "0.8.2",
+        "source-map": "0.5.7"
+      }
+    },
+    "escope": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz",
+      "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=",
+      "requires": {
+        "estraverse": "2.0.0"
+      },
+      "dependencies": {
+        "estraverse": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz",
+          "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE="
+        }
+      }
+    },
+    "esmangle": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz",
+      "integrity": "sha1-2bs3uPjq+/Tm1O1reqKVarvTxMI=",
+      "requires": {
+        "escodegen": "1.3.3",
+        "escope": "1.0.3",
+        "esprima": "1.1.1",
+        "esshorten": "1.1.1",
+        "estraverse": "1.5.1",
+        "esutils": "1.0.0",
+        "optionator": "0.3.0",
+        "source-map": "0.1.43"
+      },
+      "dependencies": {
+        "escodegen": {
+          "version": "1.3.3",
+          "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
+          "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
+          "requires": {
+            "esprima": "1.1.1",
+            "estraverse": "1.5.1",
+            "esutils": "1.0.0",
+            "source-map": "0.1.43"
+          }
+        },
+        "esprima": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
+          "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
+        },
+        "estraverse": {
+          "version": "1.5.1",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
+          "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E="
+        },
+        "esutils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
+          "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA="
+        },
+        "fast-levenshtein": {
+          "version": "1.0.7",
+          "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz",
+          "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk="
+        },
+        "levn": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz",
+          "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=",
+          "requires": {
+            "prelude-ls": "1.1.2",
+            "type-check": "0.3.2"
+          }
+        },
+        "optionator": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz",
+          "integrity": "sha1-lxWotfXnWGz/BsgkngOc1zZNP1Q=",
+          "requires": {
+            "deep-is": "0.1.3",
+            "fast-levenshtein": "1.0.7",
+            "levn": "0.2.5",
+            "prelude-ls": "1.1.2",
+            "type-check": "0.3.2",
+            "wordwrap": "0.0.3"
+          }
+        },
+        "source-map": {
+          "version": "0.1.43",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        },
+        "wordwrap": {
+          "version": "0.0.3",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+          "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+        }
+      }
+    },
+    "esprima": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+      "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+    },
+    "esshorten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz",
+      "integrity": "sha1-F0+Wt8wmfkaHLYFOfbfCkL3/Yak=",
+      "requires": {
+        "escope": "1.0.3",
+        "estraverse": "4.1.1",
+        "esutils": "2.0.2"
+      },
+      "dependencies": {
+        "estraverse": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
+          "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI="
+        }
+      }
+    },
+    "estraverse": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
+    },
+    "esutils": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+    },
+    "execa": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+      "requires": {
+        "cross-spawn": "5.1.0",
+        "get-stream": "3.0.0",
+        "is-stream": "1.1.0",
+        "npm-run-path": "2.0.2",
+        "p-finally": "1.0.0",
+        "signal-exit": "3.0.2",
+        "strip-eof": "1.0.0"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+          "requires": {
+            "lru-cache": "4.1.1",
+            "shebang-command": "1.2.0",
+            "which": "1.3.0"
+          }
+        }
+      }
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "requires": {
+        "path-exists": "2.1.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "fs-extra": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
+      "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "jsonfile": "3.0.1",
+        "universalify": "0.1.1"
+      }
+    },
+    "get-caller-file": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+      "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
+    },
+    "get-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+    },
+    "graceful-fs": {
+      "version": "4.1.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+    },
+    "hosted-git-info": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+      "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg=="
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+    },
+    "is-builtin-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "requires": {
+        "builtin-modules": "1.1.1"
+      }
+    },
+    "is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-stream": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+    },
+    "jsonfile": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
+      "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
+      "requires": {
+        "graceful-fs": "4.1.11"
+      }
+    },
+    "jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "requires": {
+        "invert-kv": "1.0.0"
+      }
+    },
+    "levn": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "requires": {
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2"
+      }
+    },
+    "libspiro-js": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/libspiro-js/-/libspiro-js-0.3.1.tgz",
+      "integrity": "sha1-hmUrAAmm2E6nmlMgvcpfAGEu5Dk="
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "parse-json": "2.2.0",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "strip-bom": "2.0.0"
+      }
+    },
+    "locate-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+      "requires": {
+        "p-locate": "2.0.0",
+        "path-exists": "3.0.0"
+      },
+      "dependencies": {
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+        }
+      }
+    },
+    "lru-cache": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+      "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+      "requires": {
+        "pseudomap": "1.0.2",
+        "yallist": "2.1.2"
+      }
+    },
+    "megaminx": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/megaminx/-/megaminx-0.3.3.tgz",
+      "integrity": "sha512-lZBSLMro+XYJIix9zCZ8N6nZgixpjUPkX6CKuh+Y9Wl9bir/2Fp27NWapA0cNQCPrzOOI9sAwxc4BI14aIdumw==",
+      "requires": {
+        "JSONStream": "1.3.1",
+        "child-process-promise": "2.2.1",
+        "cubic2quad": "1.1.1",
+        "fs-extra": "3.0.1",
+        "which": "1.3.0"
+      }
+    },
+    "mem": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+      "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+      "requires": {
+        "mimic-fn": "1.1.0"
+      }
+    },
+    "mimic-fn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
+      "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg="
+    },
+    "node-version": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.0.tgz",
+      "integrity": "sha512-t1V2RFiaTavaW3jtQO0A2nok6k7/Gghuvx2rjvICuT0B0dYaObBQ4U0xHL+ZTPFZodt1LMYG2Vi2nypfz4/AJg=="
+    },
+    "normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+      "requires": {
+        "hosted-git-info": "2.5.0",
+        "is-builtin-module": "1.0.0",
+        "semver": "5.4.1",
+        "validate-npm-package-license": "3.0.1"
+      }
+    },
+    "npm-run-path": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "requires": {
+        "path-key": "2.0.1"
+      }
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+    },
+    "optionator": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+      "requires": {
+        "deep-is": "0.1.3",
+        "fast-levenshtein": "2.0.6",
+        "levn": "0.3.0",
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2",
+        "wordwrap": "1.0.0"
+      }
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "requires": {
+        "lcid": "1.0.0"
+      }
+    },
+    "p-finally": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+    },
+    "p-limit": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
+      "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw="
+    },
+    "p-locate": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+      "requires": {
+        "p-limit": "1.1.0"
+      }
+    },
+    "pad": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/pad/-/pad-1.2.1.tgz",
+      "integrity": "sha512-cx/l/K+9UjGXJmoYolvP0l3cEUyB9BUdUL3wj3uwskIiApboLsinvsXxU9nSNg9Luz2ZyH0zzJNbqgLSNtfIDw==",
+      "requires": {
+        "coffee-script": "1.12.7",
+        "wcwidth": "1.0.1"
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "requires": {
+        "error-ex": "1.3.1"
+      }
+    },
+    "patel": {
+      "version": "0.32.1",
+      "resolved": "https://registry.npmjs.org/patel/-/patel-0.32.1.tgz",
+      "integrity": "sha1-nnC2sj/XqcgsV57VkbivpSF+YhI=",
+      "requires": {
+        "escodegen": "1.9.0",
+        "esmangle": "1.0.1",
+        "patrisika": "0.21.0",
+        "resumer": "0.0.0",
+        "yargs": "6.6.0"
+      },
+      "dependencies": {
+        "yargs": {
+          "version": "6.6.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+          "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+          "requires": {
+            "camelcase": "3.0.0",
+            "cliui": "3.2.0",
+            "decamelize": "1.2.0",
+            "get-caller-file": "1.0.2",
+            "os-locale": "1.4.0",
+            "read-pkg-up": "1.0.1",
+            "require-directory": "2.1.1",
+            "require-main-filename": "1.0.1",
+            "set-blocking": "2.0.0",
+            "string-width": "1.0.2",
+            "which-module": "1.0.0",
+            "y18n": "3.2.1",
+            "yargs-parser": "4.2.1"
+          }
+        }
+      }
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "requires": {
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "path-key": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "patrisika": {
+      "version": "0.21.0",
+      "resolved": "https://registry.npmjs.org/patrisika/-/patrisika-0.21.0.tgz",
+      "integrity": "sha1-uCwn99QEFSLcXDG0O3xu+xnkdII=",
+      "requires": {
+        "patrisika-scopes": "0.11.0"
+      }
+    },
+    "patrisika-scopes": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/patrisika-scopes/-/patrisika-scopes-0.11.0.tgz",
+      "integrity": "sha1-BSqddkoWXgs0zDW2ViqIJCA2tAM="
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "prelude-ls": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+    },
+    "promise-polyfill": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.0.2.tgz",
+      "integrity": "sha1-2chtPcTcLfkBboiUbe/Wm0m0EWI="
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "requires": {
+        "load-json-file": "1.1.0",
+        "normalize-package-data": "2.4.0",
+        "path-type": "1.1.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "requires": {
+        "find-up": "1.1.2",
+        "read-pkg": "1.1.0"
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+    },
+    "resumer": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
+      "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
+      "requires": {
+        "through": "2.3.8"
+      }
+    },
+    "semver": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
+      "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+    },
+    "shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+      "requires": {
+        "shebang-regex": "1.0.0"
+      }
+    },
+    "shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+    },
+    "signal-exit": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "optional": true
+    },
+    "spdx-correct": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+      "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+      "requires": {
+        "spdx-license-ids": "1.2.2"
+      }
+    },
+    "spdx-expression-parse": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+      "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw="
+    },
+    "spdx-license-ids": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+      "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
+    },
+    "string-width": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+      "requires": {
+        "code-point-at": "1.1.0",
+        "is-fullwidth-code-point": "1.0.0",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "strip-bom": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "requires": {
+        "is-utf8": "0.2.1"
+      }
+    },
+    "strip-eof": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+    },
+    "toml": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz",
+      "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA=="
+    },
+    "topsort": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/topsort/-/topsort-0.0.2.tgz",
+      "integrity": "sha1-Ll4O6KFDlBfxAdW5stA15iAmMyE="
+    },
+    "type-check": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "requires": {
+        "prelude-ls": "1.1.2"
+      }
+    },
+    "universalify": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
+      "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
+    },
+    "unorm": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
+      "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+      "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+      "requires": {
+        "spdx-correct": "1.0.2",
+        "spdx-expression-parse": "1.0.4"
+      }
+    },
+    "wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "requires": {
+        "defaults": "1.0.3"
+      }
+    },
+    "which": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+      "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+    },
+    "wordwrap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "y18n": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+    },
+    "yargs": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+      "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+      "requires": {
+        "camelcase": "4.1.0",
+        "cliui": "3.2.0",
+        "decamelize": "1.2.0",
+        "get-caller-file": "1.0.2",
+        "os-locale": "2.1.0",
+        "read-pkg-up": "2.0.0",
+        "require-directory": "2.1.1",
+        "require-main-filename": "1.0.1",
+        "set-blocking": "2.0.0",
+        "string-width": "2.1.1",
+        "which-module": "2.0.0",
+        "y18n": "3.2.1",
+        "yargs-parser": "7.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+        },
+        "camelcase": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+        },
+        "find-up": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+          "requires": {
+            "locate-path": "2.0.0"
+          }
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+        },
+        "load-json-file": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+          "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "parse-json": "2.2.0",
+            "pify": "2.3.0",
+            "strip-bom": "3.0.0"
+          }
+        },
+        "os-locale": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+          "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+          "requires": {
+            "execa": "0.7.0",
+            "lcid": "1.0.0",
+            "mem": "1.1.0"
+          }
+        },
+        "path-type": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+          "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+          "requires": {
+            "pify": "2.3.0"
+          }
+        },
+        "read-pkg": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+          "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+          "requires": {
+            "load-json-file": "2.0.0",
+            "normalize-package-data": "2.4.0",
+            "path-type": "2.0.0"
+          }
+        },
+        "read-pkg-up": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+          "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+          "requires": {
+            "find-up": "2.1.0",
+            "read-pkg": "2.0.0"
+          }
+        },
+        "string-width": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+          "requires": {
+            "is-fullwidth-code-point": "2.0.0",
+            "strip-ansi": "4.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "requires": {
+            "ansi-regex": "3.0.0"
+          }
+        },
+        "strip-bom": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+        },
+        "which-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+        },
+        "yargs-parser": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+          "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+          "requires": {
+            "camelcase": "4.1.0"
+          }
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+      "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+      "requires": {
+        "camelcase": "3.0.0"
+      }
+    }
+  }
+}
diff --git a/pkgs/data/fonts/iosevka/package-lock.nix b/pkgs/data/fonts/iosevka/package-lock.nix
new file mode 100644
index 000000000000..4a7be92e7375
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/package-lock.nix
@@ -0,0 +1,142 @@
+{ lib, fetchurl }:
+
+with lib; with builtins;
+
+let
+  # Convert a base64-encoded string into a list of quads and padding.
+  fromBase64 = str:
+    let
+      len = stringLength str;
+      quads = 3 * len - 4 * padding;
+      padding =
+        if hasSuffix "==" str then 2 else
+        if hasSuffix "=" str then 1 else
+        0;
+      chars = stringToCharacters (substring 0 (len - padding) str);
+      table = {
+        "A" = [0 0 0];
+        "B" = [0 0 1];
+        "C" = [0 0 2];
+        "D" = [0 0 3];
+        "E" = [0 1 0];
+        "F" = [0 1 1];
+        "G" = [0 1 2];
+        "H" = [0 1 3];
+        "I" = [0 2 0];
+        "J" = [0 2 1];
+        "K" = [0 2 2];
+        "L" = [0 2 3];
+        "M" = [0 3 0];
+        "N" = [0 3 1];
+        "O" = [0 3 2];
+        "P" = [0 3 3];
+        "Q" = [1 0 0];
+        "R" = [1 0 1];
+        "S" = [1 0 2];
+        "T" = [1 0 3];
+        "U" = [1 1 0];
+        "V" = [1 1 1];
+        "W" = [1 1 2];
+        "X" = [1 1 3];
+        "Y" = [1 2 0];
+        "Z" = [1 2 1];
+        "a" = [1 2 2];
+        "b" = [1 2 3];
+        "c" = [1 3 0];
+        "d" = [1 3 1];
+        "e" = [1 3 2];
+        "f" = [1 3 3];
+        "g" = [2 0 0];
+        "h" = [2 0 1];
+        "i" = [2 0 2];
+        "j" = [2 0 3];
+        "k" = [2 1 0];
+        "l" = [2 1 1];
+        "m" = [2 1 2];
+        "n" = [2 1 3];
+        "o" = [2 2 0];
+        "p" = [2 2 1];
+        "q" = [2 2 2];
+        "r" = [2 2 3];
+        "s" = [2 3 0];
+        "t" = [2 3 1];
+        "u" = [2 3 2];
+        "v" = [2 3 3];
+        "w" = [3 0 0];
+        "x" = [3 0 1];
+        "y" = [3 0 2];
+        "z" = [3 0 3];
+        "0" = [3 1 0];
+        "1" = [3 1 1];
+        "2" = [3 1 2];
+        "3" = [3 1 3];
+        "4" = [3 2 0];
+        "5" = [3 2 1];
+        "6" = [3 2 2];
+        "7" = [3 2 3];
+        "8" = [3 3 0];
+        "9" = [3 3 1];
+        "+" = [3 3 2];
+        "/" = [3 3 3];
+      };
+    in
+      take quads (concatMap (c: table.${c}) chars);
+
+  # Convert a list of quads with padding into a base16-encoded string.
+  toBase16 = quads:
+    if length quads == 0 then "" else
+    if length quads == 1 then throw "toBase16: odd quads" else
+    let
+      hexad = 4 * elemAt quads 0 + elemAt quads 1;
+      hexits = "0123456789abcdef";
+    in
+      substring hexad 1 hexits + toBase16 (drop 2 quads);
+in
+
+let
+  fetchResolved = { resolved, integrity, ... }:
+    let args = { url = resolved; } // integrityHash integrity; in
+      fetchurl args;
+  integrityHash = integrity:
+    if hasPrefix "sha1-" integrity then integritySHA1 integrity else
+    if hasPrefix "sha512-" integrity then integritySHA512 integrity else
+    throw "don't understand integrity: ${integrity}";
+  integritySHA1 = integrity:
+    { sha1 = toBase16 (fromBase64 (removePrefix "sha1-" integrity)); };
+  integritySHA512 = integrity:
+    { sha512 = toBase16 (fromBase64 (removePrefix "sha512-" integrity)); };
+in
+
+let
+  depend = name: attrs@{ version, dependencies ? {}, ... }:
+      {
+        inherit name version;
+        src = fetchResolved attrs;
+        depends = mapAttrsToList depend dependencies;
+      };
+  prepareDepend = { name, src, depends, ... }:
+    ''
+      unpackFile '${src}'
+      mv package '${name}'
+      mkdir -p '${name}/node_modules'
+      (
+          cd '${name}/node_modules'
+          ${concatMapStrings prepareDepend depends}
+      )
+    '';
+in
+
+packageLockFile:
+
+let
+  packageLock = fromJSON (readFile packageLockFile);
+  depends = mapAttrsToList depend packageLock.dependencies;
+in
+  ''
+    mkdir -p node_modules
+    (
+        cd node_modules
+        ${concatMapStrings prepareDepend depends}
+    )
+  ''
+
diff --git a/pkgs/data/fonts/migmix/default.nix b/pkgs/data/fonts/migmix/default.nix
new file mode 100644
index 000000000000..14b08e140ea8
--- /dev/null
+++ b/pkgs/data/fonts/migmix/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "migmix-${version}";
+  version = "20150712";
+
+  srcs = [
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-1p-${version}.zip";
+      sha256 = "0wp44axcalaak04nj3dgpx0vk13nqa3ihx2vjv4acsgv83x8ciph";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-2p-${version}.zip";
+      sha256 = "0y7s3rbxrp5bv56qgihk8b847lqgibfhn2wlkzx7z655fbzdgxw9";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-1m-${version}.zip";
+      sha256 = "1sfym0chy8ilyd9sr3mjc0bf63vc33p05ynpdc11miivxn4qsshx";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63544/migmix-2m-${version}.zip";
+      sha256 = "0hg04rvm39fh4my4akmv4rhfc14s3ipz2aw718h505k9hppkhkch";
+    })
+  ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype/migmix
+    find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migmix
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "1fhh8wg6lxwrnsg9rl4ihffl0bsp1wqa5gps9fx60kr6j9wpvmbg";
+
+  meta = with stdenv.lib; {
+    description = "A high-quality Japanese font based on M+ fonts and IPA fonts";
+    homepage = http://mix-mplus-ipa.osdn.jp/migmix;
+    license = licenses.ipa;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mikoim ];
+  };
+}
diff --git a/pkgs/data/fonts/migu/default.nix b/pkgs/data/fonts/migu/default.nix
new file mode 100644
index 000000000000..aefaefb337fa
--- /dev/null
+++ b/pkgs/data/fonts/migu/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "migu-${version}";
+  version = "20150712";
+
+  srcs = [
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1p-${version}.zip";
+      sha256 = "04wpbk5xbbcv2rzac8yzj4ww7sk2hy2rg8zs96yxc5vzj9q7svf6";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1c-${version}.zip";
+      sha256 = "1k7ymix14ac5fb44bjvbaaf24784zzpyc1jj2280c0zdnpxksyk6";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1m-${version}.zip";
+      sha256 = "07r8id83v92hym21vrqmfsfxb646v8258001pkjhgfnfg1yvw8lm";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-2m-${version}.zip";
+      sha256 = "1pvzbrawh43589j8rfxk86y1acjbgzzdy5wllvdkpm1qnx28zwc2";
+    })
+  ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0nbpn21cxdd6gsgr3fadzjsnz84f2swpf81wmscmjgvd56ngndzh";
+
+  meta = with stdenv.lib; {
+    description = "A high-quality Japanese font based on modified M+ fonts and IPA fonts";
+    homepage = http://mix-mplus-ipa.osdn.jp/migu/;
+    license = licenses.ipa;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mikoim ];
+  };
+}
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 73059cbcc33a..e2336c51255f 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -2,10 +2,10 @@
 
 rec {
   # 18MB
-  noto-fonts = let version = "git-2016-03-29"; in fetchzip {
+  noto-fonts = let version = "2017-10-24-phase3-second-cleanup"; in fetchzip {
     name = "noto-fonts-${version}";
 
-    url = https://github.com/googlei18n/noto-fonts/archive/e8b0af48b15d64bd490edab4418b5e396cf29644.zip;
+    url = "https://github.com/googlei18n/noto-fonts/archive/v${version}.zip";
     postFetch = ''
       unzip $downloadedFile
 
@@ -17,7 +17,7 @@ rec {
       cp -n noto-fonts-*/unhinted/*.ttf $out/share/fonts/noto
       cp -n noto-fonts-*/alpha/*.ttf $out/share/fonts/noto
     '';
-    sha256 = "0wphc8671dpbx3rxzmjisnjipg2c2vkhw2i6mmyamd6vvcwajd64";
+    sha256 = "013l816cq9svdji266sccscm9sf9pfn472gq9lnqkzlwaxx9qrrl";
 
     meta = with stdenv.lib; {
       inherit version;
@@ -75,14 +75,14 @@ rec {
     };
   };
   # 12MB
-  noto-fonts-emoji = let version = "git-2016-03-17"; in stdenv.mkDerivation {
+  noto-fonts-emoji = let version = "2017-09-13-design-refresh"; in stdenv.mkDerivation {
     name = "noto-fonts-emoji-${version}";
 
     src = fetchFromGitHub {
       owner = "googlei18n";
       repo = "noto-emoji";
-      rev = "c6379827aaa9cb0baca1a08a9d44ae74ca505236";
-      sha256 = "1zh1b617cjr5laha6lx0ys4k1c3az2zkgzjwc2nlb7dsdmfw1n0q";
+      rev = "v${version}";
+      sha256 = "1ixz03207kzh6jhmw8bpi77pxkfzq46dk26sr41m5kkvc14d14vl";
     };
 
     buildInputs = [ cairo ];
diff --git a/pkgs/data/fonts/noto-fonts/tools.nix b/pkgs/data/fonts/noto-fonts/tools.nix
new file mode 100644
index 000000000000..f1546a17f58a
--- /dev/null
+++ b/pkgs/data/fonts/noto-fonts/tools.nix
@@ -0,0 +1,32 @@
+{ fetchFromGitHub, pythonPackages, lib }:
+
+pythonPackages.buildPythonPackage rec {
+  version = "2017-09-25";
+  name = "nototools-${version}";
+
+  src = fetchFromGitHub {
+    owner = "googlei18n";
+    repo = "nototools";
+    rev = "v2017-09-25-tooling-for-phase3-update";
+    sha256 = "03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ fonttools numpy ];
+
+  postPatch = ''
+    sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
+  '';
+
+  postInstall = ''
+    cp -r third_party $out
+  '';
+
+  disabled = pythonPackages.isPy3k;
+
+  meta = {
+    description = "Noto fonts support tools and scripts plus web site generation";
+    license = lib.licenses.asl20;
+    homepage = https://github.com/googlei18n/nototools;
+    platform = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/data/fonts/ricty/default.nix b/pkgs/data/fonts/ricty/default.nix
new file mode 100644
index 000000000000..add2c44cd480
--- /dev/null
+++ b/pkgs/data/fonts/ricty/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, google-fonts, migu, fontforge, which }:
+
+stdenv.mkDerivation rec {
+  name = "ricty-${version}";
+  version = "4.1.0";
+
+  src = fetchurl {
+      url = "http://www.rs.tus.ac.jp/yyusa/ricty/ricty_generator-${version}.sh";
+      sha256 = "1cv0xh81fi6zdjb62zqjw46kbc89jvwbyllw1x1xbnpz2il6aavf";
+  };
+
+  unpackPhase = ''
+    install -m 0770 $src ricty_generator.sh
+  '';
+
+  patchPhase = ''
+    sed -i 's/fonts_directories=".*"/fonts_directories="$inconsolata $migu"/' ricty_generator.sh
+  '';
+
+  buildInputs = [ google-fonts migu fontforge which ];
+
+  buildPhase = ''
+    inconsolata=${google-fonts} migu=${migu} ./ricty_generator.sh auto
+  '';
+
+  installPhase = ''
+    install -m644 --target $out/share/fonts/truetype/ricty -D Ricty-*.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A high-quality Japanese font based on Inconsolata and Migu 1M";
+    homepage = http://www.rs.tus.ac.jp/yyusa/ricty.html;
+    license = licenses.unfree;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mikoim ];
+  };
+}
+
diff --git a/pkgs/data/fonts/tlwg/default.nix b/pkgs/data/fonts/tlwg/default.nix
new file mode 100644
index 000000000000..90f1b1da908a
--- /dev/null
+++ b/pkgs/data/fonts/tlwg/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, fontforge }:
+
+stdenv.mkDerivation rec {
+  name = "tlwg-${version}";
+  version = "0.6.4";
+
+  src = fetchFromGitHub {
+    owner = "tlwg";
+    repo = "fonts-tlwg";
+    rev = "v${version}";
+    sha256 = "13bx98ygyyizb15ybdv3856lkxhx1fss8f7aiqmp0lk9zgw4mqyk";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ fontforge ];
+
+  preAutoreconf = "echo ${version} > VERSION";
+
+  meta = with stdenv.lib; {
+    description = "A collection of Thai scalable fonts available under free licenses";
+    homepage = https://linux.thai.net/projects/fonts-tlwg;
+    license = with licenses; [ gpl2 publicDomain lppl13c free ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.yrashk ];
+  };
+}
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/vdrsymbols/default.nix b/pkgs/data/fonts/vdrsymbols/default.nix
new file mode 100644
index 000000000000..d3373a64c490
--- /dev/null
+++ b/pkgs/data/fonts/vdrsymbols/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip }:
+
+fetchzip rec {
+  name = "vdrsymbols-20100612";
+
+  url = http://andreas.vdr-developer.org/fonts/download/vdrsymbols-ttf-20100612.tgz;
+
+  sha256 = "0wpxns8zqic98c84j18dr4zmj092v07yq07vwwgzblr0rw9n6gzr";
+
+  postFetch = ''
+    tar xvzf "$downloadedFile"
+    install -Dm444 -t "$out/share/fonts/truetype" */*.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "DejaVu fonts with additional symbols used by VDR";
+    homepage = http://andreas.vdr-developer.org/fonts/;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ck3d ];
+
+    # Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
+    # Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
+    # DejaVu changes are in public domain
+    # See https://dejavu-fonts.github.io/License.html for details
+    license = licenses.free;
+  };
+}
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/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
index c767675e90ec..a7c6c4908972 100644
--- a/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "2017-09-17";
+  version = "2017-11-18";
 
   package-name = "numix-icon-theme";
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = package-name;
-    rev = "d0e7da93520e521bf7df7cffa3620c10a8400a7f";
-    sha256 = "1my43kv9yz9vdn51zhd13c8zavba17cqrmxkmhpx0c8xldjqfp3i";
+    rev = "ea7f2069ca1f6190494e96aa2febcadf6248c5b4";
+    sha256 = "1nk0mc2qycwmjqdlrsfgar5m83pyj3hf6f66pywf9706nn2yz8fv";
   };
 
   dontBuild = true;
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 88b608c78152..e94b8eb898c1 100644
--- a/pkgs/data/misc/dns-root-data/default.nix
+++ b/pkgs/data/misc/dns-root-data/default.nix
@@ -3,7 +3,13 @@
 let
 
   rootHints = fetchurl {
-    url = "https://www.internic.net/domain/named.root";
+    # Original source https://www.internic.net/domain/named.root
+    # occasionally suffers from pointless hash changes,
+    # and having stable sources for older versions has advantages, too.
+    urls = map (prefix: prefix + "cc5e14a264912/etc/root.hints") [
+      "https://gitlab.labs.nic.cz/knot/knot-resolver/raw/"
+      "https://raw.githubusercontent.com/CZ-NIC/knot-resolver/"
+    ];
     sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl";
   };
 
@@ -24,6 +30,6 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "DNS root data including root zone and DNSSEC key";
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz vcunat ];
   };
 }
diff --git a/pkgs/data/misc/mime-types/default.nix b/pkgs/data/misc/mime-types/default.nix
new file mode 100644
index 000000000000..bce1c5d81d89
--- /dev/null
+++ b/pkgs/data/misc/mime-types/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mime-types-${version}";
+  version = "9";
+
+  src = fetchurl {
+    url = "https://mirrors.kernel.org/gentoo/distfiles/${name}.tar.bz2";
+    sha256 = "0pib8v0f5xwwm3xj2ygdi2dlxxvbq6p95l3fah5f66qj9xrqlqxl";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm644 -t $out/etc mime.types
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A database of common mappings of file extensions to MIME types";
+    homepage = https://packages.gentoo.org/packages/app-misc/mime-types;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index ef2bae8dbaf9..1b4d967af553 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -33,7 +33,8 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       rm $out/share/zoneinfo-posix
-      ln -s . $out/share/zoneinfo/posix
+      mkdir $out/share/zoneinfo/posix
+      ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
       mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
 
       mkdir -p "$dev/include"
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index 7bae913ed5e6..dac9d27f66ca 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchurl, findXMLCatalogs }:
+{ lib, stdenv, fetchurl, findXMLCatalogs, writeScriptBin, ruby, bash }:
 
 let
 
-  common = { pname, sha256 }: stdenv.mkDerivation rec {
+  common = { pname, sha256 }: let self = stdenv.mkDerivation rec {
     name = "${pname}-1.79.1";
 
     src = fetchurl {
@@ -25,13 +25,19 @@ let
       ln -s $dst $out/xml/xsl/docbook
     '';
 
+    passthru.dbtoepub = writeScriptBin "dbtoepub"
+      ''
+        #!${bash}/bin/bash
+        exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
+      '';
+
     meta = {
       homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
       description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
       maintainers = [ lib.maintainers.eelco ];
       platforms = lib.platforms.all;
     };
-  };
+  }; in self;
 
 in {
 
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index be648bf66998..fac97e72a6c3 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.20.5";
+  version = "1.20.6";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "07624c71l9d1jx1zvdhwkr1bgb1n7i0i5hyg6579zdwl3jw6jpns";
+    sha256 = "1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 44cb6809ea4c..cb479f062d62 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.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "053zmlpjx45xg2rbbxyjh0phhgbsnmsnypzz2bib545klp51bfcv";
+    sha256 = "1q57fz57d0b26z06m1wiq7c1sniwh885b0vs02mk4jgwva46nyr0";
   };
 
-  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-2/bindings/libglademm/default.nix b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
index 8cf18b7018da..d4813eb2a938 100644
--- a/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
@@ -7,7 +7,9 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/libglademm/2.6/${name}.tar.bz2";
     sha256 = "1hrbg9l5qb7w0xvr7013qamkckyj0fqc426c851l69zpmhakqm1q";
   };
-  
+
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool ];
   
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
index 9aae9215650f..ddff55c96a09 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, glib
 , evolution_data_server, evolution, sqlite
-, makeWrapper, itstool, desktop_file_utils
+, wrapGAppsHook, itstool, desktop_file_utils
 , clutter_gtk, libuuid, webkitgtk, zeitgeist
 , gnome3, librsvg, gdk_pixbuf, libxml2 }:
 
@@ -8,28 +8,34 @@ stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
+  checkPhase = "meson test";
+
+  patches = [
+    ./no-update-icon-cache.patch
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib intltool itstool libxml2
-                  clutter_gtk libuuid webkitgtk gnome3.tracker
-                  gnome3.gnome_online_accounts zeitgeist desktop_file_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool libxml2 desktop_file_utils wrapGAppsHook
+  ];
+  buildInputs = [ glib clutter_gtk libuuid webkitgtk gnome3.tracker
+                  gnome3.gnome_online_accounts zeitgeist
+                  gnome3.gsettings_desktop_schemas
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
                   evolution_data_server evolution sqlite ];
 
   enableParallelBuilding = true;
 
-  preFixup = ''
-    wrapProgram "$out/bin/bijiben" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Bijiben;
     description = "Note editor designed to remain simple to use";
+    broken = true;
     maintainers = gnome3.maintainers;
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch b/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
new file mode 100644
index 000000000000..c8b0043fb45f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
@@ -0,0 +1,22 @@
+--- a/meson_post_install.py
++++ b/meson_post_install.py
+@@ -7,10 +7,6 @@
+ if not os.environ.get('DESTDIR'):
+   datadir = sys.argv[1]
+ 
+-  icondir = os.path.join(datadir, 'icons', 'hicolor')
+-  print('Update icon cache...')
+-  subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
+-
+   schemadir = os.path.join(datadir, 'glib-2.0', 'schemas')
+   print('Compile gsettings schemas...')
+   subprocess.call(['glib-compile-schemas', schemadir])
+@@ -18,8 +14,3 @@
+   desktop_file = os.path.join(datadir, 'applications', 'org.gnome.bijiben.desktop')
+   print('Validate desktop file...')
+   subprocess.call(['desktop-file-validate', desktop_file])
+-
+-  if sys.argv[2] == 'update-mimedb':
+-    mimedir = os.path.join(datadir, 'mime')
+-    print('Update mime database...')
+-    subprocess.call(['update-mime-database', mimedir])
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/src.nix b/pkgs/desktops/gnome-3/apps/bijiben/src.nix
index ea2c063647f7..ee573eaef8eb 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/src.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "bijiben-3.24.1";
+  name = "bijiben-3.27.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/bijiben/3.24/bijiben-3.24.1.tar.xz;
-    sha256 = "2602fc3f8ce5c39813b4273ceed7bdb014b1cf1fa82a6757fc25e5078be4f741";
+    url = mirror://gnome/sources/bijiben/3.27/bijiben-3.27.1.tar.xz;
+    sha256 = "7b4623467f3cb745c4b268d6fb2d9da32cbc96ffb5b1bbf2a153b692e295ac64";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix
index a10864c347ef..7a4cd0e94956 100644
--- a/pkgs/desktops/gnome-3/apps/cheese/default.nix
+++ b/pkgs/desktops/gnome-3/apps/cheese/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Cheese;
     description = "Take photos and videos with your webcam, with fun graphical effects";
diff --git a/pkgs/desktops/gnome-3/apps/cheese/src.nix b/pkgs/desktops/gnome-3/apps/cheese/src.nix
index e10f79e8312d..0237606ae35c 100644
--- a/pkgs/desktops/gnome-3/apps/cheese/src.nix
+++ b/pkgs/desktops/gnome-3/apps/cheese/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "cheese-3.24.0";
+  name = "cheese-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cheese/3.24/cheese-3.24.0.tar.xz;
-    sha256 = "26d0324c11d858a53a8a78f60babda63310a2b6f46c8fa3a4f6aa36ca9d0f372";
+    url = mirror://gnome/sources/cheese/3.26/cheese-3.26.0.tar.xz;
+    sha256 = "8ef52fc41de1817c4e4274e23eb7c29d28b64ae0f0d1fec52e184e99aea6c605";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 3d152221a397..4996120d4935 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -1,9 +1,8 @@
-{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
+{ stdenv, cmake, intltool, fetchurl, libxml2, webkitgtk, highlight
 , pkgconfig, gtk3, glib, libnotify, gtkspell3
 , wrapGAppsHook, itstool, shared_mime_info, libical, db, gcr, sqlite
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
-, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, openldap
-, cmake}:
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, openldap }:
 
 let
   majVer = gnome3.version;
@@ -15,10 +14,7 @@ in stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
                             gnome3.evolution_data_server ];
 
-  propagatedBuildInputs = [ gnome3.gtkhtml ];
-
-  buildInputs = [ gtk3 glib intltool itstool libxml2 libtool
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
+  buildInputs = [ gtk3 glib gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
                   gnome3.evolution_data_server libsecret libical gcr
                   webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
                   libcanberra_gtk3 bogofilter gnome3.libgdata sqlite
@@ -26,10 +22,9 @@ in stdenv.mkDerivation rec {
                   nss nspr libnotify procps highlight gnome3.libgweather
                   gnome3.gsettings_desktop_schemas
                   gnome3.libgnome_keyring gnome3.glib_networking openldap
-                  cmake
                 ];
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ cmake intltool itstool libxml2 pkgconfig wrapGAppsHook ];
 
 
   configureFlags = [ "--disable-pst-import" "--disable-autoar"
diff --git a/pkgs/desktops/gnome-3/apps/evolution/src.nix b/pkgs/desktops/gnome-3/apps/evolution/src.nix
index 2aab7967d8a8..5e44e384ae75 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/src.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evolution-3.24.5";
+  name = "evolution-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evolution/3.24/evolution-3.24.5.tar.xz;
-    sha256 = "5544c5ea1a1c352e0300bff447ddf67146486fc3a6bbecd1b785d378d34b2189";
+    url = mirror://gnome/sources/evolution/3.26/evolution-3.26.2.tar.xz;
+    sha256 = "2d9299b8414903021faa03cbb885814de454f5260398eb2c2a03600224479137";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/src.nix b/pkgs/desktops/gnome-3/apps/file-roller/src.nix
index 10a82877bcd8..090c88e1d3e3 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/src.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "file-roller-3.24.1";
+  name = "file-roller-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/file-roller/3.24/file-roller-3.24.1.tar.xz;
-    sha256 = "011545e8bd81a415fb068718347bf63ced4ab176210ce36a668904a3124c7f3a";
+    url = mirror://gnome/sources/file-roller/3.26/file-roller-3.26.2.tar.xz;
+    sha256 = "3e677b8e1c2f19aead69cf4fc419a19fc3373aaf5d7bf558b4f077f10bbba8a5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index ce29ebf0a7ea..e48d15e6abfe 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -1,7 +1,7 @@
 { stdenv, intltool, fetchurl, python, autoreconfHook
-, pkgconfig, gtk3, glib
-, makeWrapper, itstool, libxml2, docbook_xsl
-, gnome3, librsvg, gdk_pixbuf, libxslt }:
+, pkgconfig, gtk3, glib, gobjectIntrospection
+, wrapGAppsHook, itstool, libxml2, docbook_xsl
+, gnome3, gdk_pixbuf, libxslt }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -9,13 +9,13 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   nativeBuildInputs = [
-    pkgconfig intltool itstool makeWrapper docbook_xsl libxslt
+    pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobjectIntrospection
     # reconfiguration
     autoreconfHook gnome3.gnome_common gnome3.yelp_tools
   ];
   buildInputs = [ gtk3 glib libxml2 python
                   gnome3.gsettings_desktop_schemas
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg ];
+                  gdk_pixbuf gnome3.defaultIconTheme ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index cb8bf49254ba..6126fed8e06f 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
+{ stdenv, fetchurl, makeWrapper, pkgconfig, gettext, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
-, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala_0_32
+, spice_protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
 , libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop_file_utils
 , mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, qemu, libsecret
 , libcap_ng, numactl, xen, libapparmor
@@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   nativeBuildInputs = [
-    makeWrapper pkgconfig intltool
+    makeWrapper pkgconfig gettext
   ];
 
   buildInputs = [
     itstool libvirt-glib glib gobjectIntrospection libxml2 gtk3 gtkvnc
-    libvirt spice_gtk spice_protocol libuuid libsoup libosinfo systemd
-    tracker vala_0_32 libcap yajl gmp gdbm cyrus_sasl libusb libarchive
+    libvirt spice_gtk spice_protocol libsoup libosinfo systemd
+    tracker tracker-miners vala libcap yajl gmp gdbm cyrus_sasl libusb libarchive
     gnome3.defaultIconTheme librsvg desktop_file_utils acl libgudev libsecret
     libcap_ng numactl xen libapparmor
   ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
index dbed46178504..b2c2f378bff4 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-boxes-3.24.0";
+  name = "gnome-boxes-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-boxes/3.24/gnome-boxes-3.24.0.tar.xz;
-    sha256 = "7495ea7184b6ef650033daf6941328b785b22e522e8142b9d190575d215dec49";
+    url = mirror://gnome/sources/gnome-boxes/3.26/gnome-boxes-3.26.2.tar.xz;
+    sha256 = "d00fc083182963dc1bbdee5e743ceb28ba03fbf5a9ea87c78d29dca5fb5b9210";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index 618d6152d81f..c13d7e976e5c 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, evolution_data_server, sqlite, libxml2, libsoup
+{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook
+, gettext, libxml2, gnome3, gtk, evolution_data_server, libsoup
 , glib, gnome_online_accounts, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
@@ -7,13 +7,17 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook ];
   buildInputs = [
-    gtk3 wrapGAppsHook intltool evolution_data_server
-    sqlite libxml2 libsoup glib gnome3.defaultIconTheme gnome_online_accounts
-    gsettings_desktop_schemas
+    gtk evolution_data_server libsoup glib gnome_online_accounts
+    gsettings_desktop_schemas gnome3.defaultIconTheme
   ];
 
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Calendar;
     description = "Simple and beautiful calendar application for GNOME";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
index 5d0eeadcc0ae..39f7f333495e 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calendar-3.24.3";
+  name = "gnome-calendar-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calendar/3.24/gnome-calendar-3.24.3.tar.xz;
-    sha256 = "3ecb4074f44cb6c883f81f93ebde2fa3890107f8e06740495be9f942190ff3ec";
+    url = mirror://gnome/sources/gnome-calendar/3.26/gnome-calendar-3.26.2.tar.xz;
+    sha256 = "19a2c737b9662be926fb68e7dc731d94c523d23fa7a49e435e6a0346770dc50e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
index db14a10d65a7..d7ac2cd8829b 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-characters-3.24.0";
+  name = "gnome-characters-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-characters/3.24/gnome-characters-3.24.0.tar.xz;
-    sha256 = "9ef4ff28437a63a221c47189231909fb9e4cac838c5f3cf402906fb128b52596";
+    url = mirror://gnome/sources/gnome-characters/3.26/gnome-characters-3.26.2.tar.xz;
+    sha256 = "69d0218b4ce16451bef0e6ee9f9f18f5b7851aa3a758b13315d592b077374f7b";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index 68cd2a42fa64..1d0a9b271c27 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, intltool, fetchurl, libgweather, libnotify
-, pkgconfig, gtk3, glib, gsound
-, makeWrapper, itstool, libcanberra_gtk3, libtool
-, gnome3, librsvg, gdk_pixbuf, geoclue2, wrapGAppsHook }:
+{ stdenv, fetchurl
+, meson, ninja, gettext, pkgconfig, wrapGAppsHook, itstool, desktop_file_utils
+, vala,  gtk3, glib, gsound, libcanberra_gtk3
+, gnome3, gdk_pixbuf, geoclue2, libgweather }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas makeWrapper
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
+  nativeBuildInputs = [ vala meson ninja pkgconfig gettext itstool wrapGAppsHook desktop_file_utils ];
+  buildInputs = [ gtk3 glib libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas
+                  gdk_pixbuf gnome3.defaultIconTheme
                   gnome3.gnome_desktop gnome3.geocode_glib geoclue2
-                  libgweather libnotify libtool gsound
-                  wrapGAppsHook ];
+                  libgweather gsound ];
 
   enableParallelBuilding = true;
 
+  prePatch = "patchShebangs build-aux/";
+
+  checkPhase = "meson test";
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Clocks;
     description = "Clock application designed for GNOME 3";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
index 2497fe83c1ed..ea7878f48695 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-clocks-3.24.0";
+  name = "gnome-clocks-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-clocks/3.24/gnome-clocks-3.24.0.tar.xz;
-    sha256 = "9d5ae0e972ad92d0a0873af9e0f9b00b8378b3cd50b7830e6fb9a227c6107f36";
+    url = mirror://gnome/sources/gnome-clocks/3.26/gnome-clocks-3.26.1.tar.xz;
+    sha256 = "2bd8d8df1d6aa0feddd4afc15d84b1308202fda59a3c3be42e3bce7e9ccd11f7";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index d34334c4f64c..a3f6084c9f39 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib
-, makeWrapper, itstool, libxslt, webkitgtk
+{ stdenv, gettext, fetchurl, evince, gjs
+, pkgconfig, gtk3, glib, tracker, tracker-miners
+, itstool, libxslt, webkitgtk
 , gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
 , gobjectIntrospection, json_glib, inkscape, poppler_utils
 , gmp, desktop_file_utils, wrapGAppsHook }:
@@ -12,16 +12,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-getting-started" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxslt
-                  docbook_xsl desktop_file_utils inkscape poppler_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+  nativeBuildInputs = [ pkgconfig gettext itstool libxslt desktop_file_utils docbook_xsl wrapGAppsHook ];
+  buildInputs = [ gtk3 glib inkscape poppler_utils
+                  gnome3.gsettings_desktop_schemas gmp
                   gdk_pixbuf gnome3.defaultIconTheme librsvg evince
                   libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
-                  gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
-                  gnome3.gnome_desktop gnome3.libzapojit json_glib
-                  wrapGAppsHook ]
-                ++ (with gnome3; [ libgepub ]);
+                  tracker tracker-miners gnome3.libgdata gnome3.gnome_online_accounts
+                  gnome3.gnome_desktop gnome3.libzapojit json_glib gnome3.libgepub ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
index c1ca08a064bf..de0332ea4037 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-documents-3.24.3";
+  name = "gnome-documents-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-documents/3.24/gnome-documents-3.24.3.tar.xz;
-    sha256 = "c2f920fe1696499ba2594c9ab3328e7f18fa8f60df0273aaad503bbe27eeb9a0";
+    url = mirror://gnome/sources/gnome-documents/3.26/gnome-documents-3.26.1.tar.xz;
+    sha256 = "ba0d3084359d666b90733bb43206d24190fa85304bfe45f674ab6e6a27cb7fc9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
index 027cbb59d880..3f1341b7cab8 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-getting-started-docs-3.24.1";
+  name = "gnome-getting-started-docs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-getting-started-docs/3.24/gnome-getting-started-docs-3.24.1.tar.xz;
-    sha256 = "9e62895362597cf563696852294a4838cea7243f0116767c254c870b7ba94a97";
+    url = mirror://gnome/sources/gnome-getting-started-docs/3.26/gnome-getting-started-docs-3.26.2.tar.xz;
+    sha256 = "34f45f6b5759a46547e834f1b706ae7485fd94e1af5354154420d8910ec67775";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
index 53e303f38566..951620986685 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-logs-3.24.2";
+  name = "gnome-logs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-logs/3.24/gnome-logs-3.24.2.tar.xz;
-    sha256 = "9aaf0d6ba6af195dc9805b5f6d290b454a0b710daf0c595fe6286f59a43083c4";
+    url = mirror://gnome/sources/gnome-logs/3.26/gnome-logs-3.26.2.tar.xz;
+    sha256 = "e17ca011e7bea756bd841e027e56cfe8c214bed4817cb35732ace4aa73ff8f5c";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
index e45d7be3fb77..0fac7f865ca6 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-maps-3.24.3";
+  name = "gnome-maps-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-maps/3.24/gnome-maps-3.24.3.tar.xz;
-    sha256 = "5ef3ec36aa76eb9a49a15ee61539bea7b59e8aa0a802483df6cedcc65566d0d6";
+    url = mirror://gnome/sources/gnome-maps/3.26/gnome-maps-3.26.2.tar.xz;
+    sha256 = "031d5c4a1aa79f1fbaf87f01fb790f7aab1d8dcd5d061cb5daf0fa96eaa18050";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 54e79872c679..f5454c1c3869 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
+{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker, tracker-miners
 , libxml2, python3Packages, libnotify, wrapGAppsHook
 , pkgconfig, gtk3, glib, cairo
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
                   python3Packages.pycairo python3Packages.dbus-python python3Packages.requests
                   python3Packages.pygobject3 gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad wrapGAppsHook
-                  gnome3.gsettings_desktop_schemas makeWrapper tracker ];
+                  gnome3.gsettings_desktop_schemas makeWrapper tracker tracker-miners ];
 
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/src.nix b/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
index 615c54583f29..3ac99e146d46 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-music-3.24.2";
+  name = "gnome-music-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-music/3.24/gnome-music-3.24.2.tar.xz;
-    sha256 = "1a72b7972cac66c7aba7a4fbcbf8df99b3df7c46f26957b3e16089550d3ef62c";
+    url = mirror://gnome/sources/gnome-music/3.26/gnome-music-3.26.1.tar.xz;
+    sha256 = "7197dff12f441a52b4011512bfe8ec926f2ce4ca511f79b078e0e612d612f8c3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
index 61ec2ac446ce..0b19ba9f0f6d 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
@@ -1,8 +1,9 @@
 { stdenv, intltool, fetchurl, exempi, libxml2
-, pkgconfig, gtk3, glib
+, pkgconfig, gtk3, glib, tracker, tracker-miners
 , 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;
@@ -17,8 +18,8 @@ stdenv.mkDerivation rec {
                   gdk_pixbuf gnome3.defaultIconTheme librsvg exempi
                   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 ];
+                  lcms2 libexif tracker tracker-miners libxml2 desktop_file_utils
+                  wrapGAppsHook gexiv2 geocode_glib dleyna-renderer ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
index 204897f6d363..f30b88642fd3 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-photos-3.24.3";
+  name = "gnome-photos-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-photos/3.24/gnome-photos-3.24.3.tar.xz;
-    sha256 = "cd365629ce584d223c023676a88b6194012bbc561c4a4b1c8eca462425e76288";
+    url = mirror://gnome/sources/gnome-photos/3.26/gnome-photos-3.26.2.tar.xz;
+    sha256 = "9001ed2794da44522a1d700c7b5aff40ede92f80ba17031f0dfa7f54d6d05657";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
index eef77b23504c..d12db5132536 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-weather-3.24.0";
+  name = "gnome-weather-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-weather/3.24/gnome-weather-3.24.0.tar.xz;
-    sha256 = "e36847884670e59a71ac70ed982fc8f2fb70f1766c3a24f10a0cd38c9b66d574";
+    url = mirror://gnome/sources/gnome-weather/3.26/gnome-weather-3.26.0.tar.xz;
+    sha256 = "965cc0d1b4d4e53c06d494db96f0b124d232af5c0e731ca900edd10f77a74c78";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index 7c3da70edeb2..dc75193e771c 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, adwaita-icon-theme
-, telepathy_glib, gjs, itstool, telepathy_idle, libxml2
-, pkgconfig, gtk3, glib, librsvg, libsecret, libsoup
+{ stdenv, itstool, fetchurl, fetchpatch, gdk_pixbuf, adwaita-icon-theme
+, telepathy_glib, gjs, meson, ninja, gettext, telepathy_idle, libxml2, desktop_file_utils
+, pkgconfig, gtk3, glib, libsecret, libsoup, gobjectIntrospection, appstream-glib
 , gnome3, wrapGAppsHook, telepathy_logger, gspell }:
 
 stdenv.mkDerivation rec {
@@ -8,9 +8,17 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ telepathy_idle telepathy_logger ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool adwaita-icon-theme wrapGAppsHook gnome3.gsettings_desktop_schemas
-                  telepathy_glib telepathy_logger gjs gspell gdk_pixbuf librsvg libxml2 libsecret libsoup ];
+  nativeBuildInputs = [ meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
+                        desktop_file_utils gobjectIntrospection appstream-glib ];
+  buildInputs = [ gtk3 glib adwaita-icon-theme gnome3.gsettings_desktop_schemas
+                  telepathy_glib telepathy_logger gjs gspell gdk_pixbuf libsecret libsoup ];
+
+  patches = [
+    (fetchpatch {
+      url = https://gitlab.gnome.org/jtojnar/polari/commit/a6733a6ad95eac1813e7b18e3d0018a22ee7a377.diff;
+      sha256 = "0f5ll49h5w0477lkh67kaa2j83z376z1jk7z3i2v7cq4d3hi5lf9";
+    })
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/polari/src.nix b/pkgs/desktops/gnome-3/apps/polari/src.nix
index da7a37031f57..8af7c33846db 100644
--- a/pkgs/desktops/gnome-3/apps/polari/src.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "polari-3.24.2";
+  name = "polari-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/polari/3.24/polari-3.24.2.tar.xz;
-    sha256 = "3e1884000fda5cf6293e21ca1c028ec0b13d5baab5a79b8c11e4728c3238bb42";
+    url = mirror://gnome/sources/polari/3.26/polari-3.26.2.tar.xz;
+    sha256 = "2f36361dacf5d924d134f231fdb36ec4539f7495fce325d9b2f2728bd17cc190";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index 03dbdb1842a4..3bc69f67a4f8 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, vala_0_32
+{ stdenv, intltool, fetchurl, vala
 , pkgconfig, gtk3, glib
 , wrapGAppsHook, itstool, gnupg, libsoup
 , gnome3, librsvg, gdk_pixbuf, gpgme
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk3 glib intltool itstool gnome3.gcr
                   gnome3.gsettings_desktop_schemas wrapGAppsHook gnupg
                   gdk_pixbuf gnome3.defaultIconTheme librsvg gpgme
-                  libsecret avahi libsoup p11_kit vala_0_32
+                  libsecret avahi libsoup p11_kit vala
                   openssh ];
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
index 5700cb56913f..1a388505674c 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "adwaita-icon-theme-3.24.0";
+  name = "adwaita-icon-theme-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/adwaita-icon-theme/3.24/adwaita-icon-theme-3.24.0.tar.xz;
-    sha256 = "ccf79ff3bd340254737ce4d28b87f0ccee4b3358cd3cd5cd11dc7b42f41b272a";
+    url = mirror://gnome/sources/adwaita-icon-theme/3.26/adwaita-icon-theme-3.26.0.tar.xz;
+    sha256 = "9cad85de19313f5885497aceab0acbb3f08c60fcd5fa5610aeafff37a1d12212";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/baobab/src.nix b/pkgs/desktops/gnome-3/core/baobab/src.nix
index 8a2e35d454e3..d3e2f03feb8b 100644
--- a/pkgs/desktops/gnome-3/core/baobab/src.nix
+++ b/pkgs/desktops/gnome-3/core/baobab/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "baobab-3.24.0";
+  name = "baobab-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/baobab/3.24/baobab-3.24.0.tar.xz;
-    sha256 = "5980e96df9f3d1751a969869ec07bc184ae3ad667d5a3eb06cf1297091fdfc3f";
+    url = mirror://gnome/sources/baobab/3.26/baobab-3.26.1.tar.xz;
+    sha256 = "7a59ab5945f5d90725231b10d85a1893403f56660b1627c111d2b4eeb1ef787e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/caribou/default.nix b/pkgs/desktops/gnome-3/core/caribou/default.nix
index e405d8edfbaf..e463fe0e03f0 100644
--- a/pkgs/desktops/gnome-3/core/caribou/default.nix
+++ b/pkgs/desktops/gnome-3/core/caribou/default.nix
@@ -1,8 +1,10 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
-, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core, autoreconfHook }:
+{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, python3Packages, libxml2
+, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core, autoreconfHook
+, wrapGAppsHook }:
 
 let
   majorVersion = "0.4";
+  pythonEnv = python3Packages.python.withPackages ( ps: with ps; [ pygobject3 ] );
 in
 stdenv.mkDerivation rec {
   name = "caribou-${majorVersion}.21";
@@ -12,11 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt libxml2 autoreconfHook wrapGAppsHook ];
 
   buildInputs = with gnome3;
-    [ glib gtk clutter at_spi2_core dbus pythonPackages.python
-      pythonPackages.pygobject3 libxml2 libXtst gtk2 intltool libxslt ];
+    [ glib gtk clutter at_spi2_core dbus pythonEnv python3Packages.pygobject3
+      libXtst gtk2 ];
 
   propagatedBuildInputs = [ gnome3.libgee libxklavier ];
 
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index cd401962c99c..62ccb6360341 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, 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, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  buildInputs = [ vala_0_32 libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
+  buildInputs = [ vala libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
                   gnome3.gsettings_desktop_schemas
                   intltool docbook_xsl docbook_xsl_ns gnome3.dconf ];
 
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/src.nix b/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
index 64e19864536f..b21630641d94 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "dconf-editor-3.22.0";
+  name = "dconf-editor-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/dconf-editor/3.22/dconf-editor-3.22.0.tar.xz;
-    sha256 = "4ca3c2c3836f4c944f161540d1521507dab8e7bee0cac7d543560808efb9246f";
+    url = mirror://gnome/sources/dconf-editor/3.26/dconf-editor-3.26.2.tar.xz;
+    sha256 = "28b453fe49c49d7dfaf07c85c01d7495913f93ab64a0b223c117eb17d1cb8ad1";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
index 23759e3bf90e..49ad25a8c5e7 100644
--- a/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -1,13 +1,13 @@
-{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+{ fetchurl, stdenv, gettext, pkgconfig, itstool, libxml2, libjpeg, gnome3
 , shared_mime_info, wrapGAppsHook, librsvg, libexif }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];
 
   buildInputs = with gnome3;
-    [ intltool itstool libxml2 libjpeg gtk glib libpeas librsvg
+    [ libxml2 libjpeg gtk glib libpeas librsvg
       gsettings_desktop_schemas shared_mime_info adwaita-icon-theme
       gnome_desktop libexif dconf ];
 
diff --git a/pkgs/desktops/gnome-3/core/eog/src.nix b/pkgs/desktops/gnome-3/core/eog/src.nix
index 72b02d0bba5a..d0046d899bec 100644
--- a/pkgs/desktops/gnome-3/core/eog/src.nix
+++ b/pkgs/desktops/gnome-3/core/eog/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "eog-3.24.1";
+  name = "eog-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/eog/3.24/eog-3.24.1.tar.xz;
-    sha256 = "f51ee116e2c159fac1719e003a32e1cb6cbff51914fd1f6409f461a790ff27e7";
+    url = mirror://gnome/sources/eog/3.26/eog-3.26.2.tar.xz;
+    sha256 = "b53e3d4dfa7d0085b829a5fb95f148a099803c00ef276be7685efd5ec38807ad";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index 35aae8cc9eb9..8c87609f85cc 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,32 +1,40 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
-, bash, wrapGAppsHook, gnome3, libwnck3, libxml2, libxslt, libtool
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk, glib, icu
+, wrapGAppsHook, gnome3, libxml2, libxslt, itstool
 , webkitgtk, libsoup, glib_networking, libsecret, gnome_desktop, libnotify, p11_kit
-, sqlite, gcr, avahi, nss, isocodes, itstool, file, which
-, gdk_pixbuf, librsvg, gnome_common, gst_all_1, json_glib }:
+, sqlite, gcr, isocodes, desktop_file_utils, file
+, gdk_pixbuf, gnome_common, gst_all_1, json_glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Tests need an X display
-  configureFlags = [ "--disable-static --disable-tests" ];
+  mesonFlags = [ "-Dunit_tests=false" ];
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig file wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja libxslt pkgconfig itstool gettext file wrapGAppsHook desktop_file_utils ];
 
-  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt file
-                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
-                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
-                  gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf
-                  gnome3.glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  buildInputs = [ gtk glib webkitgtk libsoup libxml2 libsecret gnome_desktop libnotify
+                  sqlite isocodes p11_kit icu gnome3.yelp_tools
+                  gdk_pixbuf gnome3.defaultIconTheme gnome_common gcr
+                  glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
                   gst_all_1.gst-libav json_glib ];
 
-  NIX_CFLAGS_COMPILE = "-I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
-
   enableParallelBuilding = true;
 
+  postPatch = ''
+    chmod +x post_install.py # patchShebangs requires executable file
+    patchShebangs post_install.py
+  '';
+
+  postFixup = ''
+    # Patched meson does not add internal libraries to rpath
+    for f in bin/.epiphany-wrapped libexec/.epiphany-search-provider-wrapped libexec/epiphany/.ephy-profile-migrator-wrapped lib/epiphany/web-extensions/libephywebextension.so; do
+      patchelf --set-rpath "$out/lib/epiphany:$(patchelf --print-rpath $out/$f)" "$out/$f"
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Epiphany;
     description = "WebKit based web browser for GNOME";
diff --git a/pkgs/desktops/gnome-3/core/epiphany/src.nix b/pkgs/desktops/gnome-3/core/epiphany/src.nix
index 85596c07fadb..15048ce269cb 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/src.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "epiphany-3.24.3";
+  name = "epiphany-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/epiphany/3.24/epiphany-3.24.3.tar.xz;
-    sha256 = "fef51676310d9f37e18c9b2d778254232eb17cccd988c2d1ecf42c7b2963a154";
+    url = mirror://gnome/sources/epiphany/3.26/epiphany-3.26.3.tar.xz;
+    sha256 = "cb50042496e704621db3d0213581b0f914c639e160522751f64c5e5f6e6040b5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/evince/src.nix b/pkgs/desktops/gnome-3/core/evince/src.nix
index aa45a79536ac..6627be550884 100644
--- a/pkgs/desktops/gnome-3/core/evince/src.nix
+++ b/pkgs/desktops/gnome-3/core/evince/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evince-3.24.1";
+  name = "evince-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evince/3.24/evince-3.24.1.tar.xz;
-    sha256 = "9ca0c5213407b37be55fddb04a85d9301b692c4412c5920319d975403bff0f37";
+    url = mirror://gnome/sources/evince/3.26/evince-3.26.0.tar.xz;
+    sha256 = "79567bdb743cf0c3ed7b638da32afc9b850298f9b4edd532455df4a7e2a4c9d8";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index e2472a403699..ebe740a2167c 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -1,17 +1,18 @@
 { fetchurl, stdenv, pkgconfig, gnome3, python, dconf
 , intltool, libsoup, libxml2, libsecret, icu, sqlite
-, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true,
-vala_0_32, cmake, kerberos, openldap, webkitgtk, libaccounts-glib }:
+, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true
+, vala, cmake, kerberos, openldap, webkitgtk, libaccounts-glib, json_glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ cmake pkgconfig intltool python gperf makeWrapper ];
   buildInputs = with gnome3;
-    [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts
-      (stdenv.lib.getLib dconf) gcr p11_kit libgweather libgdata gperf makeWrapper
-      icu sqlite gsettings_desktop_schemas cmake kerberos openldap webkitgtk
-      libaccounts-glib ]
-    ++ stdenv.lib.optional valaSupport vala_0_32;
+    [ glib libsoup libxml2 gtk gnome_online_accounts
+      (stdenv.lib.getLib dconf) gcr p11_kit libgweather libgdata
+      icu sqlite gsettings_desktop_schemas kerberos openldap webkitgtk
+      libaccounts-glib json_glib ]
+    ++ stdenv.lib.optional valaSupport vala;
 
   propagatedBuildInputs = [ libsecret nss nspr libical db ];
 
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
index 655fffe0eb9d..1828357159dc 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evolution-data-server-3.24.5";
+  name = "evolution-data-server-3.26.2.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evolution-data-server/3.24/evolution-data-server-3.24.5.tar.xz;
-    sha256 = "6d8ec04b79c02bb517cc3e23ac3b23c7503465dfa27b7415955201a2f62844e1";
+    url = mirror://gnome/sources/evolution-data-server/3.26/evolution-data-server-3.26.2.1.tar.xz;
+    sha256 = "09fb1c4ce20c62309e8ea2d80649f590492e88c1deb89118e715e155296baefd";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix
index 6fcaa67b7712..6be27021023a 100644
--- a/pkgs/desktops/gnome-3/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/core/folks/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
-, vala_0_32, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
+, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
 , telepathy_glib, evolution_data_server, libsecret, db }:
 
 # TODO: enable more folks backends
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
   # dbus_daemon needed for tests
   buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
-                  vala_0_32 libsecret libxml2 libsoup nspr nss intltool db ];
+                  vala libsecret libxml2 libsoup nspr nss intltool db ];
   nativeBuildInputs = [ pkgconfig ];
 
   configureFlags = "--disable-fatal-warnings";
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index e970dba5615e..2569b4e2c7ad 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
 , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper, libxslt, vala_0_32, gnome3 }:
+, gobjectIntrospection, makeWrapper, libxslt, vala, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection libxslt makeWrapper vala ];
 
   buildInputs = let
     gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
   in [
-    intltool gpg gobjectIntrospection libxslt
-    libgcrypt libtasn1 dbus_glib pango gdk_pixbuf atk makeWrapper vala_0_32
+    gpg libgcrypt libtasn1 dbus_glib pango gdk_pixbuf atk
   ];
 
   propagatedBuildInputs = [ glib gtk p11_kit ];
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 09e27e7c0c5f..796e103fdb3c 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
 , intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, plymouth
-, librsvg }:
+, librsvg, coreutils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -11,16 +11,21 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  postPatch = ''
+    substituteInPlace daemon/gdm-manager.c --replace "/bin/plymouth" "${plymouth}/bin/plymouth"
+    substituteInPlace data/gdm.service.in  --replace "/bin/kill" "${coreutils}/bin/kill"
+  '';
+
   configureFlags = [ "--sysconfdir=/etc"
                      "--localstatedir=/var"
                      "--with-plymouth=yes"
+                     "--with-initial-vt=7"
                      "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ glib itstool libxml2 intltool
-                  accountsservice gnome3.dconf systemd
+  nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ];
+  buildInputs = [ glib accountsservice systemd
                   gobjectIntrospection libX11 gtk
-                  libcanberra_gtk3 pam libtool plymouth librsvg ];
+                  libcanberra_gtk3 pam plymouth librsvg ];
 
   enableParallelBuilding = true;
 
@@ -30,6 +35,11 @@ stdenv.mkDerivation rec {
               ./gdm-session-worker_xserver-path.patch
              ];
 
+  postInstall = ''
+    # Prevent “Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary”
+    rm $out/share/gdm/greeter/autostart/orca-autostart.desktop
+  '';
+
   installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch b/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch
deleted file mode 100644
index 84081f4786c1..000000000000
--- a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/daemon/gdm-x-session.c.orig b/daemon/gdm-x-session.c
-index d835b34..86f0d47 100644
---- a/daemon/gdm-x-session.c.orig
-+++ b/daemon/gdm-x-session.c
-@@ -240,7 +240,13 @@ spawn_x_server (State        *state,
- 
-         display_fd_string = g_strdup_printf ("%d", DISPLAY_FILENO);
- 
--        g_ptr_array_add (arguments, X_SERVER);
-+        if (g_getenv ("GDM_X_SERVER") != NULL) {
-+                g_debug ("using GDM_X_SERVER: %s", g_getenv("GDM_X_SERVER"));
-+		g_ptr_array_add (arguments, g_getenv("GDM_X_SERVER"));
-+        } else {
-+                g_debug ("GDM_X_SERVER not set, using default: %s", X_SERVER);
-+                g_ptr_array_add (arguments, X_SERVER);
-+        }
- 
-         if (vt_string != NULL) {
-                 g_ptr_array_add (arguments, vt_string);
diff --git a/pkgs/desktops/gnome-3/core/gdm/src.nix b/pkgs/desktops/gnome-3/core/gdm/src.nix
index 0dd7680467f9..8d92167a0391 100644
--- a/pkgs/desktops/gnome-3/core/gdm/src.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gdm-3.24.2";
+  name = "gdm-3.26.2.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdm/3.24/gdm-3.24.2.tar.xz;
-    sha256 = "4378b9fad5536e03c56ad138d0e249fbcaa09977b867895426cb41c978fe5de8";
+    url = mirror://gnome/sources/gdm/3.26/gdm-3.26.2.1.tar.xz;
+    sha256 = "17ddcb00602c2b426de58bb4b0d99af9de27450a8557dcc5ec850c080d55ad57";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 482d6ae64a40..dd607e01caef 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, gtk3, gobjectIntrospection
-, spidermonkey_38, pango, readline, glib, libxml2, dbus }:
+, spidermonkey_52, pango, readline, glib, libxml2, dbus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -7,12 +7,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libxml2 gobjectIntrospection gtk3 glib pango readline dbus ];
 
-  propagatedBuildInputs = [ spidermonkey_38 ];
-
-  # GJS expects mozjs-38.pc but spidermonkey_38 only provides js.pc
-  preConfigure = ''
-    sed -i s/mozjs-38/js/ configure
-  '';
+  propagatedBuildInputs = [ spidermonkey_52 ];
 
   postInstall = ''
     sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
diff --git a/pkgs/desktops/gnome-3/core/gjs/src.nix b/pkgs/desktops/gnome-3/core/gjs/src.nix
index 27162fcbfd45..d3112f02f8ac 100644
--- a/pkgs/desktops/gnome-3/core/gjs/src.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gjs-1.48.6";
+  name = "gjs-1.50.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gjs/1.48/gjs-1.48.6.tar.xz;
-    sha256 = "e85f65ba4b38bf80b6174949dfe6fce89e88b8213bbdde4ac1fde473c08bd312";
+    url = mirror://gnome/sources/gjs/1.50/gjs-1.50.2.tar.xz;
+    sha256 = "2fad902cf7a7806454121c03918755c646fcfd6b08b52d488987db4e2d691ff3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
index dce56f2341e8..9d86b7168ad0 100644
--- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-backgrounds-3.24.0";
+  name = "gnome-backgrounds-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-backgrounds/3.24/gnome-backgrounds-3.24.0.tar.xz;
-    sha256 = "cbda4c2159292940fa4b972df77379be716590c7b62bb4b2b9fa8e99749c71ca";
+    url = mirror://gnome/sources/gnome-backgrounds/3.26/gnome-backgrounds-3.26.2.tar.xz;
+    sha256 = "3a8ba8d3463d70bce2377b168218e32367c0020f2d0caf611e7e39066081f94f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index f237d745c1cc..9eaad021d320 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, fetchurl, gnome3, pkgconfig, gtk3, intltool, glib
-, udev, itstool, libxml2, makeWrapper, libnotify, libcanberra_gtk3 }:
+{ stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, gtk3, intltool, glib
+, udev, itstool, libxml2, wrapGAppsHook, libnotify, libcanberra_gtk3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib gtk3 udev libxml2 gnome3.defaultIconTheme
-                  makeWrapper gnome3.gsettings_desktop_schemas itstool
-                  libnotify libcanberra_gtk3 ];
+  nativeBuildInputs = [ meson ninja intltool itstool pkgconfig libxml2 wrapGAppsHook ];
+  buildInputs = [ glib gtk3 udev libnotify libcanberra_gtk3
+                  gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/bluetooth-sendto" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
index 5129b87e542e..31aab6649d75 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-bluetooth-3.20.1";
+  name = "gnome-bluetooth-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-bluetooth/3.20/gnome-bluetooth-3.20.1.tar.xz;
-    sha256 = "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a";
+    url = mirror://gnome/sources/gnome-bluetooth/3.26/gnome-bluetooth-3.26.1.tar.xz;
+    sha256 = "1d2c7b94fc76a833dad0d4d91344e9a5a7b4aad740c5a90944bd25c5be7e784f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
index 9279cdb13af7..517220c94572 100644
--- a/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calculator-3.24.0";
+  name = "gnome-calculator-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calculator/3.24/gnome-calculator-3.24.0.tar.xz;
-    sha256 = "44758ac719edd20067381073de3c643f842308f26da039412b1978a415202d10";
+    url = mirror://gnome/sources/gnome-calculator/3.26/gnome-calculator-3.26.0.tar.xz;
+    sha256 = "62215b37fcd73a6bbb106ebd0f25051c81ff0cf6ad84fd4a3ea176bceb5863c7";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index e69092a57123..9078b9e051cd 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -3,7 +3,7 @@
 , libchamplain, clutter_gtk, geocode_glib
 , bash, wrapGAppsHook, itstool, folks, libnotify, libxml2
 , gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala_0_32, dbus_glib, automake, autoconf }:
+, libsoup, vala, dbus_glib, automake, autoconf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -17,14 +17,11 @@ stdenv.mkDerivation rec {
    touch src/*.vala
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool evolution_data_server
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook file libnotify
+  nativeBuildInputs = [ vala automake autoconf pkgconfig intltool itstool wrapGAppsHook file ];
+  buildInputs = [ gtk3 glib evolution_data_server gnome3.gsettings_desktop_schemas libnotify
                   folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
                   libxml2 libsoup gnome3.gnome_online_accounts nspr nss
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  libchamplain clutter_gtk geocode_glib
-                  vala_0_32 automake autoconf db ];
+                  gdk_pixbuf gnome3.defaultIconTheme libchamplain clutter_gtk geocode_glib db ];
 
   preFixup = ''
     gappsWrapperArgs+=(
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
index 4409747169ba..bf3df1bc84fe 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-contacts-3.22.1";
+  name = "gnome-contacts-3.26";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-contacts/3.22/gnome-contacts-3.22.1.tar.xz;
-    sha256 = "e45297fb6f379a978605f7e183201be70dff2912f55072a363bdb1f67d9fe87b";
+    url = mirror://gnome/sources/gnome-contacts/3.26/gnome-contacts-3.26.tar.xz;
+    sha256 = "f819ac74b2ad581f9741614627f49ef519713324afd9e4fc0ea5ac261a5f68c1";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
index 85dfcd2ef31c..948768904aea 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-control-center-3.24.3";
+  name = "gnome-control-center-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-control-center/3.24/gnome-control-center-3.24.3.tar.xz;
-    sha256 = "43a4d2a4c222ee4a53428a4a720f823e157e4d4c597ea1a84e438d242596cca2";
+    url = mirror://gnome/sources/gnome-control-center/3.26/gnome-control-center-3.26.2.tar.xz;
+    sha256 = "07aed27d6317f2cad137daa6d94a37ad02c32b958dcd30c8f07d0319abfb04c5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index d56018bf1e8b..e8a7cb8ceb95 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
 , intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
-, gobjectIntrospection }:
+, libseccomp, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ python libxml2Python libxslt which libX11
                   xkeyboard_config isocodes itstool wayland
                   gtk3 glib intltool gnome_doc_utils libxkbfile
-                  gobjectIntrospection ];
+                   libseccomp gobjectIntrospection ];
 
   propagatedBuildInputs = [ gnome3.gsettings_desktop_schemas ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
index 83c2979656c3..f3c0d446d3f1 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-desktop-3.24.2";
+  name = "gnome-desktop-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-desktop/3.24/gnome-desktop-3.24.2.tar.xz;
-    sha256 = "8fa1de66a6a75963bffc79b01a60434c71237d44c51beca09c0f714a032d785e";
+    url = mirror://gnome/sources/gnome-desktop/3.26/gnome-desktop-3.26.2.tar.xz;
+    sha256 = "f7561a7a313fc474b2c390cd9696df1f5c1e1556080e43f4afe042b1060e5f2a";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
index 77c4805a197e..72d1602eee45 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
@@ -1,27 +1,20 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, desktop_file_utils, appstream-glib, libxslt
+, libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43
+, gnome3, gtk, glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
+  propagatedBuildInputs = [ gnome3.defaultIconTheme ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2 file
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
+  nativeBuildInputs = [ meson ninja pkgconfig wrapGAppsHook libxml2 gettext itstool
+                        desktop_file_utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43];
+  buildInputs = [ gtk glib gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-dictionary" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  checkPhase = "meson test";
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Dictionary;
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
index 3c0a188c7b26..92a50430bd1f 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-dictionary-3.24.0";
+  name = "gnome-dictionary-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-dictionary/3.24/gnome-dictionary-3.24.0.tar.xz;
-    sha256 = "41e7064a0cfab18e881a95ce9f1712ee5c9f426904b16f3bc04c35ebd1bbd9f2";
+    url = mirror://gnome/sources/gnome-dictionary/3.26/gnome-dictionary-3.26.1.tar.xz;
+    sha256 = "16b8bc248dcf68987826d5e39234b1bb7fd24a2607fcdbf4258fde88f012f300";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index f9380272f065..188ad99b73cd 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -1,24 +1,23 @@
-{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
-, bash, gtk3, glib, wrapGAppsHook, cracklib, libnotify
-, itstool, gnome3, gdk_pixbuf, libxml2, python
-, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
+{ stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
+, meson, ninja, gtk, glib, wrapGAppsHook, libnotify
+, itstool, gnome3, gdk_pixbuf, libxml2
+, libcanberra_gtk3, libxslt, docbook_xsl, libpwquality }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool
-                  libxslt libtool libsecret libpwquality cracklib
-                  libnotify libdvdread libcanberra_gtk3 docbook_xsl
-                  gdk_pixbuf gnome3.defaultIconTheme
-                  udisks2 gnome3.gnome_settings_daemon
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook libxml2 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxslt docbook_xsl
+                        wrapGAppsHook libxml2 ];
+  buildInputs = [ gtk glib libsecret libpwquality libnotify libdvdread libcanberra_gtk3
+                  gdk_pixbuf udisks2 gnome3.defaultIconTheme
+                  gnome3.gnome_settings_daemon gnome3.gsettings_desktop_schemas ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://en.wikipedia.org/wiki/GNOME_Disks;
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
index 602b9eb340e4..e3241153a930 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-disk-utility-3.24.1";
+  name = "gnome-disk-utility-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-disk-utility/3.24/gnome-disk-utility-3.24.1.tar.xz;
-    sha256 = "878f0489947c813b44eb89f5fdc2790d757cd8565f26f22b950d55b8585653a1";
+    url = mirror://gnome/sources/gnome-disk-utility/3.26/gnome-disk-utility-3.26.2.tar.xz;
+    sha256 = "aa2b96c2c64d8bde6cf802ff8da5796720d0becb21111342ced0637961e256f2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 14aeb69e14cb..cdf119d83a3c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -1,27 +1,19 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool
-, gnome3, librsvg, gdk_pixbuf }:
+{ stdenv, meson, ninja, gettext, fetchurl
+, pkgconfig, gtk3, glib, libxml2
+, wrapGAppsHook, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  checkPhase = "meson test";
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxml2 ];
+  buildInputs = [ gtk3 glib gnome3.gnome_desktop gnome3.defaultIconTheme ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool gnome3.gnome_desktop
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share"
-    )
-  '';
+  # Do not run meson-postinstall.sh
+  preConfigure = "sed -i '2,$ d'  meson-postinstall.sh";
 
   meta = with stdenv.lib; {
     description = "Program that can preview fonts and create thumbnails for fonts";
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
index f4e37d476ddf..c31f09938c92 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-font-viewer-3.24.0";
+  name = "gnome-font-viewer-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-font-viewer/3.24/gnome-font-viewer-3.24.0.tar.xz;
-    sha256 = "f3658216a744603fd2100d60de7b31062e014f02333e8433dcaf6a3bb4b7dc76";
+    url = mirror://gnome/sources/gnome-font-viewer/3.26/gnome-font-viewer-3.26.0.tar.xz;
+    sha256 = "02768a62b4033de5ef9d00602e8c29e5de05255f879b0d9b4d731be9648fe9a0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
index 88179fff3c7e..ffee6211232e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-keyring-3.20.0";
+  name = "gnome-keyring-3.20.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-keyring/3.20/gnome-keyring-3.20.0.tar.xz;
-    sha256 = "bc17cecd748a0e46e302171d11c3ae3d76bba5258c441fabec3786f418e7ec99";
+    url = mirror://gnome/sources/gnome-keyring/3.20/gnome-keyring-3.20.1.tar.xz;
+    sha256 = "134ci3mn6jjap59z3lrvyiip7zf2nlw5xvanr44yajs57xr4x5lp";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
index 2c51429cd0cd..311ad8643395 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-online-accounts-3.24.2";
+  name = "gnome-online-accounts-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-online-accounts/3.24/gnome-online-accounts-3.24.2.tar.xz;
-    sha256 = "b70ad52d1541e1e5192dd060bb11552a3af5007ab477aa81d265d1cd1cf7afba";
+    url = mirror://gnome/sources/gnome-online-accounts/3.26/gnome-online-accounts-3.26.1.tar.xz;
+    sha256 = "603c110405cb89a01497a69967f10e3f3f36add3dc175b062ec4c5ed4485621b";
   };
 }
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..d8e878715602 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -1,24 +1,18 @@
 { stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
-, libsoup, json_glib, gmp, openssl, makeWrapper }:
+, libsoup, json_glib, gmp, openssl, dleyna-server, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
   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.gnome_online_accounts gnome3.libmediaart
+                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest
+                  dleyna-server ];
 
   enableParallelBuilding = true;
 
-  preFixup = ''
-    for f in $out/libexec/*; do
-      wrapProgram "$f" \
-        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-${gnome3.grilo-plugins.major}"
-    done
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
     description = "A set of crawlers that go through your online content and index them locally in Tracker";
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
index 00558f252952..3b8306c6a1a5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-online-miners-3.24.0";
+  name = "gnome-online-miners-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-online-miners/3.24/gnome-online-miners-3.24.0.tar.xz;
-    sha256 = "8c0508f459b0364bed5f2f6a997aa81c1cbe75a94b23cc8fcfd83b0d3485d3ab";
+    url = mirror://gnome/sources/gnome-online-miners/3.26/gnome-online-miners-3.26.0.tar.xz;
+    sha256 = "7f404db5eccb87524a5dfcef5b6f38b11047b371081559afbe48c34dbca2a98e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 1f933e1b3c57..69a967d6d247 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
-, bash, gtk3, glib, wrapGAppsHook
-, itstool, gnome3, librsvg, gdk_pixbuf }:
+{ stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra_gtk3
+, bash, gtk3, glib, meson, ninja, wrapGAppsHook, appstream-glib
+, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  checkPhase = "meson test";
+
+
+  postPatch = ''
+    chmod +x build-aux/postinstall.py # patchShebangs requires executable file
+    patchShebangs build-aux/postinstall.py
+  '';
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 wrapGAppsHook ];
+  buildInputs = [ bash gtk3 glib libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share"
-    )
-  '';
+  patches = [
+    ./prevent-cache-updates.patch
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://en.wikipedia.org/wiki/GNOME_Screenshot;
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch b/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
new file mode 100644
index 000000000000..370d09cd2f02
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
@@ -0,0 +1,21 @@
+--- a/build-aux/postinstall.py
++++ b/build-aux/postinstall.py
+@@ -8,18 +8,6 @@
+ 
+ # Packaging tools define DESTDIR and this isn't needed for them
+ if 'DESTDIR' not in os.environ:
+-    print('Updating icon cache...')
+-    icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor')
+-    if not os.path.exists(icon_cache_dir):
+-        os.makedirs(icon_cache_dir)
+-    subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir])
+-
+-    print('Updating desktop database...')
+-    desktop_database_dir = os.path.join(datadir, 'applications')
+-    if not os.path.exists(desktop_database_dir):
+-        os.makedirs(desktop_database_dir)
+-    subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
+-
+     print('Compiling GSettings schemas...')
+     schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas')
+     if not os.path.exists(schemas_dir):
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
index 3668417d280b..72b1e6625452 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-screenshot-3.22.0";
+  name = "gnome-screenshot-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-screenshot/3.22/gnome-screenshot-3.22.0.tar.xz;
-    sha256 = "8a05f14b3c7c6cb42f9848ad0332034c7fe5c34a69742910203588fd60b00230";
+    url = mirror://gnome/sources/gnome-screenshot/3.26/gnome-screenshot-3.26.0.tar.xz;
+    sha256 = "1bbc11595d3822f4b92319cdf9ba49dd00f5471b6046c590847dc424a874c8bb";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/src.nix b/pkgs/desktops/gnome-3/core/gnome-session/src.nix
index d323fea7631c..bb9dec1efc23 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-session-3.24.1";
+  name = "gnome-session-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-session/3.24/gnome-session-3.24.1.tar.xz;
-    sha256 = "3b4449238e396b95f9616dfd6f99d8345afaf30c7e3cb6a3549f253d9f966eee";
+    url = mirror://gnome/sources/gnome-session/3.26/gnome-session-3.26.1.tar.xz;
+    sha256 = "d9414b368db982d3837ca106e64019f18e6cdd5b13965bea6c7d02ddf5103708";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index ff5670935bd9..6de97f3dea26 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
 , libxkbfile, libpulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
 , geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libtool, networkmanager
-, docbook_xsl, docbook_xsl_ns, wrapGAppsHook, ibus, xkeyboard_config }:
+, docbook_xsl, docbook_xsl_ns, wrapGAppsHook, ibus, xkeyboard_config, tzdata }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
       polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
       libtool docbook_xsl docbook_xsl_ns wrapGAppsHook gnome_themes_standard ];
 
+  postPatch = ''
+    substituteInPlace plugins/datetime/tz.h --replace /usr/share/zoneinfo/zone.tab ${tzdata}/share/zoneinfo/zone.tab
+  '';
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
index 03c213f21622..1c3fbbfc2efa 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-settings-daemon-3.24.3";
+  name = "gnome-settings-daemon-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-settings-daemon/3.24/gnome-settings-daemon-3.24.3.tar.xz;
-    sha256 = "68c46038bc32b7cbe933cc24fa9f1eb96127d9900c07627767ab0a802f948593";
+    url = mirror://gnome/sources/gnome-settings-daemon/3.26/gnome-settings-daemon-3.26.2.tar.xz;
+    sha256 = "5a3d156b35e03fa3c28fddd0321f6726082a711973dee2af686370faae2e75e4";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
index cb9bf57ce4a4..150a15d0a5f3 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-shell-extensions-3.24.3";
+  name = "gnome-shell-extensions-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-shell-extensions/3.24/gnome-shell-extensions-3.24.3.tar.xz;
-    sha256 = "3c7defc6512d7ed9f09eb82342d7b6c8f5fe8dcac3f0126ca7e0569feeb50a79";
+    url = mirror://gnome/sources/gnome-shell-extensions/3.26/gnome-shell-extensions-3.26.2.tar.xz;
+    sha256 = "aefda4d810ef5ceb9402e2d620f4bdc1dc40c9cc4f6a51749840f7dd08628ab6";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index a694da0844de..693560454b17 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -1,9 +1,10 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
+{ fetchurl, fetchpatch, stdenv, meson, ninja, pkgconfig, gnome3, json_glib, libcroco, gettext, libsecret
 , python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at_spi2_core
-, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
-, sqlite, libgweather, libcanberra_gtk3, librsvg, geoclue2
-, libpulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet }:
+, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip, glibcLocales
+, sqlite, libgweather, libcanberra_gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42
+, libpulseaudio, libical, nss, gobjectIntrospection, gstreamer, wrapGAppsHook
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet
+, gst_all_1 }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -14,50 +15,55 @@ in stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Needed to find /etc/NetworkManager/VPN
-  configureFlags = [ "--sysconfdir=/etc" ];
+  mesonFlags = [ "--sysconfdir=/etc" ];
 
+  LANG = "en_US.UTF-8";
+
+  nativeBuildInputs = [ meson ninja gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales ];
   buildInputs = with gnome3;
     [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
-      libcroco intltool libsecret pkgconfig libsoup polkit libcanberra_gtk2 gdk_pixbuf
+      libcroco libsecret pkgconfig libsoup polkit gdk_pixbuf
       (librsvg.override { enableIntrospection = true; })
-      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
+      clutter networkmanager libstartup_notification telepathy_glib
       libXtst p11_kit networkmanagerapplet gjs mutter libpulseaudio caribou evolution_data_server
-      libical libtool nss gtk gstreamer makeWrapper gdm
+      libical nss gtk gstreamer gdm
       libcanberra_gtk3 gnome_control_center geoclue2
       defaultIconTheme sqlite gnome3.gnome-bluetooth
       libgweather # not declared at build time, but typelib is needed at runtime
       gnome3.gnome-clocks # schemas needed
       at_spi2_core upower ibus gnome_desktop telepathy_logger gnome3.gnome_settings_daemon
+      gst_all_1.gst-plugins-good # recording
       gobjectIntrospection (stdenv.lib.getLib dconf) ];
-
-  installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
-
-  preBuild = ''
+  propagatedUserEnvPkgs = [
+    # Needed to support on-screen keyboard used with touch screen devices
+    # see https://github.com/NixOS/nixpkgs/issues/25968
+    gnome3.caribou
+  ];
+
+  patches = [
+    (fetchpatch {
+      name = "0001-build-Add-missing-dependency-to-run-js-test.patch";
+      url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016;
+      sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
+    })
+    ./fix-paths.patch
+  ];
+
+  postPatch = ''
     patchShebangs src/data-to-c.pl
-    substituteInPlace data/Makefile --replace " install-keysDATA" ""
 
     substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
     substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
+    substituteInPlace js/ui/extensionDownloader.js --replace "unzip" "${unzip}/bin/unzip"
   '';
 
+  postInstall = ''
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
 
-  preFixup = with gnome3; ''
-    wrapProgram "$out/bin/gnome-shell" \
-      --prefix PATH : "${unzip}/bin" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS" \
-      --suffix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-
-    wrapProgram "$out/bin/gnome-shell-extension-prefs" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    echo "${unzip}/bin" > $out/${passthru.mozillaPlugin}/extra-bin-path
+  postFixup = ''
+    # Patched meson does not add internal libraries to rpath
+    patchelf --set-rpath "$out/lib/gnome-shell:$(patchelf --print-rpath $out/bin/.gnome-shell-wrapped)" $out/bin/.gnome-shell-wrapped
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
new file mode 100644
index 000000000000..b24049f9b9fd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
@@ -0,0 +1,18 @@
+diff --git a/meson.build b/meson.build
+index 4c1f5c63b..a9edb8795 100644
+--- a/meson.build
++++ b/meson.build
+@@ -59,12 +59,7 @@ servicedir = join_paths(datadir, 'dbus-1', 'services')
+ 
+ plugindir = get_variable('BROWSER_PLUGIN_DIR', mozplugindir)
+ 
+-keybindings_dep = dependency('gnome-keybindings', required: false)
+-if keybindings_dep.found()
+-  keysdir = keybindings_dep.get_pkgconfig_variable('keysdir')
+-else
+-  keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
+-endif
++keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
+ 
+ atk_bridge_dep = dependency('atk-bridge-2.0')
+ canberra_dep = dependency('libcanberra')
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/src.nix b/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
index 7cb2bd89221b..83cdd0682fda 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-shell-3.24.3";
+  name = "gnome-shell-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-shell/3.24/gnome-shell-3.24.3.tar.xz;
-    sha256 = "58b13308aa1b8dcbf1f08d5a052a61f8094ffd3afa2c788c91e1ceeacde840b8";
+    url = mirror://gnome/sources/gnome-shell/3.26/gnome-shell-3.26.2.tar.xz;
+    sha256 = "e5a87f2f838d981db9823352b90b2ce2f40d24d31ed9f062dccfa41b820e0b1c";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 2f4a1427ec0a..37650ae5a142 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,22 +1,40 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3, wrapGAppsHook, packagekit
-, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes, gtkspell3
-, json_glib, libsecret, valgrind-light }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
+, glib, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes, gtkspell3, libxslt
+, json_glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk_doc, desktop_file_utils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
-  buildInputs = [ gnome3.gtk packagekit appstream-glib libsoup
+  nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook libxslt docbook_xml_dtd_42
+                        valgrind-light docbook_xsl gtk_doc desktop_file_utils ];
+  buildInputs = [ gnome3.gtk glib packagekit appstream-glib libsoup
                   gnome3.gsettings_desktop_schemas gnome3.gnome_desktop
-                  gtkspell3 json_glib libsecret
-                  polkit attr acl libyaml valgrind-light ];
+                  gtkspell3 json_glib libsecret ostree
+                  polkit attr acl libyaml ];
   propagatedBuildInputs = [ isocodes ];
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  postPatch = ''
+    patchShebangs meson_post_install.sh
+  '';
+
+  mesonFlags = [
+    "-Denable-flatpak=false"
+    "-Denable-rpm=false"
+    "-Denable-fwupd=false"
+    "-Denable-oauth=false"
+    "-Denable-ubuntu-reviews=false"
+    "-Denable-gudev=false"
+  ];
+
   postInstall = ''
     mkdir -p $out/share/xml/
     ln -s ${isocodes}/share/xml/iso-codes $out/share/xml/iso-codes
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = https://www.freedesktop.org/software/PackageKit/;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/src.nix b/pkgs/desktops/gnome-3/core/gnome-software/src.nix
index 9d847b3af7d8..99c6415e83dc 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-software-3.24.3";
+  name = "gnome-software-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-software/3.24/gnome-software-3.24.3.tar.xz;
-    sha256 = "0dbc8cbf0e46c5ef8c6a34391622d1532cf05c49976b39a8b8ee1fff8d8f75e3";
+    url = mirror://gnome/sources/gnome-software/3.26/gnome-software-3.26.3.tar.xz;
+    sha256 = "2f74fd5fb222c99d4fcb91500cea0c62a0eb8022700bdea51acecb41c63f8e48";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
index aab373b9715b..b5d527632efe 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-system-monitor-3.24.0";
+  name = "gnome-system-monitor-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-system-monitor/3.24/gnome-system-monitor-3.24.0.tar.xz;
-    sha256 = "c32b45062411aaef06681e5e28fd2c24ea8b362168bae83992944ec8e02063f4";
+    url = mirror://gnome/sources/gnome-system-monitor/3.26/gnome-system-monitor-3.26.0.tar.xz;
+    sha256 = "f848a8c2ca5e164cf09d3a205dd49e4e4bf4b60d43b0969c10443eb519d0e6b3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 073a791ac3c8..b28c3a4c45d8 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, libuuid, vala_0_32
+{ stdenv, fetchurl, pkgconfig, libxml2, gnome3
+, gnome_doc_utils, intltool, which, libuuid, vala
 , desktop_file_utils, itstool, wrapGAppsHook, appdata-tools }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
-                  gnome3.dconf itstool gnome3.nautilus vala_0_32 ];
+                  gnome3.dconf itstool gnome3.nautilus ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2
-                        desktop_file_utils wrapGAppsHook ];
+                        vala desktop_file_utils wrapGAppsHook ];
 
   # Silly ./configure, it looks for dbus file from gnome-shell in the
   # installation tree of the package it is configuring.
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
index 2aa084cc4935..a6072ba7ca5e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-terminal-3.24.2";
+  name = "gnome-terminal-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-terminal/3.24/gnome-terminal-3.24.2.tar.xz;
-    sha256 = "281edac30a07ca45beaaaf0a13fe2219cf8b87ece5e55dccbfc49ef769dfec0f";
+    url = mirror://gnome/sources/gnome-terminal/3.26/gnome-terminal-3.26.2.tar.xz;
+    sha256 = "3a9ba414a814569476515275ad303d8056f296b2669234447712559aa97005b0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
index f617d41ff309..e4c5f8fd0955 100644
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-user-docs-3.24.2";
+  name = "gnome-user-docs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-user-docs/3.24/gnome-user-docs-3.24.2.tar.xz;
-    sha256 = "c1c53059c892bf9f78c7a934ab3a05ece35e2dacd828272e74a77a4f5975e65f";
+    url = mirror://gnome/sources/gnome-user-docs/3.26/gnome-user-docs-3.26.2.tar.xz;
+    sha256 = "e7d7f0434624ef6f21803c798d8672331f065485bdf59d44ac5b6b5f14fa1b78";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
index b8911dd5c1f1..eb600770e0ac 100644
--- a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
@@ -1,6 +1,6 @@
 { 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";
@@ -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/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
index 5123cadbdafd..977dd7ffd6fb 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -5,11 +5,15 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  postPatch = ''
-    for file in "background" "screensaver"; do
-      substituteInPlace "schemas/org.gnome.desktop.$file.gschema.xml.in" \
-        --replace "@datadir@" "${gnome3.gnome-backgrounds}/share/"
-    done
+  preInstall = ''
+    mkdir -p $out/share/gsettings-schemas/${name}/glib-2.0/schemas
+    cat - > $out/share/gsettings-schemas/${name}/glib-2.0/schemas/remove-backgrounds.gschema.override <<- EOF
+      [org.gnome.desktop.background]
+      picture-uri='''
+
+      [org.gnome.desktop.screensaver]
+      picture-uri='''
+    EOF
   '';
 
   buildInputs = [ glib gobjectIntrospection ];
diff --git a/pkgs/desktops/gnome-3/core/gsound/default.nix b/pkgs/desktops/gnome-3/core/gsound/default.nix
index 8e72b7fb233e..7b934db85fdd 100644
--- a/pkgs/desktops/gnome-3/core/gsound/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsound/default.nix
@@ -3,15 +3,15 @@
 let
   majVer = "1.0";
 in stdenv.mkDerivation rec {
-  name = "gsound-${majVer}.1";
+  name = "gsound-${majVer}.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gsound/${majVer}/${name}.tar.xz";
-    sha256 = "ea0dd94429c0645f2f98824274ef04543fe459dd83a5449a68910acc3ba67f29";
+    sha256 = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libcanberra_gtk2 gobjectIntrospection libtool ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection libtool gnome3.vala ];
+  buildInputs = [ glib libcanberra_gtk2 ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GSound;
diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix
index 04d9098764f6..aaf104532eba 100644
--- a/pkgs/desktops/gnome-3/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgee/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix_introspection_paths.patch ];
 
-  nativeBuildInputs = [ pkgconfig autoconf vala pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig autoconf vala gobjectIntrospection ];
   buildInputs = [ glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/libgepub/default.nix b/pkgs/desktops/gnome-3/core/libgepub/default.nix
index 56159500228a..f1e13e10fd9e 100644
--- a/pkgs/desktops/gnome-3/core/libgepub/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgepub/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoconf, pkgconfig, glib, gobjectIntrospection, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, gnome3
 , webkitgtk, libsoup, libxml2, libarchive }:
 stdenv.mkDerivation rec {
-  name = "libgepub-${version}";
-  version = "0.4";
+  name = "libgepub-${version}.2";
+  version = "0.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgepub/${version}/${name}.tar.xz";
-    sha256 = "5666a1c4d186d205bd2d91b71d4c1cd5426025569114a765dd913a564f149ff4";
+    sha256 = "0f1bczy3b00kj7mhm80xgpcgibh8h0pgcr46l4wifi45jacji0w4";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf glib gobjectIntrospection webkitgtk libsoup
-    libxml2 libarchive ];
+  checkPhase = "meson test";
+
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ];
 
   meta = with stdenv.lib; {
     description = "GObject based library for handling and rendering epub documents";
diff --git a/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix b/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
index 02fa27169871..431006daf4fb 100644
--- a/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
+++ b/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "libgnomekbd-3.22.0.1";
+  name = "libgnomekbd-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgnomekbd/3.22/libgnomekbd-3.22.0.1.tar.xz;
-    sha256 = "4efdb6b8ec92f04caced710b5edb285fb27715059ed6ca5e100b6933999a93de";
+    url = mirror://gnome/sources/libgnomekbd/3.26/libgnomekbd-3.26.0.tar.xz;
+    sha256 = "ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 9dbed05523c3..01b3c9bc0930 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -4,9 +4,14 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
+  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" "--enable-vala" ];
   propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk gnome3.geocode_glib ];
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool gnome3.vala ];
+
+  # Prevent building vapi into ${vala} derivation directory
+  prePatch = ''
+    substituteInPlace libgweather/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
+  '';
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/libgweather/src.nix b/pkgs/desktops/gnome-3/core/libgweather/src.nix
index 6324a27b6127..f2cb4c310afc 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/src.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "libgweather-3.24.1";
+  name = "libgweather-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgweather/3.24/libgweather-3.24.1.tar.xz;
-    sha256 = "1227316037b63dac4153031a22abccb3d2ac679a7409e29cd303eec499eb653c";
+    url = mirror://gnome/sources/libgweather/3.26/libgweather-3.26.0.tar.xz;
+    sha256 = "5b84badc0b3ecffff5db1bb9a7cc4dd4e400a8eb3f1282348f8ee6ba33626b6e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 208b8b756488..be4a5e1087ad 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+{ fetchurl, 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, libwacom, xwayland, autoreconfHook }:
@@ -35,15 +35,6 @@ stdenv.mkDerivation rec {
       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"
diff --git a/pkgs/desktops/gnome-3/core/mutter/src.nix b/pkgs/desktops/gnome-3/core/mutter/src.nix
index 579ee0689e87..b3d0841a2e5c 100644
--- a/pkgs/desktops/gnome-3/core/mutter/src.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "mutter-3.24.4";
+  name = "mutter-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/mutter/3.24/mutter-3.24.4.tar.xz;
-    sha256 = "7300b3fbf1bd0f7fe25e4869dd37134f2127bb6d9b8aa3aadd0eaf3c8bbf9aea";
+    url = mirror://gnome/sources/mutter/3.26/mutter-3.26.2.tar.xz;
+    sha256 = "83309feb05a4635c47713665c0592af8ab6d7f17a36e4bd626d67609b6422fab";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index f987df460349..0a7cd139d2cc 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
-, gtk, gnome3, libunique, intltool, gobjectIntrospection, gnome-autoar, glib
-, libnotify, wrapGAppsHook, exempi, librsvg, tracker, libselinux, gdk_pixbuf }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop_file_utils, wrapGAppsHook
+, gtk, gnome3, gnome-autoar, glib, dbus_glib, shared_mime_info, libnotify, libexif
+, exempi, librsvg, tracker, tracker-miners, libselinux, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext wrapGAppsHook desktop_file_utils ];
 
-  buildInputs = [ libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
-                  gnome3.gnome_desktop gnome3.adwaita-icon-theme
-                  gnome3.gsettings_desktop_schemas gnome3.dconf libnotify tracker libselinux ];
+  buildInputs = [ dbus_glib shared_mime_info libexif gtk exempi libnotify libselinux
+                  tracker tracker-miners gnome3.gnome_desktop gnome3.adwaita-icon-theme
+                  gnome3.gsettings_desktop_schemas ];
 
   propagatedBuildInputs = [ gnome-autoar ];
 
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
 #  hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
 
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
   patches = [ ./extension_dir.patch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/nautilus/src.nix b/pkgs/desktops/gnome-3/core/nautilus/src.nix
index 37c81a54a316..1cc14391e394 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/src.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "nautilus-3.24.2.1";
+  name = "nautilus-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/nautilus/3.24/nautilus-3.24.2.1.tar.xz;
-    sha256 = "357d9d051fcc2c385ce9b3beb2db2ea1874b7cdf507ca10274a063023e1a61b3";
+    url = mirror://gnome/sources/nautilus/3.26/nautilus-3.26.2.tar.xz;
+    sha256 = "79c99404c665ea76b3db86f261fbd28a62b54c51429b05c3314462c9de2614b4";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 0b453d5c5332..27a1e4b0be5b 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool
-, libusb1, libxml2, pkgconfig, sane-backends, vala_0_32, wrapGAppsHook
-, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, wrapGAppsHook
+, cairo, gdk_pixbuf, colord, glib, gtk, gusb, packagekit, libwebp
+, libxml2, sane-backends, vala, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  buildInputs = [ cairo colord glib gnome3.defaultIconTheme gusb gtk3 libusb1 libxml2 sane-backends vala_0_32 ];
-  nativeBuildInputs = [ intltool itstool pkgconfig wrapGAppsHook ];
+  buildInputs = [ cairo gdk_pixbuf colord glib gnome3.defaultIconTheme gusb
+                gtk libwebp packagekit sane-backends vala ];
+  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig wrapGAppsHook libxml2 ];
 
-  configureFlags = [ "--disable-packagekit" ];
+  postPatch = ''
+    patchShebangs data/meson_compile_gschema.py
 
-  patchPhase = ''
     sed -i -e 's#Icon=scanner#Icon=simple-scan#g' ./data/simple-scan.desktop.in
   '';
 
-  preBuild = ''
-    # Clean up stale .c files referencing packagekit headers as of 3.20.0:
-    make clean
-  '';
-
   postInstall = ''
     mkdir -p $out/share/icons
     mv $out/share/simple-scan/icons/* $out/share/icons/
@@ -39,6 +35,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  checkPhase = "meson test";
+
   meta = with stdenv.lib; {
     description = "Simple scanning utility";
     longDescription = ''
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/src.nix b/pkgs/desktops/gnome-3/core/simple-scan/src.nix
index cea148891a72..fb430db7d844 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/src.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "simple-scan-3.22.0.1";
+  name = "simple-scan-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/simple-scan/3.22/simple-scan-3.22.0.1.tar.xz;
-    sha256 = "c505b6e63379c9256fbeaa4def3e595fd063d46a8a852ed90218d336291d2b50";
+    url = mirror://gnome/sources/simple-scan/3.26/simple-scan-3.26.2.tar.xz;
+    sha256 = "d172825b1b77e2e32c21fc847fd670c4711a504b09688f8567a98ac9516fe212";
   };
 }
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 56fef3129272..c763621564c7 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gmime, libxml2, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig file intltool ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
   buildInputs = [ gmime libxml2 libsoup ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
index 8e352ccfb4c4..58e2ad07532e 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "totem-pl-parser-3.10.2";
+  name = "totem-pl-parser-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/totem-pl-parser/3.10/totem-pl-parser-3.10.2.tar.xz;
-    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
+    url = mirror://gnome/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.0.tar.xz;
+    sha256 = "1jzvq7s6qdsdpbc58jpcwvyj7qsq58r65kmnbknjzd79j4rsalzi";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix
index 34ec9b58116f..b66405cf0510 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, intltool, fetchurl, gst_all_1
+{ stdenv, fetchurl, meson, ninja, intltool, gst_all_1, clutter
 , clutter_gtk, clutter-gst, python3Packages, shared_mime_info
 , pkgconfig, gtk3, glib, gobjectIntrospection
-, bash, wrapGAppsHook, itstool, libxml2, dbus_glib
-, gnome3, librsvg, gdk_pixbuf, file, tracker, nautilus }:
+, bash, wrapGAppsHook, itstool, libxml2, dbus_glib, vala, gnome3, librsvg
+, gdk_pixbuf, file, tracker, nautilus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -15,18 +15,31 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2 gnome3.grilo
-                  clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav
-                  gnome3.libpeas shared_mime_info dbus_glib
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg gnome3.gnome_desktop
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook file tracker nautilus ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool file wrapGAppsHook ];
+  buildInputs = [ gtk3 glib gnome3.grilo clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
+                  gst_all_1.gst-plugins-ugly gst_all_1.gst-libav gnome3.libpeas shared_mime_info dbus_glib
+                  gdk_pixbuf libxml2 gnome3.defaultIconTheme gnome3.gnome_desktop
+                  gnome3.gsettings_desktop_schemas tracker nautilus ];
 
   propagatedBuildInputs = [ gobjectIntrospection python3Packages.pylint python3Packages.pygobject2 ];
 
-  configureFlags = [ "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
+  checkPhase = "meson test";
+
+  patches = [
+    (fetchurl {
+      name = "remove-pycompile.patch";
+      url = "https://bug787965.bugzilla-attachments.gnome.org/attachment.cgi?id=360204";
+      sha256 = "1iphlazllv42k553jqh3nqrrh5jb63gy3nhj4ipwc9xh4sg2irhi";
+    })
+  ];
+
+  postPatch = ''
+    chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file
+    patchShebangs .
+  '';
+
+  mesonFlags = [ "-Dwith-nautilusdir=lib/nautilus/extensions-3.0" ];
 
   GI_TYPELIB_PATH = "$out/lib/girepository-1.0";
   wrapPrefixVariables = [ "PYTHONPATH" ];
diff --git a/pkgs/desktops/gnome-3/core/totem/src.nix b/pkgs/desktops/gnome-3/core/totem/src.nix
index 2067945f99e4..e051b13dee8d 100644
--- a/pkgs/desktops/gnome-3/core/totem/src.nix
+++ b/pkgs/desktops/gnome-3/core/totem/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "totem-3.24.0";
+  name = "totem-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/totem/3.24/totem-3.24.0.tar.xz;
-    sha256 = "9bd78f7b940e886b5c809acdfe00a610a834de5080dd40272b92835528a58d01";
+    url = mirror://gnome/sources/totem/3.26/totem-3.26.0.tar.xz;
+    sha256 = "e32fb9a68097045e75c87ad1b8177f5c01aea2a13dcb3b2e71a0f9570fe9ee13";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
new file mode 100644
index 000000000000..baff249a03a3
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, intltool, fetchurl, libxml2, upower
+, pkgconfig, gtk3, glib
+, bash, wrapGAppsHook, itstool, vala, sqlite, libxslt
+, gnome3, librsvg, gdk_pixbuf, libnotify
+, evolution_data_server, gst_all_1, poppler
+, icu, taglib, libjpeg, libtiff, giflib, libcue
+, libvorbis, flac, exempi, networkmanager
+, libpng, libexif, libgsf, libuuid, bzip2
+, libsoup, json_glib, libseccomp
+, libiptcdata }:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ vala pkgconfig intltool itstool libxslt wrapGAppsHook ];
+  # TODO: add libgrss, libenca
+  buildInputs = [
+    bzip2 evolution_data_server exempi flac giflib glib gnome3.totem-pl-parser
+    gnome3.tracker gst_all_1.gst-plugins-base gst_all_1.gstreamer icu
+    json_glib libcue libexif libgsf libiptcdata libjpeg libpng libseccomp libsoup
+    libtiff libuuid libvorbis libxml2 poppler taglib upower
+  ];
+
+  LANG = "en_US.UTF-8"; # for running tests
+
+  doCheck = true;
+
+  postPatch = ''
+    substituteInPlace src/libtracker-common/tracker-domain-ontology.c --replace \
+      'SHAREDIR, "tracker", "domain-ontologies"' \
+      '"${gnome3.tracker}/share", "tracker", "domain-ontologies"'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Tracker;
+    description = "Desktop-neutral user information store, search tool and indexer";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/src.nix b/pkgs/desktops/gnome-3/core/tracker-miners/src.nix
new file mode 100644
index 000000000000..2b309161fd19
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "tracker-miners-2.0.2";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/tracker-miners/2.0/tracker-miners-2.0.2.tar.xz;
+    sha256 = "cf417ece944c997f630dda41a7f5c449d609fa53dbb34fae7caa4c7af1e0e8ef";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index 0d3e8bd358d4..bf3438db338a 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -1,43 +1,23 @@
-{ stdenv, intltool, fetchurl, libxml2, upower
-, pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool, vala_0_32, sqlite, libxslt
-, gnome3, librsvg, gdk_pixbuf, file, libnotify
-, evolution_data_server, gst_all_1, poppler
-, icu, taglib, libjpeg, libtiff, giflib, libcue
-, libvorbis, flac, exempi, networkmanager
-, libpng, libexif, libgsf, libuuid, bzip2
-, libsoup, json_glib, libseccomp }:
+{ stdenv, fetchurl, fetchpatch, intltool, pkgconfig
+, libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt
+, gnome3, icu, libuuid, networkmanager, libsoup, json_glib }:
 
 stdenv.mkDerivation rec {
-
   inherit (import ./src.nix fetchurl) name src;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -I${poppler.dev}/include/poppler";
-
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ vala_0_32 gtk3 glib intltool itstool libxml2
-                  bzip2 gnome3.totem-pl-parser libxslt
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook
-                  file gdk_pixbuf gnome3.defaultIconTheme librsvg sqlite
-                  upower libnotify evolution_data_server gnome3.libgee
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
-                  poppler icu taglib libjpeg libtiff giflib libvorbis
-                  exempi networkmanager libpng libexif libgsf libuuid
-                  libsoup json_glib libseccomp
-                ];
+  nativeBuildInputs = [ vala pkgconfig intltool libxslt wrapGAppsHook ];
+  # TODO: add libstemmer
+  buildInputs = [
+    glib libxml2 sqlite upower icu networkmanager libsoup libuuid json_glib
+  ];
 
-  preConfigure = ''
-    substituteInPlace src/libtracker-sparql/Makefile.in --replace "--shared-library=libtracker-sparql" "--shared-library=$out/lib/libtracker-sparql"
-  '';
+  # TODO: figure out wrapping unit tests, some of them fail on missing gsettings_desktop_schemas
+  configureFlags = [ "--disable-unit-tests" ];
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share"
-    )
+  postPatch = ''
+    patchShebangs utils/g-ir-merge/g-ir-merge
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/tracker/src.nix b/pkgs/desktops/gnome-3/core/tracker/src.nix
index 7a9b9ce3e38a..afec65a4f633 100644
--- a/pkgs/desktops/gnome-3/core/tracker/src.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "tracker-1.12.3";
+  name = "tracker-2.0.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/tracker/1.12/tracker-1.12.3.tar.xz;
-    sha256 = "1mpq418lzba7fad0w0m3bnxvz3khf461b5zya8zmq5n1g0w99ki3";
+    url = mirror://gnome/sources/tracker/2.0/tracker-2.0.1.tar.xz;
+    sha256 = "ac5c9f4dbb0741af5877ae2818d8c053aa9a431477a924a17976bb7e44411e47";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index b3962015d3cc..251e27334b11 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, gnome3, ncurses, gobjectIntrospection, vala_0_32, libxml2, gnutls
+, gnome3, ncurses, gobjectIntrospection, vala, libxml2, gnutls
 , fetchFromGitHub, autoconf, automake, libtool, gtk_doc, gperf, pcre2
 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gobjectIntrospection intltool gnome3.glib
-                  gnome3.gtk3 ncurses vala_0_32 libxml2 gperf ];
+  nativeBuildInputs = [ gobjectIntrospection intltool pkgconfig vala gperf libxml2 ];
+  buildInputs = [ gnome3.glib gnome3.gtk3 ncurses ];
 
   propagatedBuildInputs = [ gnutls pcre2 ];
 
diff --git a/pkgs/desktops/gnome-3/core/vte/src.nix b/pkgs/desktops/gnome-3/core/vte/src.nix
index 45029e8bb8dd..c63873767dc4 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.50.1";
+  name = "vte-0.50.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/vte/0.50/vte-0.50.1.tar.xz;
-    sha256 = "cf1708e3e573160e1db107014b3ef70888fefe6b668373fed70e8d1cac45a8c2";
+    url = mirror://gnome/sources/vte/0.50/vte-0.50.2.tar.xz;
+    sha256 = "79dd316bfaff48f2fb74d066baae0d830e1f44436796fe410a57297e5c5f09cf";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/yelp/src.nix b/pkgs/desktops/gnome-3/core/yelp/src.nix
index 7f38bab736fd..dd06a6bf1ebb 100644
--- a/pkgs/desktops/gnome-3/core/yelp/src.nix
+++ b/pkgs/desktops/gnome-3/core/yelp/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "yelp-3.22.0";
+  name = "yelp-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/yelp/3.22/yelp-3.22.0.tar.xz;
-    sha256 = "8616b77c239aaa731312609f192c9b2c71d54b2cae42ff23efa23b5b3188778e";
+    url = mirror://gnome/sources/yelp/3.26/yelp-3.26.0.tar.xz;
+    sha256 = "e4cb02ed2f44cfec3c352c957f8a461d9689cbc06eb3b503a58ffe92e1753f1b";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/zenity/src.nix b/pkgs/desktops/gnome-3/core/zenity/src.nix
index cb12262725a6..ad0ce2f4d733 100644
--- a/pkgs/desktops/gnome-3/core/zenity/src.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "zenity-3.24.0";
+  name = "zenity-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/zenity/3.24/zenity-3.24.0.tar.xz;
-    sha256 = "6ff0a026ec94e5bc1b30f78df91e54f4f82fd982f4c29b52fe5dacc886a9f7f7";
+    url = mirror://gnome/sources/zenity/3.26/zenity-3.26.0.tar.xz;
+    sha256 = "6a7f34626dd62b751fe22bcdb32f3558f8a8fdddcc9406893dd264f0ac18e830";
   };
 }
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 585f79ddea67..e0a4c2ed4e48 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -13,8 +13,8 @@ let
 
   callPackage = pkgs.newScope self;
 
-  version = "3.24";
-  maintainers = with pkgs.lib.maintainers; [ lethalman ];
+  version = "3.26";
+  maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar ];
 
   corePackages = with gnome3; [
     pkgs.desktop_file_utils pkgs.ibus
@@ -54,7 +54,7 @@ let
   gnome3 = self // { recurseForDerivations = false; };
   gtk = gtk3;
   gtkmm = gtkmm3;
-  vala = pkgs.vala_0_32;
+  vala = pkgs.vala_0_38;
   gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
 
 # Simplify the nixos module and gnome packages
@@ -237,7 +237,9 @@ let
 
   totem-pl-parser = callPackage ./core/totem-pl-parser { };
 
-  tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
+  tracker = callPackage ./core/tracker { };
+
+  tracker-miners = callPackage ./core/tracker-miners { };
 
   vte = callPackage ./core/vte { };
 
diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/src.nix b/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
index bbb7696d91c9..32843b14d8e4 100644
--- a/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "anjuta-3.22.0";
+  name = "anjuta-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/anjuta/3.22/anjuta-3.22.0.tar.xz;
-    sha256 = "4face1c063a5a6687a6cfc6f1f700ba15f13664633c05caa2fbf50317608dd03";
+    url = mirror://gnome/sources/anjuta/3.26/anjuta-3.26.0.tar.xz;
+    sha256 = "fb895464c1a3c915bb2bb3ea5d236fd17202caa7205f6792f70a75affc343d70";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/src.nix b/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
index b13de444c7e7..b90fc03e18da 100644
--- a/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "devhelp-3.24.0";
+  name = "devhelp-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/devhelp/3.24/devhelp-3.24.0.tar.xz;
-    sha256 = "4858de1c815532ad160d1bf9facd28859972e3a052908a8edf73f866c8cce430";
+    url = mirror://gnome/sources/devhelp/3.26/devhelp-3.26.0.tar.xz;
+    sha256 = "6bf2714f7f953b5858c643585383c4e4c8e9c65055527505abbf24fbf1ac8e38";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/gdl/src.nix b/pkgs/desktops/gnome-3/devtools/gdl/src.nix
index c8b65884e082..6475b36508cb 100644
--- a/pkgs/desktops/gnome-3/devtools/gdl/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/gdl/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gdl-3.22.0";
+  name = "gdl-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdl/3.22/gdl-3.22.0.tar.xz;
-    sha256 = "cc5b360e1392292186924f0f9a8efc0f4db7e6e56dc7042037466b5cc839660c";
+    url = mirror://gnome/sources/gdl/3.26/gdl-3.26.0.tar.xz;
+    sha256 = "f3ad03f9a34f751f52464e22d962c0dec8ff867b7b7b37fe24907f3dcd54c079";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
index 7f39aabda022..4838b8f9d09e 100644
--- a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-devel-docs-3.22.0";
+  name = "gnome-devel-docs-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-devel-docs/3.22/gnome-devel-docs-3.22.0.tar.xz;
-    sha256 = "e0778c62670b1c19d45191ac5503568cbd09500e9e30015b48c19e95959e6d85";
+    url = mirror://gnome/sources/gnome-devel-docs/3.26/gnome-devel-docs-3.26.0.tar.xz;
+    sha256 = "12eea77b550acfa617e14a89e4d24f93881294340abcc2c3abc7092c851703c3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
index 4d788e909e2d..5265eab1cbc6 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-dash-to-dock-${version}";
-  version = "v60";
+  version = "v61";
 
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
     rev = "extensions.gnome.org-" + version;
-    sha256 = "0w9km1zcxcskrsfr392zx945k227qajnw09pxc20d1vwv78wlgy3";
+    sha256 = "152xzhal3wr40j0pv03v0gg20054n5hqqy3s10bkj2a0x830pgjk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
index 4aedc10e056a..84a9d26c2d76 100644
--- a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-topicons-plus-${version}";
-  version = "20";
+  version = "21";
 
   src = fetchFromGitHub {
     owner = "phocean";
     repo = "TopIcons-plus";
-    rev = "01535328bd43ecb3f2c71376de6fc8d1d8a88577";
-    sha256 = "0pwpg72ihgj2jl9pg63y0hibdsl27srr3mab881w0gh17vwyixzi";
+    rev = "v${version}";
+    sha256 = "15p61krd7lcmgr1d4s2ydfjy3pyq79pq5100xzy6dln1538901m3";
   };
 
   buildInputs = [ glib ];
diff --git a/pkgs/desktops/gnome-3/games/five-or-more/src.nix b/pkgs/desktops/gnome-3/games/five-or-more/src.nix
index 597db69a5dcf..676e1a7d75a3 100644
--- a/pkgs/desktops/gnome-3/games/five-or-more/src.nix
+++ b/pkgs/desktops/gnome-3/games/five-or-more/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "five-or-more-3.22.0";
+  name = "five-or-more-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/five-or-more/3.22/five-or-more-3.22.0.tar.xz;
-    sha256 = "33c0ba7723144aea496112fa85a1d7e5a2a8ecaa32f4373471470d7c3078da94";
+    url = mirror://gnome/sources/five-or-more/3.26/five-or-more-3.26.0.tar.xz;
+    sha256 = "7c24f7f2603df99299d38b40b14c005aaad88820113ed71e4b3765ac3b027772";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-chess/src.nix b/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
index 3fb218ab6024..ee682d3801bd 100644
--- a/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-chess-3.24.1";
+  name = "gnome-chess-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-chess/3.24/gnome-chess-3.24.1.tar.xz;
-    sha256 = "6c9647beb7579b0a8de4e73698d931b1d9ac2efab4e7d3649f482d2c68ebf8a3";
+    url = mirror://gnome/sources/gnome-chess/3.26/gnome-chess-3.26.0.tar.xz;
+    sha256 = "a0f6f862ab7067626a3a86cdc9c14dde595e38e6719e0198cb967e11facf1f12";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix b/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
index 447bc1eff130..e37f3642c82e 100644
--- a/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-klotski-3.22.0";
+  name = "gnome-klotski-3.22.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-klotski/3.22/gnome-klotski-3.22.0.tar.xz;
-    sha256 = "25e35369d1b5d2f9e6b92d44568d21df631b5b23dd7b12ca226a04f58cb54700";
+    url = mirror://gnome/sources/gnome-klotski/3.22/gnome-klotski-3.22.2.tar.xz;
+    sha256 = "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/src.nix b/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
index 4b0e85fdef10..39096f00e42c 100644
--- a/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-mines-3.24.0";
+  name = "gnome-mines-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-mines/3.24/gnome-mines-3.24.0.tar.xz;
-    sha256 = "e663af29235a5c3f03d90f135487f57e5fd9137480dafb0ae9efc0da855602f6";
+    url = mirror://gnome/sources/gnome-mines/3.26/gnome-mines-3.26.0.tar.xz;
+    sha256 = "2b041eaf0d57307498c56d8e285b2e539f634fdba95d689f6af75aa4ed6edde9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix b/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
index 597196a5ec8c..f19142cf251e 100644
--- a/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-sudoku-3.24.0";
+  name = "gnome-sudoku-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-sudoku/3.24/gnome-sudoku-3.24.0.tar.xz;
-    sha256 = "04a29447889448ee5d5840cb5b2fd05ce6031c38a24809ce4919647ee6f485d7";
+    url = mirror://gnome/sources/gnome-sudoku/3.26/gnome-sudoku-3.26.0.tar.xz;
+    sha256 = "8774c7093a97131b94d39142f1e044c8619cfdb6ad2546176271589fbb12d3a0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
index 6828e56a911f..30a33e28e2de 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-taquin-3.22.0";
+  name = "gnome-taquin-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-taquin/3.22/gnome-taquin-3.22.0.tar.xz;
-    sha256 = "780af247856b91095a9a2e1a6b425e4e3a78520659e2157eddb421377e8ce982";
+    url = mirror://gnome/sources/gnome-taquin/3.26/gnome-taquin-3.26.1.tar.xz;
+    sha256 = "de352bb2dfcd759de37f6bccf1e4790760e020b4bb06a1bc8d5f03d89613b6fd";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/hitori/default.nix b/pkgs/desktops/gnome-3/games/hitori/default.nix
index 21d4ed6f520e..857aec9700f3 100644
--- a/pkgs/desktops/gnome-3/games/hitori/default.nix
+++ b/pkgs/desktops/gnome-3/games/hitori/default.nix
@@ -2,12 +2,7 @@
 , libxml2, intltool, itstool }:
 
 stdenv.mkDerivation rec {
-  name = "hitori-${gnome3.version}.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/hitori/${gnome3.version}/${name}.tar.xz";
-    sha256 = "07pm3xl05jgb8x151k1j2ap57dmfvk2nkz9dmqnn5iywfigsysd1";
-  };
+  inherit (import ./src.nix fetchurl) name src;
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/games/iagno/src.nix b/pkgs/desktops/gnome-3/games/iagno/src.nix
index 6c20a8f7844a..86c1f30e5d66 100644
--- a/pkgs/desktops/gnome-3/games/iagno/src.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "iagno-3.22.0";
+  name = "iagno-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/iagno/3.22/iagno-3.22.0.tar.xz;
-    sha256 = "e7070c55f1f74cd9345388ee120f0e6cc47392868c2601664c26a0fa2672fe13";
+    url = mirror://gnome/sources/iagno/3.26/iagno-3.26.1.tar.xz;
+    sha256 = "3476810d0c42aa1600484de2c111c94e0cf5247a98f071b23a0b5e3036362121";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/lightsoff/src.nix b/pkgs/desktops/gnome-3/games/lightsoff/src.nix
index 2a26df6615bd..18528df24a38 100644
--- a/pkgs/desktops/gnome-3/games/lightsoff/src.nix
+++ b/pkgs/desktops/gnome-3/games/lightsoff/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "lightsoff-3.24.0";
+  name = "lightsoff-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/lightsoff/3.24/lightsoff-3.24.0.tar.xz;
-    sha256 = "5d1bb7de4b3f5c7814e5599a5171cfdeef74e774a8a6dbd992c893a5af6bd8ce";
+    url = mirror://gnome/sources/lightsoff/3.26/lightsoff-3.26.0.tar.xz;
+    sha256 = "d12572bc7b70481320ec90c6130ad794b559a9990d08bef158a1d826aaa35976";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/swell-foop/src.nix b/pkgs/desktops/gnome-3/games/swell-foop/src.nix
index 7fa5f724de26..082081ca36c7 100644
--- a/pkgs/desktops/gnome-3/games/swell-foop/src.nix
+++ b/pkgs/desktops/gnome-3/games/swell-foop/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "swell-foop-3.24.0";
+  name = "swell-foop-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/swell-foop/3.24/swell-foop-3.24.0.tar.xz;
-    sha256 = "1b2d444e4d399e300afe07a243423c8b3ab1ca32828c749e0be9af48a5904a11";
+    url = mirror://gnome/sources/swell-foop/3.26/swell-foop-3.26.0.tar.xz;
+    sha256 = "122e2b5a51ad0144ea6b5fd2736ac43b101c7892198948e697bfc4c014bbba22";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
index b3646abd6dda..4180cd3b8ea1 100644
--- a/pkgs/desktops/gnome-3/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -1,11 +1,7 @@
-{ stdenv, fetchurl, fetchgit, vala_0_32, intltool, libgit2, pkgconfig, gtk3, glib
-, json_glib, webkitgtk, wrapGAppsHook, libpeas, bash, gobjectIntrospection
+{ stdenv, fetchurl, vala, intltool, pkgconfig, gtk3, glib
+, json_glib, wrapGAppsHook, libpeas, bash, gobjectIntrospection
 , gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg, libsecret
-, dconf}:
-
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.adwaita-icon-theme
+, libsoup }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -20,14 +16,11 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ shared_mime_info
                             gnome3.gnome_themes_standard ];
 
-  buildInputs = [ vala_0_32 libgit2 gtk3 glib json_glib webkitgtk libgee libpeas
+  buildInputs = [ gtk3 glib json_glib libgee libpeas gnome3.libsoup
                   libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings_desktop_schemas
                   librsvg libsecret gobjectIntrospection gnome3.adwaita-icon-theme ];
 
-  nativeBuildInputs = [ wrapGAppsHook intltool pkgconfig ];
-
-  # https://bugzilla.gnome.org/show_bug.cgi?id=758240
-  preBuild = ''make -j$NIX_BUILD_CORES Gitg-1.0.gir'';
+  nativeBuildInputs = [ vala wrapGAppsHook intltool pkgconfig ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index ee3dd60e59ad..cce734b474e4 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3, libxslt, packagekit
-, fontconfig, libcanberra_gtk3, libnotify, wrapGAppsHook, dbus_glib, dbus_libs }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, libxslt, packagekit, polkit
+, fontconfig, libcanberra_gtk3, systemd, libnotify, wrapGAppsHook, dbus_glib, dbus_libs, desktop_file_utils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0";
 
-  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
-  buildInputs = [ libxslt gnome3.gtk packagekit fontconfig
+  nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop_file_utils ];
+  buildInputs = [ libxslt gnome3.gtk packagekit fontconfig systemd polkit
                   libcanberra_gtk3 libnotify dbus_glib dbus_libs ];
 
+  prePatch = "patchShebangs meson_post_install.sh";
+
   meta = with stdenv.lib; {
     homepage = https://www.freedesktop.org/software/PackageKit/;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
index 992badf1f4f4..5448eb8a83a7 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-packagekit-3.24.0";
+  name = "gnome-packagekit-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-packagekit/3.24/gnome-packagekit-3.24.0.tar.xz;
-    sha256 = "8d038681f6879c93f3f58faaa37c41c7ac8cf53eba6b8cb871f5f683ac0bd13f";
+    url = mirror://gnome/sources/gnome-packagekit/3.26/gnome-packagekit-3.26.0.tar.xz;
+    sha256 = "6a219e16923d3976f424416c944bef06913922da24bc9e6644ec114c2d563417";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
index d236730282a9..23be404ea406 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
@@ -1,25 +1,24 @@
-From ac9e8e835888da1faa57f07c54fa4e73783621e2 Mon Sep 17 00:00:00 2001
+From f7f7fe6bf36ca08c66192077bf964036eb02ffb5 Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:32:30 +0100
+Date: Tue, 19 Sep 2017 03:08:07 +0200
 Subject: [PATCH 1/3] Search for themes and icons in system data dirs
 
 ---
- gtweak/tweaks/tweak_group_interface.py | 17 ++++-------------
- gtweak/tweaks/tweak_group_keymouse.py  |  7 ++-----
- gtweak/utils.py                        | 17 +++++++++++++++++
- 3 files changed, 23 insertions(+), 18 deletions(-)
+ gtweak/tweaks/tweak_group_appearance.py | 17 ++++-------------
+ gtweak/utils.py                         | 17 +++++++++++++++++
+ 2 files changed, 21 insertions(+), 13 deletions(-)
 
-diff --git a/gtweak/tweaks/tweak_group_interface.py b/gtweak/tweaks/tweak_group_interface.py
-index 97751ed..db89b85 100644
---- a/gtweak/tweaks/tweak_group_interface.py
-+++ b/gtweak/tweaks/tweak_group_interface.py
+diff --git a/gtweak/tweaks/tweak_group_appearance.py b/gtweak/tweaks/tweak_group_appearance.py
+index ccadefc..0d12194 100644
+--- a/gtweak/tweaks/tweak_group_appearance.py
++++ b/gtweak/tweaks/tweak_group_appearance.py
 @@ -26,7 +26,7 @@ from gi.repository import Gtk
  from gi.repository import GLib
  
  import gtweak
 -from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file
 +from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs
- from gtweak.tweakmodel import Tweak, TWEAK_GROUP_APPEARANCE
+ from gtweak.tweakmodel import Tweak
  from gtweak.gshellwrapper import GnomeShellFactory
  from gtweak.gsettings import GSettingsSetting
 @@ -50,10 +50,7 @@ class GtkThemeSwitcher(GSettingsComboTweak):
@@ -58,33 +57,8 @@ index 97751ed..db89b85 100644
                      os.path.isdir(d) and \
                          os.path.exists(os.path.join(d, "cursors")))
          return valid
-diff --git a/gtweak/tweaks/tweak_group_keymouse.py b/gtweak/tweaks/tweak_group_keymouse.py
-index 69c4b7e..b06900c 100644
---- a/gtweak/tweaks/tweak_group_keymouse.py
-+++ b/gtweak/tweaks/tweak_group_keymouse.py
-@@ -21,7 +21,7 @@ from gi.repository import GLib
- 
- import gtweak
- from gtweak.gshellwrapper import GnomeShellFactory
--from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default
-+from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs
- from gtweak.widgets import ListBoxTweakGroup, GSettingsComboTweak, GSettingsSwitchTweak, GetterSetterSwitchTweak, Title, GSettingsComboEnumTweak
- 
- _shell = GnomeShellFactory().get_shell()
-@@ -41,10 +41,7 @@ class KeyThemeSwitcher(GSettingsComboTweak):
-             **options)
- 
-     def _get_valid_key_themes(self):
--        dirs = ( os.path.join(gtweak.DATA_DIR, "themes"),
--                 os.path.join(GLib.get_user_data_dir(), "themes"),
--                 os.path.join(os.path.expanduser("~"), ".themes"))
--        valid = walk_directories(dirs, lambda d:
-+        valid = walk_directories(get_resource_dirs("themes"), lambda d:
-                     os.path.isfile(os.path.join(d, "gtk-3.0", "gtk-keys.css")) and \
-                     os.path.isfile(os.path.join(d, "gtk-2.0-key", "gtkrc")))
-         return valid
 diff --git a/gtweak/utils.py b/gtweak/utils.py
-index 39f8833..b0993b6 100644
+index de6c345..6c60b88 100644
 --- a/gtweak/utils.py
 +++ b/gtweak/utils.py
 @@ -21,6 +21,7 @@ import tempfile
@@ -95,7 +69,7 @@ index 39f8833..b0993b6 100644
  
  import gtweak
  from gtweak.gsettings import GSettingsSetting
-@@ -116,6 +117,22 @@ def execute_subprocess(cmd_then_args, block=True):
+@@ -117,6 +118,22 @@ def execute_subprocess(cmd_then_args, block=True):
          stdout, stderr = p.communicate()
          return stdout, stderr, p.returncode
  
@@ -119,5 +93,5 @@ index 39f8833..b0993b6 100644
  class AutostartManager:
  
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
index 40c0969d5880..77b952b4b1e9 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
@@ -1,25 +1,24 @@
-From 25c047ac6a2ac892e2be3d7e002fbf7a16725a4c Mon Sep 17 00:00:00 2001
+From 8e75fe5f1ebd8a140a7306294d2219aea4ac47d2 Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:35:10 +0100
+Date: Tue, 19 Sep 2017 03:16:07 +0200
 Subject: [PATCH 2/3] Don't show multiple entries for a single theme
 
 ---
- gtweak/tweaks/tweak_group_interface.py |  8 ++++----
- gtweak/tweaks/tweak_group_keymouse.py  |  4 ++--
- gtweak/utils.py                        | 16 ++++++++++++++++
- 3 files changed, 22 insertions(+), 6 deletions(-)
+ gtweak/tweaks/tweak_group_appearance.py |  8 ++++----
+ gtweak/utils.py                         | 16 ++++++++++++++++
+ 2 files changed, 20 insertions(+), 4 deletions(-)
 
-diff --git a/gtweak/tweaks/tweak_group_interface.py b/gtweak/tweaks/tweak_group_interface.py
-index db89b85..4697fe3 100644
---- a/gtweak/tweaks/tweak_group_interface.py
-+++ b/gtweak/tweaks/tweak_group_interface.py
+diff --git a/gtweak/tweaks/tweak_group_appearance.py b/gtweak/tweaks/tweak_group_appearance.py
+index 0d12194..8e05077 100644
+--- a/gtweak/tweaks/tweak_group_appearance.py
++++ b/gtweak/tweaks/tweak_group_appearance.py
 @@ -26,7 +26,7 @@ from gi.repository import Gtk
  from gi.repository import GLib
  
  import gtweak
 -from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs
 +from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs, get_unique_resources
- from gtweak.tweakmodel import Tweak, TWEAK_GROUP_APPEARANCE
+ from gtweak.tweakmodel import Tweak
  from gtweak.gshellwrapper import GnomeShellFactory
  from gtweak.gsettings import GSettingsSetting
 @@ -54,7 +54,7 @@ class GtkThemeSwitcher(GSettingsComboTweak):
@@ -49,33 +48,11 @@ index db89b85..4697fe3 100644
  
  class ShellThemeTweak(Gtk.Box, Tweak):
  
-diff --git a/gtweak/tweaks/tweak_group_keymouse.py b/gtweak/tweaks/tweak_group_keymouse.py
-index b06900c..d34793e 100644
---- a/gtweak/tweaks/tweak_group_keymouse.py
-+++ b/gtweak/tweaks/tweak_group_keymouse.py
-@@ -21,7 +21,7 @@ from gi.repository import GLib
- 
- import gtweak
- from gtweak.gshellwrapper import GnomeShellFactory
--from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs
-+from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs, get_unique_resources
- from gtweak.widgets import ListBoxTweakGroup, GSettingsComboTweak, GSettingsSwitchTweak, GetterSetterSwitchTweak, Title, GSettingsComboEnumTweak
- 
- _shell = GnomeShellFactory().get_shell()
-@@ -44,7 +44,7 @@ class KeyThemeSwitcher(GSettingsComboTweak):
-         valid = walk_directories(get_resource_dirs("themes"), lambda d:
-                     os.path.isfile(os.path.join(d, "gtk-3.0", "gtk-keys.css")) and \
-                     os.path.isfile(os.path.join(d, "gtk-2.0-key", "gtkrc")))
--        return valid
-+        return get_unique_resources(valid)
- 
- TWEAK_GROUPS = [
-     ListBoxTweakGroup(_("Keyboard and Mouse"),
 diff --git a/gtweak/utils.py b/gtweak/utils.py
-index b0993b6..0d995bc 100644
+index 6c60b88..6fd7c6a 100644
 --- a/gtweak/utils.py
 +++ b/gtweak/utils.py
-@@ -133,6 +133,22 @@ def get_resource_dirs(resource):
+@@ -134,6 +134,22 @@ def get_resource_dirs(resource):
  
      return [dir for dir in dirs if os.path.isdir(dir)]
  
@@ -99,5 +76,5 @@ index b0993b6..0d995bc 100644
  class AutostartManager:
  
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
index 5082a55387a8..fcb35a026795 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
@@ -1,6 +1,6 @@
-From ba2eb4be6c69ee8206e0139268c896e6a2b278d8 Mon Sep 17 00:00:00 2001
+From 6a6a7d1c708a2f568277699c5b605fa03ccb5faa Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:50:33 +0100
+Date: Tue, 19 Sep 2017 03:17:20 +0200
 Subject: [PATCH 3/3] Create config dir if it doesn't exist
 
 ---
@@ -8,7 +8,7 @@ Subject: [PATCH 3/3] Create config dir if it doesn't exist
  1 file changed, 4 insertions(+)
 
 diff --git a/gtweak/gtksettings.py b/gtweak/gtksettings.py
-index a0c163b..f5883ec 100644
+index a11363b..2871c49 100644
 --- a/gtweak/gtksettings.py
 +++ b/gtweak/gtksettings.py
 @@ -36,6 +36,10 @@ class GtkSettingsManager:
@@ -23,5 +23,5 @@ index a0c163b..f5883ec 100644
              keyfile.load_from_file(self._path, 0)
          except MemoryError:
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
index ad415368368d..0ab752cf1ba7 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, atk
+{ stdenv, meson, ninja, gettext, fetchurl, atk
 , pkgconfig, gtk3, glib, libsoup
-, bash, itstool, libxml2, python2Packages
+, bash, itstool, libxml2, python3Packages
 , gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -8,22 +8,25 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  checkPhase = "meson test";
 
-  makeFlags = [ "DESTDIR=/" ];
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2
-                  gnome3.gsettings_desktop_schemas file
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxml2 file wrapGAppsHook ];
+  buildInputs = [ gtk3 glib gnome3.gsettings_desktop_schemas
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  libnotify gnome3.gnome_shell python2Packages.pygobject3
+                  libnotify gnome3.gnome_shell python3Packages.pygobject3
                   libsoup gnome3.gnome_settings_daemon gnome3.nautilus
-                  gnome3.gnome_desktop wrapGAppsHook gobjectIntrospection
+                  gnome3.gnome_desktop gobjectIntrospection
                 ];
 
+  postPatch = ''
+    patchShebangs meson-postinstall.py
+  '';
+
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix PYTHONPATH : "$out/${python2Packages.python.sitePackages}:$PYTHONPATH")
+      --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH")
   '';
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
index 0af83053fa89..da1c01152113 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-tweak-tool-3.24.1";
+  name = "gnome-tweak-tool-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-tweak-tool/3.24/gnome-tweak-tool-3.24.1.tar.xz;
-    sha256 = "19226b374148d660330af9a8341087c2f869bb24355f4dcc87857169eca9f565";
+    url = mirror://gnome/sources/gnome-tweak-tool/3.26/gnome-tweak-tool-3.26.3.tar.xz;
+    sha256 = "9406447850b14de204f9c5a6eaa6b63ba805ddb1a10fd863239841090af76430";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index a43f9206cdd6..b92aac4f9433 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.24.2";
+  version = "3.26.0";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "16142jfpkz8qfs7zp9k3c5l9pnvxbr5yygj8jdpx6by1142s6340";
+    sha256 = "0xlcbm9qnw61h6xwa1c0lz5mp1ca3vjjn5wpk0ahhhl6k94mzjs7";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix b/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
index 90ee658fd096..107200d0895b 100644
--- a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.3";
   name = "libgnome-games-support-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgnome-games-support/1.2/${name}.tar.xz";
-    sha256 = "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6";
+    sha256 = "1vwad7kqy7yd6wqyr71nq0blh7m53r3lz6ya16dmh942kd0w48v1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/misc/libgda/default.nix b/pkgs/desktops/gnome-3/misc/libgda/default.nix
index f477c13c7bae..edb34996867b 100644
--- a/pkgs/desktops/gnome-3/misc/libgda/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgda/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, itstool, libxml2, gtk3, openssl }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
index 36feb09d7eef..3c9652de4990 100644
--- a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -8,7 +8,12 @@ stdenv.mkDerivation rec {
     gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection
   ];
 
-  buildInputs = [ libssh2 libgit2 glib ];
+  propagatedBuildInputs = [
+    # Required by libgit2-glib-1.0.pc
+    libgit2 glib
+  ];
+
+  buildInputs = [ libssh2 ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
index 63f59357db5e..b6338d1f615a 100644
--- a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
@@ -1,29 +1,29 @@
 { stdenv, fetchFromGitHub, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook,
-  dbus_glib, libcanberra_gtk2, gst_all_1, vala_0_34, gnome3, gtk3,
+  dbus_glib, libcanberra_gtk2, gst_all_1, vala, gnome3, gtk3, libxml2,
   glib, gobjectIntrospection, libpeas
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.3";
+  version = "0.13.4";
   name = "gnome-shell-pomodoro-${version}";
 
   src = fetchFromGitHub {
     owner = "codito";
     repo = "gnome-pomodoro";
     rev = "${version}";
-    sha256 = "1hi4mdzyz2f8k19bkfzrrnavsbkr621w0bfpza8ij2yccpxz81h2";
+    sha256 = "0fiql99nhj168wbfhvzrhfcm4c4569gikd2zaf10vzszdqjahrl1";
   };
 
   configureScript = "./autogen.sh";
 
   nativeBuildInputs = [
     autoconf-archive libtool intltool appstream-glib
-    wrapGAppsHook pkgconfig
+    wrapGAppsHook pkgconfig libxml2
   ];
 
   buildInputs = [
     glib gobjectIntrospection libpeas
-    dbus_glib libcanberra_gtk2 vala_0_34 gst_all_1.gstreamer
+    dbus_glib libcanberra_gtk2 vala gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gnome3.gsettings_desktop_schemas
     gnome3.gnome_common gnome3.gnome_shell gtk3
diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix
new file mode 100644
index 000000000000..ef95f6035b27
--- /dev/null
+++ b/pkgs/desktops/lxde/core/lxtask/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3 }:
+
+stdenv.mkDerivation rec {
+  name = "lxtask-${version}";
+  version = "0.1.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    sha256 = "0h7g1fdngv939z1d05nzs86dplww5a3bpm0isxd7p1bjby047d6z";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+  
+  buildInputs = [ gtk3 ];
+
+  configureFlags = [ "--enable-gtk3" ];
+
+  meta = {
+    description = "Lightweight and desktop independent task manager";
+    longDescription = ''
+      LXTask is a lightweight task manager derived from xfce4 task manager
+      with all xfce4 dependencies removed, some bugs fixed, and some
+      improvement of UI. Although being part of LXDE, the Lightweight X11
+      Desktop Environment, it's totally desktop independent and only
+      requires pure gtk+.
+    '';
+    homepage = https://wiki.lxde.org/en/LXTask; 
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
index d91f06e0c3a1..b7c27ec3d0a9 100644
--- a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, perl, cmake, vala_0_23, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
+{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  majorVersion = "0.3";
-  minorVersion = "1.3";
+  majorVersion = "0.4";
+  minorVersion = "3";
   name = "pantheon-terminal-${majorVersion}.${minorVersion}";
   src = fetchurl {
     url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz";
@@ -20,9 +20,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  nativeBuildInputs = [ perl cmake vala_0_38 pkgconfig makeWrapper ];
   buildInputs = with gnome3; [
-    perl cmake vala_0_23 pkgconfig glib gtk3 granite libnotify gettext makeWrapper
-    vte_290 libgee gsettings_desktop_schemas defaultIconTheme
+    glib gtk3 granite libnotify gettext vte_290 libgee
+    gsettings_desktop_schemas defaultIconTheme
   ];
   meta = {
     description = "Elementary OS's terminal";
diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
index 41a4dd66b2c8..48b038325fec 100644
--- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
+++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
@@ -1,15 +1,44 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation,
+  lib,
+  copyPathsToStore,
   extra-cmake-modules,
-  plymouth
+  plymouth,
+  nixos-icons,
+  imagemagick,
+  netpbm,
+  perl,
+  # these will typically need to be set via an override
+  # in a NixOS context
+  nixosBranding ? false,
+  nixosName ? "NixOS",
+  nixosVersion ? "",
+  topColor ? "black",
+  bottomColor ? "black"
 }:
 
+let
+  logoName = "nixos";
+in
 mkDerivation {
   name = "breeze-plymouth";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ plymouth ];
+  buildInputs = [ plymouth ] ++ lib.optionals nixosBranding [ imagemagick netpbm perl ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  cmakeFlags = lib.optionals nixosBranding [
+    "-DDISTRO_NAME=${nixosName}"
+    "-DDISTRO_VERSION=${nixosVersion}"
+    "-DDISTRO_LOGO=${logoName}"
+    "-DBACKGROUND_TOP_COLOR=${topColor}"
+    "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"
+  ];
   postPatch = ''
       substituteInPlace cmake/FindPlymouth.cmake --subst-var out
+  '' + lib.optionalString nixosBranding ''
+      cp ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png breeze/images/${logoName}.logo.png
+
+      # conversion for 16bit taken from the breeze-plymouth readme
+      convert ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
+      pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${logoName}.logo.png
   '';
 }
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index a828ba0fe7bc..cae5c74b4428 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -58,11 +58,7 @@ let
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "$outputDev" != out ]; then
-                        if [ -n "$crossConfig" ]; then
-                          propagatedBuildInputs="$propagatedBuildInputs @dev@"
-                        else
-                          propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@"
-                        fi
+                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
                     fi
                 fi
               '';
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/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/chicken/eggDerivation.nix b/pkgs/development/compilers/chicken/eggDerivation.nix
index 97ce9d9be79b..58247e5aeb53 100644
--- a/pkgs/development/compilers/chicken/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/eggDerivation.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation ({
       wrapProgram $f \
         --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \
         --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \
-        --prefix CHICKEN_INCLUDE_PATH \; \"$CHICKEN_INCLUDE_PATH\;$out/share/\" \
+        --prefix CHICKEN_INCLUDE_PATH \; "$CHICKEN_INCLUDE_PATH;$out/share/" \
         --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY"
     done
 
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 6b817d06553e..7bb0ed1bf617 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     install -Dm755 .build/crystal $out/bin/crystal
     wrapProgram $out/bin/crystal \
-        --suffix CRYSTAL_PATH : $out/lib/crystal \
+        --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
         --suffix LIBRARY_PATH : $libPath
     install -dm755 $out/lib/crystal
     cp -r src/* $out/lib/crystal/
diff --git a/pkgs/development/compilers/dmd/2.067.1.nix b/pkgs/development/compilers/dmd/2.067.1.nix
index 6a3cddbd2e50..29a8618dc7b9 100644
--- a/pkgs/development/compilers/dmd/2.067.1.nix
+++ b/pkgs/development/compilers/dmd/2.067.1.nix
@@ -146,7 +146,7 @@ stdenv.mkDerivation rec {
 
       wrapProgram $out/bin/dmd \
           --prefix PATH ":" "${stdenv.cc}/bin" \
-          --set CC "$""{CC:-$CC""}"
+          --set-default CC "$CC"
 
       cd $out/bin
       tee dmd.conf << EOF
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 938dd04904bf..ff19a5b872cc 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -152,7 +152,7 @@ stdenv.mkDerivation rec {
 
       wrapProgram $out/bin/dmd \
           --prefix PATH ":" "${stdenv.cc}/bin" \
-          --set CC "$""{CC:-$CC""}"
+          --set-default CC "$CC"
 
       cd $out/bin
       tee dmd.conf << EOF
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index e8c36dc7a037..fd02f779b3cf 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -1,18 +1,35 @@
-{ stdenv, fetchgit, flex, bison }:
+{ stdenv, fetchgit, fetchpatch, flex, bison, pkgconfig, python2, swig, which }:
 
 stdenv.mkDerivation rec {
   name = "dtc-${version}";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git";
     rev = "refs/tags/v${version}";
-    sha256 = "1pxp7700b3za7q4fnsnxx6i8v66rnr8p6lyi7jf684y1hq5ynlnf";
+    sha256 = "10y5pbkcj5gkijcgnlvrh6q2prpnvsgihb9asz3zfp66mcjwzsy3";
   };
 
-  nativeBuildInputs = [ flex bison ];
+  nativeBuildInputs = [ flex bison pkgconfig swig which ];
+  buildInputs = [ python2 ];
 
-  installFlags = [ "INSTALL=install" "PREFIX=$(out)" ];
+  patches = [
+    # Fix 32-bit build
+    (fetchpatch {
+      url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=497432fd2131967f349e69dc5d259072151cc4b4";
+      sha256 = "1hrvhvz0qkck53mhacrc4rxjrvp34d8dkw7xb5lr4gpg32grvkpq";
+    })
+    # Fix setup.py
+    (fetchpatch {
+      url = "https://github.com/dezgeg/dtc/commit/d94a745148ba5c9198143ccc0f7d877fe498ab73.patch";
+      sha256 = "0hpryx04j1swvmjisrfhvss08zzz4nxz9iv72lp4jdgg6vg0argl";
+    })
+  ];
+  postPatch = ''
+    patchShebangs pylibfdt/
+  '';
+
+  installFlags = [ "INSTALL=install" "PREFIX=$(out)" "SETUP_PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Device Tree Compiler";
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.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index d40b9f9d5b14..51fb1a1c9a1e 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -184,7 +184,7 @@ let version = "4.8.5";
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
     crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-    bootstrap = targetPlatform == hostPlatform && !hostPlatform.isArm && !hostPlatform.isMips;
+    bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -341,14 +341,6 @@ stdenv.mkDerivation ({
       }"
     ] ++
 
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-    optionals (cloog != null) [
-      "--with-cloog=${cloog}"
-      "--disable-cloog-version-check"
-      "--enable-cloog-backend=isl"
-    ] ++
-
     (if enableMultilib
       then ["--enable-multilib" "--disable-libquadmath"]
       else ["--disable-multilib"]) ++
@@ -357,6 +349,14 @@ stdenv.mkDerivation ({
       then ["--enable-plugin"]
       else ["--disable-plugin"]) ++
 
+    # Optional features
+    optional (isl != null) "--with-isl=${isl}" ++
+    optionals (cloog != null) [
+      "--with-cloog=${cloog}"
+      "--disable-cloog-version-check"
+      "--enable-cloog-backend=isl"
+    ] ++
+
     # Java options
     optionals langJava [
       "--with-ecj-jar=${javaEcj}"
@@ -444,7 +444,7 @@ stdenv.mkDerivation ({
     STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
-    # If we are making a cross compiler, cross != null
+    # If we are making a cross compiler, targetPlatform != hostPlatform
     NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
@@ -490,7 +490,7 @@ stdenv.mkDerivation ({
 
   EXTRA_TARGET_CFLAGS =
     if targetPlatform != hostPlatform && libcCross != null then [
-        "-idirafter ${libcCross.dev}/include"
+        "-idirafter ${getDev libcCross}/include"
       ]
       ++ optionals (! crossStageStatic) [
         "-B${libcCross.out}/lib"
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 5f889672f7bb..57d173c3a144 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -442,7 +442,7 @@ stdenv.mkDerivation ({
     STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
-    # If we are making a cross compiler, cross != null
+    # If we are making a cross compiler, targetPlatform != hostPlatform
     NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
@@ -488,7 +488,7 @@ stdenv.mkDerivation ({
 
   EXTRA_TARGET_CFLAGS =
     if targetPlatform != hostPlatform && libcCross != null then [
-        "-idirafter ${libcCross.dev}/include"
+        "-idirafter ${getDev libcCross}/include"
       ]
       ++ optionals (! crossStageStatic) [
         "-B${libcCross.out}/lib"
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 30bfd641c6ca..a34d14e88021 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -199,8 +199,6 @@ stdenv.mkDerivation ({
     inherit sha256;
   };
 
-  hardeningDisable = [ "format" ];
-
   inherit patches;
 
   outputs = [ "out" "lib" "man" "info" ];
@@ -209,6 +207,8 @@ stdenv.mkDerivation ({
 
   libc_dev = stdenv.cc.libc_dev;
 
+  hardeningDisable = [ "format" ];
+
   # This should kill all the stdinc frameworks that gcc and friends like to
   # insert into default search paths.
   prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
@@ -354,9 +354,6 @@ stdenv.mkDerivation ({
       }"
     ] ++
 
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
     (if enableMultilib
       then ["--enable-multilib" "--disable-libquadmath"]
       else ["--disable-multilib"]) ++
@@ -365,6 +362,9 @@ stdenv.mkDerivation ({
       then ["--enable-plugin"]
       else ["--disable-plugin"]) ++
 
+    # Optional features
+    optional (isl != null) "--with-isl=${isl}" ++
+
     # Java options
     optionals langJava [
       "--with-ecj-jar=${javaEcj}"
@@ -452,7 +452,7 @@ stdenv.mkDerivation ({
     STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
-    # If we are making a cross compiler, cross != null
+    # If we are making a cross compiler, targetPlatform != hostPlatform
     NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
@@ -478,7 +478,7 @@ stdenv.mkDerivation ({
 
   CPATH = makeSearchPathOutput "dev" "include" ([]
     ++ optional (zlib != null) zlib
-    ++ optionals langJava [ boehmgc ]
+    ++ optional langJava boehmgc
     ++ optionals javaAwtGtk xlibs
     ++ optionals javaAwtGtk [ gmp mpfr ]
     ++ optional (libpthread != null) libpthread
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 17086fdb7b8b..61e7647f968f 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -179,7 +179,7 @@ let version = "6.4.0";
     stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
     crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
 
-  bootstrap = targetPlatform == hostPlatform;
+    bootstrap = targetPlatform == hostPlatform;
 
 in
 
@@ -381,7 +381,7 @@ stdenv.mkDerivation ({
     # Ada
     optional langAda "--enable-libada" ++
 
-    # Cross compilation
+    # Cross-compilation
     optional (targetPlatform == hostPlatform) (
       let incDir = if hostPlatform.isDarwin
                      then "${darwin.usr-include}"
@@ -395,7 +395,7 @@ stdenv.mkDerivation ({
 
     # Platform-specific flags
     optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
-    optionals (hostPlatform.isSunOS) [
+    optionals hostPlatform.isSunOS [
       "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
       # On Illumos/Solaris GNU as is preferred
       "--with-gnu-as" "--without-gnu-ld"
@@ -452,7 +452,7 @@ stdenv.mkDerivation ({
     STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
-    # If we are making a cross compiler, cross != null
+    # If we are making a cross compiler, targetPlatform != hostPlatform
     NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 38aaf3f65075..48b245c1006f 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -447,7 +447,7 @@ stdenv.mkDerivation ({
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
     # If we are making a cross compiler, targetPlatform != hostPlatform
-    NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else "";
+    NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
   };
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 68a9704c0a53..981ac44d1b19 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -433,7 +433,7 @@ stdenv.mkDerivation ({
     STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
     CC_FOR_TARGET = "${targetPlatform.config}-gcc";
     CXX_FOR_TARGET = "${targetPlatform.config}-g++";
-    # If we are making a cross compiler, cross != null
+    # If we are making a cross compiler, targetPlatform != hostPlatform
     NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
     dontStrip = true;
     buildFlags = "";
@@ -532,6 +532,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/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index cd15a6680c26..736a6edc365b 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -9,7 +9,7 @@
 
 let
   inherit (bootPkgs) ghc;
-  version = "8.2.1.20171108";
+  version = "8.2.2";
 
   commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
   commonPreConfigure =  ''
@@ -26,14 +26,12 @@ in stdenv.mkDerivation (rec {
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/8.2.2-rc3/${name}-src.tar.xz";
-    sha256 = "13h55vcrs243bv4hv8i4jq80rsx5hvhi09r3rcs562d8zk7k665w";
+    url = "https://downloads.haskell.org/~ghc/8.2.2/${name}-src.tar.xz";
+    sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv";
   };
 
   postPatch = "patchShebangs .";
 
-  patches = [ ./ghc-gold-linker.patch ];
-
   preConfigure = commonPreConfigure;
 
   buildInputs = commonBuildInputs;
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index 2a1944debd91..b8c283fef07e 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -23,6 +23,9 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "all" ];
 
+  # The tests try to do stuff with 127.0.0.1 and localhost
+  __darwinAllowLocalNetworking = true;
+
   # I'm not sure what go wants from its 'src', but the go installation manual
   # describes an installation keeping the src.
   preUnpack = ''
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/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index 3a37ec137580..4159b7bd52b7 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  enableParallelBuilding = false; # occasional build problems;
+  enableParallelBuilding = true;
   dontUseCmakeBuildDir = true;
   NIX_LDFLAGS = "-lpam -L${pam}/lib";
 
diff --git a/pkgs/development/compilers/jsonnet/default.nix b/pkgs/development/compilers/jsonnet/default.nix
index cc19f7afe347..790f9a4827ae 100644
--- a/pkgs/development/compilers/jsonnet/default.nix
+++ b/pkgs/development/compilers/jsonnet/default.nix
@@ -4,6 +4,7 @@ let version = "0.9.4"; in
 
 stdenv.mkDerivation {
   name = "jsonnet-${version}";
+  version = version;
 
   src = fetchFromGitHub {
     rev = "v${version}";
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/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index 0559a7aee232..33147b07599c 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -81,6 +81,8 @@ in stdenv.mkDerivation rec {
       substituteInPlace lib/esan/esan_sideline_linux.cpp \
         --replace 'struct sigaltstack' 'stack_t'
     )
+  '' + stdenv.lib.optionalString stdenv.isAarch64 ''
+    patch -p0 < ${../aarch64.patch}
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index 520e42c33604..8358b6b18c35 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -75,6 +75,8 @@ in stdenv.mkDerivation rec {
 
     # Revert compiler-rt commit that makes codesign mandatory
     patch -p1 -i ${./compiler-rt-codesign.patch} -d projects/compiler-rt
+  '' + stdenv.lib.optionalString stdenv.isAarch64 ''
+    patch -p0 < ${../aarch64.patch}
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/llvm/aarch64.patch b/pkgs/development/compilers/llvm/aarch64.patch
new file mode 100644
index 000000000000..205074e48e4e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/aarch64.patch
@@ -0,0 +1,51 @@
+--- lib/Support/Unix/Memory.inc
++++ lib/Support/Unix/Memory.inc
+@@ -126,8 +126,12 @@
+   Result.Address = Addr;
+   Result.Size = NumPages*PageSize;
+ 
+-  if (PFlags & MF_EXEC)
+-    Memory::InvalidateInstructionCache(Result.Address, Result.Size);
++  // Rely on protectMappedMemory to invalidate instruction cache.
++  if (PFlags & MF_EXEC) {
++    EC = Memory::protectMappedMemory (Result, PFlags);
++    if (EC != std::error_code())
++      return MemoryBlock();
++  }
+ 
+   return Result;
+ }
+@@ -156,15 +160,31 @@
+     return std::error_code(EINVAL, std::generic_category());
+ 
+   int Protect = getPosixProtectionFlags(Flags);
+-
+   uintptr_t Start = alignAddr((uint8_t *)M.Address - PageSize + 1, PageSize);
+   uintptr_t End = alignAddr((uint8_t *)M.Address + M.Size, PageSize);
++
++  bool InvalidateCache = (Flags & MF_EXEC);
++
++#if defined(__arm__) || defined(__aarch64__)
++  // Certain ARM implementations treat icache clear instruction as a memory read,
++  // and CPU segfaults on trying to clear cache on !PROT_READ page.  Therefore we need
++  // to temporarily add PROT_READ for the sake of flushing the instruction caches.
++  if (InvalidateCache && !(Protect & PROT_READ)) {
++    int Result = ::mprotect((void *)Start, End - Start, Protect | PROT_READ);
++    if (Result != 0)
++      return std::error_code(errno, std::generic_category());
++
++    Memory::InvalidateInstructionCache(M.Address, M.Size);
++    InvalidateCache = false;
++  }
++#endif
++
+   int Result = ::mprotect((void *)Start, End - Start, Protect);
+ 
+   if (Result != 0)
+     return std::error_code(errno, std::generic_category());
+ 
+-  if (Flags & MF_EXEC)
++  if (InvalidateCache)
+     Memory::InvalidateInstructionCache(M.Address, M.Size);
+ 
+   return std::error_code();
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/obliv-c/default.nix b/pkgs/development/compilers/obliv-c/default.nix
index f5bc00118a61..774cefb79404 100644
--- a/pkgs/development/compilers/obliv-c/default.nix
+++ b/pkgs/development/compilers/obliv-c/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "0jz2ayadx62zv2b5ji947bkvw63axl4a2q70lwli86zgmcl390gf";
   };
 
+  patches = [ ./ignore-complex-float128.patch ];
+
   preBuild = ''
     patchShebangs .
   '';
diff --git a/pkgs/development/compilers/obliv-c/ignore-complex-float128.patch b/pkgs/development/compilers/obliv-c/ignore-complex-float128.patch
new file mode 100644
index 000000000000..e3a5b74a9cb2
--- /dev/null
+++ b/pkgs/development/compilers/obliv-c/ignore-complex-float128.patch
@@ -0,0 +1,37 @@
+--- a/src/frontc/clexer.mll
++++ b/src/frontc/clexer.mll
+@@ -134,9 +134,11 @@ let init_lexicon _ =
+       (* WW: see /usr/include/sys/cdefs.h for why __signed and __volatile
+        * are accepted GCC-isms *)
+       ("_Bool", fun loc -> BOOL loc);
++      ("_Complex", fun loc -> COMPLEX loc);
+       ("char", fun loc -> CHAR loc);
+       ("int", fun loc -> INT loc);
+       ("float", fun loc -> FLOAT loc);
++      ("__float128", fun loc -> FLOAT128 loc);
+       ("double", fun loc -> DOUBLE loc);
+       ("void", fun loc -> VOID loc);
+       ("enum", fun loc -> ENUM loc);
+--- a/src/frontc/cparser.mly
++++ b/src/frontc/cparser.mly
+@@ -269,6 +269,8 @@ let oblivState (s:statement): statement =
+ %token<Cabs.cabsloc> VOLATILE EXTERN STATIC CONST RESTRICT AUTO REGISTER FROZEN
+ %token<Cabs.cabsloc> THREAD
+ 
++%token<Cabs.cabsloc> COMPLEX FLOAT128
++
+ %token<Cabs.cabsloc> SIZEOF ALIGNOF
+ 
+ %token EQ PLUS_EQ MINUS_EQ STAR_EQ SLASH_EQ PERCENT_EQ
+@@ -1002,7 +1004,11 @@ type_spec:   /* ISO 6.7.2 */
+ |   LONG            { Tlong, $1 }
+ |   INT64           { Tint64, $1 }
+ |   FLOAT           { Tfloat, $1 }
++|   FLOAT128        { Tfloat, $1 }
+ |   DOUBLE          { Tdouble, $1 }
++|   COMPLEX FLOAT   { Tfloat, $2 }
++|   COMPLEX FLOAT128{ Tfloat, $2 }
++|   COMPLEX DOUBLE  { Tdouble, $2 }
+ |   SIGNED          { Tsigned, $1 }
+ |   UNSIGNED        { Tunsigned, $1 }
+ |   STRUCT                 id_or_typename
diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk-darwin/8.nix
index 6234b63208cd..cc7c5fd371d2 100644
--- a/pkgs/development/compilers/openjdk-darwin/8.nix
+++ b/pkgs/development/compilers/openjdk-darwin/8.nix
@@ -33,7 +33,7 @@ let
       # any package that depends on the JRE has $CLASSPATH set up
       # properly.
       mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
       install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib
 
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index 1e8f88beea66..6ecc785be3b9 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -23,7 +23,7 @@ let
       # any package that depends on the JRE has $CLASSPATH set up
       # properly.
       mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
       install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib
 
diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix
index 72f0ba293ba9..372bb1532698 100644
--- a/pkgs/development/compilers/openjdk/7.nix
+++ b/pkgs/development/compilers/openjdk/7.nix
@@ -184,13 +184,13 @@ let
     preFixup = ''
       prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
       patchELF $jre
-      propagatedNativeBuildInputs+=" $jre"
+      propagatedBuildInputs+=" $jre"
 
       # Propagate the setJavaClassPath setup hook from the JRE so that
       # any package that depends on the JRE has $CLASSPATH set up
       # properly.
       mkdir -p $jre/nix-support
-      printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs
+      printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs
 
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 4499a9126a0c..71ce9271bfa6 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -206,13 +206,13 @@ let
     preFixup = ''
       prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
       patchELF $jre
-      propagatedNativeBuildInputs+=" $jre"
+      propagatedBuildInputs+=" $jre"
 
       # Propagate the setJavaClassPath setup hook from the JRE so that
       # any package that depends on the JRE has $CLASSPATH set up
       # properly.
       mkdir -p $jre/nix-support
-      printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs
+      printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs
 
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/9.nix
index ce556a32c11d..8697712de988 100644
--- a/pkgs/development/compilers/openjdk/9.nix
+++ b/pkgs/development/compilers/openjdk/9.nix
@@ -204,14 +204,14 @@ let
     preFixup = ''
       prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
       patchELF $jre
-      propagatedNativeBuildInputs+=" $jre"
+      propagatedBuildInputs+=" $jre"
 
       # Propagate the setJavaClassPath setup hook from the JRE so that
       # any package that depends on the JRE has $CLASSPATH set up
       # properly.
       mkdir -p $jre/nix-support
       #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
-      echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs
+      echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs
 
       # Set JAVA_HOME automatically.
       mkdir -p $out/nix-support
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index 2a00cf5f2d29..c2866446f76f 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -166,7 +166,7 @@ let result = stdenv.mkDerivation rec {
     ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins
 
     mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
index fbda96e14258..29d77a613b38 100644
--- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
@@ -124,7 +124,7 @@ let result = stdenv.mkDerivation rec {
     ln -s $out $out/jre
 
     mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 543fc6dfa48f..525d2bb33a58 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.27";
+  name = "orc-0.4.28";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "14vbwdydwarcvswzf744jdjb3ibhv6k4j6hzdacfan41zic3xrai";
+    sha256 = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce";
   };
 
   outputs = [ "out" "dev" ];
@@ -15,10 +15,7 @@ stdenv.mkDerivation rec {
     sed "/^toolsdir=/ctoolsdir=$dev/bin" -i "$dev"/lib/pkgconfig/orc*.pc
   '';
 
-  # building memcpy_speed.log
-  # ../test-driver: line 107:  4495 Segmentation fault      "$@" > $log_file 2>&1
-  # FAIL: memcpy_speed
-  doCheck = false; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "The Oil Runtime Compiler";
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index a4f0442d9d1b..54d39d8fa631 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -1,31 +1,32 @@
 { stdenv, makeWrapper, buildOcaml, fetchFromGitHub,
-  ocaml, opam, topkg, menhir, merlin_extend, ppx_tools_versioned, utop }:
+  ocaml, opam, jbuilder, menhir, merlin_extend, ppx_tools_versioned, utop }:
 
 buildOcaml rec {
   name = "reason";
-  version = "3.0.0";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "reason";
     rev = version;
-    sha256 = "0vj3y9vlm9gqvj9grmb9n487avbrj4q5611m7wv1bsdpndvv96jr";
+    sha256 = "19kp1cnxi6dq89xh07c14q7kzkawbxdkwrvn1rl48l78d04agnxx";
   };
 
   propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ];
 
-  buildInputs = [ makeWrapper opam topkg utop menhir opam topkg ];
+  buildInputs = [ makeWrapper opam jbuilder utop menhir ];
 
   buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
 
   createFindlibDestdir = true;
 
   postPatch = ''
-    substituteInPlace src/reasonbuild.ml --replace "refmt --print binary" "$out/bin/refmt --print binary"
+    substituteInPlace src/reasonbuild/myocamlbuild.ml \
+      --replace "refmt --print binary" "$out/bin/refmt --print binary"
   '';
 
   installPhase = ''
-    ${topkg.installPhase}
+    ${jbuilder.installPhase}
 
     wrapProgram $out/bin/rtop \
       --prefix PATH : "${utop}/bin" \
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index 37b06555bdbd..8dfe26f72f4a 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,36 @@ 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 (stdenv.isDarwin && bootstrapping) ''
+        install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo"
+        install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo"
+        install_name_tool -change /usr/lib/libz.1.dylib '${stdenv.lib.getLib zlib}/lib/libz.1.dylib' "$out/bin/cargo"
       ''}
 
-      ${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 +99,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 fbcac09fc458..da9680943b57 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib, curl }:
+{ stdenv, fetchurl, callPackage }:
 
 let
   # Note: the version MUST be one version prior to the version we're
   # building
-  version = "1.19.0";
+  version = "1.20.0";
 
-  # fetch hashes by running `print-hashes.sh 1.19.0`
+  # fetch hashes by running `print-hashes.sh 1.20.0`
   hashes = {
-    i686-unknown-linux-gnu = "657b78f3c1a1b4412e12f7278e20cc318022fa276a58f0d38a0d15b515e39713";
-    x86_64-unknown-linux-gnu = "30ff67884464d32f6bbbde4387e7557db98868e87fb2afbb77c9b7716e3bff09";
-    i686-apple-darwin = "bdfd2189245dc5764c9f26bdba1429c2bf9d57477d8e6e3f0ba42ea0dc63edeb";
-    x86_64-apple-darwin = "5c668fb60a3ba3e97dc2cb8967fc4bb9422b629155284dcb89f94d116bb17820";
+    i686-unknown-linux-gnu = "abe592e06616cdc2fcca56ddbe482050dd49a1fada35e2af031c64fe6eb14668";
+    x86_64-unknown-linux-gnu = "ca1cf3aed73ff03d065a7d3e57ecca92228d35dc36d9274a6597441319f18eb8";
+    i686-apple-darwin = "b3c2470f8f132d285e6c989681e251592b67071bc9d93cac8a2e6b66f7bdfcb5";
+    x86_64-apple-darwin = "fa1fb8896d5e327cbe6deeb50e6e9a3346de629f2e6bcbd8c10f19f3e2ed67d5";
   };
 
   platform =
@@ -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/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index 682e85ce867b..fb3001bbf17b 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -1,7 +1,11 @@
 { stdenv, fetchFromGitHub, file, curl, pkgconfig, python, openssl, cmake, zlib
 , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2, darwin
 , version, srcSha, cargoSha256
-, patches ? []}:
+, patches ? [] }:
+
+let
+  inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+in
 
 rustPlatform.buildRustPackage rec {
   name = "cargo-${version}";
@@ -21,13 +25,17 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ]
-    # FIXME: Use impure version of CoreFoundation because of missing symbols.
-    # CFURLSetResourcePropertyForKey is defined in the headers but there's no
-    # corresponding implementation in the sources from opensource.apple.com.
-    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation libiconv ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG=1;
 
+  # FIXME: Use impure version of CoreFoundation because of missing symbols.
+  # CFURLSetResourcePropertyForKey is defined in the headers but there's no
+  # corresponding implementation in the sources from opensource.apple.com.
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  '';
+
   postInstall = ''
     # NOTE: We override the `http.cainfo` option usually specified in
     # `.cargo/config`. This is an issue when users want to specify
@@ -36,8 +44,7 @@ rustPlatform.buildRustPackage rec {
     wrapProgram "$out/bin/cargo" \
       --suffix PATH : "${rustc}/bin" \
       --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \
-      --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
-      ${stdenv.lib.optionalString stdenv.isDarwin ''--suffix DYLD_LIBRARY_PATH : "${rustc}/lib"''}
+      --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt"
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index c42c958b170c..3973eaff1878 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,7 +6,7 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.20.0";
+  version = "1.21.0";
 in
 rec {
   rustc = callPackage ./rustc.nix {
@@ -18,7 +18,7 @@ rec {
 
     src = fetchurl {
       url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-      sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a";
+      sha256 = "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp";
     };
 
     patches = [
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 9f96d05c1163..4d92566edd4a 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   inherit src;
 
-  __impureHostDeps = [ "/usr/lib/libedit.3.dylib" ];
+  __darwinAllowLocalNetworking = true;
 
   NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib";
 
@@ -109,6 +109,14 @@ stdenv.mkDerivation {
     # Disable all lldb tests.
     # error: Can't run LLDB test because LLDB's python path is not set
     rm -vr src/test/debuginfo/*
+
+    # Disable tests that fail when sandboxing is enabled.
+    substituteInPlace src/libstd/sys/unix/ext/net.rs \
+        --replace '#[test]' '#[test] #[ignore]'
+    substituteInPlace src/test/run-pass/env-home-dir.rs \
+        --replace 'home_dir().is_some()' true
+    rm -v src/test/run-pass/fds-are-cloexec.rs  # FIXME: pipes?
+    rm -v src/test/run-pass/sync-send-in-std.rs  # FIXME: ???
   '';
 
   preConfigure = ''
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/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index baf48d7a532c..57c22f08550f 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -12,6 +12,8 @@ let
       inherit sha256;
     };
 
+    outputs = [ "out" "devdoc" ];
+
     nativeBuildInputs = [ pkgconfig flex bison libxslt ] ++ extraNativeBuildInputs;
 
     buildInputs = [ glib libiconv ] ++ libintlOrEmpty ++ extraBuildInputs;
@@ -65,5 +67,5 @@ in rec {
     extraBuildInputs = [ graphviz ];
   };
 
-  vala = vala_0_34;
+  vala = vala_0_38;
 }
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index f7638757ff7a..1be0247c5ec3 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
     find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
 
     mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index 92f1f0a111ed..63551d282475 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
 
     mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs
+    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index ef9b22825152..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, bignums }:
+{ stdenv, fetchurl, which, coq, coquelicot, flocq, mathcomp
+, bignums ? null }:
 
 let param =
   if stdenv.lib.versionAtLeast coq.coq-version "8.5"
@@ -21,8 +22,8 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ which ];
-  buildInputs = [ coq bignums ];
-  propagatedBuildInputs = [ coquelicot flocq mathcomp ];
+  buildInputs = [ coq ];
+  propagatedBuildInputs = [ bignums coquelicot flocq mathcomp ];
 
   configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval";
   buildPhase = "./remake";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 5203a7c7618d..ada9a9e53902 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -41,7 +41,7 @@ self: super: {
 
   # cabal-install needs Cabal 2.x. hackage-security's test suite does not compile with
   # Cabal 2.x, though. See https://github.com/haskell/hackage-security/issues/188.
-  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_0_0_2; });
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_0_1_0; });
   hackage-security = dontCheck super.hackage-security;
 
   # Link statically to avoid runtime dependency on GHC.
@@ -95,7 +95,7 @@ self: super: {
       name = "git-annex-${drv.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "14449sllp81d23mnjwn1m658kzry5qvww2ykxkbkdcrlz6kl6dy0";
+      sha256 = "1bnnrwamw3d37fz7cwykxhi1ryy22dq8r6ld59gsbgcv23drqzax";
     };
   })).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -152,7 +152,7 @@ self: super: {
     extraLibraries = [ pkgs.openblasCompat ];
   });
 
-  LambdaHack = super.LambdaHack.override { sdl2-ttf = super.sdl2-ttf_2_0_1; };
+  LambdaHack = super.LambdaHack.override { sdl2-ttf = super.sdl2-ttf_2_0_2; };
 
   # The Haddock phase fails for one reason or another.
   acme-one = dontHaddock super.acme-one;
@@ -957,12 +957,6 @@ self: super: {
     optparse-applicative = self.optparse-applicative_0_14_0_0;
   });
 
-  # Break "hpack >=0.17.0 && <0.19".
-  stack = doJailbreak super.stack;
-
-  # https://github.com/mgajda/json-autotype/issues/15
-  json-autotype = doJailbreak super.json-autotype;
-
   # Depends on broken fluid.
   fluid-idl-http-client = markBroken super.fluid-idl-http-client;
   fluid-idl-scotty = markBroken super.fluid-idl-scotty;
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-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index 1dee726dcf36..51276ce8c89d 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -60,6 +60,6 @@ self: super: {
   apply-refact = super.apply-refact_0_3_0_1;
 
   # This builds needs the latest Cabal version.
-  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_0_0_2; });
+  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_0_1_0; });
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 760569da2715..b02b0b602676 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.12
+  # LTS Haskell 9.14
   - 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
@@ -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
@@ -466,10 +466,10 @@ default-package-overrides:
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
   - cryptohash-sha1 ==0.11.100.1
-  - cryptohash-sha256 ==0.11.100.1
+  - cryptohash-sha256 ==0.11.101.0
   - cryptohash-sha512 ==0.11.100.1
   - cryptonite ==0.23
-  - cryptonite-conduit ==0.2.0
+  - cryptonite-conduit ==0.2.2
   - cryptonite-openssl ==0.6
   - crypto-pubkey-types ==0.4.3
   - crypto-random ==0.0.9
@@ -585,7 +585,7 @@ default-package-overrides:
   - dotenv ==0.3.4.0
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
-  - download ==0.3.2.5
+  - download ==0.3.2.6
   - dpor ==0.2.0.0
   - drawille ==0.1.2.0
   - DRBG ==0.5.5
@@ -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
@@ -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
@@ -972,7 +973,7 @@ default-package-overrides:
   - hashtables ==1.2.2.1
   - haskeline ==0.7.4.0
   - haskell-gi ==0.20.3
-  - haskell-gi-base ==0.20.4
+  - haskell-gi-base ==0.20.5
   - haskell-gi-overloading ==1.0
   - haskell-import-graph ==1.0.3
   - haskell-lexer ==1.0.1
@@ -1026,10 +1027,10 @@ default-package-overrides:
   - hebrew-time ==0.1.1
   - hedgehog ==0.5
   - hedgehog-quickcheck ==0.1
-  - hedis ==0.9.11
+  - hedis ==0.9.12
   - 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
@@ -1071,6 +1072,7 @@ default-package-overrides:
   - hourglass ==0.2.10
   - hourglass-orphans ==0.1.0.0
   - hp2pretty ==0.8.0.2
+  - hpack ==0.18.1
   - hpc-coveralls ==1.0.10
   - hPDB ==1.2.0.9
   - hPDB-examples ==1.2.0.7
@@ -1092,8 +1094,8 @@ default-package-overrides:
   - hsebaysdk ==0.4.0.0
   - hse-cpp ==0.2
   - hsemail ==2
-  - HSet ==0.0.1
   - hset ==2.2.0
+  - HSet ==0.0.1
   - hsexif ==0.6.1.4
   - hs-GeoIP ==0.3
   - hsignal ==0.2.7.5
@@ -1115,7 +1117,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
@@ -1138,10 +1140,10 @@ default-package-overrides:
   - html-conduit ==1.2.1.2
   - html-email-validate ==0.2.0.0
   - htoml ==1.0.0.3
-  - HTTP ==4000.3.7
+  - HTTP ==4000.3.8
   - http2 ==1.6.3
   - http-api-data ==0.3.7.1
-  - http-client ==0.5.7.0
+  - http-client ==0.5.7.1
   - http-client-openssl ==0.2.1.1
   - http-client-tls ==0.3.5.1
   - http-common ==0.8.2.0
@@ -1217,8 +1219,8 @@ default-package-overrides:
   - intero ==0.1.23
   - interpolate ==0.1.1
   - interpolatedstring-perl6 ==1.0.0
-  - interpolation ==0.1.0.1
-  - IntervalMap ==0.5.2.0
+  - interpolation ==0.1.0.2
+  - IntervalMap ==0.5.3.1
   - intervals ==0.8.1
   - intro ==0.3.0.1
   - invariant ==0.4.3
@@ -1265,7 +1267,7 @@ 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 ==3.2.9.1
   - JuicyPixels-extra ==0.2.2
   - JuicyPixels-scale-dct ==0.1.1.2
   - jvm ==0.2.2
@@ -1285,7 +1287,7 @@ default-package-overrides:
   - kraken ==0.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==0.4.5
+  - lackey ==0.4.6
   - lame ==0.1.1
   - language-c ==0.6.1
   - language-c-quote ==0.12.1
@@ -1373,7 +1375,7 @@ default-package-overrides:
   - machines-io ==0.2.0.13
   - machines-process ==0.2.0.8
   - magic ==1.1
-  - magicbane ==0.1.2
+  - magicbane ==0.1.3
   - mainland-pretty ==0.6.1
   - makefile ==1.0.0.4
   - managed ==1.0.5
@@ -1410,7 +1412,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
@@ -1423,7 +1425,7 @@ default-package-overrides:
   - mime-mail ==0.4.14
   - mime-mail-ses ==0.3.2.3
   - mime-types ==0.1.0.7
-  - minio-hs ==0.3.1
+  - minio-hs ==0.3.2
   - mintty ==0.1.1
   - miso ==0.4.0.0
   - missing-foreign ==0.1.1
@@ -1614,7 +1616,7 @@ default-package-overrides:
   - partial-order ==0.1.2.1
   - patat ==0.5.2.2
   - path ==0.5.13
-  - path-extra ==0.0.5
+  - path-extra ==0.0.6
   - path-io ==1.2.2
   - path-pieces ==0.2.1
   - pathtype ==0.8
@@ -1736,7 +1738,7 @@ default-package-overrides:
   - prometheus-metrics-ghc ==0.2.0
   - prompt ==0.1.1.2
   - protobuf ==0.2.1.1
-  - protobuf-simple ==0.1.0.4
+  - protobuf-simple ==0.1.0.5
   - protocol-buffers ==2.4.5
   - protocol-buffers-descriptor ==2.4.5
   - proto-lens ==0.2.1.0
@@ -1767,7 +1769,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
@@ -1917,16 +1919,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
@@ -1993,6 +1995,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
@@ -2008,14 +2011,14 @@ default-package-overrides:
   - Spock-lucid ==0.4.0.1
   - Spock-worker ==0.3.1.0
   - spool ==0.1
-  - spreadsheet ==0.1.3.5
+  - spreadsheet ==0.1.3.6
   - sqlite-simple ==0.4.14.0
   - sqlite-simple-errors ==0.6.0.0
   - sql-words ==0.1.5.1
   - 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
@@ -2099,12 +2102,12 @@ default-package-overrides:
   - tar-conduit ==0.1.1
   - tardis ==0.4.1.0
   - tasty ==0.11.3
-  - tasty-ant-xml ==1.1.0
+  - tasty-ant-xml ==1.1.1
   - tasty-auto ==0.2.0.0
   - 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
@@ -2208,7 +2211,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
@@ -2270,8 +2273,8 @@ 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
@@ -2328,7 +2331,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
@@ -2455,7 +2458,7 @@ default-package-overrides:
   - xturtle ==0.2.0.0
   - yackage ==0.8.1
   - yahoo-finance-api ==0.2.0.2
-  - yaml ==0.8.24
+  - yaml ==0.8.25
   - Yampa ==0.10.6.2
   - YampaSynth ==0.2
   - yesod ==1.4.5
@@ -2464,7 +2467,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
@@ -2538,6 +2541,7 @@ extra-packages:
   - happy <1.19.6                       # newer versions break Agda
   - haskell-gi-overloading == 0.0       # gi-* packages use this dependency to disable overloading support
   - haskell-src-exts == 1.18.*          # required by hoogle-5.0.4
+  - language-c == 0.7.0                 # required by c2hs hack to work around https://github.com/haskell/c2hs/issues/192.
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - network == 2.6.3.1                  # newer versions don't compile with GHC 7.4.x and below
@@ -2785,6 +2789,7 @@ dont-distribute-packages:
   adobe-swatch-exchange:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   adp-multi-monadiccp:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   adp-multi:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ADPfusionForest:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Advgame:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-Basics:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   AERN-Net:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2805,6 +2810,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 ]
@@ -2849,6 +2855,27 @@ 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-athena:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-batch:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-clouddirectory:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cloudhsmv2:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codestar:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-cur:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-dynamodb-dax:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ec2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-glue:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-greengrass:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lex-models:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lex-runtime:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-marketplace-entitlement:             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-mechanicalturk:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-migrationhub:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-mobile:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-organizations:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-pricing:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-resourcegroupstagging:               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-waf-regional:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-workdocs:                            [ 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 ]
@@ -2863,6 +2890,7 @@ dont-distribute-packages:
   angel:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   angle:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Animas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  animate:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   annah:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Annotations:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   anonymous-sums-tests:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2888,6 +2916,7 @@ dont-distribute-packages:
   apiary-mongoDB:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary-persistent:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary-purescript:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  apiary-redis:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary-session:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary-websockets:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   apiary:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2947,6 +2976,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 ]
@@ -3154,6 +3184,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 ]
@@ -3198,6 +3229,7 @@ dont-distribute-packages:
   boomslang:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   borel:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   bot:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bowntz:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   braid:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   brainheck:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Bravo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3231,6 +3263,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 ]
@@ -3275,6 +3308,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 ]
@@ -3333,6 +3367,7 @@ dont-distribute-packages:
   categorical-algebra:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   category-extras:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   category-traced:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  category:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   catnplus:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cayley-client:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cblrepo:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3558,6 +3593,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 ]
@@ -3628,6 +3664,7 @@ dont-distribute-packages:
   courier:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   court:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   coverage:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cparsing:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   CPBrainfuck:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cpio-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cplex-hs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3899,6 +3936,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 ]
@@ -3958,6 +3996,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 ]
@@ -3995,6 +4034,8 @@ 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 ]
+  dual:                                         [ 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 ]
@@ -4041,6 +4082,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 ]
@@ -4263,11 +4305,15 @@ 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" ]
   flac-picture:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   flac:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  flaccuraterip:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   flamethrower:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   flamingra:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   flat-maybe:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4275,6 +4321,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 ]
@@ -4304,6 +4351,7 @@ dont-distribute-packages:
   forecast-io:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   foreign-var:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   forest-fire:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Forestry:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   forger:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   forkable-monad:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   ForkableT:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4377,6 +4425,7 @@ dont-distribute-packages:
   function-instances-algebra:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   functional-arrow:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   functor-utils:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  functor:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   functorm:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Fungi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   funion:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4460,6 +4509,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 ]
@@ -4647,6 +4697,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" ]
@@ -4709,7 +4760,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 ]
@@ -4868,7 +4921,9 @@ dont-distribute-packages:
   haskell-tools-ast-fromghc:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-ast-gen:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-ast-trf:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-builtin-refactorings:           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-cli:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-experimental-refactorings:      [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tor:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-type-exts:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-typescript:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4968,6 +5023,8 @@ dont-distribute-packages:
   hblock:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HCard:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hcc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hcg-minus-cairo:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hcg-minus:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hcheat:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hchesslib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HCL:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4988,6 +5045,7 @@ dont-distribute-packages:
   hdbi-sqlite:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbi-tests:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdbi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hdf:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hDFA:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdigest:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hdirect:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5001,6 +5059,7 @@ dont-distribute-packages:
   headergen:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hecc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hedi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hedis-config:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hedis-pile:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hedis-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hedis-tags:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5048,6 +5107,7 @@ dont-distribute-packages:
   hexpr:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hexpress:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hexquote:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  heyefi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hF2:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfann:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hfd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5165,6 +5225,7 @@ dont-distribute-packages:
   HListPP:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlogger:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   HLogger:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hls:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlwm:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hly:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HMap:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5190,6 +5251,8 @@ dont-distribute-packages:
   hMollom:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmp3:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hmpf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmt-diagrams:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmt:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmumps:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hnetcdf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hnix:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5242,6 +5305,7 @@ dont-distribute-packages:
   hoq:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   horizon:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   horname:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hosc-json:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hosts-server:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hothasktags:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hotswap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5272,6 +5336,7 @@ dont-distribute-packages:
   hprotoc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hps-cairo:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hps-kmeans:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hps:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hPushover:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpygments:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpylos:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5326,16 +5391,20 @@ dont-distribute-packages:
   hsbencher:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-cairo:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-data:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsc3-db:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsc3-dot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-forth:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-graphs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-lang:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-lisp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-plot:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsc3-process:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-rec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-rw:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-unsafe:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsc3-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hsc3:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hscaffold:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hscamwire:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hscassandra:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5370,6 +5439,7 @@ dont-distribute-packages:
   HSlippyMap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslogger-reader:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hslogstash:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hslua-module-text:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hsmagick:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HSmarty:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hsmtlib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5462,6 +5532,7 @@ dont-distribute-packages:
   htune:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   htzaar:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hubris:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  huck:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   huckleberry:                                  [ "x86_64-darwin" ]
   HueAPI:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   huff:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5574,6 +5645,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 ]
@@ -5714,6 +5786,7 @@ dont-distribute-packages:
   json-ast-quickcheck:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-autotype:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-b:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  json-bytes-builder:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   JSON-Combinator-Examples:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   JSON-Combinator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   json-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5742,6 +5815,7 @@ dont-distribute-packages:
   JunkDB-driver-gdbm:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   JunkDB-driver-hashtables:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   JunkDB:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  JuPyTer-notebook:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   jupyter:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   JYU-Utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5824,6 +5898,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 ]
@@ -5946,6 +6021,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 ]
@@ -6208,6 +6284,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 ]
@@ -6263,6 +6340,8 @@ dont-distribute-packages:
   mkbndl:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   ml-w:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   mlist:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mmark-ext:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mmark:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mmtf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   mmtl-base:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   mmtl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6342,6 +6421,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 ]
@@ -6635,6 +6716,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 ]
@@ -6801,6 +6883,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 ]
@@ -6866,6 +6949,7 @@ dont-distribute-packages:
   polyseq:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   polytypeable-utils:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   polytypeable:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pomaps:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pomodoro:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ponder:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pong-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6975,6 +7059,7 @@ dont-distribute-packages:
   prove-everywhere-server:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   proxy-kindness:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   psc-ide:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ptr:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   publicsuffixlistcreate:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pubnub:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   pubsub:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7318,6 +7403,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 ]
@@ -7372,6 +7458,7 @@ dont-distribute-packages:
   satchmo-toysat:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   SBench:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sbvPlugin:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sc3-rdu:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   scalable-server:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   scaleimage:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   SCalendar:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7466,6 +7553,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 ]
@@ -7547,6 +7635,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 ]
@@ -7708,6 +7797,7 @@ dont-distribute-packages:
   spacepart:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   SpacePrivateers:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   spaceprobe:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  spake2:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   spanout:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparkle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sparse:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7800,6 +7890,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 ]
@@ -7844,9 +7935,11 @@ dont-distribute-packages:
   supercollider-midi:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   superconstraints:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   superdoc:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  supermonad:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   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 ]
@@ -7941,6 +8034,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 ]
@@ -8004,6 +8098,7 @@ dont-distribute-packages:
   tex2txt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   texbuilder:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-and-plots:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  text-builder:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-containers:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-generic-pretty:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-icu-normalized:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8103,6 +8198,7 @@ dont-distribute-packages:
   tomato-rubato-openal:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   toml:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Top:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  top:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   topkata:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   torch:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   touched:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8323,6 +8419,7 @@ dont-distribute-packages:
   vect-floating-accelerate:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   vect-floating:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   vect-opengl:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vector-builder:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-bytes-instances:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-bytestring:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-clock:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8496,6 +8593,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 ]
@@ -8545,6 +8643,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 4ed124f7fbea..3107d29b0901 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -271,6 +271,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ADPfusionForest" = callPackage
+    ({ mkDerivation, ADPfusion, base, containers, criterion, DPutils
+     , fgl, ForestStructures, GrammarProducts, PrimitiveArray
+     , QuickCheck, strict, tasty, tasty-quickcheck, tasty-th, text
+     , unordered-containers, vector, vector-algorithms, vector-instances
+     , vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "ADPfusionForest";
+       version = "0.0.0.1";
+       sha256 = "1ikv9y1hs478s5ns8g42cnsga3kw8qxpn1yc3vi5ix95i6q6wi4v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ADPfusion base containers DPutils fgl ForestStructures
+         GrammarProducts PrimitiveArray strict text unordered-containers
+         vector vector-algorithms vector-instances vector-th-unbox
+       ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-quickcheck tasty-th
+       ];
+       benchmarkHaskellDepends = [ base criterion ForestStructures ];
+       homepage = "https://github.com/choener/ADPfusionForest";
+       description = "Dynamic programming on tree and forest structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ADPfusionSet" = callPackage
     ({ mkDerivation, ADPfusion, base, bits, containers, DPutils, mmorph
      , mtl, OrderedBits, primitive, PrimitiveArray, QuickCheck
@@ -1186,8 +1214,8 @@ self: {
      }:
      mkDerivation {
        pname = "BNFC-meta";
-       version = "0.4.0.3";
-       sha256 = "10rfljhygdl75ibmj0xqj7qwdk0ppjr8iw4wmvzdpl28mqjshny2";
+       version = "0.6";
+       sha256 = "1vw3h7b4n6im9kr2abr3m1d1y7xr5m19f53b0pqh1w1izmi5m6mz";
        libraryHaskellDepends = [
          alex-meta array base happy-meta haskell-src-meta syb
          template-haskell
@@ -1612,21 +1640,23 @@ self: {
      }) {};
 
   "BiobaseTypes" = callPackage
-    ({ mkDerivation, aeson, base, bimaps, binary, cereal, cereal-text
-     , cereal-vector, data-default, deepseq, hashable, intern, primitive
-     , PrimitiveArray, QuickCheck, string-conversions, tasty
-     , tasty-quickcheck, tasty-th, text, text-binary, vector
-     , vector-binary-instances, vector-th-unbox
+    ({ mkDerivation, aeson, base, bimaps, binary, bytestring, cereal
+     , cereal-text, cereal-vector, containers, data-default, deepseq
+     , hashable, intern, lens, mtl, primitive, PrimitiveArray
+     , QuickCheck, string-conversions, tasty, tasty-quickcheck, tasty-th
+     , text, text-binary, utf8-string, vector, vector-binary-instances
+     , vector-th-unbox
      }:
      mkDerivation {
        pname = "BiobaseTypes";
-       version = "0.1.2.1";
-       sha256 = "11wcwnhz9n7vs8xmsr3jdwa219797kcbaw5dw2qip9jih41gijwj";
+       version = "0.1.3.0";
+       sha256 = "15yzg4llvz7pq5f0chfwrkaqspwrqxan4xvczrk4mvwa07z3abbp";
        libraryHaskellDepends = [
-         aeson base bimaps binary cereal cereal-text cereal-vector
-         data-default deepseq hashable intern primitive PrimitiveArray
-         QuickCheck string-conversions text text-binary vector
-         vector-binary-instances vector-th-unbox
+         aeson base bimaps binary bytestring cereal cereal-text
+         cereal-vector containers data-default deepseq hashable intern lens
+         mtl primitive PrimitiveArray QuickCheck string-conversions text
+         text-binary utf8-string vector vector-binary-instances
+         vector-th-unbox
        ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck tasty-th
@@ -1654,31 +1684,33 @@ self: {
      }) {};
 
   "BiobaseXNA" = callPackage
-    ({ mkDerivation, aeson, base, bimaps, binary, bytes, bytestring
-     , cereal, cereal-vector, cmdargs, containers, csv, deepseq
-     , file-embed, hashable, lens, primitive, PrimitiveArray, QuickCheck
-     , split, tasty, tasty-quickcheck, tasty-th, text, tuple, vector
+    ({ mkDerivation, aeson, attoparsec, base, bimaps, binary
+     , BiobaseTypes, bytes, bytestring, cereal, cereal-vector, cmdargs
+     , containers, csv, deepseq, file-embed, ForestStructures, hashable
+     , lens, mtl, primitive, PrimitiveArray, QuickCheck, split, tasty
+     , tasty-quickcheck, tasty-th, text, tuple, vector
      , vector-binary-instances, vector-th-unbox
      }:
      mkDerivation {
        pname = "BiobaseXNA";
-       version = "0.9.3.1";
-       sha256 = "0jlcdd0slq7d5wr44h3h6lnfcp310h36cabd4r7l32xhcxns9k6h";
+       version = "0.10.0.0";
+       sha256 = "0ah8qzr3wv4x1khh970isbrdn2fabsa7f9v92wif7ls798hw5abz";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bimaps binary bytes bytestring cereal cereal-vector
-         containers csv deepseq file-embed hashable lens primitive
-         PrimitiveArray QuickCheck split text tuple vector
-         vector-binary-instances vector-th-unbox
+         aeson attoparsec base bimaps binary BiobaseTypes bytes bytestring
+         cereal cereal-vector containers csv deepseq file-embed
+         ForestStructures hashable lens mtl primitive PrimitiveArray
+         QuickCheck split text tuple vector vector-binary-instances
+         vector-th-unbox
        ];
        executableHaskellDepends = [ base cmdargs ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck tasty-th vector
        ];
        homepage = "https://github.com/choener/BiobaseXNA";
-       description = "Efficient RNA/DNA representations";
+       description = "Efficient RNA/DNA/Protein Primary/Secondary Structure";
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
@@ -2442,8 +2474,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
@@ -2460,15 +2492,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "Cabal_2_0_0_2" = callPackage
+  "Cabal_2_0_1_0" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, pretty, process, QuickCheck, tagged
      , tar, tasty, tasty-hunit, tasty-quickcheck, time, unix
      }:
      mkDerivation {
        pname = "Cabal";
-       version = "2.0.0.2";
-       sha256 = "0chhl2113jbahd5gychx9rdqj1aw22h7dyj6z44871hzqxngx6bc";
+       version = "2.0.1.0";
+       sha256 = "15jc66l38z3vi1rf3ak4i4hc9vckm5x59qfhqqlbf46nlnc10ii9";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          pretty process time unix
@@ -5629,6 +5661,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Forestry" = callPackage
+    ({ mkDerivation, ADPfusion, ADPfusionForest, base, BiobaseNewick
+     , BiobaseTypes, containers, criterion, ForestStructures
+     , FormalGrammars, lens, log-domain, PrimitiveArray
+     , PrimitiveArray-Pretty, QuickCheck, tasty, tasty-quickcheck
+     , tasty-th, text, vector
+     }:
+     mkDerivation {
+       pname = "Forestry";
+       version = "0.0.0.1";
+       sha256 = "0l56ajrdxkpk59ahrdzr5qk4vxp8j3i0w6n6vpp1cl414rwg51qz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ADPfusion ADPfusionForest base BiobaseNewick BiobaseTypes
+         containers ForestStructures FormalGrammars lens log-domain
+         PrimitiveArray PrimitiveArray-Pretty text vector
+       ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-quickcheck tasty-th
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/choener/Forestry";
+       description = "Comparison of trees and forests";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ForkableT" = callPackage
     ({ mkDerivation, base, monad-control, mtl, resourcet }:
      mkDerivation {
@@ -8605,8 +8665,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTTP";
-       version = "4000.3.7";
-       sha256 = "1s7amm0wai6z4x2arrqh0h6n0gjbrqpkqyz9a7l38i78hkmwrh6m";
+       version = "4000.3.8";
+       sha256 = "1w6d17xn58f55xw84rql48ad8npzw93k7b46ibx8x4xsl6q5jfk0";
        libraryHaskellDepends = [
          array base bytestring mtl network network-uri parsec time
        ];
@@ -10391,25 +10451,6 @@ self: {
      }:
      mkDerivation {
        pname = "IntervalMap";
-       version = "0.5.2.0";
-       sha256 = "110nafhkakvb3jcvpjszad5jybz4mklsliyi4wr3lcqcwhd4j6h3";
-       libraryHaskellDepends = [ base containers deepseq ];
-       testHaskellDepends = [ base Cabal containers deepseq QuickCheck ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq fingertree random SegmentTree
-         weigh
-       ];
-       homepage = "http://www.chr-breitkopf.de/comp/IntervalMap";
-       description = "Containers for intervals, with efficient search";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "IntervalMap_0_5_3_1" = callPackage
-    ({ mkDerivation, base, Cabal, containers, criterion, deepseq
-     , fingertree, QuickCheck, random, SegmentTree, weigh
-     }:
-     mkDerivation {
-       pname = "IntervalMap";
        version = "0.5.3.1";
        sha256 = "08cc7zasgj083yqhkd0bh3nmwnmbk6sqb6579irqpm3ayrcm8mws";
        libraryHaskellDepends = [ base containers deepseq ];
@@ -10421,7 +10462,6 @@ self: {
        homepage = "http://www.chr-breitkopf.de/comp/IntervalMap";
        description = "Containers for intervals, with efficient search";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Irc" = callPackage
@@ -10668,14 +10708,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "JuPyTer-notebook" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, json-autotype, text }:
+     mkDerivation {
+       pname = "JuPyTer-notebook";
+       version = "0.1.0.0";
+       sha256 = "1bmnwi0z68fzlzjf2599xs6rzi89p1jpv1gmnsi05cfsh1bysda7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base json-autotype ];
+       executableHaskellDepends = [
+         aeson base bytestring json-autotype text
+       ];
+       homepage = "http://github.com/mgajda/ipynb";
+       description = "JuPyTer notebook parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "JuicyPixels" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, deepseq, mtl
      , primitive, transformers, vector, zlib
      }:
      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
@@ -11065,8 +11123,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "LParse";
-       version = "0.1.2.0";
-       sha256 = "1arx8zf9j0f0w82zc2d3jvxygfi7xin2hm66r0npwlm6w41awdaw";
+       version = "0.2.1.0";
+       sha256 = "0sck36lfmfgb16nhfwm13mnsqa9d7m1fx1xl6x5wln9w6q3rhrls";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/MarcusVoelker/LParse#readme";
@@ -11336,8 +11394,8 @@ self: {
      }:
      mkDerivation {
        pname = "Lazy-Pbkdf2";
-       version = "3.0.0";
-       sha256 = "0rcbsjypr4k5s8jsw1wchl9y3v7b9nvy92046hvzah69rd2hcqj1";
+       version = "3.1.1";
+       sha256 = "0hvjgw52rm5kl8v4aafzmafqzg34x6a6jdvdx8fxl9arlxzpba87";
        libraryHaskellDepends = [ base binary bytestring ];
        testHaskellDepends = [
          base base16-bytestring binary bytestring cryptonite memory
@@ -11798,8 +11856,8 @@ self: {
     ({ mkDerivation, base, bytestring, hidapi, mtl }:
      mkDerivation {
        pname = "MBot";
-       version = "0.1.2.0";
-       sha256 = "08zjla8fy1ccg0yf9j02896azq3795wxp4s9fzjgpnfgb26qkpsy";
+       version = "0.2.2.0";
+       sha256 = "1iyb1zynjlnq9qwn7g85d7qwyffpgrdjsimambv9sqkajwf86wdx";
        libraryHaskellDepends = [ base bytestring hidapi mtl ];
        description = "Haskell interface for controlling the mBot educational robot";
        license = stdenv.lib.licenses.gpl3;
@@ -13421,6 +13479,8 @@ self: {
        pname = "Octree";
        version = "0.5.4.3";
        sha256 = "0rdlf8cqpfz43j9xddc5pqp829nyirndkc2rc7h8f8ycpdzsmn2g";
+       revision = "1";
+       editedCabalFile = "1ysmpp7knrkxh68q6nq012877mn51sgzjrpls7d80pkg4pgkf42a";
        libraryHaskellDepends = [ AC-Vector base QuickCheck ];
        testHaskellDepends = [ AC-Vector base markdown-unlit QuickCheck ];
        homepage = "https://github.com/mgajda/octree";
@@ -13664,6 +13724,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mesa;};
 
+  "OpenGLRaw_3_2_6_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, fixed, half, mesa
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "OpenGLRaw";
+       version = "3.2.6.0";
+       sha256 = "1fsrlc0wy27dvb1551zwgwyf1sdxd37kn1ddv33rxbli988wha60";
+       libraryHaskellDepends = [
+         base bytestring containers fixed half text transformers
+       ];
+       librarySystemDepends = [ mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A raw binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) mesa;};
+
   "OpenGLRaw21" = callPackage
     ({ mkDerivation, OpenGLRaw }:
      mkDerivation {
@@ -15941,6 +16019,7 @@ self: {
        ];
        description = "translate a SVD of a Microcontroller to Haskell tables";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "SVG2Q" = callPackage
@@ -18348,17 +18427,18 @@ self: {
      }) {};
 
   "ViennaRNA-bindings" = callPackage
-    ({ mkDerivation, array, base, c2hs, QuickCheck, tasty, tasty-hunit
-     , tasty-silver, tasty-th
+    ({ mkDerivation, array, base, bytestring, c2hs, QuickCheck, tasty
+     , tasty-hunit, tasty-silver, tasty-th
      }:
      mkDerivation {
        pname = "ViennaRNA-bindings";
-       version = "0.233.1.2";
-       sha256 = "1iq4f15znpmfs5i6i3cvrzkn220apxj4rp720yyh0xbji211wg3d";
-       libraryHaskellDepends = [ array base ];
+       version = "0.233.2.0";
+       sha256 = "1hzw4x493vqwmcdjj7ahn8cj7r2zw5mjs8gpl1alnsp1lp0j517y";
+       libraryHaskellDepends = [ array base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
-         array base QuickCheck tasty tasty-hunit tasty-silver tasty-th
+         array base bytestring QuickCheck tasty tasty-hunit tasty-silver
+         tasty-th
        ];
        testToolDepends = [ c2hs ];
        homepage = "https://github.com/choener/ViennaRNA-bindings";
@@ -18366,6 +18446,30 @@ self: {
        license = "unknown";
      }) {};
 
+  "ViennaRNA-extras" = callPackage
+    ({ mkDerivation, array, attoparsec, base, BiobaseTypes, BiobaseXNA
+     , bytestring, deepseq, lens, QuickCheck, streaming
+     , streaming-bytestring, strict, strict-base-types, tasty
+     , tasty-quickcheck, tasty-th, vector, ViennaRNA-bindings
+     }:
+     mkDerivation {
+       pname = "ViennaRNA-extras";
+       version = "0.0.0.1";
+       sha256 = "06az042v9ja888nq59bdcsj6i7zk4dmbjsb9qcbdzqv6xw1lm8ac";
+       libraryHaskellDepends = [
+         array attoparsec base BiobaseTypes BiobaseXNA bytestring deepseq
+         lens QuickCheck streaming streaming-bytestring strict
+         strict-base-types ViennaRNA-bindings
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring QuickCheck tasty tasty-quickcheck
+         tasty-th vector
+       ];
+       homepage = "https://github.com/choener/ViennaRNA-extras";
+       description = "ViennaRNA v2 extensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ViennaRNAParser" = callPackage
     ({ mkDerivation, base, hspec, parsec, ParsecTools, process
      , transformers
@@ -18384,19 +18488,19 @@ self: {
 
   "Villefort" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, HDBC
-     , HDBC-sqlite3, mtl, process, random, scotty, split, strict, text
-     , time, transformers, unix
+     , HDBC-sqlite3, MissingH, mtl, process, random, scotty, split
+     , strict, text, time, transformers, unix
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.2.3";
-       sha256 = "14rv4rrhxwwkli54qns2c41p43j493npccdb7g5a1bpiddnrli74";
+       version = "0.1.2.5";
+       sha256 = "1d4yq1bzjqk3w0rsjmb7y50jg0gyjbjckgbfhw9np0qbzbv2vpy3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring directory filepath HDBC HDBC-sqlite3 mtl process
-         random scotty split strict text time transformers unix
+         base bytestring directory filepath HDBC HDBC-sqlite3 MissingH mtl
+         process random scotty split strict text time transformers unix
        ];
        executableHaskellDepends = [
          base HDBC HDBC-sqlite3 random scotty split text time
@@ -19860,8 +19964,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-arithmetic";
-       version = "0.1";
-       sha256 = "02m2zz80v9d64qspsp7hrdqz2gazgq7x5x0brlsd39cbc5142z8g";
+       version = "1.0";
+       sha256 = "0gqclqxsa3vbv34h3sgbmhfnx646ipanhnf8xhq160w5ha0ng932";
        libraryHaskellDepends = [
          accelerate accelerate-utility base QuickCheck utility-ht
        ];
@@ -20078,12 +20182,12 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-fftw";
-       version = "0.0";
-       sha256 = "03ffsa6xshhrx8a4grld128g46x2nkkydwql8h7jw7b2igr7i1ks";
+       version = "1.0";
+       sha256 = "0b4jr7v3jllvlis0f554l9289zm07ddjgp5q2rp5l47rmsmaak7z";
        libraryHaskellDepends = [
          accelerate accelerate-io base carray fft storable-complex
        ];
-       homepage = "http://code.haskell.org/~thielema/accelerate-fftw/";
+       homepage = "http://hub.darcs.net/thielema/accelerate-fftw/";
        description = "Accelerate frontend to the FFTW library (Fourier transform)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -20096,8 +20200,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-fourier";
-       version = "0.0.1";
-       sha256 = "10kzv1y520c6z6izfg41g6xqfr36yhjdakx5rkzq1cpplvmgpqrw";
+       version = "1.0";
+       sha256 = "0am0sfjaz8zgmpfwyv34fcrpfwdgj8xygnhk8nl5i9xbbvlkhjjk";
        libraryHaskellDepends = [
          accelerate accelerate-arithmetic accelerate-utility base containers
          QuickCheck transformers utility-ht
@@ -20261,8 +20365,8 @@ self: {
     ({ mkDerivation, accelerate, base, utility-ht }:
      mkDerivation {
        pname = "accelerate-utility";
-       version = "0.1.1";
-       sha256 = "0da1wffmghw79i7vqvv845zw1is8h79wlhr8pzdnsppkksd7f3sp";
+       version = "1.0";
+       sha256 = "16ir7ra99dhk04sg7ap7wwsbazdnadsnkd0ggq60j5cr2jp7x6lk";
        libraryHaskellDepends = [ accelerate base utility-ht ];
        homepage = "http://hub.darcs.net/thielema/accelerate-utility/";
        description = "Utility functions for the Accelerate framework";
@@ -21281,8 +21385,10 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-mp";
-       version = "0.1.0.1";
-       sha256 = "0l217dh94j8cf16rsv3408551qslwzjy068ni0m88i2cwliq9pyi";
+       version = "0.1.2.0";
+       sha256 = "131wymnajhji593zydnyddyc6cwg0y3nqgvibq8l9h23v4m67rlx";
+       revision = "1";
+       editedCabalFile = "09b92kf60m4v0xn2nm9h8wkg8wr7dc1na5c9mg2lk3kplf60sfvk";
        libraryHaskellDepends = [
          base convertible hmpfr hspec integer-gmp integer-logarithms lens
          mixed-types-num QuickCheck regex-tdfa template-haskell
@@ -21301,8 +21407,8 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-real";
-       version = "0.1.0.1";
-       sha256 = "0xvag7xzs5azcivlcp641p6wzf6pimz74fvwcl3rmrbah1ij1qv0";
+       version = "0.1.0.2";
+       sha256 = "1bm0w1wvyga97ahg9p31w3lj7rhq8q0bz2my0g0n7vrlm98jv8v0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -21429,6 +21535,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aeson-attoparsec" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base }:
+     mkDerivation {
+       pname = "aeson-attoparsec";
+       version = "0.0.0";
+       sha256 = "0111qzp381jjhv1iymjg8mr3jslx5x1ll3w2dq4b6f3r8y8871m5";
+       libraryHaskellDepends = [ aeson attoparsec base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/athanclark/aeson-attoparsec#readme";
+       description = "Embed an Attoparsec text parser into an Aeson parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aeson-better-errors" = callPackage
     ({ mkDerivation, aeson, base, bytestring, dlist, mtl, scientific
      , text, transformers, transformers-compat, unordered-containers
@@ -22094,22 +22213,23 @@ self: {
      }) {};
 
   "aeson-value-parser" = callPackage
-    ({ mkDerivation, aeson, base-prelude, foldl, json-pointer
-     , json-pointer-aeson, mtl-prelude, scientific, text, transformers
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, base-prelude, bytestring, foldl
+     , json-pointer, json-pointer-aeson, mtl-prelude, scientific, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "aeson-value-parser";
-       version = "0.12.3";
-       sha256 = "1qrd5kdgmwpxf7lxcy0hw0qdzm0251k9d918ggjjhmwssg9ci8zb";
+       version = "0.12.4";
+       sha256 = "0ya2gbyf2gg1psbmm1cz7qbv9m9kp3lls9rzzkmadhxnqr1wfn2f";
        libraryHaskellDepends = [
-         aeson base-prelude foldl json-pointer json-pointer-aeson
+         aeson base-prelude bytestring 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
@@ -22487,6 +22607,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
@@ -22511,8 +22662,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika";
-       version = "5.4";
-       sha256 = "1ymzhbmff1wnpksnad0dc47xa0iha5pf6w3ng6gykni2wx8smsgv";
+       version = "5.5";
+       sha256 = "0phzdgdxcdzdvgllp7c3b8bffdr8xhpid0yify7yrpnxc4y4rw5s";
        libraryHaskellDepends = [
          array base binary containers deepseq mtl mwc-random random vector
        ];
@@ -22538,16 +22689,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";
@@ -22562,8 +22713,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-experiment";
-       version = "5.1";
-       sha256 = "1zqw54pinc2cav0svhiwzqkw5s90sdj6sdxkaagjanz0myp4pf1w";
+       version = "5.3";
+       sha256 = "0ch2h7scg43x5mdmvqyjabh96vhshz94r8b58pi9ikp7w4rm7wk9";
        libraryHaskellDepends = [
          aivika aivika-transformers base containers directory filepath mtl
          network-uri parallel-io split
@@ -22597,8 +22748,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-experiment-chart";
-       version = "5.1";
-       sha256 = "1g6ax9a8mywqwhazlx888zrapnl4m2pcar1kjbjxga0j9p8qxrpl";
+       version = "5.3";
+       sha256 = "10m85nx1jdvv3vyg6rmpjiajpch4pnyamh3vxw6b4dwn140zlqq8";
        libraryHaskellDepends = [
          aivika aivika-experiment array base Chart colour containers
          data-default-class filepath lens mtl split
@@ -22682,8 +22833,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-transformers";
-       version = "5.4";
-       sha256 = "0if4i3jsc0bf8l0grdrijyzs5h5c85nq328gkwpmzpmawzssbqr5";
+       version = "5.5";
+       sha256 = "09q221ayhfx5h51cc0h8lsx4b1cnzk3bssr5bf28xixaf3j4faj5";
        libraryHaskellDepends = [
          aivika array base containers mtl mwc-random random vector
        ];
@@ -22774,8 +22925,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
@@ -22785,6 +22936,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 {
@@ -22825,6 +22996,8 @@ self: {
        pname = "alex-meta";
        version = "0.3.0.9";
        sha256 = "0882p9j272dhq94kgmg6pnxzi3qfwa01fk7npsz748rgx6ggycyr";
+       revision = "1";
+       editedCabalFile = "0p6j9ilvn5gjx0n7v1war0z8rlmcz1qnvpc8lcik8l7baydz6qjl";
        libraryHaskellDepends = [
          array base containers haskell-src-meta QuickCheck template-haskell
        ];
@@ -23566,6 +23739,28 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, base, bytestring, conduit
+     , conduit-extra, directory, exceptions, http-conduit, ini, mmorph
+     , monad-control, mtl, resourcet, retry, tasty, tasty-hunit, text
+     , time, transformers, transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "amazonka";
+       version = "1.5.0";
+       sha256 = "0g5fb1kwydhhi4pvp4skc0l26gy0kdpbrl3pixmnml5d2fxa86pw";
+       libraryHaskellDepends = [
+         amazonka-core base bytestring conduit conduit-extra directory
+         exceptions http-conduit ini mmorph monad-control mtl resourcet
+         retry text time transformers transformers-base transformers-compat
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Comprehensive Amazon Web Services SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-apigateway" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23584,6 +23779,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-apigateway_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-apigateway";
+       version = "1.5.0";
+       sha256 = "1yamp1wlhji496sd0c6gkilx6n3m59wwvxpfh3vpy4wv93xh5494";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon API Gateway SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-application-autoscaling" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23602,6 +23816,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-application-autoscaling_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-application-autoscaling";
+       version = "1.5.0";
+       sha256 = "0iwrzk9wfnf46as45lv31qxghlbq823yphkw0dzh39vmqyc2zmfn";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Application Auto Scaling SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-appstream" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23620,6 +23853,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-appstream_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-appstream";
+       version = "1.5.0";
+       sha256 = "05g5xz68v3azvh8f5hcqijvif6g4jm0bmb3y9fgcn21f4lzl6ibc";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon AppStream SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-athena" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-athena";
+       version = "1.5.0";
+       sha256 = "0chg6wgp20qlpz9w5sryy9i2cxbnb9zdh2a6sg94vrivl3q19d5d";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Athena SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-autoscaling" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23638,6 +23909,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-autoscaling_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-autoscaling";
+       version = "1.5.0";
+       sha256 = "1jmpz15r5sdc3rmvbhs4jla3qnafyqaq1vyngn9276a6ks338ivk";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Auto Scaling SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-batch" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-batch";
+       version = "1.5.0";
+       sha256 = "0dchh04181kabhx1nl5cqw3kcsznggyrkzyrx028nfslww3as3mq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Batch SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-budgets" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23656,6 +23965,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-budgets_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-budgets";
+       version = "1.5.0";
+       sha256 = "1kyi34iwg4l85a9ipkbjdac5wb2ij5rb1a49zww0izd09x3yx68a";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Budgets SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-certificatemanager" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23674,6 +24002,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-certificatemanager_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-certificatemanager";
+       version = "1.5.0";
+       sha256 = "0hnw9s9kzkrq9iv940g6zkaljw91xk9d6pya62g2y6dzp8ych5kq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Certificate Manager SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-clouddirectory" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-clouddirectory";
+       version = "1.5.0";
+       sha256 = "157myilbdk79nfyxvyljpajf3mlgqqhnypbp7psd41ypg87ndycd";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudDirectory SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudformation" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23692,6 +24058,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudformation_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudformation";
+       version = "1.5.0";
+       sha256 = "1s43xpwf26i9w2q6c2m3jcg8xr3wpza799krszr1cmhaivi1xmvi";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudFormation SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudfront" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23710,6 +24095,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudfront_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudfront";
+       version = "1.5.0";
+       sha256 = "05ai52ljar9j8jwlp5bp38zpfdjybsfdm6y3yp7if86md99sq9b0";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudFront SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudhsm" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23728,6 +24132,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudhsm_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudhsm";
+       version = "1.5.0";
+       sha256 = "1644ldnp11wwn17xilkinm3bq8g9w4zfvyi6d95737xm1gr8gmx5";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudHSM SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-cloudhsmv2" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudhsmv2";
+       version = "1.5.0";
+       sha256 = "0ix51kbs1ijwlzdy1drinmmyk6bcwrih2azrkqkd27fr6krnhs67";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudHSM V2 SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudsearch" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23746,6 +24188,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudsearch_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudsearch";
+       version = "1.5.0";
+       sha256 = "1pyxz2k7r25wq3pmxgknasxjimszy0f1sf6rwlm7sp412rvfm09c";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudSearch SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudsearch-domains" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23764,6 +24225,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudsearch-domains_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudsearch-domains";
+       version = "1.5.0";
+       sha256 = "0kzl1pjzlijvc1m9yv8rf0zj6lwhk7qjgpmdvh8kbzdfpm8ynsrh";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudSearch Domain SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudtrail" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23782,6 +24262,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudtrail_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudtrail";
+       version = "1.5.0";
+       sha256 = "1m04h5n6hb2vg8hp2ikbdijv3a2mykzpafa1skg4gvy4qrbm5008";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudTrail SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudwatch" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23800,6 +24299,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudwatch_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudwatch";
+       version = "1.5.0";
+       sha256 = "0n3v9li9fafhmwjfdydj8s495ni28qqf4xx13w7hflv10l6g2c25";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudWatch SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudwatch-events" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23818,6 +24336,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudwatch-events_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudwatch-events";
+       version = "1.5.0";
+       sha256 = "0q40yvj7bz5pkkr2w7g9nxspb2xbjdjr6nwnshpgkdjz61pcqb0p";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudWatch Events SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cloudwatch-logs" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23836,6 +24373,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cloudwatch-logs_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cloudwatch-logs";
+       version = "1.5.0";
+       sha256 = "05hh0lbxwj0cfwv38j4bnp5chjdvsgxgsh8whpza90k45v8kvjnr";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudWatch Logs SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-codebuild" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23854,6 +24410,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-codebuild_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-codebuild";
+       version = "1.5.0";
+       sha256 = "1k85rrcfic92bpg2x20h4apad9f2pgqq6gggv7xs6dga8j596r21";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodeBuild SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-codecommit" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23872,6 +24447,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-codecommit_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-codecommit";
+       version = "1.5.0";
+       sha256 = "0yr4h2ai1v0a2w26ms7v6vpzbn1k4wvchgfip6pqfsfbswq8vpy2";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodeCommit SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-codedeploy" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23890,6 +24484,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-codedeploy_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-codedeploy";
+       version = "1.5.0";
+       sha256 = "08q5jgxs3aff5b8bxv1y01rjwrm7j8s8z05kwj84gzpfjw98i8s8";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodeDeploy SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-codepipeline" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23908,6 +24521,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-codepipeline_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-codepipeline";
+       version = "1.5.0";
+       sha256 = "0j99cgv1p5p7hxn0zc5s0d51l54bdkq4sd54q9p2a64fj6wa39ap";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodePipeline SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-codestar" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-codestar";
+       version = "1.5.0";
+       sha256 = "085m8bwvhws3svalmrxjk737ml2f5rr4fajzg7c3n3f7n3jz4qjd";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodeStar SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cognito-identity" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23926,6 +24577,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cognito-identity_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cognito-identity";
+       version = "1.5.0";
+       sha256 = "08l3nzggjhjb2gr1ny0i3as5gb1rw6wkggr4i8hjvg2w68qydrm7";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cognito Identity SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cognito-idp" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23944,6 +24614,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cognito-idp_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cognito-idp";
+       version = "1.5.0";
+       sha256 = "18slhckyfq0mkwd2mv6g5dpas21q267sbqrlq2hn8cfglxcbjz3w";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cognito Identity Provider SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-cognito-sync" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23962,6 +24651,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-cognito-sync_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cognito-sync";
+       version = "1.5.0";
+       sha256 = "0y3n8k9nfc7pnx5dbxnv9mcwcgmg7lf51sf2629zlbp4gf3pabga";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cognito Sync SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-config" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -23980,6 +24688,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-config_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-config";
+       version = "1.5.0";
+       sha256 = "1lniwdf3fr33skld9916vqsm03q0lghcna8ywsv76rz68hnb6nb3";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Config SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-core" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
      , case-insensitive, conduit, conduit-extra, cryptonite, deepseq
@@ -24010,6 +24737,56 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-core_1_5_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
+     , case-insensitive, conduit, conduit-extra, cryptonite
+     , data-ordlist, deepseq, exceptions, hashable, http-conduit
+     , http-types, lens, memory, mtl, QuickCheck, quickcheck-unicode
+     , resourcet, scientific, semigroups, tagged, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, transformers
+     , transformers-compat, unordered-containers, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "amazonka-core";
+       version = "1.5.0";
+       sha256 = "173mdmk3p9jqnskjf5g9r1kr568plrmshb6p17cq11n1wnngkxnk";
+       libraryHaskellDepends = [
+         aeson attoparsec base bifunctors bytestring case-insensitive
+         conduit conduit-extra cryptonite deepseq exceptions hashable
+         http-conduit http-types lens memory mtl resourcet scientific
+         semigroups tagged text time transformers transformers-compat
+         unordered-containers xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive conduit data-ordlist
+         http-conduit http-types lens QuickCheck quickcheck-unicode tasty
+         tasty-hunit tasty-quickcheck template-haskell text time
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Core data types and functionality for Amazonka libraries";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-cur" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-cur";
+       version = "1.5.0";
+       sha256 = "1ndj6iyi6j9f1py791gcp5mi76h80vzvsclrwvyvz52nnfri6cmc";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cost and Usage Report Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-datapipeline" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24028,6 +24805,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-datapipeline_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-datapipeline";
+       version = "1.5.0";
+       sha256 = "0fhnff3w8rsng0rzr6l7a3z98spfbn8zq348p23ci0m5v2qi6jk1";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Data Pipeline SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-devicefarm" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24046,6 +24842,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-devicefarm_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-devicefarm";
+       version = "1.5.0";
+       sha256 = "1c8vh1aalh48fl810ymk80k8g22dhzvcx9a2q360fm3m11wg1qqf";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Device Farm SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-directconnect" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24064,6 +24879,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-directconnect_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-directconnect";
+       version = "1.5.0";
+       sha256 = "14kbx10g3izyqaqyrd8gjr6hpljv7v6wafp0dsrgn54275mvjq10";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Direct Connect SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-discovery" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24082,6 +24916,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-discovery_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-discovery";
+       version = "1.5.0";
+       sha256 = "0m4kry9vx9jl62adaa9pgxcmaw9c2kxs48krdv5n5vx3ynqf4856";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Application Discovery Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-dms" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24100,6 +24953,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-dms_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-dms";
+       version = "1.5.0";
+       sha256 = "1d9llyykrd4n6iqhs15f6jvzv8l61w8kalljx7skcxy8q98ydlh2";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Database Migration Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ds" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24118,6 +24990,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ds_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ds";
+       version = "1.5.0";
+       sha256 = "0mr9njmqwrlljwr78i3g4cdrjdyy3a516vvxj7754h5cmg0vbicj";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Directory Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-dynamodb" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24136,6 +25027,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-dynamodb_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-dynamodb";
+       version = "1.5.0";
+       sha256 = "1j11qc018z6pgcwm80v0jknfrasp4cx6l0f8kv804crasbf2y0n8";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon DynamoDB SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-dynamodb-dax" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-dynamodb-dax";
+       version = "1.5.0";
+       sha256 = "036ipy0n16vxqy8agzvias7v4jq1gkcyqh0ppc5dcznsc4mklr0d";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon DynamoDB Accelerator (DAX) SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-dynamodb-streams" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24154,6 +25083,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-dynamodb-streams_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-dynamodb-streams";
+       version = "1.5.0";
+       sha256 = "0j80jm7xmfsjxnfa6zj0hfvzjv89clccdqalxn76mzc646qvgki1";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon DynamoDB Streams SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ec2" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24170,6 +25118,26 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Compute Cloud SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-ec2_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ec2";
+       version = "1.5.0";
+       sha256 = "0h8zw8jrdh6a4jf92pg5j9lcx242y88iz8spfs9djripv13hs3dh";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Compute Cloud SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ecr" = callPackage
@@ -24190,6 +25158,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ecr_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ecr";
+       version = "1.5.0";
+       sha256 = "0n6a9zbc8a83l5dnma61gl57zk0sjn1276ds1378ymnj9l5pkgb8";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon EC2 Container Registry SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ecs" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24208,6 +25195,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ecs_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ecs";
+       version = "1.5.0";
+       sha256 = "08m2nds8d7pnvjk5s3f0kmrk0ml2ryzichyc4m0q69pc4yyakvj5";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon EC2 Container Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-efs" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24226,6 +25232,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-efs_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-efs";
+       version = "1.5.0";
+       sha256 = "0b9ghl8i02gai4i0dhqv6ys8cblw6nr5338sg1zrkhlsdpkln1j5";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic File System SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elasticache" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24244,6 +25269,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elasticache_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elasticache";
+       version = "1.5.0";
+       sha256 = "05h1i0kbni000wwk4d80iajzqsa7s7qwxy4yybqn82r9gqgc9r75";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon ElastiCache SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elasticbeanstalk" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24262,6 +25306,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elasticbeanstalk_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elasticbeanstalk";
+       version = "1.5.0";
+       sha256 = "1cv0sf7x7a4b6fky28454kszzplcbmm1fk7c9b6pm4sxipv2qrbl";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Beanstalk SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elasticsearch" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24280,6 +25343,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elasticsearch_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elasticsearch";
+       version = "1.5.0";
+       sha256 = "1mylfs06jx6ziajnm55z0851zwmfc7nzwcimp4c62wk95s9ydwhp";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elasticsearch Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elastictranscoder" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24298,6 +25380,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elastictranscoder_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elastictranscoder";
+       version = "1.5.0";
+       sha256 = "12zkvqmygab6c5j4sf52hzn2fkvmsasmbfw0wq6g7laxdhj6c151";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Transcoder SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elb" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24316,6 +25417,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elb_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elb";
+       version = "1.5.0";
+       sha256 = "1zjlvsijp4j7kvbbdwwshr92sh173b8z0k42jwh6zcdk086k8v0c";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Load Balancing SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-elbv2" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24334,6 +25454,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-elbv2_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-elbv2";
+       version = "1.5.0";
+       sha256 = "0n6q0dzwmdbkhjn8ik2p156w4kj0lwr78xy3f9sh5g9c3v3wfqxh";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Load Balancing SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-emr" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24352,6 +25491,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-emr_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-emr";
+       version = "1.5.0";
+       sha256 = "0q5vc4mk8709sfcqgrwilp0vp3n7awnwcanqk46wbml6a0jr4nsw";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic MapReduce SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-gamelift" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24370,6 +25528,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-gamelift_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-gamelift";
+       version = "1.5.0";
+       sha256 = "1nklqnrgkkq7465c3gz0ljb1gyi75d634yb5s39a1nynhpdiqyxq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon GameLift SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-glacier" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24388,6 +25565,63 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-glacier_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-glacier";
+       version = "1.5.0";
+       sha256 = "1yrhjyn0596r3k59a42pma2v2fhdgwibasw10zd6gpfrcp496iq2";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Glacier SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-glue" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-glue";
+       version = "1.5.0";
+       sha256 = "0hxs5rnri2f5l8vhkn65in2jmyjdd5ckxywdvzwkdbdh3byp9vyc";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Glue SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-greengrass" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-greengrass";
+       version = "1.5.0";
+       sha256 = "1l6nc2cp2vszb1hd4s2fmz0lbrjln3kscqk2wpfjp774hcjvl2zx";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Greengrass SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-health" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24406,6 +25640,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-health_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-health";
+       version = "1.5.0";
+       sha256 = "07qla81a60k0dgx6iyy617ri6afx0ip68b0b36n7ww3i81jl6qhk";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Health APIs and Notifications SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-iam" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24424,6 +25677,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-iam_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-iam";
+       version = "1.5.0";
+       sha256 = "1vmwh4k2bhhf5d7lrk095xhc65pclqig3sk8j7vgxl9nil26cpcs";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Identity and Access Management SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-importexport" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24442,6 +25714,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-importexport_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-importexport";
+       version = "1.5.0";
+       sha256 = "0sfm6k600vakjx0jrvqwm3mx2hc16nn24f1v1k1fixm2h0kb6s9l";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Import/Export SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-inspector" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24460,6 +25751,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-inspector_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-inspector";
+       version = "1.5.0";
+       sha256 = "0ips5f6y58dglx4igxak3ixsyny383s8nxw4dcwky12b5qm8pn36";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Inspector SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-iot" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24478,6 +25788,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-iot_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-iot";
+       version = "1.5.0";
+       sha256 = "0m6dvvxvffb136znnn32jnzc1jvv57sqwb5br7jx2j0nhjvc2dlx";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon IoT SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-iot-dataplane" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24496,6 +25825,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-iot-dataplane_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-iot-dataplane";
+       version = "1.5.0";
+       sha256 = "0423d6fpkdby9jq6sya5bmq77ws1mrn7pfaajajixi5mqmsihw25";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon IoT Data Plane SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-kinesis" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24514,6 +25862,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-kinesis_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-kinesis";
+       version = "1.5.0";
+       sha256 = "07dxdbhwgr33649b6lgr3zz6q4cdzspapb0bjg1rxqz3vnbxdmbc";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Kinesis SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-kinesis-analytics" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24532,6 +25899,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-kinesis-analytics_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-kinesis-analytics";
+       version = "1.5.0";
+       sha256 = "06pbzbrmysj9a61d5kc4a8n5wfpd1lhxm04cqpnrf86lqn89grlr";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Kinesis Analytics SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-kinesis-firehose" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24550,6 +25936,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-kinesis-firehose_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-kinesis-firehose";
+       version = "1.5.0";
+       sha256 = "1him47imazymn50820qhdis3z2ini55xryga0ywy9j26qnwzx03z";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Kinesis Firehose SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-kms" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24568,6 +25973,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-kms_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-kms";
+       version = "1.5.0";
+       sha256 = "0ljpq0z5nw30lmyhwlbmzcccm2h6p45k3lr8k07akwa4p9rw8km4";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Key Management Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-lambda" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24586,6 +26010,63 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-lambda_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-lambda";
+       version = "1.5.0";
+       sha256 = "04lw538kpkzs9wmil8h6sjqzw55pjywnvrysdlac83nv0jdm3rmx";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Lambda SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-lex-models" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-lex-models";
+       version = "1.5.0";
+       sha256 = "15k6r8vc6ijlnmj7dqlip1nqixmf1ns3pjd99p7x4kqdq8p4qzj9";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Lex Model Building Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-lex-runtime" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-lex-runtime";
+       version = "1.5.0";
+       sha256 = "07xx971q204hkk6gd9bgs2025czk6zzk5s702g82pd6j5r5i1slb";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Lex Runtime Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-lightsail" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24604,6 +26085,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-lightsail_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-lightsail";
+       version = "1.5.0";
+       sha256 = "1ncby9zgmknmpfk1ncsydhb7l4r9kf46r466kg3cwjnb9w9wznkv";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Lightsail SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-marketplace-analytics" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24622,6 +26122,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-marketplace-analytics_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-marketplace-analytics";
+       version = "1.5.0";
+       sha256 = "0fil2jcs12g0lfkbzw0jjzms6nh90dd91b7s6c6y3ch1yy7a44w0";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Marketplace Commerce Analytics SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-marketplace-entitlement" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-marketplace-entitlement";
+       version = "1.5.0";
+       sha256 = "0g8diq63yywxrq7i6j8bcchjczdxxayqymc7lzdrvywrlvy52vyb";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Marketplace Entitlement Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-marketplace-metering" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24640,6 +26178,63 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-marketplace-metering_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-marketplace-metering";
+       version = "1.5.0";
+       sha256 = "1a9prdrmchnwqz7h8rffmg1df944s0y8cggzxjxvpmydsr8pfrnk";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Marketplace Metering SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-mechanicalturk" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-mechanicalturk";
+       version = "1.5.0";
+       sha256 = "1qgznzbfxijz8rvara688pa1hvkfjvz14m4x9m639x7aqdrrllh0";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Mechanical Turk SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-migrationhub" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-migrationhub";
+       version = "1.5.0";
+       sha256 = "1v5sl8xywzr8sf4fbhkgqpq7bm4kcii38ijlfickcds7hv6fa5s1";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Migration Hub SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ml" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24658,6 +26253,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ml_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ml";
+       version = "1.5.0";
+       sha256 = "0lbp5nji9w2w1dw230z04cyxmqg502jznwy02y8pk1x0i2masjwq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Machine Learning SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-mobile" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-mobile";
+       version = "1.5.0";
+       sha256 = "0x0qxm4aj9c34zv3i5x4yw8ci86sx69ma9kf88ajxqw4nv1azp53";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Mobile SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-opsworks" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24676,6 +26309,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-opsworks_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-opsworks";
+       version = "1.5.0";
+       sha256 = "1hcsz6yxav11xq10vrifspfx06v3gd40y8m2lkc8dwwqa6bpzbq6";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon OpsWorks SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-opsworks-cm" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24694,6 +26346,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-opsworks-cm_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-opsworks-cm";
+       version = "1.5.0";
+       sha256 = "1wf98wd1phavm022a0xznn20h9qfy8ld0d621dnm5cdb3l6wi4w5";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon OpsWorks for Chef Automate SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-organizations" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-organizations";
+       version = "1.5.0";
+       sha256 = "1n04xzs80nkrcx4742pay5pnzg240240ii0z02baqnkyqpxx55hj";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Organizations SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-pinpoint" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24712,6 +26402,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-pinpoint_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-pinpoint";
+       version = "1.5.0";
+       sha256 = "0lj556yfwrgkbdspgyvwzf3df4rqz3idwyhzs2nn25f4spba8gwn";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Pinpoint SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-polly" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24730,6 +26439,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-polly_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-polly";
+       version = "1.5.0";
+       sha256 = "11dm2bbr75zl617m9s2zn26zs8d96d4xgl41shdjfhsm6vgc0c7k";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Polly SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-pricing" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-pricing";
+       version = "1.5.0";
+       sha256 = "0k4fv6m5m0b6fgs4clry4kg27y7znsvxziphgvpqrjkmjbfsbaxh";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Price List Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-rds" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24748,6 +26495,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-rds_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-rds";
+       version = "1.5.0";
+       sha256 = "0ir608fdj19wb7g4bam8x1givws4d54pd96mkjj9zm0865z19dxn";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Relational Database Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-redshift" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24766,6 +26532,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-redshift_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-redshift";
+       version = "1.5.0";
+       sha256 = "1ll4mx404vw403mx8r6k2i9d9yq7nrmj6kqhnf37cnff4k3h0kqy";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Redshift SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-rekognition" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24784,6 +26569,44 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-rekognition_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-rekognition";
+       version = "1.5.0";
+       sha256 = "1sizf0ha3n0712w7g3cmhjy93xscq3kg5mq81shxgdwajab8v49a";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Rekognition SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-resourcegroupstagging" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-resourcegroupstagging";
+       version = "1.5.0";
+       sha256 = "0jsri9l7q3hlrb924104fhzg87zsmqcw1fg7afpczf6p6r2kfrpf";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Resource Groups Tagging API SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-route53" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24802,6 +26625,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-route53_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-route53";
+       version = "1.5.0";
+       sha256 = "0saln45sais8cmwpzilwscr88g1mig4whrszwyx805lrhdhb48d4";
+       libraryHaskellDepends = [ amazonka-core base text ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Route 53 SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-route53-domains" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24820,6 +26662,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-route53-domains_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-route53-domains";
+       version = "1.5.0";
+       sha256 = "0fq62hdn1x4p2d0dbkc6m1myjgi9f6z3icd519crdy5sdmczbhl3";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Route 53 Domains SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-s3" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , lens, tasty, tasty-hunit, text, time, unordered-containers
@@ -24838,6 +26699,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-s3_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , lens, tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-s3";
+       version = "1.5.0";
+       sha256 = "03v5fdn81g2k1pb1kn9c2r0yf52mnv3a8flxl9cms123n4lzhsrg";
+       libraryHaskellDepends = [ amazonka-core base lens text ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Storage Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-s3-streaming" = callPackage
     ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, base
      , bytestring, conduit, conduit-extra, deepseq, dlist, exceptions
@@ -24882,6 +26762,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-sdb_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-sdb";
+       version = "1.5.0";
+       sha256 = "1rgg9w4ry28bx9xcdldw14hp8738bwvlxjnymknhz63d43chgya3";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon SimpleDB SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-servicecatalog" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24900,6 +26799,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-servicecatalog_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-servicecatalog";
+       version = "1.5.0";
+       sha256 = "09kp0af9dh93b7psmyl64l0zhqjna6ksp1d02m05lcv8hf35zy9c";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Service Catalog SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ses" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24918,6 +26836,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ses_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ses";
+       version = "1.5.0";
+       sha256 = "1bb948h51qhz2lsry254bydqzqc0zjfwvm1wzqvv512cl3bx596f";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Email Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-shield" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24936,6 +26873,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-shield_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-shield";
+       version = "1.5.0";
+       sha256 = "1yw51bqxl92rygg412fbxa8clli2vsn8mf3q45x90f14nk0qpknq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Shield SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-sms" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24954,6 +26910,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-sms_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-sms";
+       version = "1.5.0";
+       sha256 = "0z8bw4dh9wkr1fpp6kb0vif93c39jjajk9yxkdsb11nnwa4gyrh9";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Server Migration Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-snowball" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24972,6 +26947,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-snowball_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-snowball";
+       version = "1.5.0";
+       sha256 = "13wzq3i9ijj627p1sagqpih4094rj6963a2z6552fn95cdnm6l94";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Import/Export Snowball SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-sns" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -24990,6 +26984,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-sns_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-sns";
+       version = "1.5.0";
+       sha256 = "0dbka3s5cd1sy7msik0dy9wfp9krl8c60z0dca69pw8r6nncxd41";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Notification Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-sqs" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25008,6 +27021,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-sqs_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-sqs";
+       version = "1.5.0";
+       sha256 = "1imdr5a71n6pkn2fa8irqgnadxhqfqhlszxs0njqf3kfqkc93z06";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Queue Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-ssm" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25026,6 +27058,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-ssm_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-ssm";
+       version = "1.5.0";
+       sha256 = "1x7zdv01jc3x4663vxs7c3al4x4phfrcq71slcfjk56g9qp7wrjq";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Systems Manager (SSM) SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-stepfunctions" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25044,6 +27095,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-stepfunctions_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-stepfunctions";
+       version = "1.5.0";
+       sha256 = "0xviq8ml3sr1r2kwrc42kriizankzagh3wv5x8fij622p70q62z2";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Step Functions SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-storagegateway" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25062,6 +27132,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-storagegateway_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-storagegateway";
+       version = "1.5.0";
+       sha256 = "0ab4ycaibhm08qbq4adn0mn64dlly1liqx6albdqz3ypd519y9hg";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Storage Gateway SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-sts" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25080,6 +27169,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-sts_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-sts";
+       version = "1.5.0";
+       sha256 = "0c4g0i9088py961f3wxc02ipgl8sh9wm0zl7mfvrb93dps2xmrqy";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Security Token Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-support" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25098,6 +27206,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-support_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-support";
+       version = "1.5.0";
+       sha256 = "1nd1s76w6j2plrbpgc78f9bcanmpmkajsz6xq7lriznvjwgaip84";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Support SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-swf" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25116,6 +27243,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-swf_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-swf";
+       version = "1.5.0";
+       sha256 = "09fiddb9nvl1n5bzh6dzh8fq1lfvw0a5bbnyg51l3z35zyqr64a4";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Workflow Service SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-test" = callPackage
     ({ mkDerivation, aeson, amazonka-core, base, bifunctors, bytestring
      , case-insensitive, conduit, conduit-extra, groom, http-client
@@ -25138,6 +27284,29 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-test_1_5_0" = callPackage
+    ({ mkDerivation, aeson, amazonka-core, base, bifunctors, bytestring
+     , case-insensitive, conduit, conduit-extra, groom, http-client
+     , http-types, process, resourcet, tasty, tasty-hunit
+     , template-haskell, temporary, text, time, unordered-containers
+     , yaml
+     }:
+     mkDerivation {
+       pname = "amazonka-test";
+       version = "1.5.0";
+       sha256 = "020qm4za63w69hcbqzbky1r269nv05ajf4zxgvp8jvnz33nj3rs7";
+       libraryHaskellDepends = [
+         aeson amazonka-core base bifunctors bytestring case-insensitive
+         conduit conduit-extra groom http-client http-types process
+         resourcet tasty tasty-hunit template-haskell temporary text time
+         unordered-containers yaml
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Common functionality for Amazonka library test-suites";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-waf" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25156,6 +27325,63 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-waf_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-waf";
+       version = "1.5.0";
+       sha256 = "0vv2602f3nhnkfwwj5r7qbkcsd1vflvaakyllnp6a29wrswr29ca";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon WAF SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-waf-regional" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-waf-regional";
+       version = "1.5.0";
+       sha256 = "1rn090nrz2kk50r8fiyhlwyfcz2byzy8i71a5dghx545rsn7jc9x";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon WAF Regional SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazonka-workdocs" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-workdocs";
+       version = "1.5.0";
+       sha256 = "0wypcv4w8m0qylk1ixb3s9zwh9mzz7682xw31w6cq62hxwy3w3gz";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon WorkDocs SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-workspaces" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25174,6 +27400,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-workspaces_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-workspaces";
+       version = "1.5.0";
+       sha256 = "1kjyxmbwkj0p50bl0x3snk5680qc00g1486xhl4b600jrc2p2gkk";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon WorkSpaces SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amazonka-xray" = callPackage
     ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
      , tasty, tasty-hunit, text, time, unordered-containers
@@ -25192,6 +27437,25 @@ self: {
        license = "unknown";
      }) {};
 
+  "amazonka-xray_1_5_0" = callPackage
+    ({ mkDerivation, amazonka-core, amazonka-test, base, bytestring
+     , tasty, tasty-hunit, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "amazonka-xray";
+       version = "1.5.0";
+       sha256 = "1i9s8l0l98lffc7hvhndrjj8rv4r0j958qhfqic503d7pzq9m0gk";
+       libraryHaskellDepends = [ amazonka-core base ];
+       testHaskellDepends = [
+         amazonka-core amazonka-test base bytestring tasty tasty-hunit text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon X-Ray SDK";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amby" = callPackage
     ({ mkDerivation, base, bytestring, cassava, Chart, Chart-cairo
      , Chart-diagrams, colour, containers, data-default
@@ -25336,8 +27600,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.2.1.5";
-       sha256 = "1r0h93nivl0pvl6mppz18jpi3csar37ii867a2yfg7g4a5lra3hf";
+       version = "0.3.0.0";
+       sha256 = "05yz8pgj1g8m2y35psvkkpf0xr9dr0qz0andqv452w0ak7vy54bk";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -25634,13 +27898,37 @@ self: {
      }) {};
 
   "animate" = callPackage
-    ({ mkDerivation, base, hspec, vector }:
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec, text
+     , vector
+     }:
      mkDerivation {
        pname = "animate";
+       version = "0.3.0";
+       sha256 = "040csdyzncfbdf46jy8mkgn2n4hd80na0jm4p3q954zhaqk2bvck";
+       libraryHaskellDepends = [
+         aeson base bytestring containers text vector
+       ];
+       testHaskellDepends = [ aeson base containers hspec vector ];
+       homepage = "https://github.com/jxv/animate#readme";
+       description = "Animation for sprites";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "animate-example" = callPackage
+    ({ mkDerivation, aeson, animate, base, bytestring, containers, sdl2
+     , sdl2-image, StateVar, text
+     }:
+     mkDerivation {
+       pname = "animate-example";
        version = "0.0.0";
-       sha256 = "08d8kfmqayr1nfn4nxrjfvcgn3jjz457r7jbq06vimkmjz1fagb9";
-       libraryHaskellDepends = [ base vector ];
-       testHaskellDepends = [ base hspec vector ];
+       sha256 = "14i5jav4p7hwj8d7z611mzhdwqmxsikrs56kn10lxww6m9i4fvf5";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson animate base bytestring containers sdl2 sdl2-image StateVar
+         text
+       ];
        homepage = "https://github.com/jxv/animate#readme";
        description = "Animation for sprites";
        license = stdenv.lib.licenses.bsd3;
@@ -26093,8 +28381,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.2.4.3";
-       sha256 = "01l9q8wbxiad3r1k2s8y3r08aq12148wr84y565s8i3y3w8ff8fp";
+       version = "0.2.4.6";
+       sha256 = "0alf0sxsnsr1a2g7wv08jm1vh3s2kbvkn0s4a0h9ya2rjyz7dp7f";
        libraryHaskellDepends = [
          async base containers mtl template-haskell vector
        ];
@@ -26463,6 +28751,19 @@ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "apiary-session" = callPackage
     ({ mkDerivation, apiary, base, wai }:
      mkDerivation {
@@ -26978,6 +29279,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
@@ -28602,9 +30934,10 @@ 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
+  "atom-conduit_0_5_0_1" = callPackage
     ({ mkDerivation, base, blaze-builder, conduit, conduit-combinators
      , data-default, hlint, lens-simple, mono-traversable, parsers
      , quickcheck-instances, resourcet, safe-exceptions, tasty
@@ -28613,8 +30946,8 @@ self: {
      }:
      mkDerivation {
        pname = "atom-conduit";
-       version = "0.5.0.0";
-       sha256 = "06a7g93zhsp8smy5m4c45hjhb3yz3l89a60vb09s31l0idgf4j42";
+       version = "0.5.0.1";
+       sha256 = "1k9ix1br0vfajjqnprlnhzidvkx9a1pmkyiv2rb3nxb7fp3wb24c";
        libraryHaskellDepends = [
          base blaze-builder conduit conduit-combinators lens-simple
          mono-traversable parsers safe-exceptions text time timerep
@@ -28902,6 +31235,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "attoparsec-base64" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, text, word8 }:
+     mkDerivation {
+       pname = "attoparsec-base64";
+       version = "0.0.0";
+       sha256 = "1rvkc7kaya42a8djkyj642r5dq952gwkhinif9r22ijaic656cq8";
+       libraryHaskellDepends = [ attoparsec base bytestring text word8 ];
+       homepage = "https://github.com/athanclark/attoparsec-base64#readme";
+       description = "Fetch only base64 characters, erroring in the attoparsec monad on failure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "attoparsec-binary" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring }:
      mkDerivation {
@@ -30092,6 +32437,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aws-ec2-knownhosts" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , directory, filepath, io-streams, process, system-filepath, text
+     , text-format, turtle
+     }:
+     mkDerivation {
+       pname = "aws-ec2-knownhosts";
+       version = "0.1.0.0";
+       sha256 = "000bwhsxvsfdz6vm5rkil34hx7d4yv8f0zwfjnxfn0xcaxxa9r50";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring directory filepath
+         io-streams process text text-format
+       ];
+       executableHaskellDepends = [
+         aeson base io-streams system-filepath turtle
+       ];
+       homepage = "http://github.com/bitnomial/aws-ec2-knownhosts";
+       description = "Capture and manage AWS EC2 known_host pubkeys";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aws-elastic-transcoder" = callPackage
     ({ mkDerivation, aeson, aws, aws-sign4, base, bytestring, Cabal
      , conduit, containers, http-conduit, http-types, QuickCheck
@@ -31255,12 +33623,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "base-noprelude_4_10_0_0" = callPackage
+  "base-noprelude_4_10_1_0" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "base-noprelude";
-       version = "4.10.0.0";
-       sha256 = "1jc1szrja1651vf73kprsa0yq73w331i1g08p54w1znkilf7jalf";
+       version = "4.10.1.0";
+       sha256 = "0nsgqfkxzp762i2c06lgpkza9a6a31aq5qx2cd820rpqg5yllbx2";
        libraryHaskellDepends = [ base ];
        doHaddock = false;
        homepage = "https://github.com/hvr/base-noprelude";
@@ -31479,10 +33847,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";
@@ -32241,8 +34607,8 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, time }:
      mkDerivation {
        pname = "bgmax";
-       version = "0.2.0.1";
-       sha256 = "0h1vvk0xd5swlv98ckf2pr0lgrq2dmbgfp8zhxnjaz2mijrvr2if";
+       version = "0.2.0.2";
+       sha256 = "05mw9zv1r1zarnqbbz5qhgd173y52nkkv099x5zi2w1j96ca2pmd";
        libraryHaskellDepends = [ attoparsec base bytestring time ];
        homepage = "http://github.com/jonpetterbergman/bgmax";
        description = "Parse BgMax-files";
@@ -35007,6 +37373,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
@@ -36282,10 +38649,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolean-normal-forms";
-       version = "0.0.0.1";
-       sha256 = "11y26whzibxkcfck83lcrmxl34j7qp374wj6nzx2k3l65sdqm2ic";
-       revision = "1";
-       editedCabalFile = "0xa0lwqmwc93ngd9pmjnzad8bslxw5nw5hq030h0w5xyj46qrjn4";
+       version = "0.0.0.2";
+       sha256 = "0ml81qmi3m9nkvw8m1pslw270y1li52cwhw0ahz414zcjysgzcih";
        libraryHaskellDepends = [ base cond containers ];
        testHaskellDepends = [
          base cond containers QuickCheck tasty tasty-quickcheck
@@ -36465,6 +38830,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "boring" = callPackage
+    ({ mkDerivation, adjunctions, base, tagged, transformers }:
+     mkDerivation {
+       pname = "boring";
+       version = "0";
+       sha256 = "11m8dfjwl9xyhvdblr6rhv7d9vrgayznzvaksdsq0qc8s30f1m0j";
+       libraryHaskellDepends = [ adjunctions base tagged transformers ];
+       homepage = "https://github.com/phadej/boring";
+       description = "Boring and Absurd types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "boring-game" = callPackage
     ({ mkDerivation, base, gloss }:
      mkDerivation {
@@ -36631,6 +39008,7 @@ self: {
        homepage = "https://code.mathr.co.uk/bowntz";
        description = "audio-visual pseudo-physical simulation of colliding circles";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "box-tuples" = callPackage
@@ -36750,8 +39128,8 @@ self: {
      }:
      mkDerivation {
        pname = "brainheck";
-       version = "0.1.0.4";
-       sha256 = "0jar6jlid339k9rimlawah9800nqdybbr3l2k44y6i7q5pb656by";
+       version = "0.1.0.6";
+       sha256 = "0dldvr0k0pglw6c6jwafkd2d9afx0626kgiia1v5wblrfgf438w1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -37638,8 +40016,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
@@ -37745,6 +40123,7 @@ self: {
        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
@@ -38420,6 +40799,32 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "c2hs_0_28_3" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , dlist, filepath, HUnit, language-c, pretty, process, shelly
+     , test-framework, test-framework-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "c2hs";
+       version = "0.28.3";
+       sha256 = "1k7i2b1s596yz5i86p5kdy0b071a7chnjkiv0hl06z7f8nwnvk40";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         array base bytestring containers directory dlist filepath
+         language-c pretty process
+       ];
+       testHaskellDepends = [
+         base filepath HUnit shelly test-framework test-framework-hunit text
+         transformers
+       ];
+       homepage = "https://github.com/haskell/c2hs";
+       description = "C->Haskell FFI tool that gives some cross-language type safety";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "c2hs-extra" = callPackage
     ({ mkDerivation, base, c2hs }:
      mkDerivation {
@@ -38602,8 +41007,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-debian";
-       version = "4.36";
-       sha256 = "0kwn0drd57wkpz2xl4n8104zc8zjf32gab6sks9vg03zhy4hjvwq";
+       version = "4.36.1";
+       sha256 = "1nvf3virir795bq4a00b8mzhhsbkdfzasw31bwb4rh1s6gqm058r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39091,6 +41496,26 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "cabal-rpm_0_12" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , http-client, http-client-tls, http-conduit, process, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "0.12";
+       sha256 = "05k5rqwcdz6aq1jidf03dsrjd3rgisw6r2vq1gz6z49ps5sj628f";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory filepath http-client
+         http-client-tls http-conduit process time unix
+       ];
+       homepage = "https://github.com/juhp/cabal-rpm";
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cabal-scripts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -39355,26 +41780,26 @@ self: {
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
      , cabal-doctest, containers, deepseq, directory
      , distribution-nixpkgs, doctest, filepath, hackage-db, hopenssl
-     , language-nix, lens, monad-par, monad-par-extras, mtl
+     , hpack, language-nix, lens, monad-par, monad-par-extras, mtl
      , optparse-applicative, pretty, process, split, text, time
      , transformers, utf8-string, yaml
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.6";
-       sha256 = "0zy0pf8s2flykpm7419zz393dx92lxpf04gi9d827m5dwrlr0j3z";
+       version = "2.7";
+       sha256 = "1ypzldvifqm4nv9bwzvm5pfsxxn4mp19z50fpkxk84fhb5pb6nbd";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         directory distribution-nixpkgs filepath hackage-db hopenssl
+         directory distribution-nixpkgs filepath hackage-db hopenssl hpack
          language-nix lens optparse-applicative pretty process split text
          time transformers yaml
        ];
        executableHaskellDepends = [
          aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         directory distribution-nixpkgs filepath hackage-db hopenssl
+         directory distribution-nixpkgs filepath hackage-db hopenssl hpack
          language-nix lens monad-par monad-par-extras mtl
          optparse-applicative pretty process split text time transformers
          utf8-string yaml
@@ -39382,8 +41807,8 @@ self: {
        testHaskellDepends = [
          aeson ansi-wl-pprint base bytestring Cabal containers deepseq
          directory distribution-nixpkgs doctest filepath hackage-db hopenssl
-         language-nix lens optparse-applicative pretty process split text
-         time transformers yaml
+         hpack language-nix lens optparse-applicative pretty process split
+         text time transformers yaml
        ];
        homepage = "https://github.com/nixos/cabal2nix#readme";
        description = "Convert Cabal files into Nix build instructions";
@@ -39637,6 +42062,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
@@ -39702,6 +42128,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) cairo;};
 
+  "cairo_0_13_4_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, cairo
+     , gtk2hs-buildtools, mtl, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "cairo";
+       version = "0.13.4.2";
+       sha256 = "0sm3367ikrjfzwhz1f9bkamk6i33p5cginzc9kpgw3x0lk6pbrhg";
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
+       libraryHaskellDepends = [
+         array base bytestring mtl text utf8-string
+       ];
+       libraryPkgconfigDepends = [ cairo ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Cairo library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) cairo;};
+
   "cairo-appbase" = callPackage
     ({ mkDerivation, base, cairo, glib, gtk }:
      mkDerivation {
@@ -41211,6 +43657,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "category" = callPackage
+    ({ mkDerivation, alg, base }:
+     mkDerivation {
+       pname = "category";
+       version = "0.1.1.0";
+       sha256 = "1jfwcxbyd12ykfff2113i39d47bp0d5ikj2sj69mxz137d2lqhlq";
+       revision = "1";
+       editedCabalFile = "0rv05qfjx61lh2cf1dir3k3w1sjxlcbdypi2bjd35dj19vxg5hvl";
+       libraryHaskellDepends = [ alg base ];
+       description = "Categorical types and classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "category-extras" = callPackage
     ({ mkDerivation, adjunctions, bifunctors, categories, comonad
      , comonad-extras, comonad-transformers, comonads-fd, contravariant
@@ -41419,6 +43879,8 @@ self: {
        pname = "cci";
        version = "0.3.1";
        sha256 = "0pvap67fn9kmjvn2qqq3x99k3mzrrsnb6q6fhawvyxv8drihsfc7";
+       revision = "1";
+       editedCabalFile = "11s00cbbimpglashmp1vmw1xhd4y2g1spn01ajvx3sw6wdyh614n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -41568,8 +44030,8 @@ self: {
      }:
      mkDerivation {
        pname = "celtchar";
-       version = "0.1.0.1";
-       sha256 = "19br3ygxn6r4qvix3d9dy71w5nwfxhy5h7qavpkk6k3nl6jmawaj";
+       version = "0.1.2.0";
+       sha256 = "1p53fyv15vvch6zjv2mgycj9wpcxkxpfbwkmbi7dpjgi65wyaz97";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41579,7 +44041,7 @@ self: {
          base directory file-embed filepath optparse-generic text
        ];
        testHaskellDepends = [ base hspec raw-strings-qq ];
-       homepage = "https://github.com/ogma-project/celtchar#readme";
+       homepage = "https://nest.pijul.com/lthms/celtchar";
        description = "A tool to build a novel";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -42080,6 +44542,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "chan" = callPackage
+    ({ mkDerivation, async, base, stm }:
+     mkDerivation {
+       pname = "chan";
+       version = "0.0.2";
+       sha256 = "1qig63k7iarmmfjnm3zl32b9268ix9bjmhh2gf99hknr0c5h7dmc";
+       libraryHaskellDepends = [ async base stm ];
+       testHaskellDepends = [ async base stm ];
+       homepage = "https://github.com/athanclark/chan#readme";
+       description = "Some extra kit for Chans";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "chan-split" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -42348,8 +44823,8 @@ self: {
      }:
      mkDerivation {
        pname = "chatwork";
-       version = "0.1.1.3";
-       sha256 = "0g7995g5i49mxd0qhdb2l1l1yz047yqwnmzk9f6xvqv5fqy5c6p5";
+       version = "0.1.1.5";
+       sha256 = "1r3sayix8lid0hxx8xl424q4zcff89c5gdln7zs17jg3rb9a9x57";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42404,6 +44879,8 @@ self: {
        pname = "cheapskate";
        version = "0.1.1";
        sha256 = "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432";
+       revision = "1";
+       editedCabalFile = "1zrbp211ciia8j1br6krbxbqsj69kmx0rgkbvbpxdklmbgpfam3b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -43990,12 +46467,15 @@ self: {
      }) {};
 
   "classyplate" = callPackage
-    ({ mkDerivation, base, template-haskell, type-list }:
+    ({ mkDerivation, base, criterion, parallel, template-haskell
+     , uniplate
+     }:
      mkDerivation {
        pname = "classyplate";
-       version = "0.3.0.0";
-       sha256 = "1ijbgkzvgis7wlnngvhvm1vsfmfm4d8g8qa2simda7rfm9swj8m4";
-       libraryHaskellDepends = [ base template-haskell type-list ];
+       version = "0.3.0.1";
+       sha256 = "11a3fwa83v81bqi91yiqyghr8b682gqrsi8w219cy7lhikc9wzwz";
+       libraryHaskellDepends = [ base template-haskell ];
+       benchmarkHaskellDepends = [ base criterion parallel uniplate ];
        description = "Fuseable type-class based generics";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -44504,7 +46984,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 }:
@@ -45465,13 +47945,12 @@ self: {
      }) {};
 
   "cndict" = callPackage
-    ({ mkDerivation, array, base, bytestring, text }:
+    ({ mkDerivation, array, base, bytestring, file-embed, text }:
      mkDerivation {
        pname = "cndict";
-       version = "0.8.3";
-       sha256 = "1vci3z74jsxfhbbz122mcbcdh6n2371i0l803vgd8ndzawhs13m4";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ array base bytestring text ];
+       version = "0.9.0";
+       sha256 = "0v0drr7zxh2ndq91vhpsi4ykna993fnkfmxana7g1q4c2vn8b5sc";
+       libraryHaskellDepends = [ array base bytestring file-embed text ];
        homepage = "https://github.com/Lemmih/cndict";
        description = "Chinese/Mandarin <-> English dictionary, Chinese lexer";
        license = stdenv.lib.licenses.publicDomain;
@@ -45935,15 +48414,18 @@ self: {
 
   "collection-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, network-uri
-     , QuickCheck, quickcheck-instances, test-invariant, text
+     , network-uri-json, QuickCheck, quickcheck-instances
+     , test-invariant, text
      }:
      mkDerivation {
        pname = "collection-json";
-       version = "1.1.0.0";
-       sha256 = "13hza25p8rgqqm9plp8x1pznq8334zg0dqrwh2ipwxmrqypbvsz2";
-       libraryHaskellDepends = [ aeson base network-uri text ];
+       version = "1.1.0.2";
+       sha256 = "033hwm20w1432nh3gvphkkyl9i4rjm74l3szplpsq0a9rp097la0";
+       libraryHaskellDepends = [
+         aeson base network-uri network-uri-json text
+       ];
        testHaskellDepends = [
-         aeson base bytestring hspec network-uri QuickCheck
+         aeson base bytestring hspec network-uri network-uri-json QuickCheck
          quickcheck-instances test-invariant text
        ];
        homepage = "https://github.com/alunduil/collection-json.hs";
@@ -46219,14 +48701,15 @@ self: {
      }:
      mkDerivation {
        pname = "columbia";
-       version = "0.1.3";
-       sha256 = "1p211lc448vc5dv9x199pi9w5371sqkdm17gjixvrgcr0dgksqc2";
+       version = "0.2";
+       sha256 = "065mrgyrb82vsfwwidz3zsj7pnbry9ifz7fspi2jfmyjp69y7cmz";
        libraryHaskellDepends = [
          array base bytestring containers contravariant data-endian
          directory filelock invariant mmap mmorph monad-loops mtl parallel
          pointless-haskell syb-with-class transformers
        ];
-       description = "Enhanced serialization for media that support seeking";
+       doHaddock = false;
+       description = "Enhanced serialization using seeking";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -46431,25 +48914,6 @@ self: {
      }:
      mkDerivation {
        pname = "comfort-graph";
-       version = "0.0.2";
-       sha256 = "0gpvx1c3k30h3rkv02f8lcakbg8h38k2s9hj76ar1xy3i9qw2sgc";
-       libraryHaskellDepends = [
-         base containers QuickCheck transformers utility-ht
-       ];
-       testHaskellDepends = [
-         base containers QuickCheck transformers utility-ht
-       ];
-       homepage = "http://hub.darcs.net/thielema/comfort-graph";
-       description = "Graph structure with type parameters for nodes and edges";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "comfort-graph_0_0_2_1" = callPackage
-    ({ mkDerivation, base, containers, QuickCheck, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "comfort-graph";
        version = "0.0.2.1";
        sha256 = "02brkbrvs6q7nss3mpqcqwgz3nmim2xz30nvbkxqy7zdxci6kign";
        libraryHaskellDepends = [
@@ -46461,7 +48925,6 @@ self: {
        homepage = "http://hub.darcs.net/thielema/comfort-graph";
        description = "Graph structure with type parameters for nodes and edges";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "comic" = callPackage
@@ -47049,8 +49512,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
        pname = "compose-ltr";
-       version = "0.2.3";
-       sha256 = "1br7jyp5c0riq9wdd638n1yvwp0s7s8nazqzj9g6kninyf3vnvgp";
+       version = "0.2.4";
+       sha256 = "1vgllk949s9sc2nhwbpjqx52m06563qcq8yd49kyaf2lq05n23hm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "More intuitive, left-to-right function composition";
@@ -47680,8 +50143,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-dns-cache";
-       version = "0.1.0";
-       sha256 = "0bi3mlv2gi8adgh8zmh51idrnbsap15f2kybligccf9b6pcvpljr";
+       version = "0.1.1";
+       sha256 = "0q6mffxkdag9impmd69nfqvjhpmnb3wy88aqfnlb7q476g84yjkx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47752,14 +50215,14 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "concurrent-output_1_10_0" = callPackage
+  "concurrent-output_1_10_1" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, directory, exceptions
      , process, stm, terminal-size, text, transformers, unix
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.0";
-       sha256 = "1cjqmz8iwy2inpf3lfd6y687j7ckwjsrqb7g9adsbwl8w1cnfw99";
+       version = "1.10.1";
+       sha256 = "17h081vj2sksv9ldpp9jlir2avnzbx92ay321lha8cjm9cpv4996";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -48306,6 +50769,30 @@ 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-parse_0_1_2_2" = callPackage
+    ({ mkDerivation, base, conduit, conduit-combinators, dlist, hlint
+     , mtl, parsers, resourcet, safe, safe-exceptions, tasty
+     , tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "conduit-parse";
+       version = "0.1.2.2";
+       sha256 = "19ywaknrdcg88ximmx6fa08bq9xvp76ybly09gyp21xjnfdznsr9";
+       libraryHaskellDepends = [
+         base conduit conduit-combinators dlist mtl parsers safe
+         safe-exceptions text transformers
+       ];
+       testHaskellDepends = [
+         base conduit hlint mtl parsers resourcet safe-exceptions tasty
+         tasty-hunit
+       ];
+       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
@@ -48432,8 +50919,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.2.0.0";
-       sha256 = "1sp62zw4ibgczcv927m7irrpyp4pgm67wdkf7z815699nqjad284";
+       version = "0.2.1.1";
+       sha256 = "0rhjqbg6f37jmcddad0yiqvn9i4i8k7rcivnqz92swd2bikyrp3n";
        libraryHaskellDepends = [
          base containers megaparsec text transformers unordered-containers
        ];
@@ -48469,6 +50956,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
@@ -48970,6 +51470,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "constraint" = callPackage
+    ({ mkDerivation, base, category }:
+     mkDerivation {
+       pname = "constraint";
+       version = "0.1.0.0";
+       sha256 = "0m3hkvilgwmdj3w7x42ypyakbf4p2bnd0rfcwi7kpwqw79rrbvsc";
+       revision = "1";
+       editedCabalFile = "0zy2nyp81dhcqp4n3mqws47ydijhgnxx36av31g6qsdgim9symf9";
+       libraryHaskellDepends = [ base category ];
+       description = "Reified constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "constraint-classes" = callPackage
     ({ mkDerivation, base, constraints, transformers }:
      mkDerivation {
@@ -49214,20 +51727,23 @@ self: {
   "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
+     , filepath, hspec, htoml, lzma-conduit, memory, monad-control, mtl
+     , resourcet, temporary, text, transformers, transformers-base, unix
      }:
      mkDerivation {
        pname = "content-store";
-       version = "0.1.1";
-       sha256 = "1rzapw039a2k4g5s0vlw4mm6hrq35xzj6iksp0qpq87150bzy6pp";
+       version = "0.2.0";
+       sha256 = "1xdv572mq2nc7nckq79c5bw64ldqrqahd0y8wiffwywbcwi8gyi9";
        libraryHaskellDepends = [
          aeson base bytestring cond conduit conduit-combinators
-         conduit-extra cryptonite directory filepath htoml memory
-         monad-control mtl resourcet temporary text transformers
+         conduit-extra cryptonite directory filepath htoml lzma-conduit
+         memory monad-control mtl resourcet temporary text transformers
          transformers-base unix
        ];
-       testHaskellDepends = [ base bytestring hspec memory ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators directory filepath
+         hspec memory mtl resourcet temporary
+       ];
        homepage = "https://github.com/weldr/content-store";
        description = "Store and retrieve data from an on-disk store";
        license = "LGPL";
@@ -49290,15 +51806,15 @@ self: {
      }) {};
 
   "continued-fraction" = callPackage
-    ({ mkDerivation, base, criterion, hspec, recursion-schemes }:
+    ({ mkDerivation, base, criterion, free, hspec, recursion-schemes }:
      mkDerivation {
        pname = "continued-fraction";
-       version = "0.1.0.0";
-       sha256 = "1vip1ask3zyhy9n0vacx5ipww2m2wxkdhnp2j20c0i2g1jrpspx7";
-       libraryHaskellDepends = [ base recursion-schemes ];
+       version = "0.1.0.3";
+       sha256 = "08zvphhxm5w79zrrj1qsixdq4i5flwz0ci47mmkh671dp99qjriq";
+       libraryHaskellDepends = [ base free recursion-schemes ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion ];
-       homepage = "https://github.com/vmchale/continued-fractions#readme";
+       homepage = "https://hub.darcs.net/vmchale/continued-fraction#readme";
        description = "Types and functions for working with continued fractions in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -49817,28 +52333,6 @@ self: {
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.2.1";
-       sha256 = "1r2j518lfcswn76qm6p2h1rl98gfsxad7p7z9qaww84fj28k0h86";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring data-default-class deepseq old-locale
-         text time
-       ];
-       testHaskellDepends = [
-         base blaze-builder bytestring HUnit QuickCheck tasty tasty-hunit
-         tasty-quickcheck text time
-       ];
-       homepage = "http://github.com/snoyberg/cookie";
-       description = "HTTP cookie parsing and rendering";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "cookie_0_4_3" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring
-     , data-default-class, deepseq, HUnit, old-locale, QuickCheck, tasty
-     , tasty-hunit, tasty-quickcheck, text, time
-     }:
-     mkDerivation {
-       pname = "cookie";
        version = "0.4.3";
        sha256 = "0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv";
        libraryHaskellDepends = [
@@ -49852,7 +52346,6 @@ self: {
        homepage = "http://github.com/snoyberg/cookie";
        description = "HTTP cookie parsing and rendering";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "coordinate" = callPackage
@@ -50415,6 +52908,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cparsing" = callPackage
+    ({ mkDerivation, base, containers, directory, either, filepath
+     , HUnit, lens, mtl, parsec, split, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "cparsing";
+       version = "0.1.0.0";
+       sha256 = "0yq09q03j9wsgq0pl92b6c4rs9v1nv7znylwzwsbj3x7fp01n6pc";
+       libraryHaskellDepends = [
+         base containers directory either filepath HUnit lens mtl parsec
+         split template-haskell transformers
+       ];
+       description = "A simple C++ parser with preprocessor features. C++ refactorings included.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cpio-conduit" = callPackage
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
      , conduit, conduit-extra, resourcet
@@ -51048,13 +53558,18 @@ self: {
      }) {};
 
   "crdt" = callPackage
-    ({ mkDerivation, base, containers, mtl, tasty, tasty-quickcheck }:
+    ({ mkDerivation, base, containers, mtl, QuickCheck, tasty
+     , tasty-discover, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "crdt";
-       version = "2.1";
-       sha256 = "05dc1whgn7wr0p32i3j8346s09rs80kagfdc7gmc30jb29nsdn9s";
+       version = "3.0";
+       sha256 = "0irwrabvfm90jd24kjv1yzrnkdf57sk4m5y5cn907ns4ylwyalhg";
        libraryHaskellDepends = [ base containers mtl ];
-       testHaskellDepends = [ base containers tasty tasty-quickcheck ];
+       testHaskellDepends = [
+         base containers mtl QuickCheck tasty tasty-discover
+         tasty-quickcheck
+       ];
        homepage = "https://github.com/cblp/crdt#readme";
        description = "Conflict-free replicated data types";
        license = stdenv.lib.licenses.bsd3;
@@ -51290,7 +53805,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "criterion_1_2_3_0" = callPackage
+  "criterion_1_2_4_0" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
      , bytestring, cassava, code-page, containers, deepseq, directory
      , exceptions, filepath, Glob, HUnit, js-flot, js-jquery
@@ -51301,8 +53816,8 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.2.3.0";
-       sha256 = "0539rjhsvwnp8gnyv411vdgbrkddc4kqv3nwgsan9z2bkw0dk47h";
+       version = "1.2.4.0";
+       sha256 = "01zf2sa3pva8d7176a2q94ail6ha47b58sg2hijls35qnmi3dcw6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -51477,7 +53992,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "cron_0_6_0" = callPackage
+  "cron_0_6_1" = callPackage
     ({ mkDerivation, attoparsec, base, criterion, data-default-class
      , generics-sop, mtl, mtl-compat, old-locale, quickcheck-instances
      , semigroups, tasty, tasty-hunit, tasty-quickcheck, text, time
@@ -51485,8 +54000,8 @@ self: {
      }:
      mkDerivation {
        pname = "cron";
-       version = "0.6.0";
-       sha256 = "0s40b0dlkrwhx3sqbca0a883wd54xbkgqfz4w0ncmsb06x3sdx04";
+       version = "0.6.1";
+       sha256 = "0l9jigxr271gyf8a69igag5rckvcngv6h93jkf02d43jvqxza6lc";
        libraryHaskellDepends = [
          attoparsec base data-default-class mtl mtl-compat old-locale
          semigroups text time
@@ -51719,6 +54234,8 @@ self: {
        pname = "crypto-enigma";
        version = "0.0.2.9";
        sha256 = "18nc5gqsy4dsm22van6iz96lqq45f7jqik4fljczgp6n1knyig9z";
+       revision = "1";
+       editedCabalFile = "1hbcnj3w5z7cmlrmfih7mv27n75bpcpbiq66wsfgrrvaiycrb58n";
        libraryHaskellDepends = [ base containers MissingH mtl split ];
        testHaskellDepends = [ base HUnit QuickCheck ];
        homepage = "https://github.com/orome/crypto-enigma-hs";
@@ -52093,10 +54610,10 @@ self: {
      }:
      mkDerivation {
        pname = "cryptohash-sha256";
-       version = "0.11.100.1";
-       sha256 = "1mpmq8rqlqp3w9r78d4i175l6ibl9kfj5d48awrkk1k4x4w27c2p";
-       revision = "1";
-       editedCabalFile = "0ywdlxf2y46pi2p502zkqwf6zpiamxg5s2l178xkpjy1r02d9lhg";
+       version = "0.11.101.0";
+       sha256 = "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base base16-bytestring bytestring SHA tasty tasty-hunit
@@ -52244,20 +54761,20 @@ self: {
 
   "cryptonite-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-combinators
-     , conduit-extra, cryptonite, memory, resourcet, tasty, tasty-hunit
-     , transformers
+     , conduit-extra, cryptonite, exceptions, memory, resourcet, tasty
+     , tasty-hunit, tasty-quickcheck, transformers
      }:
      mkDerivation {
        pname = "cryptonite-conduit";
-       version = "0.2.0";
-       sha256 = "0a3nasx5fix5g3vjaq26lg9j4frj27ksifqpz3d0naynkacaxv8m";
+       version = "0.2.2";
+       sha256 = "1bldcmda4xh52mw1wfrjljv8crhw3al7v7kv1j0vidvr7ymnjpbh";
        libraryHaskellDepends = [
-         base bytestring conduit conduit-extra cryptonite memory resourcet
-         transformers
+         base bytestring conduit conduit-extra cryptonite exceptions memory
+         resourcet transformers
        ];
        testHaskellDepends = [
          base bytestring conduit conduit-combinators cryptonite memory tasty
-         tasty-hunit
+         tasty-hunit tasty-quickcheck
        ];
        homepage = "https://github.com/haskell-crypto/cryptonite-conduit";
        description = "cryptonite conduit";
@@ -52795,14 +55312,16 @@ self: {
 
   "cublas" = callPackage
     ({ mkDerivation, base, c2hs, Cabal, cuda, directory, filepath, half
-     , storable-complex
+     , storable-complex, template-haskell
      }:
      mkDerivation {
        pname = "cublas";
-       version = "0.3.0.0";
-       sha256 = "1i2nqbf0zmc1xpqb8szklccki2jkwpiqslqbaahidzp18bc9cm2r";
+       version = "0.4.0.0";
+       sha256 = "1y1vwrsgiirzn83iza2k1h699qw5m2bimx6r5vv0im8gxr9fgvkw";
        setupHaskellDepends = [ base Cabal cuda directory filepath ];
-       libraryHaskellDepends = [ base cuda half storable-complex ];
+       libraryHaskellDepends = [
+         base cuda half storable-complex template-haskell
+       ];
        libraryToolDepends = [ c2hs ];
        description = "FFI bindings to the CUDA BLAS library";
        license = stdenv.lib.licenses.bsd3;
@@ -52828,8 +55347,8 @@ self: {
      }:
      mkDerivation {
        pname = "cuda";
-       version = "0.8.0.1";
-       sha256 = "0raaydjcnicg38kxy1mjpxb0k57q5nnzb7p38i8x5ify30bzxw0w";
+       version = "0.9.0.0";
+       sha256 = "0zbichiribg9549fipsvq60abzz3j4i9ilf92j34avarby15q6ld";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
@@ -57208,14 +59727,14 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
-  "dejafu_0_9_0_3" = callPackage
+  "dejafu_0_9_1_0" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
      , leancheck, random, ref-fd, transformers, transformers-base
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "0.9.0.3";
-       sha256 = "11nhxn5cmqw0xybbpvq54y9nbrjv915hzysai4hqfr4b1jk3fwbh";
+       version = "0.9.1.0";
+       sha256 = "0s3acf1dggp6bc5140k0hbbfcwrbhl35g80qfs33nbjdbjjsfakj";
        libraryHaskellDepends = [
          base concurrency containers deepseq exceptions leancheck random
          ref-fd transformers transformers-base
@@ -57722,19 +60241,21 @@ self: {
      }) {};
 
   "derive-topdown" = callPackage
-    ({ mkDerivation, base, binary, derive, haskell-src, mtl, primitive
-     , QuickCheck, syb, template-haskell, th-expand-syns, transformers
+    ({ mkDerivation, base, binary, derive, GenericPretty, haskell-src
+     , mtl, primitive, QuickCheck, simple-sql-parser, syb
+     , template-haskell, th-expand-syns, transformers
      }:
      mkDerivation {
        pname = "derive-topdown";
-       version = "0.0.0.9";
-       sha256 = "0jvmdwd1dif8hxb45s2fw96pca1hm41p5cac68in1pkpsvq7z6cf";
+       version = "0.0.1.0";
+       sha256 = "0311cnnsq34mc4c24skyhx7458xzd1y9pb9a77mmkc4ils604rql";
        libraryHaskellDepends = [
          base mtl primitive syb template-haskell th-expand-syns transformers
        ];
        testHaskellDepends = [
-         base binary derive haskell-src mtl primitive QuickCheck syb
-         template-haskell th-expand-syns transformers
+         base binary derive GenericPretty haskell-src mtl primitive
+         QuickCheck simple-sql-parser syb template-haskell th-expand-syns
+         transformers
        ];
        homepage = "https://github.com/HaskellZhangSong/derive-topdown";
        description = "Help Haskellers derive class instances for composited data types";
@@ -58486,8 +61007,8 @@ self: {
        pname = "diagrams-lib";
        version = "1.4.1.2";
        sha256 = "0w16cljv9jcvn46hd19qvw1bfvxijlak286nap9qbvyavq2qhvjb";
-       revision = "3";
-       editedCabalFile = "14ni87kwmjhbphcihiivvz0nxga355263q36wvbyvvjmxvbdj98n";
+       revision = "4";
+       editedCabalFile = "0wlb4ng803rhx82msl49b39im4cw8naik0pcyyybpphyqbxxs6dd";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -59605,6 +62126,7 @@ self: {
        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
@@ -59910,15 +62432,17 @@ self: {
      }) {};
 
   "disjoint-containers" = callPackage
-    ({ mkDerivation, base, containers, doctest, QuickCheck
-     , transformers
+    ({ mkDerivation, aeson, base, containers, doctest, QuickCheck
+     , quickcheck-classes, transformers
      }:
      mkDerivation {
        pname = "disjoint-containers";
-       version = "0.2.1";
-       sha256 = "1082mx4af7h70hvnj0fxgimhnqbgn3ywkh53lm1hyhcfalnmyrs7";
-       libraryHaskellDepends = [ base containers transformers ];
-       testHaskellDepends = [ base containers doctest QuickCheck ];
+       version = "0.2.2";
+       sha256 = "1g1rgmgjan7zwzm38iga5hn4yri54jvmlpzkjn4c57vgjm6wbl6p";
+       libraryHaskellDepends = [ aeson base containers transformers ];
+       testHaskellDepends = [
+         aeson base containers doctest QuickCheck quickcheck-classes
+       ];
        homepage = "https://github.com/andrewthad/disjoint-containers#readme";
        description = "Disjoint containers";
        license = stdenv.lib.licenses.bsd3;
@@ -59988,8 +62512,8 @@ self: {
      }:
      mkDerivation {
        pname = "diskhash";
-       version = "0.0.3.2";
-       sha256 = "0sfm7x9pqfbd6p894ivq212ckd7sj2sgdgsdjv5dip2pb95x3i78";
+       version = "0.0.4.0";
+       sha256 = "03kc5jc63726vk3airvwag69855rilanvjvqcqxi3ylvjg2p9dil";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring directory HUnit QuickCheck test-framework
@@ -60121,27 +62645,24 @@ self: {
 
   "distributed-process-async" = callPackage
     ({ mkDerivation, ansi-terminal, base, binary, containers
-     , data-accessor, deepseq, distributed-process
-     , distributed-process-extras, distributed-process-systest
-     , exceptions, fingertree, hashable, HUnit, mtl, network
-     , network-transport, network-transport-tcp, rematch, stm
-     , test-framework, test-framework-hunit, time, transformers
-     , unordered-containers
+     , data-accessor, deepseq, distributed-process, exceptions
+     , fingertree, hashable, HUnit, mtl, network, network-transport
+     , network-transport-tcp, rematch, stm, test-framework
+     , test-framework-hunit, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "distributed-process-async";
-       version = "0.2.4";
-       sha256 = "1v47cjc4w5li2gaz1k1q16r5vkwadw4rqbzz7s2zymzqw83skwgb";
+       version = "0.2.4.1";
+       sha256 = "1a8a6rpjwm4gp4735z3715y4g99sqdqlbhm0hhzss4d7fprbxqkq";
        libraryHaskellDepends = [
          base binary containers data-accessor deepseq distributed-process
-         distributed-process-extras exceptions fingertree hashable mtl stm
-         time transformers unordered-containers
+         exceptions fingertree hashable mtl stm time transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         ansi-terminal base binary deepseq distributed-process
-         distributed-process-extras distributed-process-systest exceptions
-         HUnit network network-transport network-transport-tcp rematch stm
-         test-framework test-framework-hunit transformers
+         ansi-terminal base binary deepseq exceptions HUnit network
+         network-transport network-transport-tcp rematch stm test-framework
+         test-framework-hunit transformers
        ];
        homepage = "http://github.com/haskell-distributed/distributed-process-async";
        description = "Cloud Haskell Async API";
@@ -61015,6 +63536,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dns_3_0_0" = callPackage
+    ({ mkDerivation, async, attoparsec, auto-update, base
+     , base64-bytestring, binary, bytestring, conduit, conduit-extra
+     , containers, cryptonite, doctest, hspec, iproute, mtl, network
+     , psqueues, QuickCheck, safe, time, word8
+     }:
+     mkDerivation {
+       pname = "dns";
+       version = "3.0.0";
+       sha256 = "1i2mdrzvyxclfrpik2rm36ljm3c3z1a73vjy7vivzy6wcmfzyb56";
+       libraryHaskellDepends = [
+         async attoparsec auto-update base base64-bytestring binary
+         bytestring conduit conduit-extra containers cryptonite iproute mtl
+         network psqueues safe time
+       ];
+       testHaskellDepends = [
+         base bytestring doctest hspec iproute QuickCheck word8
+       ];
+       testTarget = "spec";
+       description = "DNS library in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dnscache" = callPackage
     ({ mkDerivation, base, bytestring, containers, contstuff, dns
      , iproute, time
@@ -61264,6 +63809,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
@@ -61880,13 +64439,14 @@ self: {
     ({ mkDerivation, base, bytestring, feed, hspec, tagsoup, xml }:
      mkDerivation {
        pname = "download";
-       version = "0.3.2.5";
-       sha256 = "1h4rvmjlh1yjmy034x5nhnplqkkrlxa652c1fbzw8zpywhmdkrls";
+       version = "0.3.2.6";
+       sha256 = "1wpf8kxq924482p7bm5l24nhmvrr75sjqinfjkj6x2x55hd40vd0";
        libraryHaskellDepends = [ base bytestring feed tagsoup xml ];
        testHaskellDepends = [ base hspec ];
        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
@@ -62570,6 +65130,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dual" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dual";
+       version = "0.1.0.0";
+       sha256 = "02abbnynjxhr2dvqqph3mnzc24v9wc655qkhh70flc168dk0k6hr";
+       libraryHaskellDepends = [ base ];
+       description = "Dual category";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dual-tree" = callPackage
     ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck
      , semigroups, testing-feat
@@ -62596,8 +65168,8 @@ self: {
      }:
      mkDerivation {
        pname = "dublincore-xml-conduit";
-       version = "0.1.0.1";
-       sha256 = "1irrn82jk0l026l98pajvbbhsgxh6lybjxggyipxijibg7fbkx08";
+       version = "0.1.0.2";
+       sha256 = "17jzyj49j88xwsz54higi81a6v8kvb8i338n5416z1ni475qsynl";
        libraryHaskellDepends = [
          base conduit conduit-combinators safe-exceptions text time timerep
          uri-bytestring xml-conduit xml-types
@@ -62611,6 +65183,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
@@ -63138,17 +65711,18 @@ self: {
      , exceptions, generics-sop, hashable, hspec, lens, monad-loops
      , monad-supply, safe-exceptions, scientific, semigroups, tagged
      , template-haskell, text, transformers, unordered-containers
-     , vector
+     , uuid-types, vector
      }:
      mkDerivation {
        pname = "dynamodb-simple";
-       version = "0.4.0.0";
-       sha256 = "0yfa2vy82ksbv2mha10yzrzppa24m8a847w2s6arm4nh34dkd832";
+       version = "0.5.0.0";
+       sha256 = "12jkl425nzgds8zszhk41ns4mg3rn9mjfmd853b88x6dn9wk95g7";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-dynamodb base bytestring
          conduit containers double-conversion exceptions generics-sop
          hashable lens monad-loops monad-supply scientific semigroups tagged
-         template-haskell text transformers unordered-containers vector
+         template-haskell text transformers unordered-containers uuid-types
+         vector
        ];
        testHaskellDepends = [
          amazonka amazonka-dynamodb base conduit containers hashable hspec
@@ -63902,6 +66476,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
@@ -63993,8 +66568,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.7.0";
-       sha256 = "01k6ywf4ww302s92wdpbf54wdlrgs0f2a2b56g58gjn4icyp1b9x";
+       version = "3.7.9";
+       sha256 = "1jx6nrp2v581nbwgblrpqv052lbnbba5nppd3m8npbx5pvpda994";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -64042,8 +66617,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.6.2";
-       sha256 = "1h520r3ans71crkmc50bar0hzqg7bs4wvgrrsc529jxa1nl23p5i";
+       version = "3.7.9";
+       sha256 = "04xy76737zp1vpnn1b76xd5z4d6hfxd4l707v8s1cd8vb18y3dc0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -64159,22 +66734,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "either_4_5" = callPackage
-    ({ mkDerivation, base, bifunctors, exceptions, free, mmorph
-     , monad-control, MonadRandom, mtl, profunctors, semigroupoids
-     , semigroups, transformers, transformers-base
+  "either_5" = callPackage
+    ({ mkDerivation, base, bifunctors, hedgehog, mtl, profunctors
+     , semigroupoids, semigroups
      }:
      mkDerivation {
        pname = "either";
-       version = "4.5";
-       sha256 = "1mzj86pbplgs3h7a49j3rk22s5cbw06wmd992gdm6harm15hzyzc";
+       version = "5";
+       sha256 = "087lrgvyns9jfgi95rr2lliivxf7fsd4d0hzqzk80kx385vf5kkm";
        libraryHaskellDepends = [
-         base bifunctors exceptions free mmorph monad-control MonadRandom
-         mtl profunctors semigroupoids semigroups transformers
-         transformers-base
+         base bifunctors mtl profunctors semigroupoids semigroups
        ];
+       testHaskellDepends = [ base hedgehog ];
        homepage = "http://github.com/ekmett/either/";
-       description = "An either monad transformer";
+       description = "Combinators for working with sums";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -64986,20 +67559,20 @@ self: {
      }) {};
 
   "elocrypt" = callPackage
-    ({ mkDerivation, base, MonadRandom, proctest, QuickCheck, random
-     , tasty, tasty-quickcheck, tasty-th
+    ({ mkDerivation, base, hlint, MonadRandom, proctest, QuickCheck
+     , random, tasty, tasty-quickcheck, tasty-th
      }:
      mkDerivation {
        pname = "elocrypt";
-       version = "1.0.0";
-       sha256 = "0kpwzrj9rlq27rifdmx7pd1ax6d13dm1qw2hckzxf2xqv0w3pv6c";
+       version = "2.0.0";
+       sha256 = "0dz5vdcg68fbwhvwz68zlsz5h2aaj1q6gacp1005hkxfb8156lp3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base MonadRandom random ];
        executableHaskellDepends = [ base random ];
        testHaskellDepends = [
-         base MonadRandom proctest QuickCheck random tasty tasty-quickcheck
-         tasty-th
+         base hlint MonadRandom proctest QuickCheck random tasty
+         tasty-quickcheck tasty-th
        ];
        homepage = "https://www.github.com/sgillespie/elocrypt";
        description = "Generate easy-to-remember, hard-to-guess passwords";
@@ -65111,23 +67684,6 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.1";
-       sha256 = "0fzbaxshhlg97pm66yjhz7fxxq9j1m3k0sqslzngh36r8aw9l66j";
-       libraryHaskellDepends = [
-         attoparsec base bytestring template-haskell
-       ];
-       testHaskellDepends = [ base bytestring doctest hspec QuickCheck ];
-       homepage = "https://github.com/Porges/email-validate-hs";
-       description = "Email address validation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "email-validate_2_3_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, doctest, hspec
-     , QuickCheck, template-haskell
-     }:
-     mkDerivation {
-       pname = "email-validate";
        version = "2.3.2";
        sha256 = "1h15z89qsp7b08nnjgs2rcwavfhfrkanvh7j8jp0rrx7xh0rz6lv";
        libraryHaskellDepends = [
@@ -65137,7 +67693,6 @@ self: {
        homepage = "https://github.com/Porges/email-validate-hs";
        description = "Email address validation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "email-validate-json" = callPackage
@@ -66289,6 +68844,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "errors-ext" = callPackage
+    ({ mkDerivation, base, errors, exceptions, HUnit, transformers }:
+     mkDerivation {
+       pname = "errors-ext";
+       version = "0.2";
+       sha256 = "1hsr3aa3p76hj2nvfdhlchqgk3xn17nrs2972wj112xnyh877q8x";
+       libraryHaskellDepends = [ base errors exceptions transformers ];
+       testHaskellDepends = [ base errors exceptions HUnit transformers ];
+       homepage = "https://github.com/A1-Triard/errors-ext#readme";
+       description = "Bracket-like functions for ExceptT over IO monad";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "ersaconcat" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath, HTTP
      , network-uri, process, QuickCheck, tagsoup, template-haskell
@@ -66607,8 +69175,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer";
-       version = "3.1.0";
-       sha256 = "0f92wvj70afzp7azrx67rvckylv9d0wdlz42f12ydbfjyfz8dlsc";
+       version = "3.2.0";
+       sha256 = "1rqzx2b6fn8vzls05g7hs163h5fjw2cdhkyqbfr8a7p9cyv32nk8";
        libraryHaskellDepends = [
          aeson base bimap bytestring containers ethereum-analyzer-deps extra
          fgl GenericPretty graphviz hexstring hoopl pretty protolude split
@@ -66627,25 +69195,25 @@ self: {
   "ethereum-analyzer-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit-combinators
      , directory, ethereum-analyzer, ethereum-analyzer-deps, exceptions
-     , hexstring, hflags, http-conduit, json-rpc, monad-logger, mtl
-     , optparse-applicative, optparse-text, protolude, text, tostring
-     , unordered-containers, vector
+     , filepath, hexstring, hflags, hoopl, http-conduit, json-rpc
+     , monad-logger, mtl, optparse-applicative, optparse-text, protolude
+     , text, time, tostring, unordered-containers, vector
      }:
      mkDerivation {
        pname = "ethereum-analyzer-cli";
-       version = "3.1.0";
-       sha256 = "125vh338p4a2vvllcip8y94qfq75x4lfqqh6q2h6cygf1x0kpn6h";
+       version = "3.2.0";
+       sha256 = "1svyxmk4441x95xxfqn3z18dqvkqykyksqiyb4298pb8g0cq54sx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring conduit-combinators directory
-         ethereum-analyzer ethereum-analyzer-deps exceptions hexstring
-         http-conduit json-rpc monad-logger mtl protolude text tostring
+         ethereum-analyzer ethereum-analyzer-deps exceptions filepath
+         hexstring hoopl http-conduit json-rpc monad-logger mtl
+         optparse-applicative optparse-text protolude text time tostring
          unordered-containers vector
        ];
        executableHaskellDepends = [
-         base ethereum-analyzer ethereum-analyzer-deps hflags monad-logger
-         optparse-applicative optparse-text protolude text
+         base ethereum-analyzer-deps hflags monad-logger protolude
        ];
        homepage = "https://github.com/zchn/ethereum-analyzer";
        description = "A CLI frontend for ethereum-analyzer";
@@ -66660,8 +69228,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer-deps";
-       version = "3.1.0";
-       sha256 = "1acydya38c26fkzai9i3j347f3cmbscdzd5kvja6wincl8ym7i88";
+       version = "3.2.0";
+       sha256 = "1ahpk43ihr3ddzzpxi6vx27f77i84grny5avsakjn0hlzz3ady19";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base base16-bytestring binary bytestring
          containers deepseq fast-logger global-lock monad-logger split text
@@ -66681,8 +69249,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer-webui";
-       version = "3.1.0";
-       sha256 = "0kshih6fmg3y5m0dzv3129l2lxbh97vzkxqi12rn1l5krpcs1wlz";
+       version = "3.2.0";
+       sha256 = "17hmsmr13qvmfl9w9yfmxbbi6lv3b3r3kqsgnbji5i01jvgnggvs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68408,6 +70976,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "extensible-effects_2_1_0_0" = callPackage
+    ({ mkDerivation, base, directory, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, transformers, transformers-base, type-aligned
+     }:
+     mkDerivation {
+       pname = "extensible-effects";
+       version = "2.1.0.0";
+       sha256 = "069v7ql359msnnsbapy1dwgsw3g6f0w8rrc0ihix1jm7p2ivjyrc";
+       libraryHaskellDepends = [
+         base transformers transformers-base type-aligned
+       ];
+       testHaskellDepends = [
+         base directory HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       homepage = "https://github.com/suhailshergill/extensible-effects";
+       description = "An Alternative to Monad Transformers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "extensible-exceptions" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -70806,6 +73396,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "fin" = callPackage
+    ({ mkDerivation, base, deepseq, hashable, inspection-testing
+     , tagged
+     }:
+     mkDerivation {
+       pname = "fin";
+       version = "0";
+       sha256 = "0nzjqw6q01rc6faqp30771v8mxz6cndzskkvfaj55ygp34faycih";
+       revision = "1";
+       editedCabalFile = "0lin85p7gwdj96liwq5g2fpfmk3d23239zn99ghz12i6l8xwigxh";
+       libraryHaskellDepends = [ base deepseq hashable ];
+       testHaskellDepends = [ base inspection-testing tagged ];
+       homepage = "https://github.com/phadej/vec";
+       description = "Nat and Fin";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "final" = callPackage
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
@@ -70923,6 +73530,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fingertree_0_1_3_0" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "fingertree";
+       version = "0.1.3.0";
+       sha256 = "1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "Generic finger-tree structure, with example instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fingertree-psqueue" = callPackage
     ({ mkDerivation, base, fingertree }:
      mkDerivation {
@@ -70977,6 +73602,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "finite-typelits_0_1_3_0" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "finite-typelits";
+       version = "0.1.3.0";
+       sha256 = "17a82djlpapdzw34afv79w99jrpy5nlbdw1k1xjs59bvvqv36wyv";
+       libraryHaskellDepends = [ base deepseq ];
+       homepage = "https://github.com/mniip/finite-typelits";
+       description = "A type inhabited by finitely many values, indexed by type-level naturals";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "firefly" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring
      , case-insensitive, containers, cookie, http-types, mtl, regex-pcre
@@ -70984,8 +73622,8 @@ self: {
      }:
      mkDerivation {
        pname = "firefly";
-       version = "0.1.0.0";
-       sha256 = "0m7a7n9iw5ylw4w0awwsbafck5gn7jap3jd34064in6qp009s05v";
+       version = "0.1.0.1";
+       sha256 = "1ismyiwcjh6yvrka3769921ii99m2yb52pb3b8nyx6jprrbfbgya";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring case-insensitive containers cookie
          http-types mtl regex-pcre text transformers wai warp
@@ -71318,6 +73956,7 @@ self: {
        ];
        description = "Binary instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-cborg" = callPackage
@@ -71334,6 +73973,7 @@ self: {
        ];
        description = "Binary instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-cereal" = callPackage
@@ -71350,6 +73990,7 @@ self: {
        ];
        description = "Cereal instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-hetero" = callPackage
@@ -71625,8 +74266,8 @@ self: {
      }:
      mkDerivation {
        pname = "flaccuraterip";
-       version = "0.3.7";
-       sha256 = "13xssivcgd561ri1mkp57cc1pi0phxs8bbiwx40xrkg4iy6r1kdh";
+       version = "0.3.8";
+       sha256 = "0ixk5vbnpnh3j262k5igvnglm4brypsv3b839xc51hlc29q7v9qs";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -71635,6 +74276,7 @@ self: {
        homepage = "http://noaxiom.org/flAccurateRip";
        description = "Verify FLAC files ripped form CD using AccurateRip™";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flamethrower" = callPackage
@@ -71855,6 +74497,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
@@ -72275,28 +74918,62 @@ self: {
        license = "unknown";
      }) {};
 
+  "fluffy" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, MonadRandom
+     , postgresql-simple, resource-pool, text, time, uuid-types
+     , yesod-core, yesod-static
+     }:
+     mkDerivation {
+       pname = "fluffy";
+       version = "0.1.0.71";
+       sha256 = "12l05bmy0qvz9ch37m035qhn8f4rz83m5s5m9x47ivnf59ir74fr";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         aeson base bytestring cmdargs MonadRandom postgresql-simple
+         resource-pool text time uuid-types yesod-core yesod-static
+       ];
+       description = "A simple web application as a online practice website for XDU SE 2017 fall SPM";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "fluffy-parser" = callPackage
+    ({ mkDerivation, base, binary, bytestring, pandoc, parsec
+     , postgresql-simple
+     }:
+     mkDerivation {
+       pname = "fluffy-parser";
+       version = "0.1.0.50";
+       sha256 = "0arxcw5x594dc5c82wyasl3v2jmbw1d5bbs0gafdg3n1n95bv278";
+       libraryHaskellDepends = [
+         base binary bytestring pandoc parsec postgresql-simple
+       ];
+       description = "The parser for fluffy to parsec the question bank in .docx type";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "fluid-idl" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, errors
-     , exceptions, fluid, hspec, lifted-async, monad-control
-     , monad-logger, mtl, random, safe-exceptions, scientific, text
-     , text-conversions, tuple, unordered-containers, vector
+     , exceptions, hspec, lifted-async, monad-control, monad-logger, mtl
+     , random, safe-exceptions, scientific, text, text-conversions
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "fluid-idl";
-       version = "0.0.4";
-       sha256 = "1kdiq6mw01dr85ii7vg7bsw8m260y6njjf5afx3p718hsxwiw4yr";
+       version = "0.0.5";
+       sha256 = "1yv4qslqa335r6bwjpll45lz8y6pj3m8cvjzlc2xadg05m2yy89w";
        libraryHaskellDepends = [
          aeson base bytestring containers errors exceptions lifted-async
          monad-control monad-logger mtl random safe-exceptions scientific
          text text-conversions unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base containers fluid hspec scientific text tuple vector
+         aeson base containers hspec scientific text vector
        ];
        description = "Fluid | The Programmatic IDL";
        license = stdenv.lib.licenses.bsd3;
-       broken = true;
-     }) {fluid = null;};
+     }) {};
 
   "fluid-idl-http-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, fluid-idl, http-client
@@ -72540,7 +75217,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "foldl_1_3_3" = callPackage
+  "foldl_1_3_4" = callPackage
     ({ mkDerivation, base, bytestring, comonad, containers
      , contravariant, criterion, hashable, mwc-random, primitive
      , profunctors, semigroups, text, transformers, unordered-containers
@@ -72548,8 +75225,8 @@ self: {
      }:
      mkDerivation {
        pname = "foldl";
-       version = "1.3.3";
-       sha256 = "18gzis64sa7ifclaz3n10j2lkh4ikvbakrkz2kkipjddafidvsr3";
+       version = "1.3.4";
+       sha256 = "0zzh9v1ha6wgn015128pj85sf8jlvbvhfsn6i3pfwkm15px0k2md";
        libraryHaskellDepends = [
          base bytestring comonad containers contravariant hashable
          mwc-random primitive profunctors semigroups text transformers
@@ -73362,14 +76039,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;
@@ -73379,12 +76058,10 @@ self: {
     ({ mkDerivation, bytestring, foundation, text }:
      mkDerivation {
        pname = "foundation-edge";
-       version = "0.0.2";
-       sha256 = "1ddcw4a8gmlcb6pgy2sysp6inpm19i7j1cg9ix3z5fwkpxg2kr71";
-       revision = "1";
-       editedCabalFile = "01w5bjjavfq76s43c2f0wbna6rn6yilivsq7s8ws5i1kqav9yffx";
+       version = "0.0.3";
+       sha256 = "0dqpalqn9p10vmz3sw60aga76rpi4d92hrvq2v91pv44p1iva2mb";
        libraryHaskellDepends = [ bytestring foundation text ];
-       homepage = "https://github.com/haskell-foundation/foundation-edge";
+       homepage = "https://github.com/haskell-foundation/foundation";
        description = "foundation's edge with the conventional set of packages";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -74934,6 +77611,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "functor" = callPackage
+    ({ mkDerivation, base, category }:
+     mkDerivation {
+       pname = "functor";
+       version = "0.1.0.0";
+       sha256 = "03s0gpxg1k5f26lxyq617ly57c56w0k6nm59h6dwdkc3w2ainqiv";
+       revision = "1";
+       editedCabalFile = "0yl3pxzggr05rjizmpy7fli7ribc157vci46z084dn6jqlnlbh3a";
+       libraryHaskellDepends = [ base category ];
+       description = "Functors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "functor-apply" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -76284,15 +78975,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
        ];
@@ -76538,19 +79229,22 @@ self: {
 
   "genesis" = callPackage
     ({ mkDerivation, base, directory, envparse, file-embed, filepath
-     , hspec, monad-control, monad-logger, monad-persist, persistent
-     , persistent-postgresql, persistent-sqlite, persistent-template
-     , resource-pool, template-haskell, text, text-conversions
+     , hspec, monad-control, monad-io-adapter, monad-logger
+     , monad-persist, persistent, persistent-postgresql
+     , persistent-sqlite, persistent-template, resource-pool
+     , template-haskell, text, text-conversions, transformers
+     , transformers-base
      }:
      mkDerivation {
        pname = "genesis";
-       version = "0.0.1.0";
-       sha256 = "15l23rf4ifqxziz3fa8ra2p7jch6ph651139cvpqszqbzm9wp4sc";
+       version = "0.1.0.0";
+       sha256 = "1bz47rf5qkkm809440y3ki1bahyg6sxdlxrfkc4mjy49fcbgh4si";
        libraryHaskellDepends = [
          base directory envparse file-embed filepath monad-control
-         monad-logger monad-persist persistent persistent-postgresql
-         persistent-template resource-pool template-haskell text
-         text-conversions
+         monad-io-adapter monad-logger monad-persist persistent
+         persistent-postgresql persistent-template resource-pool
+         template-haskell text text-conversions transformers
+         transformers-base
        ];
        testHaskellDepends = [
          base hspec monad-control monad-logger monad-persist
@@ -76565,16 +79259,17 @@ self: {
   "genesis-test" = callPackage
     ({ mkDerivation, base, envparse, genesis, hspec, hspec-expectations
      , lifted-base, monad-control, monad-logger, monad-persist
-     , persistent-postgresql, persistent-template, text
+     , persistent-postgresql, persistent-template, text, transformers
      , transformers-base
      }:
      mkDerivation {
        pname = "genesis-test";
-       version = "0.0.1.0";
-       sha256 = "12s0vg0013465cpxxhyz0xw9sbhh8knkl988dq8jaxvl81d0jzj2";
+       version = "0.1.0.0";
+       sha256 = "0d93wq9b5wm5cgw9kfvf8smm7d3adv8y4a8kxc6m17lvgjmjjph4";
        libraryHaskellDepends = [
          base genesis hspec hspec-expectations lifted-base monad-control
-         monad-logger monad-persist persistent-postgresql transformers-base
+         monad-logger monad-persist persistent-postgresql transformers
+         transformers-base
        ];
        testHaskellDepends = [
          base envparse genesis hspec monad-logger monad-persist
@@ -76761,8 +79456,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.4.0.0";
-       sha256 = "006kd5172vra1nyjh7lzkn2rj6jlkk1rarmzipq16fkwx5s8p5br";
+       version = "0.4.0.2";
+       sha256 = "1kmbjx57212v7v1b7b7585m0i9sd5qh32ln83pc63m6jdpw161a1";
        libraryHaskellDepends = [ base QuickCheck validity ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/NorfairKing/validity#readme";
@@ -76858,8 +79553,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-aeson";
-       version = "0.1.0.0";
-       sha256 = "0kyajiqhfnq5cm0qly18sjzz7c6gdf3kp9dzxq67virgkih3hzfw";
+       version = "0.1.0.1";
+       sha256 = "0ww43pcmya7gqjfxsp7a9f4pf3dpc0g57988l92rl5arix17fkr2";
        libraryHaskellDepends = [
          aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
          QuickCheck
@@ -76936,8 +79631,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-path";
-       version = "0.2.0.0";
-       sha256 = "1a4h6kgaqb4y52gdqp7baqgs18zllmrnkpk1412m4hmakqykljxm";
+       version = "0.2.0.2";
+       sha256 = "140myxs62amq43mrxdkyxg33ilj8ll4jwd602c5cwz05x0wn634h";
        libraryHaskellDepends = [ base genvalidity path validity-path ];
        testHaskellDepends = [ base genvalidity-hspec hspec path ];
        homepage = "https://github.com/NorfairKing/validity#readme";
@@ -77470,6 +80165,8 @@ self: {
        pname = "ghc-compact";
        version = "0.1.0.0";
        sha256 = "03sf8ap1ncjsibp9z7k9xgcsj9s0q3q6l4shf8k7p8dkwpjl1g2h";
+       revision = "1";
+       editedCabalFile = "1fwcfk515lv3pjzxz87bddk3kdbkaxswxrr37spdlkvyyfrbxyak";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        description = "In memory storage of deeply evaluated data structure";
        license = stdenv.lib.licenses.bsd3;
@@ -77766,6 +80463,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
@@ -77976,29 +80674,6 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.4.0.2";
-       sha256 = "0qcz4283gm9hxnqx462rdn1r3q9jmad19b3y8n0z4lsrpfziynq1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base containers scientific text time
-       ];
-       executableHaskellDepends = [ base containers scientific text ];
-       testHaskellDepends = [
-         attoparsec base containers directory filepath process tasty
-         tasty-hunit temporary text
-       ];
-       homepage = "https://github.com/maoe/ghc-prof";
-       description = "Library for parsing GHC time and allocation profiling reports";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ghc-prof_1_4_0_3" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, directory, filepath
-     , process, scientific, tasty, tasty-hunit, temporary, text, time
-     }:
-     mkDerivation {
-       pname = "ghc-prof";
        version = "1.4.0.3";
        sha256 = "0zlarx19czj9vrckh9vam58l4vybszznxr4kwn7x2mb3vdhv0ghd";
        isLibrary = true;
@@ -78014,7 +80689,6 @@ self: {
        homepage = "https://github.com/maoe/ghc-prof";
        description = "Library for parsing GHC time and allocation profiling reports";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-prof-flamegraph" = callPackage
@@ -78431,8 +81105,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.6.7";
-       sha256 = "1drx6nwniflgz0l7szdnnbski03c4jpgqlx45cilyq6s50byvqy6";
+       version = "0.6.8";
+       sha256 = "1ca8962sh41jkz82lx1snx8fzp8s2v5dsq0mczgzc7aqjgclb35g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79664,6 +82338,26 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {system-glib = pkgs.glib;};
 
+  "gio_0_13_4_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers, glib
+     , gtk2hs-buildtools, mtl, system-glib
+     }:
+     mkDerivation {
+       pname = "gio";
+       version = "0.13.4.0";
+       sha256 = "1jjkz7d81dljhgdcpc5zr5bn1jxnlb23f8hpzx4xz5v9jfy0bflr";
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
+       libraryHaskellDepends = [
+         array base bytestring containers glib mtl
+       ];
+       libraryPkgconfigDepends = [ system-glib ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to GIO";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {system-glib = pkgs.glib;};
+
   "gipeda" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cassava
      , concurrent-output, containers, directory, extra, file-embed
@@ -79800,8 +82494,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20171109";
-       sha256 = "15fl5vazl38yfqi3iz9dqfqkav031wyd306rz1hlgxdqplayz3y5";
+       version = "6.20171124";
+       sha256 = "066m5s0wp1sw5ngjwgvd4cq1nxnm6jybb4qsyjwm828k4mcwywp7";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -80222,7 +82916,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
@@ -80233,10 +82927,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
@@ -80246,8 +82938,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";
@@ -80257,26 +82949,25 @@ self: {
 
   "github-backup" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
-     , exceptions, filepath, git, github, hslogger, IfElse, MissingH
-     , mtl, network, network-uri, optparse-applicative, pretty-show
-     , process, text, transformers, unix, unix-compat, utf8-string
-     , vector
+     , exceptions, filepath, git, github, hslogger, IfElse, mtl, network
+     , network-uri, optparse-applicative, pretty-show, process, split
+     , text, transformers, unix, unix-compat, utf8-string, vector
      }:
      mkDerivation {
        pname = "github-backup";
-       version = "1.20170301";
-       sha256 = "1c3qjf2c7q3gj2w4zn7k30pxyjb0rzg59ra23s3wi7dczvriaqjy";
+       version = "1.20171126";
+       sha256 = "0fk3dp11acgw88rhb7pi8kb98m9x96jwdavcb7gz1jdcx391xy4s";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
          base bytestring Cabal directory exceptions filepath hslogger IfElse
-         MissingH mtl process unix unix-compat
+         mtl process split unix unix-compat
        ];
        executableHaskellDepends = [
          base bytestring containers directory exceptions filepath github
-         hslogger IfElse MissingH mtl network network-uri
-         optparse-applicative pretty-show process text transformers unix
-         unix-compat utf8-string vector
+         hslogger IfElse mtl network network-uri optparse-applicative
+         pretty-show process split text transformers unix unix-compat
+         utf8-string vector
        ];
        executableToolDepends = [ git ];
        homepage = "https://github-backup.branchable.com/";
@@ -80804,6 +83495,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "glabrous_0_3_4" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , cereal, cereal-text, directory, either, hspec, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "glabrous";
+       version = "0.3.4";
+       sha256 = "00dwlxl05g2s6br0nya2ayp24yjmf8rg6y3yi6bnqs0a2fyyzq42";
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring cereal cereal-text
+         either text unordered-containers
+       ];
+       testHaskellDepends = [
+         base directory either hspec text unordered-containers
+       ];
+       homepage = "https://github.com/MichelBoucey/glabrous";
+       description = "A template DSL library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "glade" = callPackage
     ({ mkDerivation, base, Cabal, glib, gtk, gtk2hs-buildtools
      , libglade
@@ -80836,23 +83549,23 @@ self: {
 
   "glambda" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, containers, directory
-     , either, haskeline, mtl, parsec, tasty, tasty-hunit
-     , template-haskell, transformers
+     , haskeline, mtl, parsec, tasty, tasty-hunit, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "glambda";
-       version = "1.0.1";
-       sha256 = "0vyiwaydli0mv6xwv2phksi08k133a07sia9s88cv1fr99nnjhns";
+       version = "1.0.2";
+       sha256 = "03fk3q017h4vbwlzf8pmlzlhgc3rzrc1f4fm0b19g4vw22qigflg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base containers directory either haskeline mtl
-         parsec transformers
+         ansi-wl-pprint base containers directory haskeline mtl parsec
+         transformers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         ansi-wl-pprint base either mtl parsec tasty tasty-hunit
-         template-haskell
+         ansi-wl-pprint base mtl parsec tasty tasty-hunit template-haskell
+         transformers
        ];
        homepage = "https://github.com/goldfirere/glambda";
        description = "A simply typed lambda calculus interpreter, written with GADTs";
@@ -81681,16 +84394,15 @@ self: {
      }) {inherit (pkgs.gnome2) gnome_vfs; gnome_vfs_module = null;};
 
   "gnss-converters" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, basic-prelude, binary
+    ({ mkDerivation, aeson, aeson-pretty, base, basic-prelude
      , binary-conduit, bytestring, conduit, conduit-extra, exceptions
      , extra, lens, monad-control, mtl, resourcet, rtcm, sbp, tasty
-     , tasty-golden, tasty-hunit, text, time, transformers-base
-     , unordered-containers, vector
+     , tasty-golden, tasty-hunit, time, transformers-base, vector
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.3.21";
-       sha256 = "13r593v6yb78352xf2365n0c49jcb6ijjvkrpsis9rbcglj6cnbx";
+       version = "0.3.23";
+       sha256 = "1czvb4jvlrb93z7wzlr68gp2x6gzdrkbwcc2ri561v2hc7w06xi2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -81701,9 +84413,8 @@ self: {
          base basic-prelude binary-conduit conduit conduit-extra
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base basic-prelude binary binary-conduit
-         bytestring conduit conduit-extra lens rtcm sbp tasty tasty-golden
-         tasty-hunit text time unordered-containers
+         aeson aeson-pretty base basic-prelude binary-conduit bytestring
+         conduit conduit-extra lens sbp tasty tasty-golden tasty-hunit time
        ];
        homepage = "http://github.com/swift-nav/gnss-converters";
        description = "GNSS Converters";
@@ -84535,8 +87246,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphite";
-       version = "0.9.5.1";
-       sha256 = "0sb8ixz91bcyzylhjk7d44c62gcl1xkfc5vc60sx1z0944f06l1h";
+       version = "0.9.6.0";
+       sha256 = "0qryrwsj4pwvk804hv0cqglk197y895xlhgf5mq9azsp7ll39w3v";
        libraryHaskellDepends = [
          base bytestring cassava containers deepseq graphviz hashable
          process QuickCheck random semigroups text unordered-containers
@@ -85231,26 +87942,6 @@ self: {
      }:
      mkDerivation {
        pname = "group-by-date";
-       version = "0.1.0.1";
-       sha256 = "08gzxskp996m92pn49zz5h8543rnn6jk5vffgb8iiwvrzsa4xn0d";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base explicit-exception filemanip hsshellscript pathtype time
-         transformers unix-compat utility-ht
-       ];
-       homepage = "http://hub.darcs.net/thielema/group-by-date/";
-       description = "Shell command for grouping files by dates into folders";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
-     }) {};
-
-  "group-by-date_0_1_0_2" = callPackage
-    ({ mkDerivation, base, explicit-exception, filemanip, hsshellscript
-     , pathtype, time, transformers, unix-compat, utility-ht
-     }:
-     mkDerivation {
-       pname = "group-by-date";
        version = "0.1.0.2";
        sha256 = "09x5wag0s6bkmhqcdbrzcibpwjqg5jr8lfm9vcbwi0qyv2nn7f5h";
        isLibrary = false;
@@ -85262,7 +87953,7 @@ self: {
        homepage = "http://hub.darcs.net/thielema/group-by-date/";
        description = "Shell command for grouping files by dates into folders";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
   "group-with" = callPackage
@@ -85335,6 +88026,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groups_0_4_1_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "groups";
+       version = "0.4.1.0";
+       sha256 = "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx";
+       libraryHaskellDepends = [ base ];
+       description = "Haskell 98 groups";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "growler" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring
      , case-insensitive, either, http-types, lens, monad-control, mtl
@@ -85475,8 +88178,8 @@ self: {
      }:
      mkDerivation {
        pname = "gssapi";
-       version = "0.2.0.0";
-       sha256 = "1kvyy05m3wcvcp76ap4i499j5mmm7dlz49i0m0a5vanpn2jfpkwy";
+       version = "0.2.0.1";
+       sha256 = "0bpwjggsdkckwfgmp89rvkzxjlagiliawrzf9pzvxrka7wk1ip14";
        libraryHaskellDepends = [ base bytestring resourcet transformers ];
        librarySystemDepends = [ gssapi_krb5 krb5 ];
        homepage = "https://github.com/ondrap/gssapi";
@@ -85491,8 +88194,8 @@ self: {
      }:
      mkDerivation {
        pname = "gssapi-wai";
-       version = "0.1.2.1";
-       sha256 = "0n9295ql2zrsipnf91af24lcc35f8l6d6313cz8xiyx4dhf1arln";
+       version = "0.1.2.2";
+       sha256 = "1fkgsdc4nkxwkhnz3b8rz6zx8jq6325mgniy5h5s3cr7k0kwnv0s";
        libraryHaskellDepends = [
          base base64-bytestring bytestring case-insensitive gssapi
          http-types vault wai wai-extra
@@ -85520,7 +88223,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
@@ -85733,6 +88436,29 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "gtk2hs-buildtools_0_13_3_1" = callPackage
+    ({ mkDerivation, alex, array, base, Cabal, containers, directory
+     , filepath, happy, hashtables, pretty, process, random
+     }:
+     mkDerivation {
+       pname = "gtk2hs-buildtools";
+       version = "0.13.3.1";
+       sha256 = "0m3irv9cs8f602wc5lq84c7k1pd9yg4vydfzzn2qa6z0l552y3r2";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base Cabal containers directory filepath hashtables pretty
+         process random
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [ base ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Tools to build the Gtk2Hs suite of User Interface libraries";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gtk2hs-cast-glade" = callPackage
     ({ mkDerivation, base, glade, gtk, gtk2hs-cast-glib, hint
      , template-haskell
@@ -85890,6 +88616,32 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) gtk3;};
 
+  "gtk3_0_14_8" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, cairo, containers
+     , gio, glib, gtk2hs-buildtools, gtk3, mtl, pango, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gtk3";
+       version = "0.14.8";
+       sha256 = "0sxk3dhzhqkmlwqkpvmi1b0ycyqdz19z7zfr5nxhskzn5b522ikw";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
+       libraryHaskellDepends = [
+         array base bytestring cairo containers gio glib mtl pango text
+       ];
+       libraryPkgconfigDepends = [ gtk3 ];
+       executableHaskellDepends = [
+         array base cairo text time transformers
+       ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Gtk+ 3 graphical user interface library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) gtk3;};
+
   "gtk3-mac-integration" = callPackage
     ({ mkDerivation, array, base, Cabal, containers, glib
      , gtk-mac-integration-gtk3, gtk2hs-buildtools, gtk3, mtl
@@ -87417,6 +90169,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
@@ -87451,6 +90204,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
@@ -89298,6 +92052,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hapistrano_0_3_4_0" = callPackage
+    ({ mkDerivation, aeson, async, base, directory, filepath, hspec
+     , mtl, optparse-applicative, path, path-io, process, stm, temporary
+     , time, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "hapistrano";
+       version = "0.3.4.0";
+       sha256 = "04wfaaj4qr9ysincnvcghm3bpi8l0z7a7b18zg674qaq3rsr3rn6";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base filepath mtl path process time transformers
+       ];
+       executableHaskellDepends = [
+         aeson async base optparse-applicative path path-io stm yaml
+       ];
+       testHaskellDepends = [
+         base directory filepath hspec mtl path path-io process temporary
+       ];
+       homepage = "https://github.com/stackbuilders/hapistrano";
+       description = "A deployment library for Haskell applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happindicator" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, glib, gtk
      , gtk2hs-buildtools, libappindicator-gtk2, mtl
@@ -90051,6 +92832,8 @@ self: {
        pname = "happy-meta";
        version = "0.2.0.9";
        sha256 = "1w3bmwnsg9714kyqxzfrbw0az4i2dqprn2hms3kbdq5984yhi9bg";
+       revision = "1";
+       editedCabalFile = "1mq8gdq11bqgii498as0078pf8s1mnawh4rvys6hjnd77iaf9nfk";
        libraryHaskellDepends = [
          array base containers haskell-src-meta mtl template-haskell
        ];
@@ -90189,8 +92972,8 @@ self: {
      }:
      mkDerivation {
        pname = "hardware-edsl";
-       version = "0.1.2";
-       sha256 = "0vf82qkh0wvdi0d3lvnp8wks09a4ngr57l2kd122f2284a868xfx";
+       version = "0.1.5";
+       sha256 = "112sw9z89s27fi2jmg3a61gsm3far5vd21f1vi9cx2awgfzpi3iw";
        libraryHaskellDepends = [
          array base bytestring constraints containers deepseq language-vhdl
          mtl operational-alacarte pretty syntactic
@@ -90799,6 +93582,8 @@ self: {
        pname = "hashtables";
        version = "1.2.2.1";
        sha256 = "1g7nvj4cmscv1jjhms1pxb2gj4rflg2pcj3pb2z7x9fck8557bbs";
+       revision = "1";
+       editedCabalFile = "0wcjkd8imgx3j4ygj3r2cdfzknk1bbq0745axy7kbm2sckz1xqcz";
        libraryHaskellDepends = [
          base ghc-prim hashable primitive vector
        ];
@@ -91515,8 +94300,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.20.4";
-       sha256 = "00kpn7rxg91im26109q1m3g6hyp8v46v50j3dddz002sj2zycifq";
+       version = "0.20.5";
+       sha256 = "1854v6z8ragc5bbv4jc1qwbn85pw7z9gsqd17qizps6zmpx3gm9a";
        libraryHaskellDepends = [ base bytestring containers text ];
        libraryPkgconfigDepends = [ glib ];
        homepage = "https://github.com/haskell-gi/haskell-gi-base";
@@ -91704,6 +94489,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-lsp_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , directory, filepath, hashable, hslogger, hspec, lens, mtl, parsec
+     , sorted-list, stm, text, time, transformers, unordered-containers
+     , vector, yi-rope
+     }:
+     mkDerivation {
+       pname = "haskell-lsp";
+       version = "0.2.0.0";
+       sha256 = "1hvqimg580hbanlhim2kxni3wk6rfwsd93agkfjhy216lb8bd9h8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hashable hslogger lens mtl parsec sorted-list stm text time
+         unordered-containers yi-rope
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hslogger lens mtl parsec stm text time transformers
+         unordered-containers vector yi-rope
+       ];
+       testHaskellDepends = [
+         aeson base containers directory hashable hspec lens sorted-list
+         text yi-rope
+       ];
+       homepage = "https://github.com/alanz/haskell-lsp";
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-menu" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -92261,14 +95078,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-ast_0_9_0_0" = callPackage
+  "haskell-tools-ast_1_0_0_0" = callPackage
     ({ mkDerivation, base, ghc, mtl, references, template-haskell
      , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-ast";
-       version = "0.9.0.0";
-       sha256 = "1hhlp7bvn1q18jsfmi6pig26aggq6961p7lq7p140lk2jlvv9i1i";
+       version = "1.0.0.0";
+       sha256 = "174xh6a0p43kb0cia3z1n18kqhpsnbf51299l0rbn2makvn68zk4";
        libraryHaskellDepends = [
          base ghc mtl references template-haskell uniplate
        ];
@@ -92350,15 +95167,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-backend-ghc_0_9_0_0" = callPackage
+  "haskell-tools-backend-ghc_1_0_0_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, ghc, ghc-boot-th
      , haskell-tools-ast, mtl, references, safe, split, template-haskell
      , transformers, uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-backend-ghc";
-       version = "0.9.0.0";
-       sha256 = "17v38npf016pm80wiynimdqw83v3y8f1hdjjl7lbkwyj7rgkpx6n";
+       version = "1.0.0.0";
+       sha256 = "09jhc2i7ypfcgpdmjfg7bacf9a0nlxrvbz99zh86kgbrjh1xjr8f";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot-th haskell-tools-ast mtl
          references safe split template-haskell transformers uniplate
@@ -92369,6 +95186,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-tools-builtin-refactorings" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, either
+     , filepath, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-backend-ghc, haskell-tools-prettyprint
+     , haskell-tools-refactor, haskell-tools-rewrite, mtl, old-time
+     , polyparse, references, split, tasty, tasty-hunit
+     , template-haskell, time, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-tools-builtin-refactorings";
+       version = "1.0.0.0";
+       sha256 = "0mhigqzivx1r04gi9v4jb7cvzirly8bbm3nckib170yws884gcba";
+       libraryHaskellDepends = [
+         base Cabal containers directory filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-refactor
+         haskell-tools-rewrite mtl references split template-haskell
+         transformers uniplate
+       ];
+       testHaskellDepends = [
+         base Cabal containers directory either filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-refactor
+         haskell-tools-rewrite mtl old-time polyparse references split tasty
+         tasty-hunit template-haskell time transformers uniplate
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Refactoring Tool for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-tools-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , directory, filepath, ghc, ghc-paths, haskell-tools-ast
@@ -92399,7 +95248,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haskell-tools-cli_0_9_0_0" = callPackage
+  "haskell-tools-cli_1_0_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , directory, filepath, ghc, ghc-paths, Glob
      , haskell-tools-builtin-refactorings, haskell-tools-daemon
@@ -92408,8 +95257,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-cli";
-       version = "0.9.0.0";
-       sha256 = "04ycy6hqnzqj9gc4vqf95flc3yh3swx201n2daggkmxayasiivqj";
+       version = "1.0.0.0";
+       sha256 = "1y0jlgp3b8bxgrs406c32drdphblnn5c7rsqj2n9gvmhmdj01iwc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92418,8 +95267,8 @@ self: {
          haskell-tools-refactor mtl references split strict
        ];
        executableHaskellDepends = [
-         base directory filepath Glob haskell-tools-builtin-refactorings mtl
-         optparse-applicative process split
+         base directory filepath Glob haskell-tools-builtin-refactorings
+         haskell-tools-daemon mtl optparse-applicative process split
        ];
        testHaskellDepends = [
          base bytestring directory filepath
@@ -92427,14 +95276,14 @@ self: {
        ];
        benchmarkHaskellDepends = [
          aeson base bytestring criterion directory filepath
-         haskell-tools-builtin-refactorings knob split time
+         haskell-tools-builtin-refactorings haskell-tools-daemon knob split
+         time
        ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Command-line frontend for Haskell-tools Refact";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {haskell-tools-builtin-refactorings = null;};
+     }) {};
 
   "haskell-tools-daemon" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, Diff
@@ -92463,6 +95312,41 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-tools-daemon_1_0_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , deepseq, Diff, directory, filepath, fswatch, ghc, ghc-paths, Glob
+     , haskell-tools-builtin-refactorings, haskell-tools-prettyprint
+     , haskell-tools-refactor, HUnit, mtl, network, optparse-applicative
+     , pretty, process, references, split, strict, tasty, tasty-hunit
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "haskell-tools-daemon";
+       version = "1.0.0.0";
+       sha256 = "0pgpir9p693wym1krw2pyk17aq0dv10xbypw44ik6syzmy8j1zla";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring Cabal containers deepseq Diff directory
+         filepath fswatch ghc ghc-paths haskell-tools-builtin-refactorings
+         haskell-tools-prettyprint haskell-tools-refactor mtl network
+         optparse-applicative pretty process references split strict
+         template-haskell
+       ];
+       executableHaskellDepends = [
+         base directory filepath haskell-tools-builtin-refactorings
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath ghc Glob
+         haskell-tools-builtin-refactorings HUnit network process tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Background process for Haskell-tools that editors can connect to";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-tools-debug" = callPackage
     ({ mkDerivation, base, filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-prettyprint
@@ -92485,7 +95369,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-debug_0_9_0_0" = callPackage
+  "haskell-tools-debug_1_0_0_0" = callPackage
     ({ mkDerivation, base, filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-builtin-refactorings
      , haskell-tools-prettyprint, haskell-tools-refactor, references
@@ -92493,8 +95377,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-debug";
-       version = "0.9.0.0";
-       sha256 = "0lbb8ip5y511v41i9xw9yi4nk2f0xmxv8ddcr0faxvy503miv613";
+       version = "1.0.0.0";
+       sha256 = "0jbiid1plb2y2sfpi5m46kl6waap8xhk8bqk5q9km2w7np0fv5dc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92508,8 +95392,7 @@ self: {
        description = "Debugging Tools for Haskell-tools";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {haskell-tools-builtin-refactorings = null;};
+     }) {};
 
   "haskell-tools-demo" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
@@ -92541,7 +95424,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-demo_0_9_0_0" = callPackage
+  "haskell-tools-demo_1_0_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-builtin-refactorings
@@ -92551,8 +95434,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-demo";
-       version = "0.9.0.0";
-       sha256 = "1mb2ica5x5x66z68px9sfy0gndla1qmydlb9vcwvvc2wv8jmn8mr";
+       version = "1.0.0.0";
+       sha256 = "0kyf83wg514yl795k63wlklrdlz3fnnxl9qjkcwv5fxkxxixxf07";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92571,8 +95454,39 @@ self: {
        description = "A web-based demo for Haskell-tools Refactor";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {haskell-tools-builtin-refactorings = null;};
+     }) {};
+
+  "haskell-tools-experimental-refactorings" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, either
+     , filepath, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-backend-ghc, haskell-tools-prettyprint
+     , haskell-tools-refactor, haskell-tools-rewrite, mtl, references
+     , split, tasty, tasty-hunit, template-haskell, time, transformers
+     , uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-tools-experimental-refactorings";
+       version = "1.0.0.0";
+       sha256 = "1k3grr8jca4samw0hqm1yrq8yjg4nw0z4gwx366anjpvwb1chr9a";
+       libraryHaskellDepends = [
+         base Cabal containers directory filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-refactor
+         haskell-tools-rewrite mtl references split template-haskell
+         transformers uniplate
+       ];
+       testHaskellDepends = [
+         base Cabal containers directory either filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-backend-ghc
+         haskell-tools-prettyprint haskell-tools-refactor
+         haskell-tools-rewrite mtl references split tasty tasty-hunit
+         template-haskell time transformers uniplate
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Refactoring Tool for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
 
   "haskell-tools-prettyprint" = callPackage
     ({ mkDerivation, base, containers, ghc, haskell-tools-ast, mtl
@@ -92591,14 +95505,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-prettyprint_0_9_0_0" = callPackage
+  "haskell-tools-prettyprint_1_0_0_0" = callPackage
     ({ mkDerivation, base, containers, ghc, haskell-tools-ast, mtl
      , references, split, text, uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-prettyprint";
-       version = "0.9.0.0";
-       sha256 = "15ym19dhn4lvv2szyp4bj7347bmbj43p76hj5fi1v2z20irjvmfi";
+       version = "1.0.0.0";
+       sha256 = "1f27xziimiz81sjns8hia6xsk94zm3yjpcdvihaqr0g0dq1mkfwl";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast mtl references split text
          uniplate
@@ -92639,7 +95553,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-refactor_0_9_0_0" = callPackage
+  "haskell-tools-refactor_1_0_0_0" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
      , ghc-paths, haskell-tools-ast, haskell-tools-backend-ghc
      , haskell-tools-prettyprint, haskell-tools-rewrite, mtl, references
@@ -92647,8 +95561,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-refactor";
-       version = "0.9.0.0";
-       sha256 = "0n9j8rlv613b0l5g3lihqp6rfkxxdm21f1m4fqygbi7fb3d6n7ss";
+       version = "1.0.0.0";
+       sha256 = "0s3mdwpsla79ppcsl7n3r1yjbi0db0w6yk2zf143p5ngbhj08rs4";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -92683,15 +95597,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-tools-rewrite_0_9_0_0" = callPackage
+  "haskell-tools-rewrite_1_0_0_0" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
      , haskell-tools-ast, haskell-tools-prettyprint, mtl, references
      , tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "haskell-tools-rewrite";
-       version = "0.9.0.0";
-       sha256 = "1vdbnb7808v2wycrg7nz0zx6rb8mjb1d50i57g6irfwk3s46k31s";
+       version = "1.0.0.0";
+       sha256 = "0zm7bdlfda29md86s0bz40y3ml1pb6x8fvp4br8gxj7r3j1l8852";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
          references
@@ -92787,14 +95701,14 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-updater";
-       version = "1.2.10";
-       sha256 = "0zcf8ajqkpfcdy25rlyp8c4jsnrfqxrfwbi7891cmclblg52qwg9";
+       version = "1.3";
+       sha256 = "1q9rjy36wqagy665k0ifnfwr9r1fy2if5gnva9q069hdir15lkzm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring Cabal containers directory filepath process
        ];
-       homepage = "http://haskell.org/haskellwiki/Gentoo#haskell-updater";
+       homepage = "https://haskell.org/haskellwiki/Gentoo#haskell-updater";
        description = "Rebuild Haskell dependencies in Gentoo";
        license = "GPL";
      }) {};
@@ -94135,28 +97049,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hasql_1_1" = callPackage
+  "hasql_1_1_1" = callPackage
     ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
      , bytestring-strict-builder, contravariant, contravariant-extras
-     , criterion, data-default-class, dlist, either, hashable
-     , hashtables, loch-th, mtl, placeholders, postgresql-binary
-     , postgresql-libpq, profunctors, QuickCheck, quickcheck-instances
-     , rebase, rerebase, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, text, transformers, vector
+     , criterion, data-default-class, dlist, hashable, hashtables
+     , loch-th, mtl, placeholders, postgresql-binary, postgresql-libpq
+     , profunctors, QuickCheck, quickcheck-instances, rebase, rerebase
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers, vector
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.1";
-       sha256 = "1c2gfdgxki17ng6b5qr3pvmra7v7x3hf9vh75hq4n6jr8rp03iki";
+       version = "1.1.1";
+       sha256 = "12q83n9ylykk9zkjlk4qfvk7qls9syrfn9g78ljarbq8b8vi8996";
        libraryHaskellDepends = [
          attoparsec base base-prelude bytestring bytestring-strict-builder
-         contravariant contravariant-extras data-default-class dlist either
+         contravariant contravariant-extras data-default-class dlist
          hashable hashtables loch-th mtl placeholders postgresql-binary
          postgresql-libpq profunctors semigroups text transformers vector
        ];
        testHaskellDepends = [
          bug data-default-class QuickCheck quickcheck-instances rebase
-         rerebase tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+         rerebase tasty tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ bug criterion rerebase ];
        homepage = "https://github.com/nikita-volkov/hasql";
@@ -95312,33 +98226,34 @@ self: {
      }) {};
 
   "hcg-minus" = callPackage
-    ({ mkDerivation, base, colour }:
+    ({ mkDerivation, base, colour, random }:
      mkDerivation {
        pname = "hcg-minus";
-       version = "0.15";
-       sha256 = "04g0f4sr7904w3ynyl0gnbyi2sl0z7ziv5q15mfb6c7h0zl25d5r";
+       version = "0.16";
+       sha256 = "0578yi5zc61chmp936s5wczdd8j3593br24zx57sqr5a50c0mwmc";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base colour ];
+       libraryHaskellDepends = [ base colour random ];
        homepage = "http://rd.slavepianos.org/t/hcg-minus";
        description = "haskell cg (minus)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hcg-minus-cairo" = callPackage
-    ({ mkDerivation, base, cairo, colour, filepath, hcg-minus
-     , utf8-string
+    ({ mkDerivation, base, cairo, colour, filepath, hcg-minus, process
      }:
      mkDerivation {
        pname = "hcg-minus-cairo";
-       version = "0.15";
-       sha256 = "002gh8adqzhcjfnqkbcnpzz8qiqbj9zkbk6jj11dnnxjigc4l2q9";
+       version = "0.16";
+       sha256 = "0q51m7rac2dij9y34pp74xpz8qsskjb2if7i5dynpk9jnpqkj26h";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base cairo colour filepath hcg-minus utf8-string
+         base cairo colour filepath hcg-minus process
        ];
        homepage = "http://rd.slavepianos.org/t/hcg-minus-cairo";
        description = "haskell cg (minus) (cairo rendering)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hcheat" = callPackage
@@ -95736,6 +98651,7 @@ self: {
        homepage = "http://rd.slavepianos.org/t/hdf";
        description = "HDF: Uniform Rate Audio Signal Processing in Haskell";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hdigest" = callPackage
@@ -95997,6 +98913,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "heartbeat-streams" = callPackage
+    ({ mkDerivation, async, base, io-streams, time }:
+     mkDerivation {
+       pname = "heartbeat-streams";
+       version = "0.1.0.0";
+       sha256 = "0019qgdc4ylyv7bb8w094qp38qiv81jb6x00s6z64j0zgy3lg4ss";
+       libraryHaskellDepends = [ async base io-streams time ];
+       homepage = "https://github.com/bitnomial/heartbeat-streams";
+       description = "Heartbeats for io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "heatshrink" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, cereal, pcre-heavy, tasty
      , tasty-golden, tasty-hunit, text
@@ -96152,8 +99080,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.9.11";
-       sha256 = "1ya5jpf57zs66hqvr58xyj0k7jq5cmdci1yxzwj19cag1wfq47rb";
+       version = "0.9.12";
+       sha256 = "0z9d0d1f394xf1c6fsi4c0ib3pgn0w3d6iw2h34774bxrmglf5aa";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq mtl network
          resource-pool scanner stm text time unordered-containers vector
@@ -96182,6 +99110,7 @@ self: {
        homepage = "https://bitbucket.org/s9gf4ult/hedis-config";
        description = "Easy trivial configuration for Redis";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedis-monadic" = callPackage
@@ -96327,10 +99256,8 @@ self: {
      }:
      mkDerivation {
        pname = "heist";
-       version = "1.0.1.0";
-       sha256 = "1jwbqr2n7jv8cykjgg1a0bdwjszmrbg5qflikvmkyiy1pz0z6kzx";
-       revision = "6";
-       editedCabalFile = "1r0gqv2y2sar3j4vwnvc6gsdbs9813gviiaa348j9jyc0j6dy4qw";
+       version = "1.0.1.1";
+       sha256 = "1incy8w291k3vivnrxxqw12i77qzq8b840z8l99i0mkwbl3w3gf7";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -97125,25 +100052,6 @@ self: {
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.5.0";
-       sha256 = "1qhm8vq8dncmqd9mjqghw1b327brjc9ij9pxjbkpk0lppx3pgsnw";
-       libraryHaskellDepends = [
-         base blaze-html blaze-markup containers dlist mtl parsec
-         shakespeare template-haskell text transformers
-       ];
-       testHaskellDepends = [ base doctest Glob ];
-       homepage = "https://github.com/arowM/heterocephalus#readme";
-       description = "A type-safe template engine for working with popular front end development tools";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "heterocephalus_1_0_5_1" = callPackage
-    ({ mkDerivation, base, blaze-html, blaze-markup, containers, dlist
-     , doctest, Glob, mtl, parsec, shakespeare, template-haskell, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "heterocephalus";
        version = "1.0.5.1";
        sha256 = "01klxr6wmibav30yaxz0mf8xhd57frs6ika8c26qsgwjlj5qd94p";
        libraryHaskellDepends = [
@@ -97154,7 +100062,6 @@ self: {
        homepage = "https://github.com/arowM/heterocephalus#readme";
        description = "A type-safe template engine for working with popular front end development tools";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "heterolist" = callPackage
@@ -97256,6 +100163,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hexchat" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hexchat";
+       version = "0.0.1.0";
+       sha256 = "15wzndvxc0v187gl0bwhlfqfwxs0l3p6wqwf9zx0acfw4471yn4v";
+       revision = "1";
+       editedCabalFile = "0jfnmiyp2lzs3msh479h0bdsqzhjra998bwmgwybk60p83nlvw1p";
+       libraryHaskellDepends = [ base containers ];
+       homepage = "https://github.com/mniip/hexchat-haskell";
+       description = "Haskell scripting interface for HexChat";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hexdump" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -97503,16 +100424,16 @@ self: {
 
   "heyefi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, configurator
-     , containers, directory, exceptions, filepath, HandsomeSoup, hspec
-     , hspec-wai, http-types, hxt, iso8601-time, MissingH, mtl
-     , multipart, optparse-applicative, random, silently, stm, tar
-     , temporary, text, time, transformers, unix, unordered-containers
-     , utf8-string, wai, wai-extra, warp
+     , directory, exceptions, filepath, HandsomeSoup, hspec, hspec-wai
+     , http-types, hxt, iso8601-time, MissingH, mtl, multipart
+     , optparse-applicative, random, silently, stm, tar, temporary, text
+     , time, transformers, unix, unordered-containers, utf8-string, wai
+     , wai-extra, warp
      }:
      mkDerivation {
        pname = "heyefi";
-       version = "1.1.0.0";
-       sha256 = "04ycaily7p53sdjgixzihl6mqaid74ak4mk7r0gwwiivzljixfyx";
+       version = "2.0.0.0";
+       sha256 = "1m1r9fnjf2i60nwqwcbyqm6nrmyipwn4nm7klgq0ykaghpag3kw8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -97522,15 +100443,16 @@ self: {
          transformers unix unordered-containers utf8-string wai warp
        ];
        testHaskellDepends = [
-         base bytestring case-insensitive configurator containers directory
-         exceptions filepath HandsomeSoup hspec hspec-wai http-types hxt
-         iso8601-time MissingH mtl multipart optparse-applicative random
-         silently stm tar temporary text time transformers unix
-         unordered-containers utf8-string wai wai-extra warp
+         base bytestring case-insensitive configurator directory exceptions
+         filepath HandsomeSoup hspec hspec-wai http-types hxt iso8601-time
+         MissingH mtl multipart optparse-applicative random silently stm tar
+         temporary text time transformers unix unordered-containers
+         utf8-string wai wai-extra warp
        ];
        homepage = "https://github.com/ryantm/heyefi";
        description = "A server for Eye-Fi SD cards";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hfann" = callPackage
@@ -97925,8 +100847,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgis";
-       version = "0.1.3.6";
-       sha256 = "1f4hj30ivx37lcxpmhvxchn153rbdxz91lcdphagf1j1j3imx1zw";
+       version = "0.1.3.7";
+       sha256 = "0c6xk4zf80pqjasyl7n5i2k3iy9l3xzkv2glmamm5scz9kyzdbvr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -99706,6 +102628,8 @@ self: {
        pname = "hledger-api";
        version = "1.4";
        sha256 = "00vpl1ch1v80f37y8yn2psdzm7ccxpfn3jp93xqxbasksxfawfa7";
+       revision = "1";
+       editedCabalFile = "1q3fvasxg32xza2pgf725x0j5dsz4rklng3blyw0kq70bccgdaka";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -99875,8 +102799,8 @@ self: {
        pname = "hledger-ui";
        version = "1.4";
        sha256 = "0rm6091nlpijhi6k74dg35g38a7ly22mqfnb0mvjp8pyxb4phq33";
-       revision = "4";
-       editedCabalFile = "0gffnqaf35yscg080p1p50f4w4l5rcvf5q5y19fbwmgwvp9nm687";
+       revision = "5";
+       editedCabalFile = "0lplgg7xffpjk6qjzvjp2klmb178bc06wnyq0qlh6fm29g8d18yp";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -100101,6 +103025,7 @@ self: {
        homepage = "http://rd.slavepianos.org/t/hls";
        description = "Haskell Lindenmayer Systems";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hlwm" = callPackage
@@ -100122,13 +103047,15 @@ self: {
      }) {};
 
   "hly" = callPackage
-    ({ mkDerivation, base, directory, filepath, hmt, process }:
+    ({ mkDerivation, base, directory, filepath, hmt, process, split }:
      mkDerivation {
        pname = "hly";
-       version = "0.15";
-       sha256 = "192szfq39g3fdcdsxj4bsi13bfha8gjbqbixav3iywmdsgxp1hj8";
+       version = "0.16";
+       sha256 = "0ccd5w4vzwki6p9dc69hx65ac1mkbjh5dx96gp2cb8qj3w3cas2m";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base directory filepath hmt process ];
+       libraryHaskellDepends = [
+         base directory filepath hmt process split
+       ];
        homepage = "http://rd.slavepianos.org/t/hly";
        description = "Haskell LilyPond";
        license = "GPL";
@@ -100183,7 +103110,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;
@@ -100203,7 +103130,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;
@@ -100646,24 +103573,25 @@ self: {
      }) {inherit (pkgs) mpfr;};
 
   "hmt" = callPackage
-    ({ mkDerivation, array, base, bytestring, colour, containers
-     , data-ordlist, directory, filepath, lazy-csv, logict
-     , multiset-comb, parsec, permutation, primes, safe, split
-     , utf8-string
+    ({ mkDerivation, aeson, array, base, bytestring, colour, containers
+     , data-ordlist, directory, fgl, filepath, lazy-csv, logict
+     , modular-arithmetic, multiset-comb, parsec, permutation, primes
+     , random, safe, split, text
      }:
      mkDerivation {
        pname = "hmt";
-       version = "0.15";
-       sha256 = "051kgsh9nl5f1nw8a24x7ds18g6ppzbhk3d9lf74nvvnccnzg3a9";
+       version = "0.16";
+       sha256 = "1s6fjyphq57wh15vryj6y493ikaqa3g14x6hj9lg2h6wf6g8042h";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base bytestring colour containers data-ordlist directory
-         filepath lazy-csv logict multiset-comb parsec permutation primes
-         safe split utf8-string
+         aeson array base bytestring colour containers data-ordlist
+         directory fgl filepath lazy-csv logict modular-arithmetic
+         multiset-comb parsec permutation primes random safe split text
        ];
        homepage = "http://rd.slavepianos.org/t/hmt";
        description = "Haskell Music Theory";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hmt-diagrams" = callPackage
@@ -100682,6 +103610,7 @@ self: {
        homepage = "http://rd.slavepianos.org/t/hmt-diagrams";
        description = "Haskell Music Theory Diagrams";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hmumps" = callPackage
@@ -101009,6 +103938,47 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {ocilib = null;};
 
+  "hocker" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, async, base
+     , bytestring, concurrentoutput, containers, cryptonite, data-fix
+     , deepseq, directory, exceptions, filepath, foldl, hnix
+     , http-client, http-types, lens, lens-aeson, lifted-base, memory
+     , mtl, neat-interpolation, network, network-uri, optional-args
+     , optparse-applicative, optparse-generic, pooled-io, pureMD5
+     , scientific, tar, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, temporary, text, time
+     , transformers, turtle, unordered-containers, uri-bytestring
+     , vector, wreq, zlib
+     }:
+     mkDerivation {
+       pname = "hocker";
+       version = "1.0.0";
+       sha256 = "16indvxpf2zzdkb7hp09zfnn1zkjwc1pcg2560x2vj7x4akh25mv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-wl-pprint async base bytestring
+         concurrentoutput containers cryptonite data-fix deepseq directory
+         exceptions filepath foldl hnix http-client http-types lens
+         lens-aeson lifted-base memory mtl neat-interpolation network
+         network-uri optparse-applicative optparse-generic pooled-io pureMD5
+         scientific tar temporary text time transformers turtle
+         unordered-containers uri-bytestring vector wreq zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring cryptonite data-fix filepath hnix lens mtl network
+         optional-args optparse-applicative optparse-generic temporary text
+       ];
+       testHaskellDepends = [
+         aeson ansi-wl-pprint base bytestring containers cryptonite mtl
+         network network-uri tasty tasty-golden tasty-hunit tasty-quickcheck
+         tasty-smallcheck text unordered-containers
+       ];
+       homepage = "https://github.com/awakesecurity/hocker#readme";
+       description = "Interact with the docker registry and generate nix build instructions";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "hodatime" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
      , directory, filepath, mtl, random, tasty, tasty-hunit
@@ -101660,14 +104630,14 @@ self: {
      , conduit-extra, connection, containers, deepseq, directory, extra
      , filepath, haskell-src-exts, http-conduit, http-types, js-flot
      , js-jquery, mmap, network, network-uri, old-locale, process
-     , process-extras, QuickCheck, resourcet, tar, template-haskell
-     , text, time, transformers, uniplate, utf8-string, vector, wai
-     , wai-logger, warp, warp-tls, zlib
+     , process-extras, QuickCheck, resourcet, storable-tuple, tar
+     , template-haskell, text, time, transformers, uniplate, utf8-string
+     , vector, wai, wai-logger, warp, warp-tls, zlib
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.13";
-       sha256 = "1wxdzkifgm3bnpzr45sf49dyqwnb8bnc5wmqbv5yhxv19gmjk8kn";
+       version = "5.0.14";
+       sha256 = "1y5vjwp60s35h13bnhjh4ga731m3vz004dbg8w5s7mwnfk5akkz7";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -101676,8 +104646,9 @@ self: {
          connection containers deepseq directory extra filepath
          haskell-src-exts http-conduit http-types js-flot js-jquery mmap
          network network-uri old-locale process process-extras QuickCheck
-         resourcet tar template-haskell text time transformers uniplate
-         utf8-string vector wai wai-logger warp warp-tls zlib
+         resourcet storable-tuple tar template-haskell text time
+         transformers uniplate utf8-string vector wai wai-logger warp
+         warp-tls zlib
        ];
        executableHaskellDepends = [ base ];
        testTarget = "--test-option=--no-net";
@@ -102137,22 +105108,43 @@ self: {
        license = "GPL";
      }) {};
 
+  "hosc_0_16" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder, bytestring
+     , data-binary-ieee754, network, time, transformers
+     }:
+     mkDerivation {
+       pname = "hosc";
+       version = "0.16";
+       sha256 = "1xj5kkpkzzwfi26n28s0gkr9vzkmvp276n9jb75j2ccbr8q79vbj";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base binary blaze-builder bytestring data-binary-ieee754 network
+         time transformers
+       ];
+       homepage = "http://rd.slavepianos.org/t/hosc";
+       description = "Haskell Open Sound Control";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hosc-json" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
-     , hosc, json, text, unordered-containers, utf8-string, vector
+     , hosc, json, text, transformers, unordered-containers, utf8-string
+     , vector
      }:
      mkDerivation {
        pname = "hosc-json";
-       version = "0.15";
-       sha256 = "0sask4nr5njf9grzigldflrbp7460z55fsam1pc3wcnsa575hxhi";
+       version = "0.16";
+       sha256 = "059wpgvr2vbkdq2gmy8mrwqkqv1zrh2qz499v6i242q0z9m4gr3m";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors bytestring hosc json text
-         unordered-containers utf8-string vector
+         transformers unordered-containers utf8-string vector
        ];
        homepage = "http://rd.slavepianos.org/t/hosc-json";
        description = "Haskell Open Sound Control JSON Serialisation";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hosc-utils" = callPackage
@@ -102429,33 +105421,68 @@ self: {
      }) {};
 
   "hpack" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
+     , containers, deepseq, directory, filepath, Glob, hspec
+     , interpolate, mockery, QuickCheck, temporary, text
+     , unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "hpack";
+       version = "0.18.1";
+       sha256 = "1ssawa6187m0xzn7i5hn154qajq46jlpbvz1s28qk4bigpv38m7k";
+       revision = "1";
+       editedCabalFile = "193hxa5ar54dhr0acp1y1c0990689srqqr2bygrv31ivhz6hj1sx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base-compat bytestring containers deepseq directory
+         filepath Glob text unordered-containers yaml
+       ];
+       executableHaskellDepends = [
+         aeson base base-compat bytestring containers deepseq directory
+         filepath Glob text unordered-containers yaml
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat bytestring containers deepseq
+         directory filepath Glob hspec interpolate mockery QuickCheck
+         temporary text unordered-containers yaml
+       ];
+       homepage = "https://github.com/sol/hpack#readme";
+       description = "An alternative format for Haskell packages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hpack_0_20_0" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, Cabal
-     , containers, deepseq, directory, filepath, Glob, hspec, HUnit
-     , interpolate, mockery, pretty, QuickCheck, temporary, text
+     , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
+     , HUnit, interpolate, mockery, pretty, QuickCheck, temporary, text
      , unordered-containers, yaml
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.19.3";
-       sha256 = "16czxklzgxv36s30zaqym80wb3jc40nnd32r8gswb1xi85y97fgr";
+       version = "0.20.0";
+       sha256 = "0n8dhxk0h45lhc436xmdbmf0pva26dyg6p9vcksfl3dfp0nvf2mi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob pretty text unordered-containers yaml
+         aeson base base-compat bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob pretty text unordered-containers
+         yaml
        ];
        executableHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob pretty text unordered-containers yaml
+         aeson base base-compat bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob pretty text unordered-containers
+         yaml
        ];
        testHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob hspec HUnit interpolate mockery pretty
-         QuickCheck temporary text unordered-containers yaml
+         aeson base base-compat bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob hspec HUnit interpolate mockery
+         pretty QuickCheck temporary text unordered-containers yaml
        ];
        homepage = "https://github.com/sol/hpack#readme";
        description = "An alternative format for Haskell packages";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hpack-convert" = callPackage
@@ -102916,8 +105943,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.3.1.1";
-       sha256 = "01ckscym6lgb6k63n6g0q9972imabv4kncsxr2h37xkahfyh68hk";
+       version = "1.4.0.0";
+       sha256 = "0hfs4i1h2pfy8hd2c24ig4zd1fw6v9wmm39616a0ipb7vgalra6b";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          fields-json hpqtypes lifted-base log-base monad-control mtl safe
@@ -102993,21 +106020,17 @@ self: {
      }) {};
 
   "hps" = callPackage
-    ({ mkDerivation, base, directory, filepath, hcg-minus, random }:
+    ({ mkDerivation, base, filepath, hcg-minus, process }:
      mkDerivation {
        pname = "hps";
-       version = "0.15";
-       sha256 = "0kmmrjg93rr6cjmg5n821p00qr4m3q46nnyfhql2s2nf20p7kprh";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.16";
+       sha256 = "0y819776sk97hdwf67x67289gdqmxn2g39l7ri0n8z8vdap5rq96";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base hcg-minus ];
-       executableHaskellDepends = [
-         base directory filepath hcg-minus random
-       ];
-       homepage = "http://rd.slavepianos.org/?t=hps";
+       libraryHaskellDepends = [ base filepath hcg-minus process ];
+       homepage = "http://rd.slavepianos.org/t/hps";
        description = "Haskell Postscript";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hps-cairo" = callPackage
@@ -103512,6 +106535,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) fltk; fltk_images = null;};
 
+  "hs-functors" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "hs-functors";
+       version = "0.1.1.0";
+       sha256 = "0fd9sn0l5q6qxk8br0pa6k3sbv3r0ccij6lb9jm1a174kxjfxzma";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Functors from products of Haskell and its dual to Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hs-gchart" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -104225,23 +107259,24 @@ self: {
      }) {};
 
   "hsc3" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, data-default
-     , data-ordlist, directory, filepath, hashable, hosc, network
-     , process, random, safe, split, transformers
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , data-default, data-ordlist, directory, filepath, hashable, hosc
+     , network, process, random, safe, split, transformers, vector
      }:
      mkDerivation {
        pname = "hsc3";
-       version = "0.15.1";
-       sha256 = "1ad5q4rq82v7l556rinaiikglr1kjswi5raw0dxqwsfjbp8imbha";
+       version = "0.16";
+       sha256 = "0m6pas8dx48mx91159s7p7fljnivs13cg34gys906nhq11dmjdqn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base binary bytestring containers data-default data-ordlist
+         array base binary bytestring containers data-default data-ordlist
          directory filepath hashable hosc network process random safe split
-         transformers
+         transformers vector
        ];
        homepage = "http://rd.slavepianos.org/t/hsc3";
        description = "Haskell SuperCollider";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsc3-auditor" = callPackage
@@ -104304,19 +107339,21 @@ self: {
        homepage = "http://rd.slavepianos.org/t/hsc3-db";
        description = "Haskell SuperCollider Unit Generator Database";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsc3-dot" = callPackage
     ({ mkDerivation, base, directory, filepath, hsc3, process }:
      mkDerivation {
        pname = "hsc3-dot";
-       version = "0.15";
-       sha256 = "1ck2g15zw23smry1xvn9ida8ln57vnvkxvr3khhp5didwisgm90m";
+       version = "0.16";
+       sha256 = "0jz3x6s6svgil1cyalq4xkv09s55d8r44cc2ksp0npmgpmp3x454";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base directory filepath hsc3 process ];
        homepage = "http://rd.slavepianos.org/t/hsc3-dot";
        description = "haskell supercollider graph drawing";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsc3-forth" = callPackage
@@ -104453,6 +107490,7 @@ self: {
        homepage = "https://github.com/kaoskorobase/hsc3-process";
        description = "Create and control scsynth processes";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsc3-rec" = callPackage
@@ -104694,6 +107732,23 @@ self: {
        license = "LGPL";
      }) {};
 
+  "hscolour_1_24_3" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hscolour";
+       version = "1.24.3";
+       sha256 = "06divyzjv8q7gfcak96lf5faysqzaxy1xds102amgphq0f038baa";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [ base containers ];
+       homepage = "http://code.haskell.org/~malcolm/hscolour/";
+       description = "Colourise Haskell code";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hscope" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cpphs, deepseq
      , directory, haskell-src-exts, mtl, process, pure-cdb, test-simple
@@ -105015,6 +108070,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hsexif_0_6_1_5" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, hspec, HUnit
+     , iconv, text, time
+     }:
+     mkDerivation {
+       pname = "hsexif";
+       version = "0.6.1.5";
+       sha256 = "0vmhd6l9vkzm4pqizqh3hjb86f4vk212plvlzfd6rd5dc08fl4ig";
+       libraryHaskellDepends = [
+         base binary bytestring containers iconv text time
+       ];
+       testHaskellDepends = [
+         base binary bytestring containers hspec HUnit iconv text time
+       ];
+       homepage = "https://github.com/emmanueltouzery/hsexif";
+       description = "EXIF handling library in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsfacter" = callPackage
     ({ mkDerivation, base, containers, language-puppet, text }:
      mkDerivation {
@@ -105458,6 +108533,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hslua-module-text" = callPackage
+    ({ mkDerivation, base, hslua, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "hslua-module-text";
+       version = "0.1.2.1";
+       sha256 = "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf";
+       libraryHaskellDepends = [ base hslua text ];
+       testHaskellDepends = [ base hslua tasty tasty-hunit text ];
+       homepage = "https://github.com/hslua/hslua-module-test";
+       description = "Lua module for text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsmagick" = callPackage
     ({ mkDerivation, base, bytestring, bzip2, directory, filepath
      , freetype2, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
@@ -105938,6 +109027,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-expectations-match" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, template-haskell
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "hspec-expectations-match";
+       version = "0.2.0.0";
+       sha256 = "16ca3fqjigj08y1cz2vvzsqfxnwypdi62hm5rw31flih45nb5nq1";
+       libraryHaskellDepends = [
+         base hspec-expectations template-haskell transformers-base
+       ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/cjdev/hspec-expectations-match#readme";
+       description = "An hspec expectation that asserts a value matches a pattern";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "hspec-expectations-pretty" = callPackage
     ({ mkDerivation, base, deepseq, hspec-expectations
      , wl-pprint-extras, wl-pprint-terminfo
@@ -105992,8 +109098,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
@@ -106007,6 +109113,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-golden-aeson_0_3_0_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
+     , filepath, hspec, hspec-core, QuickCheck, quickcheck-arbitrary-adt
+     , random, silently, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-golden-aeson";
+       version = "0.3.0.0";
+       sha256 = "02w17sbvxjrmyxws7wgjr529fl8vwi22xh3q68z7iwvss46dykrc";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath hspec
+         QuickCheck quickcheck-arbitrary-adt random transformers
+       ];
+       testHaskellDepends = [
+         aeson base directory hspec hspec-core QuickCheck
+         quickcheck-arbitrary-adt silently transformers
+       ];
+       homepage = "https://github.com/plow-technologies/hspec-golden-aeson#readme";
+       description = "Use tests to monitor changes in Aeson serialization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-hashable" = callPackage
     ({ mkDerivation, base, hashable, hspec, hspec-core, QuickCheck
      , silently
@@ -107609,20 +110738,22 @@ self: {
      }) {};
 
   "html-tokenizer" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, case-insensitive
-     , conversion, conversion-case-insensitive, conversion-text
-     , directory, doctest, filepath, text
+    ({ mkDerivation, attoparsec, base, base-prelude, html-entities
+     , QuickCheck, quickcheck-instances, rerebase, semigroups, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-builder, vector
+     , vector-builder
      }:
      mkDerivation {
        pname = "html-tokenizer";
-       version = "0.4.1";
-       sha256 = "1h8pxphfx4pic0ds6mivk74ca761wkiklyd3bmfyqgbnhllsfxhh";
+       version = "0.6.3";
+       sha256 = "0vwjqv2fqz63ip6q2j62f54phcyrdwghsbs4c4ziz7dh35nh4ahx";
        libraryHaskellDepends = [
-         attoparsec base-prelude case-insensitive conversion
-         conversion-case-insensitive conversion-text text
+         attoparsec base base-prelude html-entities semigroups text
+         text-builder vector vector-builder
        ];
        testHaskellDepends = [
-         base base-prelude directory doctest filepath
+         attoparsec QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck
        ];
        homepage = "https://github.com/nikita-volkov/html-tokenizer";
        description = "An \"attoparsec\"-based HTML tokenizer";
@@ -107908,8 +111039,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.5.7.0";
-       sha256 = "18zza3smv5fn5clgq2nij0wqnakh950xif9lwlfqbkam5k1flhg2";
+       version = "0.5.7.1";
+       sha256 = "19cvnnfcjj2m3pgs6ivyjs21rw9wx5ynarh6hvb27a76cscai2fy";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -108807,8 +111938,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2-client";
-       version = "0.4.0.0";
-       sha256 = "077qd9pqgyw2ldsl1rjmn9bk04i6pndckdk9wnqiaq8gibl7d6yw";
+       version = "0.6.0.0";
+       sha256 = "09xbpasgjy7hziml68237jvxadvl3wgg6mgykfd61lb7fiq3f7kl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108983,6 +112114,28 @@ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "huckleberry" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -109262,6 +112415,8 @@ self: {
        pname = "hunt-searchengine";
        version = "0.3.0.1";
        sha256 = "1y8pq158jwdl3zq5f0xdgszihp8z181lhwd92d66ckw9nh0sllw6";
+       revision = "1";
+       editedCabalFile = "1srw68r0ccar89vx72ndqxd3009pflx7iyy3cnlp4v50v0imsn4x";
        libraryHaskellDepends = [
          aeson aeson-pretty base binary bytestring containers data-default
          data-r-tree data-stringmap deepseq dlist filepath hslogger
@@ -112688,6 +115843,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
@@ -113928,17 +117084,19 @@ self: {
      }) {};
 
   "inspection-testing" = callPackage
-    ({ mkDerivation, base, bytestring, containers, generic-lens, ghc
-     , template-haskell, text
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "inspection-testing";
-       version = "0.1";
-       sha256 = "126nxs5q6n2swdgbsa2l7ai7m2ad3br8nh6maskd99cfpji24gjn";
-       libraryHaskellDepends = [ base containers ghc template-haskell ];
-       testHaskellDepends = [ base bytestring generic-lens text ];
+       version = "0.1.2";
+       sha256 = "1si89b5scc7qw88shmyzi1abbvgl7fv16yw731n5niw4cqps329j";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
        homepage = "https://github.com/nomeata/inspection-testing";
-       description = "GHC plugin to do inspection esting";
+       description = "GHC plugin to do inspection testing";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -114454,8 +117612,8 @@ self: {
     ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }:
      mkDerivation {
        pname = "interpolation";
-       version = "0.1.0.1";
-       sha256 = "0j19k0j4ys7wd4p6knkvr4p5didavq9j3y1vgncwd5r0gm43wsdc";
+       version = "0.1.0.2";
+       sha256 = "1qjh0jx6xx1x80diay8q18basfwkrsm9x0yrqd27ig2mi9drp0qq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base utility-ht ];
@@ -114542,8 +117700,8 @@ self: {
      }:
      mkDerivation {
        pname = "intricacy";
-       version = "0.7.0.1";
-       sha256 = "05nz32z4gyjprh22dddwk3jb45nl2bm558d1sh09g4n2rvx0m4i7";
+       version = "0.7.1";
+       sha256 = "1byc6k4d5wcwls96zg12xq6kz4fzp9zmr0wcsk92iv2qpg0ra6ji";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -114559,6 +117717,22 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
+  "intrinsic-superclasses" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-meta, mtl
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "intrinsic-superclasses";
+       version = "0.1.0.0";
+       sha256 = "0vvkh65fdm6sgx3m5irk6l96krg99f14h3z45lz19z6xj57627y5";
+       libraryHaskellDepends = [
+         base containers haskell-src-meta mtl template-haskell
+       ];
+       homepage = "https://github.com/daig/intrinsic-superclasses#readme";
+       description = "A quasiquoter implementation of the Intrinsic Superclasses Proposal";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "intro" = callPackage
     ({ mkDerivation, base, bifunctors, binary, bytestring, containers
      , deepseq, dlist, extra, hashable, lens, mtl, QuickCheck, safe
@@ -117626,10 +120800,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-autotype";
-       version = "1.0.17";
-       sha256 = "06wsx4m4x6h65jqr29ddgp93y56xmkd1h5gp80ks6734sawnnpl4";
-       revision = "1";
-       editedCabalFile = "1ng3dg8ra752mms2xnz2q4l7asd8mcr3shi1z62iaw66pkw2accx";
+       version = "1.0.18";
+       sha256 = "0h2aiq7k6s2qw81mrj77i86vfaci0387cwm6lbfzfag3r4993w7h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117695,20 +120867,22 @@ self: {
      }) {};
 
   "json-bytes-builder" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, scientific
-     , semigroups, text
+    ({ mkDerivation, aeson, base, base-prelude, bytestring, criterion
+     , rebase, scientific, semigroups, text
      }:
      mkDerivation {
        pname = "json-bytes-builder";
-       version = "0.5";
-       sha256 = "1bd3xyjjja58bd3najkbnscgm4awzn89g2f0npvgsr51y1713hdj";
+       version = "0.5.2";
+       sha256 = "1a7bak30av58739wsxqv8p11nb3ljpj3xfd43yc563z5s3qnchqk";
        libraryHaskellDepends = [
          base base-prelude bytestring scientific semigroups text
        ];
-       benchmarkHaskellDepends = [ base-prelude bytestring text ];
+       testHaskellDepends = [ base-prelude bytestring text ];
+       benchmarkHaskellDepends = [ aeson criterion rebase ];
        homepage = "https://github.com/nikita-volkov/json-bytes-builder";
        description = "Direct-to-bytes JSON Builder";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-encoder" = callPackage
@@ -118972,8 +122146,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, microlens, text }:
      mkDerivation {
        pname = "kanji";
-       version = "2.0.0";
-       sha256 = "0g0549c96vc4ndvs1c5dazwha6d3s28h4xwkskmvgli1kxdm2iqm";
+       version = "3.0.2";
+       sha256 = "1kgq8ns8mig93rf86wskay4kjp1lgdwp3xywld20mxdp4zwr5a6b";
        libraryHaskellDepends = [
          base bytestring containers microlens text
        ];
@@ -119182,6 +122356,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "katip_0_5_2_0" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , bytestring, containers, criterion, deepseq, directory, either
+     , filepath, hostname, microlens, microlens-th, monad-control, mtl
+     , old-locale, quickcheck-instances, regex-tdfa, resourcet
+     , safe-exceptions, scientific, semigroups, stm, string-conv, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell
+     , text, time, time-locale-compat, transformers, transformers-base
+     , transformers-compat, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "katip";
+       version = "0.5.2.0";
+       sha256 = "1mvqrs5skv0yfza0vkapy0qi8x0xmp3aj82a86845s1zf0whly7x";
+       libraryHaskellDepends = [
+         aeson async auto-update base bytestring containers either hostname
+         microlens microlens-th monad-control mtl old-locale resourcet
+         safe-exceptions scientific semigroups stm string-conv
+         template-haskell text time transformers transformers-base
+         transformers-compat unix unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory microlens
+         quickcheck-instances regex-tdfa safe-exceptions stm tasty
+         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
+         time time-locale-compat unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         aeson async base blaze-builder criterion deepseq directory filepath
+         safe-exceptions text time transformers unix
+       ];
+       homepage = "https://github.com/Soostone/katip";
+       description = "A structured logging framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "katip-elasticsearch" = callPackage
     ({ mkDerivation, aeson, async, base, bloodhound, bytestring
      , containers, criterion, deepseq, enclosed-exceptions, exceptions
@@ -120723,21 +123934,6 @@ self: {
      }) {};
 
   "lackey" = callPackage
-    ({ mkDerivation, base, servant, servant-foreign, tasty, tasty-hspec
-     , text
-     }:
-     mkDerivation {
-       pname = "lackey";
-       version = "0.4.5";
-       sha256 = "0xczvbfvgcifb6mzyicihgz6vcn7bx2d3w9r8ih9mdclbfhc32l6";
-       libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base servant tasty tasty-hspec text ];
-       homepage = "https://github.com/tfausak/lackey#readme";
-       description = "Generate Ruby clients from Servant APIs";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "lackey_0_4_6" = callPackage
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
@@ -120748,7 +123944,6 @@ self: {
        homepage = "https://github.com/tfausak/lackey#readme";
        description = "Generate Ruby clients from Servant APIs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lagrangian" = callPackage
@@ -120839,6 +124034,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
@@ -121683,6 +124879,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "language-c_0_7_1" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, filepath, happy, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "language-c";
+       version = "0.7.1";
+       sha256 = "1jm9yzj727wsbfpnqkvbavbaq0vzv4i2p8p2kqqwkgmkz4ip2i57";
+       libraryHaskellDepends = [
+         array base bytestring containers directory filepath pretty process
+         syb
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [ base directory filepath process ];
+       homepage = "http://visq.github.io/language-c/";
+       description = "Analysis and generation of C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-c-comments" = callPackage
     ({ mkDerivation, alex, array, base, language-c }:
      mkDerivation {
@@ -124072,14 +127288,20 @@ self: {
      }) {};
 
   "lenz" = callPackage
-    ({ mkDerivation, base, base-unicode-symbols, transformers }:
+    ({ mkDerivation, base, base-unicode-symbols, hs-functors
+     , transformers
+     }:
      mkDerivation {
        pname = "lenz";
-       version = "0.1.2.2";
-       sha256 = "1hzvw76fgaf5d5l1dca9662c0pplgv0h53dwfr42cwg0hxj6c876";
-       libraryHaskellDepends = [ base base-unicode-symbols transformers ];
+       version = "0.2.2.1";
+       sha256 = "0w8imq8x5g71byjv8q00fp688mc02kf19n2i23b8474z6sk1mhg8";
+       revision = "1";
+       editedCabalFile = "0ib3xxrdi3d06psr6mvf241gx1n03qmi7m03cixj4zv8hgmhls3n";
+       libraryHaskellDepends = [
+         base base-unicode-symbols hs-functors transformers
+       ];
        description = "Van Laarhoven lenses";
-       license = "unknown";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "lenz-template" = callPackage
@@ -124088,8 +127310,8 @@ self: {
      }:
      mkDerivation {
        pname = "lenz-template";
-       version = "0.1.0.1";
-       sha256 = "1j11cg76w9kyc1nn395qhzj9cp64ff0jq8y0h5x9lcn2r18zihhi";
+       version = "0.2.0.0";
+       sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -124828,6 +128050,7 @@ self: {
        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
@@ -127906,12 +131129,12 @@ self: {
      , extra, filepath, fmt, formatting, hashable, hspec, HUnit, lens
      , mmorph, monad-control, monad-loops, mtl, network, QuickCheck
      , text, text-format, time, transformers, transformers-base
-     , universum, unix, unordered-containers, yaml
+     , universum, unix, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "log-warper";
-       version = "1.5.3";
-       sha256 = "1rp9jarjp867j9fcqkbp9b4mv3f0hywskw738hl915608iijxc7c";
+       version = "1.7.1";
+       sha256 = "1fxczmxgccmgbccipnvpds77ch0sa0cfmpqc4k00d05icbf58fja";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127919,7 +131142,7 @@ self: {
          exceptions extra filepath fmt formatting hashable lens mmorph
          monad-control monad-loops mtl network text text-format time
          transformers transformers-base universum unix unordered-containers
-         yaml
+         vector yaml
        ];
        executableHaskellDepends = [ base exceptions text universum yaml ];
        testHaskellDepends = [
@@ -128065,8 +131288,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect-extra";
-       version = "1.2.0";
-       sha256 = "0d4n4swwgwz4hw750a9firyi516mhb83nr3gqpnrbfyf4mqnr1bc";
+       version = "1.2.1";
+       sha256 = "0sk4wagknvspn45lll1sy5jx3vz1ljsjj3yabyx7cnlyf5bl3k61";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128104,8 +131327,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect-extra-handler";
-       version = "1.1.0";
-       sha256 = "01kkkcn49m684rbf7vgyl5swbfv6yv7h1nkwcii2caghkc0yxapi";
+       version = "1.1.1";
+       sha256 = "1g73xyd1skh7paamnsia0x3cdayd34s12xvvxqaifm3wm19jy1rf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129407,10 +132630,8 @@ self: {
      }:
      mkDerivation {
        pname = "lxd-client";
-       version = "0.1.0.2";
-       sha256 = "1m1rqzbjnd73p6y2iak5fpdq15n52pn2lancvr5s0japw45knqhz";
-       revision = "1";
-       editedCabalFile = "003vlaqpqcxhdmc2l0851i4c689bzlc2s9rlrdw6mdcsl4l58qwr";
+       version = "0.1.0.4";
+       sha256 = "188n9qc7c4755wmp6w50x7rzkdrf8f31d7alxcp0qg28qvhq94hx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129568,6 +132789,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) lzma;};
 
+  "lzma-conduit_1_2_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, conduit, HUnit
+     , lzma, QuickCheck, resourcet, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "lzma-conduit";
+       version = "1.2.0";
+       sha256 = "0jpzl1nb422d1a5k4ylh5wkl225x816xnx1y7qkd8wzxp5xxa7ba";
+       libraryHaskellDepends = [
+         base bytestring conduit lzma resourcet transformers
+       ];
+       testHaskellDepends = [
+         base base-compat bytestring conduit HUnit QuickCheck resourcet
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/alphaHeavy/lzma-conduit";
+       description = "Conduit interface for lzma/xz compression";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lzma-enumerator" = callPackage
     ({ mkDerivation, base, bindings-DSL, bytestring, enumerator, HUnit
      , lzma, mtl, QuickCheck, test-framework, test-framework-hunit
@@ -129945,8 +133188,8 @@ self: {
      }:
      mkDerivation {
        pname = "madlang";
-       version = "3.1.1.18";
-       sha256 = "00np5hkbab7hi46056hp6maa7fc63vbx227pj0y3d5q502hgf3jj";
+       version = "3.1.1.21";
+       sha256 = "1ai3fgyfpsnbw7f1p242hgva70b0fy4xg6ybfyldg9sghak8b5c7";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory process ];
@@ -130008,36 +133251,6 @@ self: {
      }:
      mkDerivation {
        pname = "magicbane";
-       version = "0.1.2";
-       sha256 = "19k31vy2ldf9a3jvmlys16n6w31a8h7b1iyp6m35f4n16ndjvwa1";
-       libraryHaskellDepends = [
-         aeson aeson-qq attoparsec base classy-prelude conduit
-         conduit-combinators data-default data-has either ekg-core ekg-wai
-         envy errors fast-logger http-api-data http-client http-client-tls
-         http-conduit http-date http-link-header http-media http-types
-         lifted-async mime-types monad-control monad-logger monad-metrics
-         mtl network network-uri raw-strings-qq refined servant
-         servant-server split string-conversions text transformers
-         unordered-containers wai wai-cli wai-middleware-metrics
-       ];
-       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;
-     }) {};
-
-  "magicbane_0_1_3" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, classy-prelude
-     , conduit, conduit-combinators, data-default, data-has, either
-     , ekg-core, ekg-wai, envy, errors, fast-logger, http-api-data
-     , http-client, http-client-tls, http-conduit, http-date
-     , http-link-header, http-media, http-types, lifted-async
-     , mime-types, monad-control, monad-logger, monad-metrics, mtl
-     , network, network-uri, raw-strings-qq, refined, servant
-     , servant-server, split, string-conversions, text, transformers
-     , unordered-containers, wai, wai-cli, wai-middleware-metrics
-     }:
-     mkDerivation {
-       pname = "magicbane";
        version = "0.1.3";
        sha256 = "164zljyc0wvisj8xb6q5j0xlhjhxw7068jl9s9y4rkd3x637j3as";
        libraryHaskellDepends = [
@@ -130053,7 +133266,6 @@ self: {
        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;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "magico" = callPackage
@@ -132581,6 +135793,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mega-sdist_0_3_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude-conduit
+     , conduit-extra, directory, filepath, http-conduit, optparse-simple
+     , tar-conduit, temporary, text, typed-process, yaml
+     }:
+     mkDerivation {
+       pname = "mega-sdist";
+       version = "0.3.0.4";
+       sha256 = "1qf7lhk2063lpkg2bm7x7sxxxf87laxjwsr4rw46hvjj2m8frh41";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring classy-prelude-conduit conduit-extra directory
+         filepath http-conduit optparse-simple tar-conduit temporary text
+         typed-process yaml
+       ];
+       homepage = "https://github.com/snoyberg/mega-sdist#readme";
+       description = "Handles uploading to Hackage from mega repos";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "megaparsec" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , exceptions, hspec, hspec-expectations, mtl, QuickCheck
@@ -133055,6 +136289,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
@@ -133534,28 +136769,6 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.2.0.1";
-       sha256 = "0hpi61410yq1qkfzm7dxqhpn2bw6596byfi8mkd66skkj67x1cfh";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring microlens scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring microlens tasty tasty-hunit text
-         unordered-containers vector
-       ];
-       homepage = "http://github.com/fosskers/microlens-aeson/";
-       description = "Law-abiding lenses for Aeson, using microlens";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "microlens-aeson_2_2_0_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, microlens
-     , scientific, tasty, tasty-hunit, text, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "microlens-aeson";
        version = "2.2.0.2";
        sha256 = "05zk6pfb9s48kgfpim1lj32vh3p54g633d5x4771inxihlskqd4d";
        libraryHaskellDepends = [
@@ -133569,7 +136782,6 @@ self: {
        homepage = "http://github.com/fosskers/microlens-aeson/";
        description = "Law-abiding lenses for Aeson, using microlens";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "microlens-contra" = callPackage
@@ -133892,8 +137104,8 @@ self: {
      }:
      mkDerivation {
        pname = "midimory";
-       version = "0.0.0.2";
-       sha256 = "13bfb2s6ybvspmmq427v55nb2csvcp4ijfgm9fvfh6cab2pm1dyz";
+       version = "0.0.0.3";
+       sha256 = "0jnzj3br3pb9ld1ha96kxk4zsxc38gc3njxmqb7nj8155b7r7x96";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -133956,8 +137168,8 @@ self: {
      }:
      mkDerivation {
        pname = "mighttpd2";
-       version = "3.4.1";
-       sha256 = "1mfqpmvypr67f7kxlagbqydf45lji59zyvwmflyhwjmyc8kcf90g";
+       version = "3.4.2";
+       sha256 = "0a5i9cs0rjap7i4gyda6dgglckn3ys0ldl0qkvnxvm87bcyyfc3k";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -134343,33 +137555,35 @@ self: {
      }) {};
 
   "minio-hs" = callPackage
-    ({ mkDerivation, async, base, bytestring, case-insensitive, conduit
-     , conduit-combinators, conduit-extra, containers, cryptonite
-     , cryptonite-conduit, data-default, directory, exceptions, filepath
-     , http-client, http-conduit, http-types, lifted-async, lifted-base
-     , memory, monad-control, protolude, QuickCheck, resourcet, tasty
-     , tasty-hunit, tasty-quickcheck, tasty-smallcheck, temporary, text
-     , text-format, time, transformers, transformers-base, xml-conduit
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , case-insensitive, conduit, conduit-combinators, conduit-extra
+     , containers, cryptonite, cryptonite-conduit, data-default
+     , directory, exceptions, filepath, http-client, http-conduit
+     , http-types, lifted-async, lifted-base, memory, monad-control
+     , protolude, QuickCheck, resourcet, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, temporary, text, text-format
+     , time, transformers, transformers-base, vector, xml-conduit
      }:
      mkDerivation {
        pname = "minio-hs";
-       version = "0.3.1";
-       sha256 = "0mrrkd3yl1lbii5gjmhcky3g26anvki3liswrzmfjkff0l7s3riv";
+       version = "0.3.2";
+       sha256 = "0yfhnvngw27h05hxywxp76fcy4566djsm0l3x2kx8n4ppwi5p6r4";
        libraryHaskellDepends = [
-         async base bytestring case-insensitive conduit conduit-combinators
-         conduit-extra containers cryptonite cryptonite-conduit data-default
-         exceptions filepath http-client http-conduit http-types
-         lifted-async lifted-base memory monad-control protolude resourcet
-         text text-format time transformers transformers-base xml-conduit
+         aeson async base base64-bytestring bytestring case-insensitive
+         conduit conduit-combinators conduit-extra containers cryptonite
+         cryptonite-conduit data-default exceptions filepath http-client
+         http-conduit http-types lifted-async lifted-base memory
+         monad-control protolude resourcet text text-format time
+         transformers transformers-base vector xml-conduit
        ];
        testHaskellDepends = [
-         async base bytestring case-insensitive conduit conduit-combinators
-         conduit-extra containers cryptonite cryptonite-conduit data-default
-         directory exceptions filepath http-client http-conduit http-types
-         lifted-async lifted-base memory monad-control protolude QuickCheck
-         resourcet tasty tasty-hunit tasty-quickcheck tasty-smallcheck
-         temporary text text-format time transformers transformers-base
-         xml-conduit
+         aeson async base base64-bytestring bytestring case-insensitive
+         conduit conduit-combinators conduit-extra containers cryptonite
+         cryptonite-conduit data-default directory exceptions filepath
+         http-client http-conduit http-types lifted-async lifted-base memory
+         monad-control protolude QuickCheck resourcet tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck temporary text text-format time
+         transformers transformers-base vector xml-conduit
        ];
        homepage = "https://github.com/minio/minio-hs#readme";
        description = "A Minio Haskell Library for Amazon S3 compatible cloud storage";
@@ -134844,6 +138058,53 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmark" = callPackage
+    ({ mkDerivation, aeson, base, containers, criterion
+     , data-default-class, deepseq, email-validate, foldl, hspec
+     , hspec-megaparsec, lucid, megaparsec, modern-uri, mtl
+     , parser-combinators, QuickCheck, text, weigh, yaml
+     }:
+     mkDerivation {
+       pname = "mmark";
+       version = "0.0.1.1";
+       sha256 = "06i95kjr7vhab5g6m8rypm31yxqk9lim5117n100cc19vk85fyqp";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base containers data-default-class deepseq email-validate
+         foldl lucid megaparsec modern-uri mtl parser-combinators text yaml
+       ];
+       testHaskellDepends = [
+         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
+         QuickCheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion text weigh ];
+       homepage = "https://github.com/mrkkrp/mmark";
+       description = "Strict markdown processor for writers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mmark-ext" = callPackage
+    ({ mkDerivation, base, data-default-class, foldl, hspec, lucid
+     , mmark, modern-uri, text
+     }:
+     mkDerivation {
+       pname = "mmark-ext";
+       version = "0.0.1.0";
+       sha256 = "0psjpz22brhav2qpp3vwiai0hnp9i0rlhmpilqll8c467sk4lysl";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base data-default-class foldl lucid mmark modern-uri text
+       ];
+       testHaskellDepends = [
+         base data-default-class hspec lucid mmark text
+       ];
+       homepage = "https://github.com/mrkkrp/mmark-ext";
+       description = "Commonly useful extensions for MMark markdown processor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmorph" = callPackage
     ({ mkDerivation, base, mtl, transformers, transformers-compat }:
      mkDerivation {
@@ -135049,8 +138310,8 @@ self: {
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.1.1.0";
-       sha256 = "0j2h4rh8ws4zcc47kcs0q8zr543aqnc1i6y4vkv2a8a5v2h2wzxr";
+       version = "0.1.1.1";
+       sha256 = "1nh0h1libpiw7lkh66almgh2r0gfa5mb9fancqy039rpyqkkfv1w";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec profunctors QuickCheck template-haskell text
@@ -135252,8 +138513,8 @@ self: {
      }:
      mkDerivation {
        pname = "moesocks";
-       version = "1.0.0.42";
-       sha256 = "17817g4fyy03la1jh718mrncpjf6vjh819rpvgjcmzk6dl2p0a49";
+       version = "1.0.0.43";
+       sha256 = "1wbxvsisk1aah186xn32sndw8djrk96dpawhsmygxkncn264599f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -135650,6 +138911,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "monad-io-adapter" = callPackage
+    ({ mkDerivation, base, exceptions, hspec, monad-control
+     , monad-logger, mtl, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-io-adapter";
+       version = "0.1.0.0";
+       sha256 = "0lbgc89d4wh7ciiv9mdp9fr1zfffqgsj504jxv9v6v1ba25fy9is";
+       libraryHaskellDepends = [
+         base exceptions monad-control monad-logger mtl transformers
+         transformers-base
+       ];
+       testHaskellDepends = [ base hspec transformers-base ];
+       homepage = "https://github.com/cjdev/monad-io-adapter#readme";
+       description = "Adapters between MonadIO and MonadBase IO";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "monad-journal" = callPackage
     ({ mkDerivation, base, either, monad-control, mtl, transformers
      , transformers-base
@@ -135666,16 +138945,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monad-journal_0_8_0" = callPackage
-    ({ mkDerivation, base, either, monad-control, mtl, transformers
+  "monad-journal_0_8_1" = callPackage
+    ({ mkDerivation, base, monad-control, mtl, transformers
      , transformers-base
      }:
      mkDerivation {
        pname = "monad-journal";
-       version = "0.8.0";
-       sha256 = "0l78flvvvhpk2zcb39ax0qjqpidi8ydnc3ipnh4vy63c8w02w39n";
+       version = "0.8.1";
+       sha256 = "1b05l40832ck44m52izj2lxw0ghi0ip4isb4377vb0b010hc42p2";
        libraryHaskellDepends = [
-         base either monad-control mtl transformers transformers-base
+         base monad-control mtl transformers transformers-base
        ];
        homepage = "http://github.com/phaazon/monad-journal";
        description = "Pure logger typeclass and monad transformer";
@@ -135912,17 +139191,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "monad-metrics_0_2_0_0" = callPackage
-    ({ mkDerivation, base, clock, ekg-core, hashable, microlens, mtl
-     , text, transformers, unordered-containers
+  "monad-metrics_0_2_1_0" = callPackage
+    ({ mkDerivation, base, clock, ekg-core, exceptions, hashable
+     , microlens, mtl, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "monad-metrics";
-       version = "0.2.0.0";
-       sha256 = "04rnblrxvax8pns5xp2ic04c9s78cikyphsw5w2894ll08b3srh9";
+       version = "0.2.1.0";
+       sha256 = "179wjbjv4lcm5y620kjgc0m26x4w51d00w581ga2h2hjxkw3zq0p";
        libraryHaskellDepends = [
-         base clock ekg-core hashable microlens mtl text transformers
-         unordered-containers
+         base clock ekg-core exceptions hashable microlens mtl text
+         transformers unordered-containers
        ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/sellerlabs/monad-metrics#readme";
@@ -136396,6 +139675,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "monad-unlift-ref_0_2_1" = callPackage
+    ({ mkDerivation, base, constraints, exceptions, monad-control
+     , monad-unlift, mtl, mutable-containers, resourcet, stm
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-unlift-ref";
+       version = "0.2.1";
+       sha256 = "078xjz3a6rgqqgf8zg9ngspixf9pgch845l6gs5ssy3l54wra18g";
+       libraryHaskellDepends = [
+         base constraints exceptions monad-control monad-unlift mtl
+         mutable-containers resourcet stm transformers transformers-base
+       ];
+       homepage = "https://github.com/fpco/monad-unlift";
+       description = "Typeclasses for representing monad transformer unlifting";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-var" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "monad-var";
+       version = "0.1.1.1";
+       sha256 = "1j9ydl29a4cqhkackcpzlp7amiwk0ifvyxdcmi2vka7m1d98jc6z";
+       libraryHaskellDepends = [ base stm transformers ];
+       homepage = "https://github.com/effectfully/monad-var#readme";
+       description = "Generic operations over variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "monad-wrap" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -137395,6 +140705,7 @@ self: {
        ];
        description = "Generate state diagrams from Motor FSM typeclasses";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "motor-reflection" = callPackage
@@ -137411,6 +140722,7 @@ self: {
        ];
        description = "Reflect on Motor FSM typeclasses to obtain runtime representations";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mount" = callPackage
@@ -138504,8 +141816,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "multirec";
-       version = "0.7.7";
-       sha256 = "1rv2jfj9kz2lzspn5klrx7aibj0wqai3cqkd7rkmzdadhwz6ahpk";
+       version = "0.7.8";
+       sha256 = "0n5rsjrg8b98aim1wsv1s2i17299h8g4k2gb7mgn1swzldrigjhz";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base ];
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
@@ -139096,6 +142408,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mustache_2_3_0" = callPackage
+    ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
+     , cmdargs, containers, directory, either, filepath, hspec, lens
+     , mtl, parsec, process, scientific, tar, template-haskell
+     , temporary, text, th-lift, unordered-containers, vector, wreq
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "mustache";
+       version = "2.3.0";
+       sha256 = "1q3vadcvv2pxg6rpp92jq5zy784jxphdfpf6xn9y6wg9g3jn7201";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory either filepath mtl
+         parsec scientific template-haskell text th-lift
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cmdargs filepath text yaml
+       ];
+       testHaskellDepends = [
+         aeson base base-unicode-symbols bytestring directory filepath hspec
+         lens process tar temporary text unordered-containers wreq yaml zlib
+       ];
+       homepage = "https://github.com/JustusAdam/mustache";
+       description = "A mustache template parser library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mustache-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , optparse-applicative, parsec, pretty-show, scientific, text
@@ -142150,6 +145493,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 {
@@ -142687,6 +146047,44 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "nix-delegate" = callPackage
+    ({ mkDerivation, base, foldl, managed, neat-interpolation
+     , optparse-applicative, text, turtle
+     }:
+     mkDerivation {
+       pname = "nix-delegate";
+       version = "1.0.0";
+       sha256 = "1fzk6a2izs8sf2gq93m91m6l7h8i3374as8979h106588ww2ghhb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base foldl managed neat-interpolation optparse-applicative text
+         turtle
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Convenient utility for distributed Nix builds";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "nix-deploy" = callPackage
+    ({ mkDerivation, base, neat-interpolation, optparse-applicative
+     , optparse-generic, text, turtle
+     }:
+     mkDerivation {
+       pname = "nix-deploy";
+       version = "1.0.0";
+       sha256 = "0qvf83kai3fa2s5xf6az2j1gxhiannvw569fnd2lylhcmjffl3j5";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base neat-interpolation optparse-applicative optparse-generic text
+         turtle
+       ];
+       homepage = "https://github.com/awakesecurity/nix-deploy#readme";
+       description = "Deploy Nix-built software to a NixOS machine";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "nix-derivation" = callPackage
     ({ mkDerivation, attoparsec, base, containers, criterion, deepseq
      , pretty-show, QuickCheck, system-filepath, text, vector
@@ -142709,6 +146107,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "nix-diff" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, Diff, mtl
+     , nix-derivation, optparse-generic, system-filepath, text, unix
+     , vector
+     }:
+     mkDerivation {
+       pname = "nix-diff";
+       version = "1.0.0";
+       sha256 = "1dds8r7ld64zl6hba8z3dij1kiacg6xqxlv85nhm2lf6lm9257i8";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         attoparsec base containers Diff mtl nix-derivation optparse-generic
+         system-filepath text unix vector
+       ];
+       homepage = "https://github.com/Gabriel439/nix-diff";
+       description = "Explain why two Nix derivations differ";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "nix-eval" = callPackage
     ({ mkDerivation, base, hindent, process, QuickCheck, strict, tasty
      , tasty-quickcheck
@@ -143552,6 +146970,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "nsis_0_3_2" = callPackage
+    ({ mkDerivation, base, directory, process, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "nsis";
+       version = "0.3.2";
+       sha256 = "1jhmiydkiii350h6gdj8f6k8d0drsbp6a2dji4nik72nca6mp65r";
+       libraryHaskellDepends = [ base transformers uniplate ];
+       testHaskellDepends = [
+         base directory process transformers uniplate
+       ];
+       homepage = "https://github.com/ndmitchell/nsis#readme";
+       description = "DSL for producing Windows Installer using NSIS";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "nth-prime" = callPackage
     ({ mkDerivation, base, opentheory-prime, opentheory-primitive }:
      mkDerivation {
@@ -143987,21 +147422,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "numhask_0_1_2" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, doctest, matrix
-     , protolude, QuickCheck, singletons, tasty, tasty-quickcheck
-     , vector
+  "numhask_0_1_3" = callPackage
+    ({ mkDerivation, base, doctest, protolude, QuickCheck, tasty
+     , tasty-quickcheck
      }:
      mkDerivation {
        pname = "numhask";
-       version = "0.1.2";
-       sha256 = "0vxs2qwgrq7ylp34r87hdnd2rxfyri2iyv933si8hzkgdg54zqk3";
+       version = "0.1.3";
+       sha256 = "1jycpcdidhc8zh64j67pb87drggmwdmja5klwm1wbdcvnsw4nzm6";
        libraryHaskellDepends = [
-         adjunctions base distributive matrix protolude QuickCheck
-         singletons vector
+         base protolude QuickCheck tasty tasty-quickcheck
        ];
-       testHaskellDepends = [ base doctest tasty tasty-quickcheck ];
-       homepage = "https://github.com/tonyday567/numhask";
+       testHaskellDepends = [
+         base doctest protolude QuickCheck tasty tasty-quickcheck
+       ];
+       homepage = "https://github.com/tonyday567/numhask#readme";
        description = "A numeric prelude";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -144046,14 +147481,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "numhask-range_0_1_1" = callPackage
+  "numhask-range_0_1_2" = callPackage
     ({ mkDerivation, adjunctions, base, distributive, doctest, numhask
      , protolude, QuickCheck, semigroupoids, tasty, tasty-quickcheck
      }:
      mkDerivation {
        pname = "numhask-range";
-       version = "0.1.1";
-       sha256 = "09vg6b1ddd8v5lsz15x1g9164c33m5jv48g9f1i5ylbn4vyld90n";
+       version = "0.1.2";
+       sha256 = "0rz2h4glfrc0h26f5idfv7966b95fm96bai1iwzkz0f3xmfvy8a0";
        libraryHaskellDepends = [
          adjunctions base distributive numhask protolude QuickCheck
          semigroupoids
@@ -144061,7 +147496,7 @@ self: {
        testHaskellDepends = [
          base doctest numhask tasty tasty-quickcheck
        ];
-       homepage = "https://github.com/tonyday567/numhask-range";
+       homepage = "https://github.com/tonyday567/numhask-range#readme";
        description = "Numbers that are range representations";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -144219,8 +147654,8 @@ self: {
      }:
      mkDerivation {
        pname = "nvvm";
-       version = "0.8.0.0";
-       sha256 = "1vs3694ybfzi9zv04mjnmcsy0b8w43pw2fw8yjnlzvknwzcf2sw3";
+       version = "0.8.0.1";
+       sha256 = "0nvxsmi5xr7n4ifizqd76bn7990yq5dysn0xk2pvyvd1ddazsrz1";
        setupHaskellDepends = [
          base Cabal cuda directory filepath template-haskell
        ];
@@ -144869,8 +148304,10 @@ self: {
      }:
      mkDerivation {
        pname = "ombra";
-       version = "1.0.0.0";
-       sha256 = "1mksrvidrl3nxfx5xy915sma23csw1iw959l5xl78r683kf4bkj7";
+       version = "1.1.0.0";
+       sha256 = "00cki27h3wpgpmcc3rv8fip1dmh9zsg5n0m5gfgdy0xs36xlyn4m";
+       revision = "1";
+       editedCabalFile = "0747v6b50lpwpbmmm5zyyq98dp40rkg0i88g5mp9w8wdwcsws0d8";
        libraryHaskellDepends = [
          base Boolean gl hashable hashtables MemoTrie monad-control
          transformers transformers-base unordered-containers vector-space
@@ -145267,18 +148704,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "opaleye-trans_0_4_1" = callPackage
-    ({ mkDerivation, base, mtl, opaleye, postgresql-simple
+  "opaleye-trans_0_4_2" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, opaleye, postgresql-simple
      , product-profunctors, transformers
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.4.1";
-       sha256 = "0k1nwx7m7mhc3wsh35zafgmgb71zyyych6nf90zrprh6hyy1ibvk";
+       version = "0.4.2";
+       sha256 = "05fvwbql1lvm0wbk3mmwy14ngpvilqir73yxp2xjb4y7wjk7r5wm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base mtl opaleye postgresql-simple product-profunctors transformers
+         base exceptions mtl opaleye postgresql-simple product-profunctors
+         transformers
        ];
        executableHaskellDepends = [
          base opaleye postgresql-simple product-profunctors
@@ -146209,6 +149647,37 @@ 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;
+     }) {};
+
+  "opml-conduit_0_6_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, conduit
+     , conduit-combinators, containers, data-default, hlint, lens-simple
+     , mono-traversable, monoid-subclasses, mtl, parsers, QuickCheck
+     , quickcheck-instances, resourcet, safe-exceptions, semigroups
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, timerep
+     , uri-bytestring, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "opml-conduit";
+       version = "0.6.0.4";
+       sha256 = "07axacfa0wik2cnpzcnjjp9w6ws8sjhinzxdc4vrxdxaj1v5a2s8";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base case-insensitive conduit conduit-combinators containers
+         lens-simple mono-traversable monoid-subclasses safe-exceptions
+         semigroups text time timerep uri-bytestring xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators containers data-default
+         hlint lens-simple mono-traversable mtl parsers QuickCheck
+         quickcheck-instances resourcet semigroups tasty tasty-hunit
+         tasty-quickcheck text time uri-bytestring xml-conduit
+       ];
+       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
@@ -146488,6 +149957,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-simple_0_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, directory, gitrev
+     , optparse-applicative, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "optparse-simple";
+       version = "0.1.0";
+       sha256 = "1g2cf4pcf1fa001z77g8gwnx0cxdpqs1iw9xp0kb9qrxm9gpk3c3";
+       libraryHaskellDepends = [
+         base gitrev optparse-applicative template-haskell transformers
+       ];
+       testHaskellDepends = [ base bytestring directory ];
+       homepage = "https://github.com/fpco/optparse-simple#readme";
+       description = "Simple interface to optparse-applicative";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-text" = callPackage
     ({ mkDerivation, base, hspec, optparse-applicative, text }:
      mkDerivation {
@@ -146788,8 +150275,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgstat";
-       version = "0.1.2";
-       sha256 = "11q8n9sy841klms368bs0wl14wg0q5dq5gfcipzm25pw6jswfgyy";
+       version = "0.1.3";
+       sha256 = "16vla9aq12hvv1b18j7zl8n1dhr31p4hb361gjfd0b1wf95j81r5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147618,22 +151105,25 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_0_1_1" = callPackage
+  "pandoc_2_0_3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , binary, blaze-html, blaze-markup, bytestring, Cabal
      , case-insensitive, cmark-gfm, containers, criterion, data-default
      , deepseq, Diff, directory, doctemplates, executable-path, filepath
-     , Glob, haddock-library, hslua, HTTP, http-client, http-client-tls
-     , http-types, JuicyPixels, mtl, network, network-uri, pandoc-types
-     , parsec, process, QuickCheck, random, safe, scientific, SHA
-     , skylighting, split, syb, tagsoup, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, temporary, texmath, text, time
-     , unix, unordered-containers, vector, xml, yaml, zip-archive, zlib
+     , Glob, haddock-library, hslua, hslua-module-text, HTTP
+     , http-client, http-client-tls, http-types, JuicyPixels, mtl
+     , network, network-uri, pandoc-types, parsec, process, QuickCheck
+     , random, safe, scientific, SHA, skylighting, split, syb, tagsoup
+     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck, temporary
+     , texmath, text, time, unix, unordered-containers, vector, xml
+     , yaml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.0.1.1";
-       sha256 = "1ihmzbfz2agg33xggmafqbpz90cmip0mv9xig9wf76mvhw7lxch3";
+       version = "2.0.3";
+       sha256 = "1vmk5kcys400gwbddxwsnh5lhv4n8jvi9nnhad1pf1hzva3y056q";
+       revision = "1";
+       editedCabalFile = "1fzvy28900577aca4sb8g36h4n50ifvmbhayppm02a755rfzqzdl";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -147643,11 +151133,11 @@ self: {
          aeson aeson-pretty base base64-bytestring binary blaze-html
          blaze-markup bytestring case-insensitive cmark-gfm containers
          data-default deepseq directory doctemplates filepath Glob
-         haddock-library hslua HTTP http-client http-client-tls http-types
-         JuicyPixels mtl network network-uri pandoc-types parsec process
-         random safe scientific SHA skylighting split syb tagsoup temporary
-         texmath text time unix unordered-containers vector xml yaml
-         zip-archive zlib
+         haddock-library hslua hslua-module-text HTTP http-client
+         http-client-tls http-types JuicyPixels mtl network network-uri
+         pandoc-types parsec process random safe scientific SHA skylighting
+         split syb tagsoup temporary texmath text time unix
+         unordered-containers vector xml yaml zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -148006,7 +151496,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
@@ -148014,8 +151504,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
@@ -149375,10 +152865,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "partial";
-       version = "0.1.0.0";
-       sha256 = "0ybh0yz68gawbfswk1s498asc1z7qw6b8qys7rasw5i5iw6vjvr8";
-       revision = "1";
-       editedCabalFile = "0wp1cqv9n9ff4wlxk7q17m0vd1dfh8wxljmmdc01l41gzc6bp77l";
+       version = "1.0.0.0";
+       sha256 = "1pgmiddwhk40bzhwznv6lwmxglsnp41z45qhpd5cm0nh2wmzgx5p";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/paf31/partial";
        description = "A nullary type class for partial functions";
@@ -149718,8 +153206,8 @@ self: {
     ({ mkDerivation, base, exceptions, path }:
      mkDerivation {
        pname = "path-extra";
-       version = "0.0.5";
-       sha256 = "0ks2h5w4zmgimhcxj6vxv3xrrkpjlfc21pdd8w4gbxci1gsd2jyh";
+       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;
@@ -151499,8 +154987,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-relational-record";
-       version = "0.1.1.0";
-       sha256 = "145am29vwjvvs93z8kqj4dgh71h64ascmqnd70w9g9qszb2rjwrm";
+       version = "0.1.2.0";
+       sha256 = "1xbrkf7vw872hxk6g7bv4c5hx0708x6sqf38a4qm0m9bf2qiakgd";
        libraryHaskellDepends = [
          base conduit containers mtl persistable-record persistent
          relational-query resourcet template-haskell text
@@ -151543,6 +155031,35 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-sqlite_2_6_3_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , hspec, microlens-th, monad-control, monad-logger, old-locale
+     , persistent, persistent-template, resource-pool, resourcet
+     , temporary, text, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-sqlite";
+       version = "2.6.3.1";
+       sha256 = "0rxzib6ck69kx0m2kd4h6rpqh45alq6rv9ivzla39162jrdj4557";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers microlens-th monad-control
+         monad-logger old-locale persistent resource-pool resourcet text
+         time transformers unordered-containers
+       ];
+       executableHaskellDepends = [ base monad-logger ];
+       testHaskellDepends = [
+         base hspec persistent persistent-template temporary text time
+         transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using sqlite3";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-template" = callPackage
     ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
      , ghc-prim, hspec, http-api-data, monad-control, monad-logger
@@ -152074,8 +155591,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 = [
@@ -152493,8 +156010,8 @@ self: {
     ({ mkDerivation, base, mtl, parsec, text }:
      mkDerivation {
        pname = "piki";
-       version = "0.5.2";
-       sha256 = "0rsc2anh20hlr2dfyh07dyrrfns0l1pibz6w129fp5l8m6h3xjin";
+       version = "0.5.3";
+       sha256 = "0704yazn6k4615chz4vkh4y1as9ks6kjgmmsggwrzsja7hk04hal";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -152670,6 +156187,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes_4_3_7" = callPackage
+    ({ mkDerivation, base, criterion, exceptions, mmorph, mtl
+     , optparse-applicative, QuickCheck, semigroups, test-framework
+     , test-framework-quickcheck2, transformers, void
+     }:
+     mkDerivation {
+       pname = "pipes";
+       version = "4.3.7";
+       sha256 = "16cxqksdpx4yrddhizmbbrw6nmwbvy52kf5r30hcc7i28d5iz81h";
+       libraryHaskellDepends = [
+         base exceptions mmorph mtl semigroups transformers void
+       ];
+       testHaskellDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+         transformers
+       ];
+       benchmarkHaskellDepends = [
+         base criterion mtl optparse-applicative transformers
+       ];
+       description = "Compositional pipelines";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-aeson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes
      , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers
@@ -152860,6 +156401,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
@@ -153551,6 +157093,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-random_1_0_0_4" = callPackage
+    ({ mkDerivation, base, mwc-random, pipes, vector }:
+     mkDerivation {
+       pname = "pipes-random";
+       version = "1.0.0.4";
+       sha256 = "17k510v2f5ziysqh7sknyw3rgxf8iblw800z3hh8gymaszkhfajl";
+       libraryHaskellDepends = [ base mwc-random pipes vector ];
+       homepage = "https://github.com/fosskers/pipes-random";
+       description = "Producers for handling randomness";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-rt" = callPackage
     ({ mkDerivation, base, mwc-random, pipes, time }:
      mkDerivation {
@@ -153607,6 +157162,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-safe_2_2_6" = callPackage
+    ({ mkDerivation, base, containers, exceptions, monad-control, mtl
+     , pipes, primitive, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "pipes-safe";
+       version = "2.2.6";
+       sha256 = "1y891xqp5qdv0lkgv66v7b2wnmvximmh6fjb2i5apm8p4rwih6wz";
+       libraryHaskellDepends = [
+         base containers exceptions monad-control mtl pipes primitive
+         transformers transformers-base
+       ];
+       description = "Safety for the pipes ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-shell" = callPackage
     ({ mkDerivation, async, base, bytestring, directory, hspec, pipes
      , pipes-bytestring, pipes-safe, process, stm, stm-chans, text
@@ -154039,6 +157611,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "plankton" = callPackage
+    ({ mkDerivation, adjunctions, base, protolude }:
+     mkDerivation {
+       pname = "plankton";
+       version = "0.0.0.1";
+       sha256 = "049dqzxygj81kzb5zqpw8cc3ql1hakwl3j84dzqhrc6vk6r9a50q";
+       libraryHaskellDepends = [ adjunctions base protolude ];
+       homepage = "https://github.com/chessai/plankton";
+       description = "The core of a numeric prelude, taken from numhask";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "plat" = callPackage
     ({ mkDerivation, base, bytestring, containers, mtl, utf8-string }:
      mkDerivation {
@@ -155111,6 +158695,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pomaps" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, containers, criterion
+     , deepseq, doctest, ghc-prim, Glob, lattices, random, tasty
+     , tasty-hspec, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "pomaps";
+       version = "0.0.0.1";
+       sha256 = "1k2p59qq9yqndk8p3igxrbiqq7i6f80krynnvja7nx4bjlpcm19w";
+       libraryHaskellDepends = [
+         base containers deepseq ghc-prim lattices
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms containers doctest Glob lattices tasty
+         tasty-hspec tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion deepseq random vector ];
+       homepage = "https://github.com/sgraf812/pomaps#readme";
+       description = "Maps and sets of partial orders";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pomodoro" = callPackage
     ({ mkDerivation, base, bytestring, cereal, directory, filepath
      , heredoc, libnotify, network, process, time, unix, wx, wxcore
@@ -155605,6 +159212,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "posix-paths_0_2_1_3" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, directory, doctest
+     , filepath, HUnit, process, QuickCheck, unix
+     }:
+     mkDerivation {
+       pname = "posix-paths";
+       version = "0.2.1.3";
+       sha256 = "1z5brmqraz2smpgbp3ldd9da0cz78glc8bfc5l6842qgc588iljp";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [
+         base bytestring doctest HUnit QuickCheck unix
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion directory filepath process unix
+       ];
+       description = "POSIX filepath/directory functionality";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "posix-pty" = callPackage
     ({ mkDerivation, base, bytestring, process, unix, util }:
      mkDerivation {
@@ -155699,17 +159326,17 @@ self: {
 
   "postgres-embedded" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, network
-     , postgresql-simple, shell-conduit
+     , postgresql-simple, process
      }:
      mkDerivation {
        pname = "postgres-embedded";
-       version = "0.1.7";
-       sha256 = "19jwgrqx8sycfy9lrz9qgz0hqksfh4z0a44ij7xsm8jvbmaqfqhy";
+       version = "0.1.8";
+       sha256 = "06jxpf42rkw3yasknabp6zkns9y06pakkfrazqiwq2xk6kaj8h0n";
        libraryHaskellDepends = [
-         base directory filepath network shell-conduit
+         base directory filepath network process
        ];
        testHaskellDepends = [
-         base bytestring filepath postgresql-simple shell-conduit
+         base bytestring filepath postgresql-simple process
        ];
        homepage = "https://github.com/ilya-murzinov/postgres-embedded";
        description = "Library for easily running embedded PostgreSQL server for tests";
@@ -155729,6 +159356,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "postgres-websockets" = callPackage
+    ({ 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 = "postgres-websockets";
+       version = "0.4.2.1";
+       sha256 = "0jh4ms9lz456as24v9d4vqj2b52i9gw7svk5lzvb65nhfdpb4kfp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring contravariant either hasql hasql-pool
+         http-types jose jwt lens lens-aeson postgresql-libpq protolude
+         retry stm stm-containers stringsearch text time
+         unordered-containers wai wai-websockets websockets
+       ];
+       executableHaskellDepends = [
+         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
+         hspec-wai-json http-types protolude stm unordered-containers
+         wai-extra
+       ];
+       homepage = "https://github.com/diogob/postgres-websockets#readme";
+       description = "Middleware to map LISTEN/NOTIFY messages to Websockets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "postgresql-binary" = callPackage
     ({ mkDerivation, aeson, base, base-prelude, binary-parser
      , bytestring, bytestring-strict-builder, containers, conversion
@@ -156338,8 +160001,8 @@ self: {
      }:
      mkDerivation {
        pname = "postmark-streams";
-       version = "0.1.0.0";
-       sha256 = "0kpwnkiykdaxlykmpnnr8pf4k176y1yv24hwr69mmf480r60mhsv";
+       version = "0.1.0.1";
+       sha256 = "16ag5jghbvz6gialpcpy491x63cq2z7kwrh9ahy8z2ryilcp64vi";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring binary bytestring
          http-streams io-streams text time
@@ -156660,8 +160323,8 @@ self: {
      }:
      mkDerivation {
        pname = "preamble";
-       version = "0.0.51";
-       sha256 = "0fbqrqaymm1dd4vrh9c4m0xy131rvkgaylgl7ffilnwy29wb8jl0";
+       version = "0.0.53";
+       sha256 = "0y0745i8mq803zv73l36k78j36z0h4vb44pwbvc4qsdkh5760nnz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -158172,6 +161835,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "product" = callPackage
+    ({ mkDerivation, base, category }:
+     mkDerivation {
+       pname = "product";
+       version = "0.1.0.0";
+       sha256 = "1dh1bf5mc2q6jb4srajn448fww5s8ixcwiswqp7pk9638sdh6dgk";
+       libraryHaskellDepends = [ base category ];
+       description = "Product category";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "product-isomorphic" = callPackage
     ({ mkDerivation, base, template-haskell, th-data-compat }:
      mkDerivation {
@@ -158620,15 +162294,16 @@ self: {
 
   "prometheus" = callPackage
     ({ mkDerivation, atomic-primops, base, bytestring, containers
-     , http-types, text, transformers, wai, warp
+     , http-client, http-types, lens, proto-lens, proto-lens-protoc
+     , text, transformers, wai, warp, wreq
      }:
      mkDerivation {
        pname = "prometheus";
-       version = "0.4.2";
-       sha256 = "0k5avxjv1z4cfrx5x368ygzv30ghwykv4ngifigy1ydnmp7c7n1h";
+       version = "0.5.0";
+       sha256 = "0bfm9frngj0lfpbmrxb0qg5x7bx447wyc8x8x79ah0r9l1l1bfsb";
        libraryHaskellDepends = [
-         atomic-primops base bytestring containers http-types text
-         transformers wai warp
+         atomic-primops base bytestring containers http-client http-types
+         lens proto-lens proto-lens-protoc text transformers wai warp wreq
        ];
        homepage = "http://github.com/bitnomial/prometheus";
        description = "Prometheus Haskell Client";
@@ -158766,8 +162441,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "4.9.0";
-       sha256 = "1pciifl4hm5bmdx2li4hj3cm41ffj7s23r4ivkr8x3zghmik3n88";
+       version = "5.1.0";
+       sha256 = "0bl1kb24s2bs7li096s4iwvd2wj188lb2y3cfymhgsyqj8c2fbzp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159165,8 +162840,8 @@ self: {
      }:
      mkDerivation {
        pname = "protobuf-simple";
-       version = "0.1.0.4";
-       sha256 = "1164f2v0wyqfvzbmfp8g2hi7jzx1pykzaix36mlh9rvd58s1h1m2";
+       version = "0.1.0.5";
+       sha256 = "1w8nx700pyq0r909akyihcajsx5pgj76f2nfvwabib2fy4kv8ikb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159538,24 +163213,26 @@ self: {
 
   "ptr" = callPackage
     ({ mkDerivation, base, base-prelude, bug, bytestring, contravariant
-     , mtl, profunctors, quickcheck-instances, rerebase, semigroups
-     , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
+     , mtl, profunctors, QuickCheck, quickcheck-instances, rerebase
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers
      }:
      mkDerivation {
        pname = "ptr";
-       version = "0.15.7";
-       sha256 = "0zbyr8kzz47c1rfjpw8rk0kh4rys8qd8vihz69wmnxgy0fa4z7l4";
+       version = "0.16.1";
+       sha256 = "04f0hywbv7azy3kl3hha1y43fs24f0w2hnd7aqccmfdklskjc6g4";
        libraryHaskellDepends = [
          base base-prelude bug bytestring contravariant mtl profunctors
          semigroups text time transformers
        ];
        testHaskellDepends = [
-         bug quickcheck-instances rerebase tasty tasty-hunit
+         bug QuickCheck quickcheck-instances rerebase tasty tasty-hunit
          tasty-quickcheck
        ];
        homepage = "https://github.com/nikita-volkov/ptr";
        description = "Abstractions for operations on pointers";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pub" = callPackage
@@ -160052,20 +163729,20 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.11.6";
-       sha256 = "0cl4lyx9b1fk4sf94nj6zjj1n5s7wr56ygrxyi0ac7fbav8r42w0";
+       version = "0.11.7";
+       sha256 = "1q6nzxchmwdqrx3bxx0k1h8a62iihz9kcfwybzhb9x13p9nbx9np";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-better-errors ansi-terminal base base-compat blaze-html
          bower-json boxes bytestring cheapskate clock containers
-         data-ordlist deepseq directory dlist edit-distance filepath
-         fsnotify Glob haskeline http-client http-types language-javascript
-         lens lifted-base monad-control monad-logger mtl parallel parsec
-         pattern-arrows pipes pipes-http process protolude regex-tdfa safe
-         scientific semigroups sourcemap spdx split stm stringsearch syb
-         text time transformers transformers-base transformers-compat
-         unordered-containers utf8-string vector
+         data-ordlist deepseq directory dlist edit-distance file-embed
+         filepath fsnotify Glob haskeline http-client http-types
+         language-javascript lens lifted-base monad-control monad-logger mtl
+         parallel parsec pattern-arrows pipes pipes-http process protolude
+         regex-tdfa safe scientific semigroups sourcemap spdx split stm
+         stringsearch syb text time transformers transformers-base
+         transformers-compat unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson aeson-better-errors ansi-terminal ansi-wl-pprint base
@@ -160083,9 +163760,9 @@ self: {
        testHaskellDepends = [
          aeson aeson-better-errors ansi-terminal base base-compat blaze-html
          bower-json boxes bytestring cheapskate clock containers
-         data-ordlist deepseq directory dlist edit-distance filepath
-         fsnotify Glob haskeline hspec hspec-discover http-client http-types
-         HUnit language-javascript lens lifted-base monad-control
+         data-ordlist deepseq directory dlist edit-distance file-embed
+         filepath fsnotify Glob haskeline hspec hspec-discover http-client
+         http-types HUnit language-javascript lens lifted-base monad-control
          monad-logger mtl parallel parsec pattern-arrows pipes pipes-http
          process protolude regex-tdfa safe scientific semigroups silently
          sourcemap spdx split stm stringsearch syb text time transformers
@@ -160354,8 +164031,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-ws";
-       version = "0.1.0.1";
-       sha256 = "0i5659wljhaindimm8b6khibr8mcmcr5iaags2a33zjb67gjbsd7";
+       version = "0.1.1.0";
+       sha256 = "04nk5jdw7pv57366hjscl5sdhbhyplpfb34y1dj3i31d8s20yn1a";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq hashable http-conduit lens
          lens-aeson network scientific stm text time transformers
@@ -160784,15 +164461,16 @@ self: {
 
   "qr-imager" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
-     , haskell-qrencode, hspec, jose-jwt, JuicyPixels, libqrencode
-     , microlens, MissingH, optparse-applicative, process, vector
+     , either, haskell-qrencode, hspec, jose-jwt, JuicyPixels
+     , libqrencode, microlens, MissingH, optparse-applicative, process
+     , vector
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "1.0.1.1";
-       sha256 = "1jx81ha39khy115als4sai7xz8n49i44a8nxix0gvr48p8in8cv0";
+       version = "1.0.1.3";
+       sha256 = "0n2y4z6s00b31dj5qwyykncxfi4yyiqvpxq1r7ls2xvv9pa4bhgc";
        libraryHaskellDepends = [
-         aeson base bytestring cryptonite directory haskell-qrencode
+         aeson base bytestring cryptonite directory either haskell-qrencode
          jose-jwt JuicyPixels microlens MissingH optparse-applicative
          process vector
        ];
@@ -161520,22 +165198,6 @@ self: {
      }) {};
 
   "quickcheck-special" = callPackage
-    ({ mkDerivation, base, bytestring, ieee754, QuickCheck, scientific
-     , text
-     }:
-     mkDerivation {
-       pname = "quickcheck-special";
-       version = "0.1.0.5";
-       sha256 = "189gadjm06zm3jilr5dcqbmfgq8d6j91nsvnzwwp9kdn3j9m711p";
-       libraryHaskellDepends = [
-         base bytestring ieee754 QuickCheck scientific text
-       ];
-       homepage = "https://github.com/minad/quickcheck-special#readme";
-       description = "Edge cases and special values for QuickCheck Arbitrary instances";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "quickcheck-special_0_1_0_6" = callPackage
     ({ mkDerivation, base, QuickCheck, special-values }:
      mkDerivation {
        pname = "quickcheck-special";
@@ -161545,7 +165207,6 @@ self: {
        homepage = "https://github.com/minad/quickcheck-special#readme";
        description = "Edge cases and special values for QuickCheck Arbitrary instances";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "quickcheck-state-machine" = callPackage
@@ -162417,8 +166078,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
@@ -163395,16 +167056,17 @@ self: {
      }) {};
 
   "raven-haskell" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
-     , network, random, text, time, unordered-containers, uuid
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit, mtl
+     , network, random, resourcet, text, time, unordered-containers
+     , uuid
      }:
      mkDerivation {
        pname = "raven-haskell";
-       version = "0.1.0.1";
-       sha256 = "0yy79834sk75zsmwci2r1nkakccwqypychff6779ljyr6ibyn7pg";
+       version = "0.1.2.0";
+       sha256 = "1g6102p6adn5jc2jvqjgyzpylvacv52yj754rki21l6d13cn07a4";
        libraryHaskellDepends = [
-         aeson base bytestring http-conduit network random text time
-         unordered-containers uuid
+         aeson base bytestring http-conduit mtl network random resourcet
+         text time unordered-containers uuid
        ];
        testHaskellDepends = [
          aeson base bytestring hspec unordered-containers
@@ -164322,6 +167984,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "real-day-end" = callPackage
+    ({ mkDerivation, base, quickcheck-instances, tasty
+     , tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "real-day-end";
+       version = "0.0.1";
+       sha256 = "0k96r3z3cbr67z1q55g63zy92i46qmigw52ar53c0hx0d1jfiazs";
+       libraryHaskellDepends = [ base time ];
+       testHaskellDepends = [
+         base quickcheck-instances tasty tasty-quickcheck time
+       ];
+       homepage = "https://github.com/s9gf4ult/real-day-end";
+       description = "Tiny library to calculate date considering when your day realy ends";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "really-simple-xml-parser" = callPackage
     ({ mkDerivation, base, parsec }:
      mkDerivation {
@@ -164384,7 +168063,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rebase_1_1_1" = callPackage
+  "rebase_1_2_1" = callPackage
     ({ mkDerivation, base, base-prelude, bifunctors, bytestring
      , containers, contravariant, contravariant-extras, deepseq, dlist
      , either, fail, hashable, mtl, profunctors, scientific
@@ -164393,8 +168072,8 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.1.1";
-       sha256 = "0rhfpdh8hmna02pbiljkiy623sdy1nqk60azr43cdx5q9aw1b3jy";
+       version = "1.2.1";
+       sha256 = "12qnx9psnq9ici4k58mwlf3g976gyhy53csllihxji71hsfjsaj3";
        libraryHaskellDepends = [
          base base-prelude bifunctors bytestring containers contravariant
          contravariant-extras deepseq dlist either fail hashable mtl
@@ -164606,18 +168285,19 @@ self: {
 
   "recursion-schemes-ext" = callPackage
     ({ mkDerivation, base, composition-prelude, criterion, deepseq
-     , hspec, lens, recursion-schemes, template-haskell
+     , hspec, lens, recursion-schemes
      }:
      mkDerivation {
        pname = "recursion-schemes-ext";
-       version = "0.2.1.0";
-       sha256 = "0hm042kqb2dq9j68nsy8a6qgmxicfqclgdg4v3i7q1griscazyjr";
+       version = "1.0.0.0";
+       sha256 = "154ypcjn15z3g9rbl257csz8zfalkw7xf6pawfyi9w69jw2sz381";
        libraryHaskellDepends = [
-         base composition-prelude deepseq lens recursion-schemes
-         template-haskell
+         base composition-prelude lens recursion-schemes
+       ];
+       testHaskellDepends = [ base deepseq hspec recursion-schemes ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq recursion-schemes
        ];
-       testHaskellDepends = [ base hspec ];
-       benchmarkHaskellDepends = [ base criterion ];
        homepage = "https://hub.darcs.net/vmchale/recursion-schemes-ext#readme";
        description = "Amateur addenda to recursion-schemes";
        license = stdenv.lib.licenses.bsd3;
@@ -165043,6 +168723,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "references_0_3_3_1" = callPackage
+    ({ mkDerivation, array, base, containers, directory, either
+     , filepath, HUnit, instance-control, lens, mtl, template-haskell
+     , text, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "references";
+       version = "0.3.3.1";
+       sha256 = "03n18skl989ksssi2lv50bns1iw9qixacabs9qvli4b36rnn01xw";
+       libraryHaskellDepends = [
+         array base containers directory either filepath instance-control
+         mtl template-haskell text transformers uniplate
+       ];
+       testHaskellDepends = [
+         array base containers directory either filepath HUnit
+         instance-control lens mtl template-haskell text transformers
+         uniplate
+       ];
+       homepage = "https://github.com/lazac/references";
+       description = "Selectors for reading and updating data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "refh" = callPackage
     ({ mkDerivation, base, clippard, cmdargs, directory, filepath
      , haskheap, network
@@ -166428,7 +170132,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "relational-query_0_10_0_0" = callPackage
+  "relational-query_0_11_0_0" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, dlist
      , names-th, persistable-record, product-isomorphic
      , quickcheck-simple, sql-words, template-haskell, text
@@ -166436,8 +170140,8 @@ self: {
      }:
      mkDerivation {
        pname = "relational-query";
-       version = "0.10.0.0";
-       sha256 = "0a5gqfi0ns1gh1p2csv63m2b0psyq8dl3wzxrvj07p4gqq0m36gb";
+       version = "0.11.0.0";
+       sha256 = "0v0syrcagwmwqs9gikhdj0ji3cypfvfy9if8zyajkvxdkxpwvmaz";
        libraryHaskellDepends = [
          array base bytestring containers dlist names-th persistable-record
          product-isomorphic sql-words template-haskell text th-reify-compat
@@ -166472,20 +170176,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "relational-query-HDBC_0_6_5_0" = callPackage
+  "relational-query-HDBC_0_6_6_1" = callPackage
     ({ mkDerivation, base, containers, convertible, dlist, HDBC
      , HDBC-session, names-th, persistable-record, product-isomorphic
-     , relational-query, relational-schemas, template-haskell
+     , relational-query, relational-schemas, sql-words, template-haskell
      , th-data-compat, transformers
      }:
      mkDerivation {
        pname = "relational-query-HDBC";
-       version = "0.6.5.0";
-       sha256 = "0d609xbxxanvggv5lqf7lwfrzzmw6k46b212g5kv19p9v5bx6k7c";
+       version = "0.6.6.1";
+       sha256 = "1aa4bjkv9i2an2igfdc0rvq2hmd6wv5zfgcbgw32y3qmy0zb3v2g";
        libraryHaskellDepends = [
          base containers convertible dlist HDBC HDBC-session names-th
          persistable-record product-isomorphic relational-query
-         relational-schemas template-haskell th-data-compat transformers
+         relational-schemas sql-words template-haskell th-data-compat
+         transformers
        ];
        homepage = "http://khibino.github.io/haskell-relational-record/";
        description = "HDBC instance of relational-query and typed query interface for HDBC";
@@ -166511,15 +170216,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "relational-record_0_2_0_0" = callPackage
+  "relational-record_0_2_1_2" = callPackage
     ({ mkDerivation, base, persistable-record
      , persistable-types-HDBC-pg, product-isomorphic, relational-query
      , relational-query-HDBC
      }:
      mkDerivation {
        pname = "relational-record";
-       version = "0.2.0.0";
-       sha256 = "0qbkpli2bdzwpp13sqxsk8li6hczvs6k0yybrbgwyjdrqnha09d3";
+       version = "0.2.1.2";
+       sha256 = "068d6a9xp9byhc3k1rb9a1zwifyg7mhxv3r6xisgdjv4w6fizbay";
        libraryHaskellDepends = [
          base persistable-record persistable-types-HDBC-pg
          product-isomorphic relational-query relational-query-HDBC
@@ -166537,8 +170242,8 @@ self: {
      }:
      mkDerivation {
        pname = "relational-record-examples";
-       version = "0.4.0.0";
-       sha256 = "0ch075l87sxxgmvis6hnrpc72lr0v21nx0xhw0ahpirqbw01ndqh";
+       version = "0.4.1.0";
+       sha256 = "121qd6l167mm90wfzf9x4hvxflkzjq3m7k11ijaii89rb61496wj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -166570,14 +170275,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "relational-schemas_0_1_5_0" = callPackage
+  "relational-schemas_0_1_6_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, relational-query
      , template-haskell, time
      }:
      mkDerivation {
        pname = "relational-schemas";
-       version = "0.1.5.0";
-       sha256 = "0q76z6bcr27x2anqfgh7gkms7m2dk6xz0i7p0czcq64x2hy7cjnz";
+       version = "0.1.6.1";
+       sha256 = "1lkqaahfrdm2dlyqz3wn9dm0sw8cypmndasrigc67q94ha4lrv81";
        libraryHaskellDepends = [
          base bytestring containers relational-query template-haskell time
        ];
@@ -167287,6 +170992,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "repline_0_1_7_0" = callPackage
+    ({ mkDerivation, base, containers, haskeline, mtl, process }:
+     mkDerivation {
+       pname = "repline";
+       version = "0.1.7.0";
+       sha256 = "1pjmkr5lnc6vdy8g90wnxlh1rzq6f3sc0j1facfc42iqi9fh6fjh";
+       libraryHaskellDepends = [ base containers haskeline mtl process ];
+       homepage = "https://github.com/sdiehl/repline";
+       description = "Haskeline wrapper for GHCi-like REPL interfaces";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "repo-based-blog" = callPackage
     ({ mkDerivation, base, blaze-html, containers, data-default
      , directory, dyre, filepath, filestore, hspec, hspec-discover
@@ -167458,7 +171176,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
@@ -167467,8 +171185,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
@@ -167522,8 +171240,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
        ];
@@ -167583,12 +171301,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rerebase_1_1_2" = callPackage
+  "rerebase_1_2" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.1.2";
-       sha256 = "1nlms737hwk8b9jb354w1czgsg0hgjm8xdj7rjhxv99zkhmp8bmi";
+       version = "1.2";
+       sha256 = "1plmy1fcvkx621cnn6dg6k61nkzsg9wrb9vf0jhc2s1vd4yfn3kw";
        libraryHaskellDepends = [ rebase ];
        homepage = "https://github.com/nikita-volkov/rerebase";
        description = "Reexports from \"base\" with a bunch of other standard libraries";
@@ -168467,6 +172185,34 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rfc" = callPackage
+    ({ mkDerivation, aeson, aeson-diff, async, base, blaze-html
+     , classy-prelude, containers, data-default, exceptions, hedis
+     , http-api-data, http-client-tls, http-types, lens, lifted-async
+     , markdown, monad-control, postgresql-simple, resource-pool
+     , servant, servant-blaze, servant-docs, servant-server
+     , servant-swagger, simple-logger, string-conversions, swagger2
+     , temporary, text, time-units, unordered-containers, url
+     , uuid-types, vector, wai, wai-cors, wai-extra, wreq
+     }:
+     mkDerivation {
+       pname = "rfc";
+       version = "0.0.0.3";
+       sha256 = "0068sckjcgcacjlj7xp0z02q60qghkji9l4frjagjsxxsskkksvc";
+       libraryHaskellDepends = [
+         aeson aeson-diff async base blaze-html classy-prelude containers
+         data-default exceptions hedis http-api-data http-client-tls
+         http-types lens lifted-async markdown monad-control
+         postgresql-simple resource-pool servant servant-blaze servant-docs
+         servant-server servant-swagger simple-logger string-conversions
+         swagger2 temporary text time-units unordered-containers url
+         uuid-types vector wai wai-cors wai-extra wreq
+       ];
+       homepage = "https://github.com/RobertFischer/rfc#README.md";
+       description = "Robert Fischer's Common library, for all Robert Fischer's common needs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "rfc1413-server" = callPackage
     ({ mkDerivation, base, network-simple, rfc1413-types }:
      mkDerivation {
@@ -168556,7 +172302,7 @@ self: {
      }) {};
 
   "riak" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, base, binary
+    ({ mkDerivation, aeson, async, attoparsec, base, bifunctors, binary
      , blaze-builder, bytestring, containers, criterion
      , data-default-class, deepseq, enclosed-exceptions, exceptions
      , hashable, HUnit, mersenne-random-pure64, monad-control, mtl
@@ -168567,15 +172313,15 @@ self: {
      }:
      mkDerivation {
        pname = "riak";
-       version = "1.1.2.0";
-       sha256 = "1vin0klwg8ajbcirxr82bk5g4yg3d2v7d40dxbpkncksbzva6wjj";
+       version = "1.1.2.1";
+       sha256 = "090cvjskm7s2r2999x56ddi1iq4dcib6axqsym6v9xaii60r7qg7";
        libraryHaskellDepends = [
-         aeson async attoparsec base binary blaze-builder bytestring
-         containers data-default-class deepseq enclosed-exceptions
-         exceptions hashable mersenne-random-pure64 monad-control network
-         protocol-buffers pureMD5 random resource-pool riak-protobuf
-         semigroups stm text time transformers transformers-base
-         unordered-containers vector
+         aeson async attoparsec base bifunctors binary blaze-builder
+         bytestring containers data-default-class deepseq
+         enclosed-exceptions exceptions hashable mersenne-random-pure64
+         monad-control network protocol-buffers pureMD5 random resource-pool
+         riak-protobuf semigroups stm text time transformers
+         transformers-base unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers data-default-class HUnit mtl
@@ -168583,7 +172329,7 @@ self: {
          tasty-quickcheck template-haskell text yaml
        ];
        benchmarkHaskellDepends = [ base bytestring criterion semigroups ];
-       homepage = "http://github.com/markhibberd/riak-haskell-client";
+       homepage = "http://github.com/riak-haskell-client/riak-haskell-client";
        description = "A Haskell client for the Riak decentralized data store";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -168605,6 +172351,28 @@ self: {
        license = "unknown";
      }) {};
 
+  "riak-protobuf-lens" = callPackage
+    ({ mkDerivation, base, bytestring, containers, microlens
+     , microlens-th, riak-protobuf, template-haskell
+     }:
+     mkDerivation {
+       pname = "riak-protobuf-lens";
+       version = "0.22.0.0";
+       sha256 = "1skb7yinin9brd55g4kwywrqhln7g32pharad3pfwjjp3xyz7qx1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers riak-protobuf
+       ];
+       executableHaskellDepends = [
+         base bytestring containers microlens microlens-th riak-protobuf
+         template-haskell
+       ];
+       homepage = "https://github.com/riak-haskell-client/riak-haskell-client#readme";
+       description = "Lenses for riak-protobuf";
+       license = "unknown";
+     }) {};
+
   "richreports" = callPackage
     ({ mkDerivation, ascetic, base, MissingH }:
      mkDerivation {
@@ -169101,6 +172869,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rob" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs
+     , directory, ede, filepath, fortytwo, Glob, pathwalk, text, time
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "rob";
+       version = "0.0.2";
+       sha256 = "1bbhv502c9r8d0kmrvl3q7yl12ykjwfvknlm0kmgnsv5lpz2zx59";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring cmdargs directory ede filepath
+         fortytwo Glob pathwalk text time unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [ base cmdargs ];
+       testHaskellDepends = [ base directory ];
+       homepage = "https://github.com/gianlucaguarini/rob#readme";
+       description = "Simple projects generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "robin" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, fsnotify
      , hdaemonize, lens, lifted-base, monad-control, mtl, process
@@ -169996,6 +173786,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
@@ -170057,14 +173848,13 @@ self: {
   "rtcm" = callPackage
     ({ mkDerivation, aeson, array, base, base64-bytestring
      , basic-prelude, binary, binary-bits, binary-conduit, bytestring
-     , conduit, conduit-combinators, conduit-extra, lens, lens-aeson
-     , random, tasty, tasty-hunit, tasty-quickcheck, template-haskell
-     , text, word24
+     , conduit, conduit-extra, lens, lens-aeson, random, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, word24
      }:
      mkDerivation {
        pname = "rtcm";
-       version = "0.2.8";
-       sha256 = "014cs6lsg6hdm7s2747j681xj87lh60l77mqbjijcl4lxh9brglw";
+       version = "0.2.10";
+       sha256 = "0c4pnmayv4m4cpzp0dpvgcwikpqi6q5n8w5pcgcq7qmx799rlb1f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170073,7 +173863,7 @@ self: {
        ];
        executableHaskellDepends = [
          aeson base basic-prelude binary-conduit bytestring conduit
-         conduit-combinators conduit-extra
+         conduit-extra
        ];
        testHaskellDepends = [
          base basic-prelude binary binary-bits bytestring lens random tasty
@@ -171503,28 +175293,24 @@ self: {
     ({ mkDerivation, aeson, array, base, base64-bytestring
      , basic-prelude, binary, binary-conduit, bytestring, conduit
      , conduit-extra, data-binary-ieee754, lens, lens-aeson, monad-loops
-     , QuickCheck, resourcet, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, unordered-containers, yaml
+     , resourcet, tasty, tasty-hunit, template-haskell, text, yaml
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.3.0";
-       sha256 = "14y8d8zlvf6bzc393mzdqjyw4if7wm3nwy6v89cdylyknf2klqls";
+       version = "2.3.1";
+       sha256 = "1iz6ayvb5vrbl6d436x7zfmj15vqq9yyqm1w4322k9j4khnn62hc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson array base base64-bytestring basic-prelude binary bytestring
          data-binary-ieee754 lens lens-aeson monad-loops template-haskell
-         text unordered-containers
+         text
        ];
        executableHaskellDepends = [
          aeson base basic-prelude binary-conduit bytestring conduit
          conduit-extra resourcet yaml
        ];
-       testHaskellDepends = [
-         aeson base base64-bytestring basic-prelude bytestring QuickCheck
-         tasty tasty-hunit tasty-quickcheck
-       ];
+       testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
        homepage = "https://github.com/swift-nav/libsbp";
        description = "SwiftNav's SBP Library";
        license = stdenv.lib.licenses.lgpl3;
@@ -171610,6 +175396,7 @@ self: {
        homepage = "http://rd.slavepianos.org/t/sc3-rdu";
        description = "Haskell bindings to sc3-rdu (sc3 rd ugens)";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "scalable-server" = callPackage
@@ -172992,14 +176779,14 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_ttf;};
 
-  "sdl2-ttf_2_0_1" = callPackage
+  "sdl2-ttf_2_0_2" = callPackage
     ({ mkDerivation, base, bytestring, SDL2, sdl2, SDL2_ttf
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "sdl2-ttf";
-       version = "2.0.1";
-       sha256 = "0sk1lnb9zrh2ip4lhxx4g6q4j23c35k62jvbzckzy4ajlbs3029v";
+       version = "2.0.2";
+       sha256 = "1r0ajm5macas0gy9xd845bb8p85974hcp92ri9pa0qy4b62cmihd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174305,8 +178092,8 @@ self: {
      }:
      mkDerivation {
        pname = "serokell-util";
-       version = "0.5.0";
-       sha256 = "0z460j5k1h74y1v0b7lwdw08qdp5c8ayvsvfa17xdhpb0p8dzriw";
+       version = "0.5.3";
+       sha256 = "02rr1wc1ss2rjx31w485k2hdnzhbs59pqzr9yvmk39082q9ppmk3";
        libraryHaskellDepends = [
          acid-state aeson ansi-terminal base base16-bytestring
          base64-bytestring bytestring clock containers deepseq directory
@@ -174870,6 +178657,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-cassava_0_10" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, cassava, http-media
+     , servant, servant-server, vector, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-cassava";
+       version = "0.10";
+       sha256 = "03jnyghwa5kjbl5j55njmp7as92flw91zs9cgdvb4jrsdy85sb4v";
+       libraryHaskellDepends = [
+         base base-compat bytestring cassava http-media servant vector
+       ];
+       testHaskellDepends = [
+         base base-compat bytestring cassava http-media servant
+         servant-server wai warp
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "Servant CSV content-type for cassava";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-checked-exceptions" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
      , hspec-wai, http-api-data, http-client, http-media
@@ -174936,7 +178744,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-client_0_12" = callPackage
+  "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
@@ -174946,8 +178754,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-client";
-       version = "0.12";
-       sha256 = "1w2hf68q7g4xy2jnb1k3jkim6pfassl571s4rkwwgwbmyp7ddjcm";
+       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
@@ -174985,6 +178793,7 @@ self: {
        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
@@ -175244,19 +179053,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 ];
@@ -175364,36 +179175,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-js";
-       version = "0.9.3";
-       sha256 = "1hicrbp4r57dwxrv4jncpklnvjr8gh01zdqmnh83k46qqni0as88";
-       revision = "2";
-       editedCabalFile = "0m4dsa285rmwrc3ilzvm9anzcnbnmvfkl6vz09hsmkr413ajr5gw";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base-compat charset lens servant servant-foreign text
-       ];
-       executableHaskellDepends = [
-         aeson base filepath lens servant servant-server stm transformers
-         warp
-       ];
-       testHaskellDepends = [
-         base base-compat hspec hspec-expectations language-ecmascript lens
-         QuickCheck servant text
-       ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "Automatically derive javascript functions to query servant webservices";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-js_0_9_3_1" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, charset, filepath, hspec
-     , hspec-expectations, language-ecmascript, lens, QuickCheck
-     , servant, servant-foreign, servant-server, stm, text, transformers
-     , warp
-     }:
-     mkDerivation {
-       pname = "servant-js";
        version = "0.9.3.1";
        sha256 = "01an3s6xnjng7vwzha658hcf3n28v99dviindqq0qv7dbrf3r1ri";
        isLibrary = true;
@@ -175412,7 +179193,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Automatically derive javascript functions to query servant webservices";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-kotlin" = callPackage
@@ -175422,8 +179202,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
@@ -175483,35 +179263,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-mock";
-       version = "0.8.2";
-       sha256 = "146z4n7ayg0347kabwdz1crha7ilfdcdx3pazdgsmq2bl8mwad3w";
-       revision = "2";
-       editedCabalFile = "16zbbjz7rj7fg6qs8zjy9arz7bwza9pq1gn15csnsvm5n6qnpgal";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring http-types QuickCheck servant servant-server
-         transformers wai
-       ];
-       executableHaskellDepends = [
-         aeson base QuickCheck servant-server warp
-       ];
-       testHaskellDepends = [
-         aeson base bytestring-conversion hspec hspec-wai QuickCheck servant
-         servant-server wai
-       ];
-       homepage = "http://haskell-servant.readthedocs.org/";
-       description = "Derive a mock server for free from your servant API types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-mock_0_8_3" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, bytestring-conversion
-     , hspec, hspec-wai, http-types, QuickCheck, servant, servant-server
-     , transformers, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-mock";
        version = "0.8.3";
        sha256 = "0fwkygv4rx98qys8apj7aby4xhssgzqdgsxmb6vh4ky71vjq0q5m";
        isLibrary = true;
@@ -175530,7 +179281,6 @@ self: {
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Derive a mock server for free from your servant API types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-multipart" = callPackage
@@ -175851,14 +179601,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-ruby_0_3_0_0" = callPackage
+  "servant-ruby_0_5_0_0" = callPackage
     ({ mkDerivation, base, casing, doctest, lens, QuickCheck
      , servant-foreign, text
      }:
      mkDerivation {
        pname = "servant-ruby";
-       version = "0.3.0.0";
-       sha256 = "14azm41iwj09ra8yyr0xvpirw8yxl3bs1fhgnpkk3538dz6n005s";
+       version = "0.5.0.0";
+       sha256 = "07rjrx5g41yz4wiax4z535zrdcyfvwpbjm81sdyskmkv44mv5g8z";
        libraryHaskellDepends = [ base casing lens servant-foreign text ];
        testHaskellDepends = [ base doctest QuickCheck ];
        homepage = "https://github.com/joneshf/servant-ruby#readme";
@@ -176118,32 +179868,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger";
-       version = "1.1.3.1";
-       sha256 = "0n5vvrxg1lllkm385g0jd2j5bsr21bcibwn5szdpn6r5yh2mvn78";
-       revision = "1";
-       editedCabalFile = "1bx68rcz4whjw3pqm40aiqpfigcgg9dkgjdlggry2iv81s0415xf";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson base bytestring hspec http-media insert-ordered-containers
-         lens QuickCheck servant swagger2 text unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq base directory doctest filepath hspec lens
-         QuickCheck servant swagger2 text time
-       ];
-       homepage = "https://github.com/haskell-servant/servant-swagger";
-       description = "Generate Swagger specification for your servant API";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "servant-swagger_1_1_4" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, bytestring, Cabal
-     , cabal-doctest, directory, doctest, filepath, hspec, http-media
-     , insert-ordered-containers, lens, QuickCheck, servant, swagger2
-     , text, time, unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-swagger";
        version = "1.1.4";
        sha256 = "0xcs019v0kmaa265a15zbqj591d3nrrj19r5176816pldq8q213i";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -176158,7 +179882,6 @@ self: {
        homepage = "https://github.com/haskell-servant/servant-swagger";
        description = "Generate Swagger specification for your servant API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-swagger-ui" = callPackage
@@ -177394,8 +181117,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakers";
-       version = "0.0.35";
-       sha256 = "14hkdkhpg5gs1mhd96ldy7xb35rqrr0cqnnaw3hmv2cyk6np7fnz";
+       version = "0.0.36";
+       sha256 = "1l2dn9s1pijh84l0difw7sb2b3id49p64fn235lj5qybww60ijhw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177434,6 +181157,33 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "shakespeare_2_0_14_1" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
+     , process, scientific, template-haskell, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.14.1";
+       sha256 = "02pahbvibll4jmbq6p5vxr2r4mmrfx3h0c8v6qbj4rlq96lc6a23";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim parsec process scientific template-haskell text
+         time transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "A toolkit for making compile-time interpolated templates";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -177865,7 +181615,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "shelly_1_6_8_4" = callPackage
+  "shelly_1_6_8_7" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , enclosed-exceptions, exceptions, hspec, HUnit, lifted-async
      , lifted-base, monad-control, mtl, process, system-fileio
@@ -177874,8 +181624,8 @@ self: {
      }:
      mkDerivation {
        pname = "shelly";
-       version = "1.6.8.4";
-       sha256 = "1s69ifnamzjd121rf7k5idxzbwhc4ap8msxjhfsya04kwzjcixyj";
+       version = "1.6.8.7";
+       sha256 = "10i9n4mmrfn6v02i320f4g3wak7yyjgijaj5kf9m2qpvw6wf95mj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178485,14 +182235,15 @@ self: {
      }:
      mkDerivation {
        pname = "silvi";
-       version = "0.0.2";
-       sha256 = "1rls25wifkgkz1fg4xw4bvpxa1807dp1h2q8kk7j7if7b66pj0cx";
+       version = "0.0.3";
+       sha256 = "1brvx8acfvpcw402b3676ydi6r95js6bhaasll59bm1khhl8d90b";
        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
@@ -179459,6 +183210,18 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "since" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "since";
+       version = "0.0.0";
+       sha256 = "1zy1vwna8a0421l3jvdm8mg36xwgj4xl3p2xkf678ahbzk0179vs";
+       libraryHaskellDepends = [ base time ];
+       homepage = "https://github.com/athanclark/since#readme";
+       description = "Get the number of seconds since the last invocation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "sindre" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, containers
      , libXft, mtl, parsec, permute, process, regex-pcre, setlocale
@@ -179638,21 +183401,21 @@ self: {
   "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
+     , network-uri-json, QuickCheck, quickcheck-instances
+     , test-invariant, text, unordered-containers
      }:
      mkDerivation {
        pname = "siren-json";
-       version = "0.1.0.0";
-       sha256 = "01z64vbqk06m500q83x42r3ki8k9a84ynz6gra4cw40v11559a7y";
+       version = "0.1.0.2";
+       sha256 = "0jkrqqfl713vpmypm7bkzvv5sia23zjhk0l90slyk4cmcmxn1s1a";
        libraryHaskellDepends = [
          aeson base bytestring containers http-media http-types network-uri
-         text unordered-containers
+         network-uri-json 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
+         http-types network-uri network-uri-json QuickCheck
+         quickcheck-instances test-invariant text unordered-containers
        ];
        homepage = "https://github.com/alunduil/siren-json.hs";
        description = "Siren Tools for Haskell";
@@ -180024,7 +183787,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_4_3_2" = callPackage
+  "skylighting_0_4_4_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
      , blaze-html, bytestring, case-insensitive, containers, criterion
      , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show, random
@@ -180033,8 +183796,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.4.3.2";
-       sha256 = "00qs35kjj68z75vmc0ijqn5ghrq2gdyi5q2j9x4lchvizgq6czhw";
+       version = "0.4.4.1";
+       sha256 = "1zvq31nbswidkr52fx91z5g326h4wnfk5sij3przgha117pl3v2j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -180163,16 +183926,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
@@ -181105,8 +184869,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-language";
-       version = "0.1.0.2";
-       sha256 = "0dm99hdl2npl9g213d6smiwk4ir0fd7xc4f2c2hz4dkgfxbz44lq";
+       version = "0.1.0.3";
+       sha256 = "18nw841pl2ba1ms3gksd9m928ihkhrh9553jq616sf22gwg7ykjh";
        libraryHaskellDepends = [
          attoparsec base bytestring containers snap-core
        ];
@@ -181141,6 +184905,8 @@ self: {
        pname = "snap-loader-static";
        version = "1.0.0.0";
        sha256 = "04i9fn84101w8ybns8m2830zlw2vvg81pzrs0vmj6s691y3ivxas";
+       revision = "1";
+       editedCabalFile = "0ghxjdh5hv2nb3m1rax3rlgszxrfv4x1dxb5n4f1h6xaya9ya0hh";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "http://snapframework.com/";
        description = "Snap static loader";
@@ -181911,13 +185677,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;
@@ -182858,19 +186624,15 @@ self: {
      }) {};
 
   "sort-by-pinyin" = callPackage
-    ({ mkDerivation, air, air-extra, air-th, base, bytestring
-     , containers, text
-     }:
+    ({ mkDerivation, air, base, bytestring, containers, text }:
      mkDerivation {
        pname = "sort-by-pinyin";
-       version = "2014.5.19";
-       sha256 = "1ksfx5zhagg2y8virg8am1w8ljrzc9ddmf7xgvi5gx88zibi32fd";
+       version = "2017.10.18";
+       sha256 = "0gxz5kmkcmq8330v1iclhxqzfb6p9qk4prnskm16qmv2i4dp1p34";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         air air-extra air-th base bytestring containers text
-       ];
+       libraryHaskellDepends = [ air base bytestring containers text ];
        homepage = "https://github.com/nfjinjing/sort-by-pinyin";
-       description = "Sort simplified Chinese by PinYin";
+       description = "Sort Simplified Chinese by PinYin";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -183170,15 +186932,17 @@ self: {
      }) {};
 
   "spake2" = callPackage
-    ({ mkDerivation, base, bytestring, cryptonite, memory
-     , optparse-applicative, protolude, QuickCheck, tasty, tasty-hspec
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, memory
+     , optparse-applicative, process, protolude, QuickCheck, tasty
+     , tasty-hspec
      }:
      mkDerivation {
        pname = "spake2";
-       version = "0.2.0";
-       sha256 = "16yqr9kvhf71iajn6mld8y4svq0l5yz5ljpjmajnfw6lw8fbjrim";
+       version = "0.4.0";
+       sha256 = "109hvcphd2rvqls84ahs6yy9k58yhh4f0zgqc4c78a6nz4709hdp";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring cryptonite memory protolude
        ];
@@ -183186,11 +186950,13 @@ self: {
          base cryptonite memory optparse-applicative protolude
        ];
        testHaskellDepends = [
-         base cryptonite protolude QuickCheck tasty tasty-hspec
+         aeson base bytestring cryptonite memory process protolude
+         QuickCheck tasty tasty-hspec
        ];
        homepage = "https://github.com/jml/haskell-spake2#readme";
        description = "Implementation of the SPAKE2 Password-Authenticated Key Exchange algorithm";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "spanout" = callPackage
@@ -183539,8 +187305,8 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.3.0";
-       sha256 = "05xc8dkrzf60pdbxw4mpdy2yqd4l3vxsqkq27f2wf6qqf6bc4vsh";
+       version = "0.3.1";
+       sha256 = "01w44hd53n770fm49x70k3c4pwvsvp641x7kdnafg6czy8500s2k";
        libraryHaskellDepends = [ base cmdargs containers leancheck ];
        testHaskellDepends = [ base leancheck ];
        benchmarkHaskellDepends = [ base leancheck ];
@@ -184044,8 +187810,8 @@ self: {
      }:
      mkDerivation {
        pname = "spreadsheet";
-       version = "0.1.3.5";
-       sha256 = "1h5a2ifr10ihaqvl819d0g3vnn2wzp27wqlfbk21v8wv07wrwckk";
+       version = "0.1.3.6";
+       sha256 = "0xqkkycyl8dw1nv9glag98arvgb9b1yk95c8sfa2p2fh9mvyy3sk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185426,25 +189192,6 @@ self: {
      }:
      mkDerivation {
        pname = "stackage-query";
-       version = "0.1.1";
-       sha256 = "0prwl42pn3k4yy2439bjsq2m5429xybxwivx1x5ws4k4chvl81fp";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base Cabal containers directory filepath optparse-applicative
-         process stackage-types text yaml
-       ];
-       homepage = "https://github.com/juhp/stackage-query";
-       description = "Stackage package query";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stackage-query_0_1_2" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, filepath
-     , optparse-applicative, process, stackage-types, text, yaml
-     }:
-     mkDerivation {
-       pname = "stackage-query";
        version = "0.1.2";
        sha256 = "0lxln46nwsz7646yc65c07biqg35vr75l1hdvb864ajv680wp2l0";
        isLibrary = false;
@@ -185456,7 +189203,6 @@ self: {
        homepage = "https://github.com/juhp/stackage-query";
        description = "Stackage package query";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stackage-sandbox" = callPackage
@@ -186373,8 +190119,8 @@ self: {
     ({ mkDerivation, base, Cabal, cabal-test-quickcheck, QuickCheck }:
      mkDerivation {
        pname = "step-function";
-       version = "0.1.1.1";
-       sha256 = "01by500w17156mvjy7mgic68cch25pn56fxj40jn0pqih331mxly";
+       version = "0.1.1.2";
+       sha256 = "1lsa84mc752lghpjszhwhky9hnpihy7wivdm0r6yl70k721s3ifk";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base Cabal cabal-test-quickcheck QuickCheck
@@ -186399,26 +190145,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)";
@@ -186514,6 +190262,8 @@ self: {
        pname = "stm-conduit";
        version = "3.0.0";
        sha256 = "02d83mji1rlijdn315q7fik6jy5q49fjwygd64c9kf4z0qy6cvyg";
+       revision = "1";
+       editedCabalFile = "0wmjqypqjw9irmpsmra6zbj1sa4l14xnx5xpaz2zvfsk4x90qyyg";
        libraryHaskellDepends = [
          async base cereal cereal-conduit conduit conduit-combinators
          conduit-extra directory ghc-prim lifted-async lifted-base
@@ -187094,17 +190844,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_11_0" = callPackage
+  "stratosphere_0_13_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hashable
      , hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.11.0";
-       sha256 = "1l9wyyw8zvmb7z0qvs5qk0mxbjnlm1405sxiz7wzff6ibxvk9kn5";
+       version = "0.13.0";
+       sha256 = "15b7s0jgsqrpsjh4l4i39k45qx9m0k4xsbhhm6ffzxlqi2ivkayz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -188777,6 +192528,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "subzero" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "subzero";
+       version = "0.1.0.3";
+       sha256 = "0va9j5vh3a4rsj7hcgq38ij7dsi08rhm43s3jsymx38q8kxhv6f8";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/code5hot/subzero#readme";
+       description = "Helps when going \"seed values\" -> alternatives and optional -> answers";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "success" = callPackage
     ({ mkDerivation, base, monad-control, mtl, transformers
      , transformers-base
@@ -189153,16 +192917,20 @@ self: {
      }) {};
 
   "supermonad" = callPackage
-    ({ mkDerivation, base, containers, fgl, ghc, mtl, transformers }:
+    ({ mkDerivation, base, containers, fgl, ghc, mtl, QuickCheck
+     , transformers
+     }:
      mkDerivation {
        pname = "supermonad";
-       version = "0.1";
-       sha256 = "0qlf3alrfi8zibqzlnd6gd422vwbhz37inr0ycdl7cz5x7m4g5pd";
+       version = "0.2.0";
+       sha256 = "1k1ysyjgnq5wic8hifrhpcmbi267inllqrh1dij234xykrkifd1m";
        libraryHaskellDepends = [
          base containers fgl ghc mtl transformers
        ];
+       testHaskellDepends = [ base containers ghc QuickCheck ];
        description = "Plugin and base library to support supermonads in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "supero" = callPackage
@@ -189790,8 +193558,8 @@ self: {
     ({ mkDerivation, base, containers, hashable, QuickCheck, vector }:
      mkDerivation {
        pname = "sym";
-       version = "0.12.1";
-       sha256 = "0qh023v5008byrfcc5ryj8fcl2pck3g8yjqdnrdij0jb4fhx3prw";
+       version = "0.13.0";
+       sha256 = "0ppgdhhxn5w05194mwcsca6m853h8hh5bxsm2l3jz52y388pi0ic";
        libraryHaskellDepends = [ base containers hashable vector ];
        testHaskellDepends = [ base hashable QuickCheck ];
        homepage = "https://github.com/akc/sym";
@@ -190346,6 +194114,40 @@ self: {
        license = "GPL";
      }) {};
 
+  "synthesizer-core_0_8_1_2" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, event-list, explicit-exception, filepath
+     , non-empty, non-negative, numeric-prelude, numeric-quest, old-time
+     , process, QuickCheck, random, sample-frame-np, sox
+     , storable-record, storable-tuple, storablevector, timeit
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-core";
+       version = "0.8.1.2";
+       sha256 = "0ii0nd76l9la9j148wvaxxzh12269ajmy314v1bk737mz5n126dk";
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq event-list
+         explicit-exception filepath non-empty non-negative numeric-prelude
+         numeric-quest process QuickCheck random sample-frame-np sox
+         storable-record storable-tuple storablevector transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base containers event-list non-empty non-negative numeric-prelude
+         QuickCheck random storable-tuple storablevector transformers
+         utility-ht
+       ];
+       benchmarkHaskellDepends = [
+         array base binary bytestring directory numeric-prelude old-time
+         storable-tuple storablevector timeit utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Audio signal processing coded in Haskell: Low level part";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "synthesizer-dimensional" = callPackage
     ({ mkDerivation, base, bytestring, event-list, non-negative
      , numeric-prelude, random, sox, storable-record, storablevector
@@ -190624,12 +194426,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.9";
-       sha256 = "0f27y3bdqlyvbxdchsn7mz2rhsvk4bxqy0xldy6l30vsv2q9gdx4";
-       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";
@@ -192074,8 +195876,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-ant-xml";
-       version = "1.1.0";
-       sha256 = "1xnh4yyzi4m21182n1hr5lak6gkgnpp4m6ixjk19gn4fnzwarz8d";
+       version = "1.1.1";
+       sha256 = "0asvz2jjk1zf3ylps1277kf4yy6bifascblsd3vjfk9k9rh52w3j";
        libraryHaskellDepends = [
          base containers directory filepath generic-deriving ghc-prim mtl
          stm tagged tasty transformers xml
@@ -192202,23 +196004,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-fail-fast";
-       version = "0.0.2";
-       sha256 = "1iis2p6amiph2cv351q4vha2h06cgv6sr93n0qd6ydayx2rn7r18";
-       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;
-     }) {};
-
-  "tasty-fail-fast_0_0_3" = callPackage
-    ({ mkDerivation, base, containers, directory, stm, tagged, tasty
-     , tasty-golden, tasty-hunit, tasty-tap
-     }:
-     mkDerivation {
-       pname = "tasty-fail-fast";
        version = "0.0.3";
        sha256 = "1pkqa3b1jglmy6g2sx9pyw2f6dlsg2crmgvy039xiyldl985g9w4";
        libraryHaskellDepends = [ base containers stm tagged tasty ];
@@ -192228,7 +196013,6 @@ self: {
        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.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-golden" = callPackage
@@ -192619,6 +196403,7 @@ self: {
        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
@@ -194683,24 +198468,25 @@ 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.5.1";
+       sha256 = "1x5dacn3zkc3v72kspdicmp0c1cr8yq83xp115lfj7aq5riw6z1r";
        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";
        description = "An efficient strict text builder";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-containers" = callPackage
@@ -196180,6 +199966,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
@@ -197264,8 +201066,8 @@ self: {
      }:
      mkDerivation {
        pname = "time-exts";
-       version = "3.0.3";
-       sha256 = "0v3q4n3zj613sywnh7p9fx5shq23ybagnz2bkk9drj1gypbpzjhs";
+       version = "3.0.4";
+       sha256 = "08nffyg181m1bgna4b6bv74w04byizzd5j80ad5xjb0mifbynzdd";
        libraryHaskellDepends = [
          attoparsec base bindings-DSL deepseq lens-simple mtl old-locale
          random text time tz
@@ -197352,6 +201154,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "time-locale-vietnamese" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "time-locale-vietnamese";
+       version = "1.0.0.0";
+       sha256 = "0xhbfdzrlhj3096w2dgk2ijpzs4kzym11sz3r0h8r19a3jrjs1ln";
+       libraryHaskellDepends = [ base time ];
+       homepage = "https://github.com/tungd/time-locale-vietnamese#readme";
+       description = "Vietnamese locale for date and time format";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "time-machine" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, mtl, time, tz }:
+     mkDerivation {
+       pname = "time-machine";
+       version = "0.1.0";
+       sha256 = "1nz14g7n4igy46gkw3xvksmi062vxkbbmp8q5hbjky2x7jnc8h8j";
+       libraryHaskellDepends = [ base mtl time tz ];
+       testHaskellDepends = [ base hspec HUnit mtl time tz ];
+       homepage = "https://github.com/y-taka-23/time-machine#readme";
+       description = "A library to mock the current time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "time-out" = callPackage
     ({ mkDerivation, base, data-default-class, exceptions
      , time-interval, time-units, transformers
@@ -197690,6 +201517,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "timemap_0_0_6" = callPackage
+    ({ mkDerivation, base, containers, criterion, focus, hashable
+     , list-t, QuickCheck, quickcheck-instances, stm, stm-containers
+     , tasty, tasty-hunit, tasty-quickcheck, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "timemap";
+       version = "0.0.6";
+       sha256 = "00bg1b0fplnahwsv7bx63v90hq9w0idpf7s9wqhvl3fdjs9nl5zp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers focus hashable list-t stm stm-containers time
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         base containers focus hashable list-t stm stm-containers time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers focus hashable list-t QuickCheck
+         quickcheck-instances stm stm-containers tasty tasty-hunit
+         tasty-quickcheck time unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion focus hashable list-t stm stm-containers
+         time unordered-containers
+       ];
+       description = "A mutable hashmap, implicitly indexed by UTCTime";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "timeout" = callPackage
     ({ mkDerivation, base, exceptions, mtl, QuickCheck, tasty
      , tasty-quickcheck, time
@@ -197918,8 +201778,8 @@ self: {
      }:
      mkDerivation {
        pname = "timezone-olson-th";
-       version = "0.1.0.3";
-       sha256 = "0jagq78mp09x8zhy3ygdd0pw2ms12c72qi9r7gqaird09rggs44w";
+       version = "0.1.0.4";
+       sha256 = "0xrf3hn8246s6n31bhq5arvn3xkwhfibmlfs5ahn5li2iblkn585";
        libraryHaskellDepends = [
          base template-haskell time timezone-olson timezone-series
        ];
@@ -198254,6 +202114,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "tldr_0_2_3" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmark, directory
+     , filepath, optparse-applicative, semigroups, shell-conduit, text
+     }:
+     mkDerivation {
+       pname = "tldr";
+       version = "0.2.3";
+       sha256 = "11xg9b2abfvwh484wkrj8j1c65qdy95c3xdc6gsmzqcyzi8d6k7j";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring cmark text
+       ];
+       executableHaskellDepends = [
+         base directory filepath optparse-applicative semigroups
+         shell-conduit
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/psibi/tldr-hs#readme";
+       description = "Haskell tldr client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tls" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
      , cereal, criterion, cryptonite, data-default-class, hourglass
@@ -198430,10 +202314,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
@@ -198774,8 +202659,8 @@ self: {
      }:
      mkDerivation {
        pname = "tomlcheck";
-       version = "0.1.0.18";
-       sha256 = "1csnwkxkj9wwcwf20ij66a4nz6cn9rsyy69h51qn8pmlzxn7hgyk";
+       version = "0.1.0.19";
+       sha256 = "1ql24s1wy4c34rmxh8x8lggnkpx686l8x5zsp3asdsxlx0k8n8zp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -198809,18 +202694,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
@@ -198828,6 +202712,7 @@ self: {
        homepage = "http://github.com/tittoassini/top";
        description = "Top (typed oriented protocol) API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "topkata" = callPackage
@@ -199257,8 +203142,8 @@ self: {
      }:
      mkDerivation {
        pname = "traildb";
-       version = "0.1.2.0";
-       sha256 = "0a6pjkslq4vi84l04g8s640hwg2yki3015z1glcslyyj4x4wb47m";
+       version = "0.1.4.0";
+       sha256 = "1qp3m8vfjy9kim9jikhxplyp6c21scj18n9qnb0pfd0hpjyigd9b";
        libraryHaskellDepends = [
          base bytestring containers directory exceptions primitive
          profunctors text time transformers unix vector
@@ -199498,6 +203383,17 @@ self: {
        broken = true;
      }) {effect-interpreters = null;};
 
+  "transformers-either" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "transformers-either";
+       version = "0.0.1";
+       sha256 = "1hr10mfmx2ac7si8a43cyhgxzg75amqin3wyvw06bgymnvd00dqj";
+       libraryHaskellDepends = [ base transformers ];
+       description = "An Either monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "transformers-free" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -199863,19 +203759,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
@@ -199883,9 +203775,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";
@@ -200339,6 +204230,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "tsetchan" = callPackage
+    ({ mkDerivation, async, base, containers, stm }:
+     mkDerivation {
+       pname = "tsetchan";
+       version = "0.0.0";
+       sha256 = "1jb1d18hq4vyinx5z2qrj3kw969snp4rmwv3gmqpjfynxwgn0jhx";
+       libraryHaskellDepends = [ base containers stm ];
+       testHaskellDepends = [ async base stm ];
+       homepage = "https://github.com/githubuser/tsetchan#readme";
+       description = "Hides duplicating channels when broadcasting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tskiplist" = callPackage
     ({ mkDerivation, array, base, containers, random, stm }:
      mkDerivation {
@@ -200865,22 +204769,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "turtle_1_4_4" = callPackage
+  "turtle_1_4_5" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
-     , criterion, directory, doctest, foldl, hostname, managed
-     , optional-args, optparse-applicative, process, semigroups, stm
-     , system-fileio, system-filepath, temporary, text, time
+     , containers, criterion, directory, doctest, foldl, hostname
+     , managed, optional-args, optparse-applicative, process, semigroups
+     , stm, system-fileio, system-filepath, temporary, text, time
      , transformers, unix, unix-compat
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.4.4";
-       sha256 = "0ixq9fdmcg2adiy9zgg3qmk6dwdahyw95aaqnf98jxi2j1h2aijz";
+       version = "1.4.5";
+       sha256 = "082svk0bcf1vvqrzfmb6r5rridgch0c15423fwcb57cfc8xzm8kx";
        libraryHaskellDepends = [
-         ansi-wl-pprint async base bytestring clock directory foldl hostname
-         managed optional-args optparse-applicative process semigroups stm
-         system-fileio system-filepath temporary text time transformers unix
-         unix-compat
+         ansi-wl-pprint async base bytestring clock containers directory
+         foldl hostname managed optional-args optparse-applicative process
+         semigroups stm system-fileio system-filepath temporary text time
+         transformers unix unix-compat
        ];
        testHaskellDepends = [ base doctest system-filepath temporary ];
        benchmarkHaskellDepends = [ base criterion text ];
@@ -200964,8 +204868,8 @@ self: {
      }:
      mkDerivation {
        pname = "tweet-hs";
-       version = "1.0.1.27";
-       sha256 = "1jd902al2xajf2404bqg8y7k06mrncyyipp0gdfqd864bfqxivz6";
+       version = "1.0.1.33";
+       sha256 = "0r1aq1w3nis3rqd94yrg2idkqbcrzs0dsnvbrmrny65b7l50zzbk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202008,8 +205912,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "1.1.0.0";
-       sha256 = "18a7pfqab0pk2mn11f3y5slx18m6vpdmzbq91p3wp86v59wsid2d";
+       version = "1.2.0.0";
+       sha256 = "0mnpa297x8ikgarr7wf8lllkyif240fsjzjigs9rx86r65vfszgy";
        libraryHaskellDepends = [
          base bytestring double-conversion ghc-prim text
        ];
@@ -204021,8 +207925,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "0.7.1.1";
-       sha256 = "08q3ldx0saahlxh2zkwmsq71lkwrvfrs19nzbgwwdvd31y4r0iq6";
+       version = "0.8.0";
+       sha256 = "058c9fhf5lysswch8gwicpjjpqh6l03iz861vm913r3a8lam777f";
        libraryHaskellDepends = [
          base bytestring containers deepseq exceptions ghc-prim hashable
          microlens microlens-mtl mtl safe safe-exceptions stm text
@@ -205080,7 +208984,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
@@ -205088,8 +208992,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
@@ -205431,6 +209335,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "util" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "util";
+       version = "0.1.0.0";
+       sha256 = "10n0c7yxvyzf7j4i3mlkxcz1xpc7vdll80rd4pwrs7rhqmd94viw";
+       libraryHaskellDepends = [ base ];
+       description = "Utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "util-plus" = callPackage
     ({ mkDerivation, array, base, containers, hashable, HTF, QuickCheck
      , safe, unordered-containers
@@ -206118,8 +210033,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "validity";
-       version = "0.4.0.0";
-       sha256 = "0ngivfphp468bp6djj8r76rwv2pcwgmawx04pnaw89m0wa5n27vw";
+       version = "0.4.0.2";
+       sha256 = "1ppisj45dccymlid7xwp1r2rgzql435smhl6s0n2b6alsx2h9qnz";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity typeclass";
@@ -206171,8 +210086,8 @@ self: {
     ({ mkDerivation, base, filepath, path, validity }:
      mkDerivation {
        pname = "validity-path";
-       version = "0.2.0.0";
-       sha256 = "1n84mnvyi1zf3888xvy2vvmca5fq594g0gqql5nisd3w1mrczw1f";
+       version = "0.2.0.2";
+       sha256 = "0c01nzd998fgxpkiddz6p91s84i10202md9pa1zmza0gik4rcv6y";
        libraryHaskellDepends = [ base filepath path validity ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity instances for Path";
@@ -206644,6 +210559,26 @@ self: {
        license = "GPL";
      }) {};
 
+  "vec" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, boring, criterion
+     , deepseq, distributive, fin, hashable, inspection-testing, lens
+     , semigroupoids, semigroups, tagged, vector
+     }:
+     mkDerivation {
+       pname = "vec";
+       version = "0";
+       sha256 = "1h4s4j10z94mjdifyibpnc7zzq6a8xklbzj164ck8hdq8fp7qj52";
+       libraryHaskellDepends = [
+         adjunctions base base-compat boring deepseq distributive fin
+         hashable lens semigroupoids semigroups
+       ];
+       testHaskellDepends = [ base fin inspection-testing tagged ];
+       benchmarkHaskellDepends = [ base criterion fin vector ];
+       homepage = "https://github.com/phadej/vec";
+       description = "Nat, Fin and Vec types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vect" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -206798,22 +210733,23 @@ 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";
        description = "Vector builder";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vector-bytes-instances" = callPackage
@@ -207178,6 +211114,33 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "vectortiles_1_2_0_6" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, criterion
+     , deepseq, hex, microlens, microlens-platform, protobuf, tasty
+     , tasty-hunit, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "vectortiles";
+       version = "1.2.0.6";
+       sha256 = "1l3sdd1cpcx9lxqcfzy9nndflzf8x2z7xayrj6k18zdf862dbxn7";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq protobuf text
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal containers hex protobuf tasty tasty-hunit
+         text vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring cereal containers criterion microlens
+         microlens-platform protobuf text vector
+       ];
+       homepage = "https://github.com/fosskers/vectortiles";
+       description = "GIS Vector Tiles, as defined by Mapbox";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -207293,16 +211256,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_1" = 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.1";
+       sha256 = "0d94gkhx8b1w34mw05sidwvmysyb1z3p985nrrfaqzsp4xjqg0h4";
        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;
@@ -207382,25 +211348,6 @@ self: {
      }:
      mkDerivation {
        pname = "viewprof";
-       version = "0.0.0.10";
-       sha256 = "000x7xlais9r2f42nbd2cbp6h07d6p31nn16vvbvyg5a12pw44vh";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base brick containers ghc-prof lens scientific text vector
-         vector-algorithms vty
-       ];
-       homepage = "https://github.com/maoe/viewprof";
-       description = "Text-based interactive GHC .prof viewer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "viewprof_0_0_0_11" = callPackage
-    ({ mkDerivation, base, brick, containers, ghc-prof, lens
-     , scientific, text, vector, vector-algorithms, vty
-     }:
-     mkDerivation {
-       pname = "viewprof";
        version = "0.0.0.11";
        sha256 = "1j0pafrfqkp00z3jqcp2v49v2m931wyp9plwap2445b6ncpz1fhv";
        isLibrary = false;
@@ -207412,7 +211359,6 @@ self: {
        homepage = "https://github.com/maoe/viewprof";
        description = "Text-based interactive GHC .prof viewer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "views" = callPackage
@@ -208514,6 +212460,38 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-extra_3_0_20_2" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, containers, cookie
+     , data-default-class, deepseq, directory, fast-logger, hspec
+     , http-types, HUnit, iproute, lifted-base, network, old-locale
+     , resourcet, streaming-commons, stringsearch, text, time
+     , transformers, unix, unix-compat, vault, void, wai, wai-logger
+     , word8, zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.0.20.2";
+       sha256 = "0szmh1wnbcw1mi89rrp35kgnjglc2dx6ib5l3rcki4d9fc04w8xn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring blaze-builder bytestring
+         case-insensitive containers cookie data-default-class deepseq
+         directory fast-logger http-types iproute lifted-base network
+         old-locale resourcet streaming-commons stringsearch text time
+         transformers unix unix-compat vault void wai wai-logger word8 zlib
+       ];
+       testHaskellDepends = [
+         base blaze-builder bytestring case-insensitive cookie fast-logger
+         hspec http-types HUnit resourcet text time transformers wai zlib
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "Provides some basic WAI handlers and middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-frontend-monadcgi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, cgi
      , containers, http-types, transformers, wai
@@ -209256,6 +213234,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-middleware-rollbar_0_6_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, hostname, hspec, hspec-golden-aeson, http-client
+     , http-conduit, http-types, lens, lens-aeson, network, QuickCheck
+     , text, time, unordered-containers, uuid, wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-rollbar";
+       version = "0.6.0";
+       sha256 = "1vfykph1vszap8gbv3jr5a2mr8n0hhf2v2r39f27dg9yh8f6hq4q";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive hostname http-client
+         http-conduit http-types network text time unordered-containers uuid
+         wai
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive containers hspec
+         hspec-golden-aeson lens lens-aeson QuickCheck text
+       ];
+       homepage = "https://github.com/joneshf/wai-middleware-rollbar#readme";
+       description = "Middleware that communicates to Rollbar";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-route" = callPackage
     ({ mkDerivation, base, bytestring, http-types, HUnit
      , test-framework, test-framework-hunit, text, wai, wai-test
@@ -209361,6 +213364,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-middleware-throttle_0_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-builder, containers
+     , hashable, hspec, http-types, HUnit, mtl, network, QuickCheck, stm
+     , text, token-bucket, transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-middleware-throttle";
+       version = "0.2.2.0";
+       sha256 = "0k5q6vziq67bscfrm1dx6i4wkvw30wa35mgdd7x1dzniibx87dva";
+       libraryHaskellDepends = [
+         base bytestring bytestring-builder containers hashable http-types
+         mtl network stm text token-bucket transformers wai
+       ];
+       testHaskellDepends = [
+         base bytestring hspec http-types HUnit QuickCheck stm transformers
+         wai wai-extra
+       ];
+       description = "WAI Middleware for Request Throttling";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-verbs" = callPackage
     ({ mkDerivation, base, errors, exceptions, hashable, http-types
      , mmorph, monad-logger, mtl, resourcet, text, transformers
@@ -210659,8 +214684,8 @@ self: {
      }:
      mkDerivation {
        pname = "web3";
-       version = "0.5.5.0";
-       sha256 = "0cnkrkjwmn8mz559nbfaxq3s1wksb2p5p68djgyjz5d3cz8icpq4";
+       version = "0.6.0.0";
+       sha256 = "1dwwxvh11867f18lw9g2rjqsjawqa92p6063x64izdl1qj5qnwv9";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring cryptonite
          http-client http-client-tls memory template-haskell text
@@ -211269,6 +215294,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "websockets-snap_0_10_2_4" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-builder, io-streams
+     , mtl, snap-core, snap-server, websockets
+     }:
+     mkDerivation {
+       pname = "websockets-snap";
+       version = "0.10.2.4";
+       sha256 = "003np9jn7ja1p9vays6sk7kmia1bhqjhsz53jy0k2na6fx7rnk99";
+       libraryHaskellDepends = [
+         base bytestring bytestring-builder io-streams mtl snap-core
+         snap-server websockets
+       ];
+       description = "Snap integration for the websockets library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "webwire" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, blaze-html
      , bytestring, case-insensitive, containers, cookie, cprng-aes
@@ -211363,6 +215405,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "weigh_0_0_7" = callPackage
+    ({ mkDerivation, base, bytestring-trie, containers, deepseq, mtl
+     , process, random, split, template-haskell, temporary
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "weigh";
+       version = "0.0.7";
+       sha256 = "1k5mxk0cn82x1lc1j0ik4sfkr0q4ipa2ls9sm5g39hl6bjwp1lp3";
+       libraryHaskellDepends = [
+         base deepseq mtl process split template-haskell temporary
+       ];
+       testHaskellDepends = [
+         base bytestring-trie containers deepseq random unordered-containers
+       ];
+       homepage = "https://github.com/fpco/weigh#readme";
+       description = "Measure allocations of a Haskell functions/values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "weighted" = callPackage
     ({ mkDerivation, base, mtl, semiring-num, transformers }:
      mkDerivation {
@@ -212276,20 +216339,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.32";
-       sha256 = "1vyzchs6wg120nadkx80z9zqypqidg1yiv9scgzrri31xzlpl2a1";
+       version = "0.3.37";
+       sha256 = "09ry5bq0hmrdv09hd9v16r4dyyyfzpf785sfrz3by6hal8bkwj6w";
        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";
@@ -212388,22 +216451,22 @@ self: {
   "wordchoice" = callPackage
     ({ mkDerivation, base, binary, bytestring, Chart, Chart-diagrams
      , composition-prelude, containers, criterion, directory, Glob, lens
-     , optparse-applicative, pandoc, system-filepath, text
+     , optparse-applicative, pandoc, system-filepath, text, transformers
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.1";
-       sha256 = "0b9la9lh00x0rnh4mpgl8djgik72x75q5070r96ibzkl5hp6483w";
+       version = "0.1.2.4";
+       sha256 = "1y36bkzy7msl0dn0zfji8wh38bark4hn68znichwmashpbaymm3r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base binary bytestring Chart Chart-diagrams composition-prelude
          containers directory Glob lens optparse-applicative pandoc
-         system-filepath text
+         system-filepath text transformers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
-       benchmarkHaskellDepends = [ base criterion ];
+       benchmarkHaskellDepends = [ base criterion pandoc text ];
        homepage = "https://github.com/githubuser/wordchoice#readme";
        description = "Get word counts and distributions";
        license = stdenv.lib.licenses.bsd3;
@@ -213064,6 +217127,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
@@ -213829,6 +217893,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xeno_0_3_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, deepseq
+     , ghc-prim, hexml, hexpat, hspec, mtl, mutable-containers, vector
+     , weigh, xml
+     }:
+     mkDerivation {
+       pname = "xeno";
+       version = "0.3.2";
+       sha256 = "14vwfkhfrxpa0mszjlbvm704nnv1xpbnb4klsyifihp7j4hngpp9";
+       libraryHaskellDepends = [
+         array base bytestring deepseq mtl mutable-containers vector
+       ];
+       testHaskellDepends = [ base bytestring hexml hspec ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq ghc-prim hexml hexpat weigh xml
+       ];
+       homepage = "https://github.com/ocramz/xeno";
+       description = "A fast event-based XML parser in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xenstore" = callPackage
     ({ mkDerivation, base, bytestring, cereal, mtl, network }:
      mkDerivation {
@@ -214374,6 +218460,30 @@ 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-parse_0_3_1_2" = callPackage
+    ({ mkDerivation, base, conduit, conduit-parse, containers
+     , data-default, exceptions, hlint, parsers, resourcet, tasty
+     , tasty-hunit, text, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-conduit-parse";
+       version = "0.3.1.2";
+       sha256 = "0233jcpv7lzan2hh6siw2rrjkjp4f5i1kkpjpdfija01f8by3an1";
+       libraryHaskellDepends = [
+         base conduit conduit-parse containers exceptions parsers text
+         xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base conduit conduit-parse data-default hlint parsers resourcet
+         tasty tasty-hunit
+       ];
+       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
@@ -214911,8 +219021,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmlhtml";
-       version = "0.2.5.1";
-       sha256 = "1m8jiadx7s990xxdw03ac43c4vxa391kgci77axqx6bkai2yak8k";
+       version = "0.2.5.2";
+       sha256 = "1p2v1cj9jjwbqyb0fyv2201zd7ljz5d46qg5kwy7rz2bchbqd0b4";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers parsec text unordered-containers
@@ -214920,6 +219030,7 @@ self: {
        testHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers directory hspec HUnit text
+         unordered-containers
        ];
        homepage = "https://github.com/snapframework/xmlhtml";
        description = "XML parser and renderer with HTML 5 quirks mode";
@@ -215661,6 +219772,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "yahoo-finance-api_0_2_0_3" = callPackage
+    ({ mkDerivation, aeson, base, doctest, either, Glob, hspec
+     , http-api-data, http-client, http-client-tls, mtl, safe, servant
+     , servant-client, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "yahoo-finance-api";
+       version = "0.2.0.3";
+       sha256 = "19mwjbz43rp7qdysw3iaa6mhkzk6xkrjd42111ccai75x0372rbx";
+       libraryHaskellDepends = [
+         aeson base either http-api-data http-client mtl servant
+         servant-client text time transformers vector
+       ];
+       testHaskellDepends = [
+         base doctest either Glob hspec http-client http-client-tls mtl safe
+         servant servant-client
+       ];
+       homepage = "https://github.com/cdepillabout/yahoo-finance-api";
+       description = "Read quotes from Yahoo Finance API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yahoo-finance-conduit" = callPackage
     ({ mkDerivation, attoparsec, base, cassava, conduit, lens, mtl
      , text, vector, wreq
@@ -215755,8 +219889,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.8.24";
-       sha256 = "08cawq5q2bm23fi48m56x1h6qdf52wn9i9y770v6q2810wj2f7n1";
+       version = "0.8.25";
+       sha256 = "16bx7vkj455796wdklh8h13zm98h5m81dl8np0sjbx9hcsrfdbyp";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -215907,8 +220041,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-union";
-       version = "0.0.2";
-       sha256 = "1lmlrf3x4icx0ikl02k00hv1wibvy0n3lmxdgjrh0vbq89sbx55a";
+       version = "0.0.3";
+       sha256 = "0g030mhwzwh4fz8s3ggajkfvky18rkpz4g098r9gy2hyaf3mmr2b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -215972,8 +220106,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.2";
        sha256 = "0g1yvb6snnsbvy2f74lrlqff5zgnvfh2f6r8xdwxi61dk71qsz0n";
-       revision = "1";
-       editedCabalFile = "0jpksvr3ycw0mraryn113x0b44f0574fkd0n24lbga3ha5armscq";
+       revision = "2";
+       editedCabalFile = "1wl5g0mrxkpkdlhjizh7m9z33pdygb460zxjm6qrcy90naywchqj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -216412,6 +220546,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-auth_1_4_20" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
+     , base64-bytestring, binary, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptonite, data-default, email-validate, file-embed
+     , http-client, http-conduit, http-types, lifted-base, memory
+     , mime-mail, network-uri, nonce, persistent, persistent-template
+     , random, resourcet, safe, shakespeare, template-haskell, text
+     , time, transformers, unordered-containers, wai, yesod-core
+     , yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth";
+       version = "1.4.20";
+       sha256 = "1p6kcx9g04x8vng12dc7kywxwnm74kpp5q4adcjcbzhgrvhrnvbj";
+       libraryHaskellDepends = [
+         aeson authenticate base base16-bytestring base64-bytestring binary
+         blaze-builder blaze-html blaze-markup byteable bytestring conduit
+         conduit-extra containers cryptonite data-default email-validate
+         file-embed http-client http-conduit http-types lifted-base memory
+         mime-mail network-uri nonce persistent persistent-template random
+         resourcet safe shakespeare template-haskell text time transformers
+         unordered-containers wai yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Authentication for Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-auth-account" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, hspec, monad-logger
      , mtl, nonce, persistent, persistent-sqlite, pwstore-fast
@@ -216496,6 +220660,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "yesod-auth-bcryptdb" = callPackage
+    ({ mkDerivation, aeson, base, bcrypt, bytestring, persistent, text
+     , yesod-auth, yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth-bcryptdb";
+       version = "0.3.0.1";
+       sha256 = "0n8h8j5xxnsj2mmj0dwcfrf3wmn9p670092va83w40dbapj98jw0";
+       libraryHaskellDepends = [
+         aeson base bcrypt bytestring persistent text yesod-auth yesod-core
+         yesod-form yesod-persistent
+       ];
+       homepage = "https://github.com/yusent/yesod-auth-bcryptdb";
+       description = "Authentication plugin for Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "yesod-auth-deskcom" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, byteable
      , bytestring, cipher-aes, cprng-aes, crypto-api, crypto-random
@@ -216693,24 +220874,25 @@ self: {
   "yesod-auth-oauth2" = callPackage
     ({ mkDerivation, aeson, authenticate, base, bytestring, containers
      , hoauth2, hspec, http-client, http-conduit, http-types
-     , lifted-base, load-env, network-uri, random, text, transformers
-     , vector, warp, yesod, yesod-auth, yesod-core, yesod-form
+     , lifted-base, load-env, microlens, network-uri, random, text
+     , transformers, uri-bytestring, vector, warp, yesod, yesod-auth
+     , yesod-core, yesod-form
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.2.4";
-       sha256 = "1gpyra5j6hi25r0hrjifjmkar8yb0f74cln4rygdjsvczllkri9a";
+       version = "0.3.0";
+       sha256 = "1mdazbvmwm8b7b4sp5wvdjl4lms0jj3q0lrikzx0rvnd9qj6814v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson authenticate base bytestring hoauth2 http-client http-conduit
-         http-types lifted-base network-uri random text transformers vector
-         yesod-auth yesod-core yesod-form
+         http-types lifted-base microlens network-uri random text
+         transformers uri-bytestring vector yesod-auth yesod-core yesod-form
        ];
        executableHaskellDepends = [
          base containers http-conduit load-env text warp yesod yesod-auth
        ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base hspec uri-bytestring ];
        homepage = "http://github.com/thoughtbot/yesod-auth-oauth2";
        description = "OAuth 2.0 authentication plugins";
        license = stdenv.lib.licenses.bsd3;
@@ -216785,40 +220967,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.5.2.5";
-       sha256 = "0jwnjxfb6s2gcx66am74hpq38fv3svgp1a08yf4610g6fskhkx4n";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         async attoparsec base base64-bytestring blaze-builder bytestring
-         Cabal conduit conduit-extra containers data-default-class deepseq
-         directory file-embed filepath fsnotify http-client http-client-tls
-         http-reverse-proxy http-types lifted-base network
-         optparse-applicative parsec process project-template resourcet
-         safe-exceptions say shakespeare split stm streaming-commons tar
-         template-haskell text time transformers transformers-compat
-         typed-process unix-compat unordered-containers wai wai-extra warp
-         warp-tls yaml zlib
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "The yesod helper executable";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-bin_1_5_2_6" = callPackage
-    ({ mkDerivation, async, attoparsec, base, base64-bytestring
-     , blaze-builder, bytestring, Cabal, conduit, conduit-extra
-     , containers, data-default-class, deepseq, directory, file-embed
-     , filepath, fsnotify, http-client, http-client-tls
-     , http-reverse-proxy, http-types, lifted-base, network
-     , optparse-applicative, parsec, process, project-template
-     , resourcet, safe-exceptions, say, shakespeare, split, stm
-     , streaming-commons, tar, template-haskell, text, time
-     , transformers, transformers-compat, typed-process, unix-compat
-     , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
-     }:
-     mkDerivation {
-       pname = "yesod-bin";
        version = "1.5.2.6";
        sha256 = "1in4c0q2w0h36lm1cf48ai0zpl9r8x0z116j85mfmq66wxmd6h9r";
        isLibrary = false;
@@ -216837,7 +220985,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "The yesod helper executable";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-bootstrap" = callPackage
@@ -216980,6 +221127,50 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_4_37_2" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
+     , cereal, clientsession, conduit, conduit-extra, containers, cookie
+     , criterion, data-default, deepseq, deepseq-generics, directory
+     , exceptions, fast-logger, hspec, hspec-expectations, http-types
+     , HUnit, lifted-base, monad-control, monad-logger, mtl, mwc-random
+     , network, old-locale, parsec, path-pieces, primitive, QuickCheck
+     , random, resourcet, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , transformers-base, unix-compat, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.37.2";
+       sha256 = "0pip1y97zwfy073rc5yrhfcfj1m0nwrzih8f27m77y9dbdcwgmhs";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         byteable bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq
+         deepseq-generics directory exceptions fast-logger http-types
+         lifted-base monad-control monad-logger mtl mwc-random old-locale
+         parsec path-pieces primitive random resourcet safe semigroups
+         shakespeare template-haskell text time transformers
+         transformers-base unix-compat unordered-containers vector wai
+         wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring criterion shakespeare text transformers
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -217020,17 +221211,17 @@ self: {
      }) {};
 
   "yesod-csp" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, mono-traversable
-     , network-uri, semigroups, syb, template-haskell, text, uniplate
-     , yesod, yesod-core, yesod-test
+    ({ mkDerivation, attoparsec, base, case-insensitive, hspec
+     , mono-traversable, network-uri, semigroups, syb, template-haskell
+     , text, wai, yesod, yesod-core, yesod-test
      }:
      mkDerivation {
        pname = "yesod-csp";
-       version = "0.2.1.0";
-       sha256 = "15af948x2z9qyj358ba9ggil65jw9bc5d99h6xcydxpnlgvmg0q6";
+       version = "0.2.4.0";
+       sha256 = "19cjmjg2byyswdcxa9llqarclzi6jslbd0yxxkn8l3kdgn2k2pg0";
        libraryHaskellDepends = [
-         attoparsec base mono-traversable network-uri semigroups syb
-         template-haskell text uniplate yesod yesod-core
+         attoparsec base case-insensitive mono-traversable network-uri
+         semigroups syb template-haskell text wai yesod yesod-core
        ];
        testHaskellDepends = [
          attoparsec base hspec network-uri semigroups template-haskell yesod
@@ -217601,6 +221792,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-persistent_1_4_3" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.4.3";
+       sha256 = "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8";
+       libraryHaskellDepends = [
+         base blaze-builder conduit persistent persistent-template
+         resource-pool resourcet transformers yesod-core
+       ];
+       testHaskellDepends = [
+         base blaze-builder conduit hspec persistent persistent-sqlite text
+         wai-extra yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Some helpers for using Persistent from Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-platform" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, asn1-encoding
      , asn1-parse, asn1-types, attoparsec-conduit, authenticate
@@ -220212,7 +224426,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "zm_0_3" = callPackage
+  "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
@@ -220220,8 +224434,8 @@ self: {
      }:
      mkDerivation {
        pname = "zm";
-       version = "0.3";
-       sha256 = "1v2h66ahd3bpgyc59xj6ggzxfmzs0zgf4d5pgsz3by07iz5jk5ig";
+       version = "0.3.1";
+       sha256 = "0cdggfyzb0h3xfjm91l3rx28yq1ksxfprn1wp1mdj1zm7y0paiiv";
        libraryHaskellDepends = [
          base bytestring containers convertible cryptonite deepseq either
          flat memory model mtl pretty text transformers
@@ -220503,8 +224717,8 @@ self: {
        pname = "ztail";
        version = "1.2";
        sha256 = "0krs58c22bg4b2r5zlvvyw87j8v1y1p8c2zy3gg1hwarjb4i9cqk";
-       revision = "2";
-       editedCabalFile = "0da9vwpn7nv37zznav18vp9h4knr0d433964dp3mvnh42ajb0490";
+       revision = "3";
+       editedCabalFile = "0j22pyi86qw5y4fgxygg9fndlwk8j9c2671bbbk3nws5xzkda1sm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix
new file mode 100644
index 000000000000..e6ca49aa489a
--- /dev/null
+++ b/pkgs/development/idris-modules/specdris.nix
@@ -0,0 +1,43 @@
+{ build-idris-package
+, fetchgit
+, prelude
+, base
+, effects
+, lib
+, idris
+}:
+
+let
+  date = "2017-11-11";
+in
+build-idris-package {
+  name = "specdris-${date}";
+
+  src = fetchgit {
+    url = "https://github.com/pheymann/specdris";
+    rev = "88b80334b8e0b6601324e2410772d35022fc8eaa";
+    sha256 = "4813c4be1d4c3dd1dad35964b085f83cf9fb44b16824257c72b468d4bafd0e4f";
+  };
+
+  propagatedBuildInputs = [ prelude base effects ];
+
+  buildPhase = ''
+    ${idris}/bin/idris --build specdris.ipkg
+  '';
+
+  checkPhase = ''
+      cd test/
+      ${idris}/bin/idris --testpkg test.ipkg
+      cd ../
+    '';
+
+  installPhase = ''
+    ${idris}/bin/idris --install specdris.ipkg --ibcsubdir $IBCSUBDIR
+  '';
+
+  meta = {
+    description = "A testing library for Idris";
+    homepage = https://github.com/pheymann/specdris;
+    license = lib.licenses.mit;
+  };
+}
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/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/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/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index cdbb2324dc65..1981c15c5f3e 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -8,7 +8,8 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "lua-5.1.5";
+  name = "lua-${version}";
+  version = "5.1.5";
   luaversion = "5.1";
 
   src = fetchurl {
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index 3f8554a298e4..59394d3ccc88 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -26,7 +26,7 @@ rec {
     homepage    = http://luajit.org;
     license     = licenses.mit;
     platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers ; [ thoughtpolice smironov vcunat ];
+    maintainers = with maintainers ; [ thoughtpolice smironov vcunat andir ];
   };
 
   generic =
@@ -61,7 +61,8 @@ rec {
       enableParallelBuilding = true;
 
       installPhase   = ''
-        make install INSTALL_INC="$out"/include PREFIX="$out"
+        make install PREFIX="$out"
+        ( cd "$out/include"; ln -s luajit-*/* . )
         ln -s "$out"/bin/luajit-* "$out"/bin/lua
       ''
         + stdenv.lib.optionalString (!isStable)
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
index 7f38f388c354..277993339e23 100644
--- a/pkgs/development/interpreters/nix-exec/default.nix
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -18,5 +18,6 @@ in stdenv.mkDerivation {
     homepage = https://github.com/shlevy/nix-exec;
     license = stdenv.lib.licenses.mit;
     platforms = nix.meta.platforms;
+    broken = true;
   };
 }
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 97e395d2a6df..d2fff13e2ee4 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -44,7 +44,6 @@ let
       substituteInPlace dist/PathTools/Cwd.pm \
         --replace "/bin/pwd" "$pwd"
     '';
-    sandboxProfile = sandbox.allow "ipc-sysv-sem";
 
     # Build a thread-safe Perl with a dynamic libperls.o.  We need the
     # "installstyle" option to ensure that modules are put under
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index de8ab8b71813..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 }:
 
@@ -23,7 +25,7 @@ let
       enableParallelBuilding = true;
 
       nativeBuildInputs = [ pkgconfig ];
-      buildInputs = [ flex bison ]
+      buildInputs = [ flex bison pcre ]
         ++ lib.optional stdenv.isLinux systemd;
 
       CXXFLAGS = lib.optional stdenv.cc.isClang "-std=c++11";
@@ -287,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/build-python-package.nix b/pkgs/development/interpreters/python/build-python-package.nix
index b26bf1539cd5..982542c1fc3e 100644
--- a/pkgs/development/interpreters/python/build-python-package.nix
+++ b/pkgs/development/interpreters/python/build-python-package.nix
@@ -1,11 +1,14 @@
-/* This function provides a generic Python package builder.  It is
-   intended to work with packages that use `distutils/setuptools'
-   (http://pypi.python.org/pypi/setuptools/), which represents a large
-   number of Python packages nowadays.  */
+# This function provides a generic Python package builder,
+# and can build packages that use distutils, setuptools or flit.
 
 { lib
 , python
-, mkPythonDerivation
+, wrapPython
+, setuptools
+, unzip
+, ensureNewerSourcesHook
+, pythonModule
+, namePrefix
 , bootstrapped-pip
 , flit
 }:
@@ -15,6 +18,9 @@ let
   flit-specific = import ./build-python-package-flit.nix { inherit python flit; };
   wheel-specific = import ./build-python-package-wheel.nix { };
   common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
+  mkPythonDerivation = import ./mk-python-derivation.nix {
+    inherit lib python wrapPython setuptools unzip ensureNewerSourcesHook pythonModule namePrefix;
+  };
 in
 
 {
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index eb2a46cb3b79..c7483a815297 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -201,7 +201,7 @@ in stdenv.mkDerivation {
     in rec {
       inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
       executable = libPrefix;
-      buildEnv = callPackage ../../wrapper.nix { python = self; };
+      buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
       withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
       pkgs = pythonPackages;
       isPy2 = true;
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index a924b543fe38..5c13035be1b1 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -160,7 +160,7 @@ in stdenv.mkDerivation {
   in rec {
     inherit libPrefix sitePackages x11Support;
     executable = "${libPrefix}m";
-    buildEnv = callPackage ../../wrapper.nix { python = self; };
+    buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
     pkgs = pythonPackages;
     isPy3 = true;
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index abe220e0a3e5..951cb367528f 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -154,7 +154,7 @@ in stdenv.mkDerivation {
   in rec {
     inherit libPrefix sitePackages x11Support;
     executable = "${libPrefix}m";
-    buildEnv = callPackage ../../wrapper.nix { python = self; };
+    buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
     pkgs = pythonPackages;
     isPy3 = true;
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix
index 1614159a7ef0..b44e167b9f00 100644
--- a/pkgs/development/interpreters/python/cpython/3.6/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix
@@ -153,7 +153,7 @@ in stdenv.mkDerivation {
   in rec {
     inherit libPrefix sitePackages x11Support;
     executable = "${libPrefix}m";
-    buildEnv = callPackage ../../wrapper.nix { python = self; };
+    buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
     pkgs = pythonPackages;
     isPy3 = true;
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index 098ab0b1719f..a0cac7d1ddda 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -1,4 +1,4 @@
-/* Generic builder for Python packages that come without a setup.py. */
+# Generic builder.
 
 { lib
 , python
@@ -6,13 +6,13 @@
 , setuptools
 , unzip
 , ensureNewerSourcesHook
+# Whether the derivation provides a Python module or not.
+, pythonModule
+, namePrefix
 }:
 
 { name ? "${attrs.pname}-${attrs.version}"
 
-# by default prefix `name` e.g. "python3.3-${name}"
-, namePrefix ? python.libPrefix + "-"
-
 # Dependencies for building the package
 , buildInputs ? []
 
@@ -54,18 +54,21 @@ if disabled
 then throw "${name} not supported for interpreter ${python.executable}"
 else
 
-python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"] // {
+python.stdenv.mkDerivation (builtins.removeAttrs attrs [
+    "disabled" "checkInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts"
+  ] // {
 
   name = namePrefix + name;
 
-  inherit pythonPath;
-
-  buildInputs = [ wrapPython ] ++ buildInputs ++ pythonPath
-    ++ [ (ensureNewerSourcesHook { year = "1980"; }) ]
+  buildInputs = ([ wrapPython (ensureNewerSourcesHook { year = "1980"; }) ]
     ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip)
-    ++ lib.optionals doCheck checkInputs;
+    ++ lib.optionals doCheck checkInputs
+    ++ lib.optional catchConflicts setuptools # If we nog longer propagate setuptools
+    ++ buildInputs
+    ++ pythonPath
+  );
 
-  # propagate python/setuptools to active setup-hook in nix-shell
+  # Propagate python and setuptools. We should stop propagating setuptools.
   propagatedBuildInputs = propagatedBuildInputs ++ [ python setuptools ];
 
   # Python packages don't have a checkPhase, only an installCheckPhase
@@ -83,15 +86,12 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"
 
   passthru = {
     inherit python; # The python interpreter
+    inherit pythonModule;
   } // passthru;
 
-  meta = with lib.maintainers; {
+  meta = {
     # default to python's platforms
     platforms = python.meta.platforms;
-  } // meta // {
-    # add extra maintainer(s) to every package
-    maintainers = (meta.maintainers or []) ++ [ chaoflow ];
-    # a marker for release utilities to discover python packages
     isBuildPythonPackage = python.meta.platforms;
-  };
+  } // meta;
 })
diff --git a/pkgs/development/interpreters/python/pypy/2.7/2604-skip-urandom-fd-test.patch b/pkgs/development/interpreters/python/pypy/2.7/2604-skip-urandom-fd-test.patch
deleted file mode 100644
index d7040501b136..000000000000
--- a/pkgs/development/interpreters/python/pypy/2.7/2604-skip-urandom-fd-test.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-# HG changeset patch
-# User Armin Rigo <arigo@tunes.org>
-# Date 1500108588 -7200
-# Node ID 20f7723ff895430c2f45647e7d0c0ca56d93e40a
-# Parent  d135217574a6bd2e87a883e1d495f82c5e89bc8b
-(ronan, arigo)
-
-Issue #2604: skip this test (fails on some Linux because pypy uses the
-new getrandom() syscall)
-
-diff --git a/lib-python/2.7/test/test_os.py b/lib-python/2.7/test/test_os.py
---- a/lib-python/2.7/test/test_os.py
-+++ b/lib-python/2.7/test/test_os.py
-@@ -580,6 +580,7 @@
-                  "getentropy() does not use a file descriptor")
- class URandomFDTests(unittest.TestCase):
-     @unittest.skipUnless(resource, "test requires the resource module")
-+    @test_support.impl_detail(pypy=False)    # on Linux, may use getrandom()
-     def test_urandom_failure(self):
-         # Check urandom() failing when it is not able to open /dev/random.
-         # We spawn a new process to make the test more robust (if getrlimit()
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index 1d382207e989..aea389d160fe 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
+{ stdenv, substituteAll, fetchurl
+, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
 , sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
 , makeWrapper, callPackage, self, gdbm, db
 , python-setup-hook
@@ -9,7 +10,7 @@
 assert zlibSupport -> zlib != null;
 
 let
-  majorVersion = "5.8";
+  majorVersion = "5.9";
   minorVersion = "0";
   minorVersionSuffix = "";
   pythonVersion = "2.7";
@@ -20,128 +21,135 @@ let
   pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]);
 
 in stdenv.mkDerivation rec {
-    name = "pypy-${version}";
-    inherit majorVersion version pythonVersion;
-
-    src = fetchurl {
-      url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
-      sha256 = "0dibf1bx4icrbi8zsqk7cfwgwsd3hfx6biz59k8j5rys3fx9z418";
-    };
-
-    patches = [
-      # https://bitbucket.org/pypy/pypy/issues/2604/lib-python-27-test-test_ospy
-      ./2604-skip-urandom-fd-test.patch
-    ];
-
-    postPatch = ''
-      substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
-    '';
-
-  nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ]
-      ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
-      ++ stdenv.lib.optional zlibSupport zlib;
-
-    hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
-
-    C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
-    LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
-    LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
-
-    preConfigure = ''
-      # hint pypy to find nix ncurses
-      substituteInPlace pypy/module/_minimal_curses/fficurses.py \
-        --replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
-        --replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
-        --replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
-        --replace "libraries=['curses']" "libraries=['ncurses']"
-
-      # tkinter hints
-      substituteInPlace lib_pypy/_tkinter/tklib_build.py \
-        --replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \
-        --replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \
-        --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']"
-
-      sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
-    '';
-
-    buildPhase = ''
-      ${pythonForPypy.interpreter} rpython/bin/rpython --make-jobs="$NIX_BUILD_CORES" -Ojit --batch pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing
-    '';
-
-    setupHook = python-setup-hook sitePackages;
-
-    postBuild = ''
-      cd ./lib_pypy
-        ../pypy-c ./_audioop_build.py
-        ../pypy-c ./_curses_build.py
-        ../pypy-c ./_pwdgrp_build.py
-        ../pypy-c ./_sqlite3_build.py
-        ../pypy-c ./_syslog_build.py
-        ../pypy-c ./_tkinter/tklib_build.py
-      cd ..
-    '';
-
-    doCheck = true;
-    checkPhase = ''
-       export TERMINFO="${ncurses.out}/share/terminfo/";
-       export TERM="xterm";
-       export HOME="$TMPDIR";
-       # disable shutils because it assumes gid 0 exists
-       # disable socket because it has two actual network tests that fail
-       # disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
-       # disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
-       # disable test_zipfile64 because it causes ENOSPACE
-      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_ssl or test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil or test_zipfile64 )' lib-python
-    '';
-
-    installPhase = ''
-       mkdir -p $out/{bin,include,lib,pypy-c}
-
-       cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
-       cp libpypy-c.so $out/lib/
-       ln -s $out/pypy-c/pypy-c $out/bin/pypy
-       chmod +x $out/bin/pypy
-
-       # other packages expect to find stuff according to libPrefix
-       ln -s $out/pypy-c/include $out/include/${libPrefix}
-       ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
-
-       # We must wrap the original, not the symlink.
-       # PyPy uses argv[0] to find its standard library, and while it knows
-       # how to follow symlinks, it doesn't know about wrappers. So, it
-       # will think the wrapper is the original. As long as the wrapper has
-       # the same path as the original, this is OK.
-       wrapProgram "$out/pypy-c/pypy-c" \
-         --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
-         --set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
-
-       # verify cffi modules
-       $out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
-
-        # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
-        echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
-    '';
-
-    passthru = let
-      pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
-    in rec {
-      inherit zlibSupport libPrefix sitePackages;
-      executable = "pypy";
-      isPypy = true;
-      buildEnv = callPackage ../../wrapper.nix { python = self; };
-      interpreter = "${self}/bin/${executable}";
-      withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
-      pkgs = pythonPackages;
-    };
-
-    enableParallelBuilding = true;  # almost no parallelization without STM
-
-    meta = with stdenv.lib; {
-      homepage = http://pypy.org/;
-      description = "Fast, compliant alternative implementation of the Python language (2.7.13)";
-      license = licenses.mit;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ domenkozar ];
-    };
+  name = "pypy-${version}";
+  inherit majorVersion version pythonVersion;
+
+  src = fetchurl {
+    url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
+    sha256 = "1q3kcnniyvnca1l7x10mbhp4xwjr03ajh2h8j6cbdllci38zdjy1";
+  };
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [
+    bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
+  ] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
+    ++ stdenv.lib.optional zlibSupport zlib;
+
+  hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
+
+  C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
+  LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
+
+  patches = [
+    (substituteAll {
+      src = ./tk_tcl_paths.patch;
+      inherit tk tcl;
+      tk_dev = tk.dev;
+      tcl_dev = tcl;
+      tk_libprefix = tk.libPrefix;
+      tcl_libprefix = tcl.libPrefix;
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
+
+    # hint pypy to find nix ncurses
+    substituteInPlace pypy/module/_minimal_curses/fficurses.py \
+      --replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
+      --replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
+      --replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
+      --replace "libraries=['curses']" "libraries=['ncurses']"
+
+    sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
+  '';
+
+  buildPhase = ''
+    ${pythonForPypy.interpreter} rpython/bin/rpython \
+      --make-jobs="$NIX_BUILD_CORES" \
+      -Ojit \
+      --batch pypy/goal/targetpypystandalone.py \
+      --withmod-_minimal_curses \
+      --withmod-unicodedata \
+      --withmod-thread \
+      --withmod-bz2 \
+      --withmod-_multiprocessing
+  '';
+
+  setupHook = python-setup-hook sitePackages;
+
+  postBuild = ''
+    pushd ./lib_pypy
+    ../pypy-c ./_audioop_build.py
+    ../pypy-c ./_curses_build.py
+    ../pypy-c ./_pwdgrp_build.py
+    ../pypy-c ./_sqlite3_build.py
+    ../pypy-c ./_syslog_build.py
+    ../pypy-c ./_tkinter/tklib_build.py
+    popd
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    export TERMINFO="${ncurses.out}/share/terminfo/";
+    export TERM="xterm";
+    export HOME="$TMPDIR";
+    # disable shutils because it assumes gid 0 exists
+    # disable socket because it has two actual network tests that fail
+    # disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
+    # disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
+    # disable test_zipfile64 because it causes ENOSPACE
+    ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_ssl or test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil or test_zipfile64 )' lib-python
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,include,lib,pypy-c}
+
+    cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
+    cp libpypy-c.so $out/lib/
+    ln -s $out/pypy-c/pypy-c $out/bin/pypy
+    chmod +x $out/bin/pypy
+
+    # other packages expect to find stuff according to libPrefix
+    ln -s $out/pypy-c/include $out/include/${libPrefix}
+    ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
+
+    # We must wrap the original, not the symlink.
+    # PyPy uses argv[0] to find its standard library, and while it knows
+    # how to follow symlinks, it doesn't know about wrappers. So, it
+    # will think the wrapper is the original. As long as the wrapper has
+    # the same path as the original, this is OK.
+    wrapProgram "$out/pypy-c/pypy-c" \
+      --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
+      --set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
+
+    # verify cffi modules
+    $out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
+
+    # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
+    echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
+  '';
+
+  passthru = let
+    pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
+  in rec {
+    inherit zlibSupport libPrefix sitePackages;
+    executable = "pypy";
+    isPypy = true;
+    buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
+    interpreter = "${self}/bin/${executable}";
+    withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
+    pkgs = pythonPackages;
+  };
+
+  enableParallelBuilding = true;  # almost no parallelization without STM
+
+  meta = with stdenv.lib; {
+    homepage = http://pypy.org/;
+    description = "Fast, compliant alternative implementation of the Python language (2.7.13)";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ domenkozar ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/pypy/2.7/tk_tcl_paths.patch b/pkgs/development/interpreters/python/pypy/2.7/tk_tcl_paths.patch
new file mode 100644
index 000000000000..92bbfc557b35
--- /dev/null
+++ b/pkgs/development/interpreters/python/pypy/2.7/tk_tcl_paths.patch
@@ -0,0 +1,17 @@
+--- pypy-pypy-84a2f3e6a7f8.org/lib_pypy/_tkinter/tklib_build.py	2017-10-03 11:49:20.000000000 +0100
++++ pypy-pypy-84a2f3e6a7f8/lib_pypy/_tkinter/tklib_build.py	2017-11-21 13:20:51.398607530 +0000
+@@ -24,11 +24,11 @@
+ else:
+     # On some Linux distributions, the tcl and tk libraries are
+     # stored in /usr/include, so we must check this case also
+-    libdirs = []
++    libdirs = ["@tcl@/lib", "@tk@/lib"]
+     found = False
+     for _ver in ['', '8.6', '8.5']:
+-        incdirs = ['/usr/include/tcl' + _ver]
+-        linklibs = ['tcl' + _ver, 'tk' + _ver]
++        incdirs = ['@tcl_dev@/include', '@tk_dev@/include']
++        linklibs = ['@tcl_libprefix@', '@tk_libprefix@']
+         if os.path.isdir(incdirs[0]):
+             found = True
+             break
diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh
index 37bd5b097395..01b573e6ad5d 100644
--- a/pkgs/development/interpreters/python/wrap.sh
+++ b/pkgs/development/interpreters/python/wrap.sh
@@ -83,7 +83,7 @@ wrapPythonProgramsIn() {
 
 # Adds the lib and bin directories to the PYTHONPATH and PATH variables,
 # respectively. Recurses on any paths declared in
-# `propagated-native-build-inputs`, while avoiding duplicating paths by
+# `propagated-build-inputs`, while avoiding duplicating paths by
 # flagging the directories it has visited in `pythonPathsSeen`.
 _addToPythonPath() {
     local dir="$1"
@@ -96,7 +96,7 @@ _addToPythonPath() {
     addToSearchPath program_PATH $dir/bin
 
     # Inspect the propagated inputs (if they exist) and recur on them.
-    local prop="$dir/nix-support/propagated-native-build-inputs"
+    local prop="$dir/nix-support/propagated-build-inputs"
     if [ -e $prop ]; then
         local new_path
         for new_path in $(cat $prop); do
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index f42caf92c170..fc521828ffc4 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -2,13 +2,14 @@
 , extraLibs ? []
 , extraOutputsToInstall ? []
 , postBuild ? ""
-, ignoreCollisions ? false }:
+, ignoreCollisions ? false
+, requiredPythonModules
+, }:
 
 # Create a python executable that knows about additional packages.
 let
-  recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
   env = let
-    paths = stdenv.lib.closePropagation (extraLibs ++ [ python recursivePthLoader ] ) ;
+    paths = requiredPythonModules (extraLibs ++ [ python ] ) ;
   in buildEnv {
     name = "${python.name}-env";
 
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/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index d2ffa45626be..d75aea726e10 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -54,7 +54,9 @@ stdenv.mkDerivation rec {
   # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
   dontDisableStatic = true;
 
-  enableParallelBuilding = true;
+  # /build/SDL2-2.0.7/src/video/wayland/SDL_waylandevents.c:41:10: fatal error:
+  #   pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
+  enableParallelBuilding = false;
 
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index 548f8e686ba8..91b4a563da0f 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL2, libpng, libjpeg, libtiff, libungif, libXpm, zlib }:
+{ stdenv, fetchurl, SDL2, libpng, libjpeg, libtiff, libungif, libXpm, zlib, Foundation }:
 
 stdenv.mkDerivation rec {
   name = "SDL2_image-${version}";
@@ -9,12 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1s3ciydixrgv34vlf45ak5syq5nlfaqf19wf162lbz4ixxd0gpvj";
   };
 
-  buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ];
+  buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ]
+    ++ stdenv.lib.optional stdenv.isDarwin Foundation;
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "SDL image library";
     homepage = http://www.libsdl.org/projects/SDL_image/;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 865ddac06bea..d328d80d3898 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-music-ogg-shared" ]
     ++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl"
-    ++ lib.optional stdenv.isDarwin "--disable-sdltest";
+    ++ lib.optionals stdenv.isDarwin [ "--disable-sdltest" "--disable-smpegtest" ];
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index 2edf4e232260..c7f5ac866609 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib";
 
+  # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o
+  # libtool: error: cannot find the library 'libexamples.la'
+  enableParallelBuilding = false;
+
   meta = {
     description = "High quality rendering engine for C++";
 
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index a7576e07f2dd..80aae344dcd9 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, fetchurl, alsaLib, AudioUnit, CoreServices }:
+{ stdenv, fetchurl, fetchpatch, alsaLib, AudioUnit, CoreServices }:
+
+let
+
+  fetchDebianPatch = { name, debname, sha256 }:
+    fetchpatch {
+      inherit sha256 name;
+      url = "https://anonscm.debian.org/cgit/pkg-multimedia/audiofile.git/plain/debian/patches/${debname}?h=debian/0.3.6-4";
+    };
+
+in
 
 stdenv.mkDerivation rec {
   name = "audiofile-0.3.6";
@@ -15,7 +25,46 @@ stdenv.mkDerivation rec {
     sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind";
   };
 
-  patches = [ ./CVE-2015-7747.patch ./gcc-6.patch ];
+  patches = [
+    ./gcc-6.patch
+    ./CVE-2015-7747.patch
+
+    (fetchDebianPatch {
+      name = "CVE-2017-6829.patch";
+      debname = "04_clamp-index-values-to-fix-index-overflow-in-IMA.cpp.patch";
+      sha256 = "04qxl51i64c53v69q2kx61qdq474f4vapk8rq97cipj7yrar392m";
+    })
+    (fetchDebianPatch {
+      name = "CVE-2017-6827+CVE-2017-6828+CVE-2017-6832+CVE-2017-6835+CVE-2017-6837.patch";
+      debname = "05_Always-check-the-number-of-coefficients.patch";
+      sha256 = "1ih03kfkabffi6ymp6832q470i28rsds78941vzqlshnqjb2nnxw";
+    })
+    (fetchDebianPatch {
+      name = "CVE-2017-6839.patch";
+      debname = "06_Check-for-multiplication-overflow-in-MSADPCM-decodeSam.patch";
+      sha256 = "0a8s2z8rljlj03p7l1is9s4fml8vyzvyvfrh1m6xj5a8vbi635d0";
+    })
+    (fetchDebianPatch {
+      name = "CVE-2017-6830+CVE-2017-6834+CVE-2017-6836+CVE-2017-6838.patch";
+      debname = "07_Check-for-multiplication-overflow-in-sfconvert.patch";
+      sha256 = "0rfba8rkasl5ycvc0kqlzinkl3rvyrrjvjhpc45h423wmjk2za2l";
+    })
+    (fetchDebianPatch {
+      name = "audiofile-fix-multiplyCheckOverflow-signature.patch";
+      debname = "08_Fix-signature-of-multiplyCheckOverflow.-It-returns-a-b.patch";
+      sha256 = "032p5jqp7q7jgc5axdnazz00zm7hd26z6m5j55ifs0sykr5lwldb";
+    })
+    (fetchDebianPatch {
+      name = "CVE-2017-6831.patch";
+      debname = "09_Actually-fail-when-error-occurs-in-parseFormat.patch";
+      sha256 = "0csikmj8cbiy6cigg0rmh67jrr0sgm56dfrnrxnac3m9635nxlac";
+    })
+    (fetchDebianPatch {
+      name = "CVE-2017-6833.patch";
+      debname = "10_Check-for-division-by-zero-in-BlockCodec-runPull.patch";
+      sha256 = "1rlislkjawq98bbcf1dgl741zd508wwsg85r37ca7pfdf6wgl6z7";
+    })
+  ];
 
   meta = with stdenv.lib; {
     description = "Library for reading and writing audio files in various formats";
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 1ac96e2b4f04..421d7072397b 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
       mv $out/share/gc $out/share/doc/gc
     '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 3f9ae113f849..3c954bdd1474 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -117,7 +117,7 @@ let
         -exec sed '1i#line 1 "{}"' -i '{}' \;
     )
   '' + optionalString (hostPlatform.libc == "msvcrt") ''
-    ${stdenv.cc.prefix}ranlib "$out/lib/"*.a
+    ${stdenv.cc.targetPrefix}ranlib "$out/lib/"*.a
   '';
 
 in
@@ -125,7 +125,7 @@ in
 stdenv.mkDerivation {
   name = "boost-${version}";
 
-  inherit src patches;
+  inherit src patches version;
 
   meta = {
     homepage = http://boost.org/;
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/bullet283.nix b/pkgs/development/libraries/bullet/bullet283.nix
deleted file mode 100644
index 36790dbe3a2b..000000000000
--- a/pkgs/development/libraries/bullet/bullet283.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, cmake, mesa, freeglut }:
-
-stdenv.mkDerivation rec {
-  name = "bullet-2.83.7"; # vdrift 2012-07-22 doesn't build with 2.81
-  src = fetchurl {
-    url = "https://github.com/bulletphysics/bullet3/archive/2.83.7.tar.gz";
-    sha256 = "0hqjnmlb2p29yiasrm7kvgv0nklz5zkwhfk4f78zz1gf0vrdil80";
-  };
-
-  buildInputs = [ cmake mesa freeglut ];
-  configurePhase = ''
-    cmake -DBUILD_SHARED_LIBS=ON -DINSTALL_EXTRA_LIBS=TRUE \
-      -DCMAKE_INSTALL_PREFIX=$out .
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "A professional free 3D Game Multiphysics Library";
-    longDescription = ''
-      Bullet 3D Game Multiphysics Library provides state of the art collision
-      detection, soft body and rigid body dynamics. 
-    '';
-    homepage = https://github.com/bulletphysics/bullet3;
-    license = stdenv.lib.licenses.zlib;
-    maintainers = with stdenv.lib.maintainers; [ aforemny ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index e7b500905370..f6676321860f 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -21,14 +21,18 @@ stdenv.mkDerivation rec {
     sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt
   '';
 
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DBUILD_CPU_DEMOS=OFF" ] ++
-    stdenv.lib.optionals stdenv.isDarwin [
-      "-DMACOSX_DEPLOYMENT_TARGET=\"10.9\""
-      "-DOPENGL_FOUND=true"
-      "-DOPENGL_LIBRARIES=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
-      "-DOPENGL_INCLUDE_DIR=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
-      "-DOPENGL_gl_LIBRARY=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
-      "-DCOCOA_LIBRARY=${darwin.apple_sdk.frameworks.Cocoa}/Library/Frameworks/Cocoa.framework"];
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_CPU_DEMOS=OFF"
+    "-DINSTALL_EXTRA_LIBS=ON"
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "-DMACOSX_DEPLOYMENT_TARGET=\"10.9\""
+    "-DOPENGL_FOUND=true"
+    "-DOPENGL_LIBRARIES=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
+    "-DOPENGL_INCLUDE_DIR=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
+    "-DOPENGL_gl_LIBRARY=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
+    "-DCOCOA_LIBRARY=${darwin.apple_sdk.frameworks.Cocoa}/Library/Frameworks/Cocoa.framework"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/catch/default.nix b/pkgs/development/libraries/catch/default.nix
index 66ced59c26d7..6c20f4d6c910 100644
--- a/pkgs/development/libraries/catch/default.nix
+++ b/pkgs/development/libraries/catch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "catch-${version}";
-  version = "1.9.6";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
-    owner = "philsquared";
+    owner = "catchorg";
     repo = "Catch";
     rev = "v${version}";
-    sha256 = "0nqnyw6haa2771748ycag4hhjb8ni32cv4f7w3h0pji212542xan";
+    sha256 = "0v9yw7ydvhydp78hh7cmaif4h73k5qxqpm1g7xn8i882i3s84s2s";
   };
 
   nativeBuildInputs = [ cmake ];
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/czmq/3.x.nix b/pkgs/development/libraries/czmq/3.x.nix
index 0b4aeeb0801d..9c9d85134224 100644
--- a/pkgs/development/libraries/czmq/3.x.nix
+++ b/pkgs/development/libraries/czmq/3.x.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "16k9awrhdsymx7dnmvqcnkaq8lz8x8zppy6sh7ls8prpd6mkkjlb";
   };
 
+  patches = [ ./czmq3-gcc7.patch ];
+
   # Fix build on Glibc 2.24.
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
diff --git a/pkgs/development/libraries/czmq/4.x.nix b/pkgs/development/libraries/czmq/4.x.nix
index 971d15686cab..840fa34d6ae1 100644
--- a/pkgs/development/libraries/czmq/4.x.nix
+++ b/pkgs/development/libraries/czmq/4.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zeromq }:
+{ stdenv, fetchurl, fetchpatch, zeromq }:
 
 stdenv.mkDerivation rec {
   version = "4.0.2";
@@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "12gbh57xnz2v82x1g80gv4bwapmyzl00lbin5ix3swyac8i7m340";
   };
 
+  patches = [
+    (fetchpatch {
+      url = https://patch-diff.githubusercontent.com/raw/zeromq/czmq/pull/1618.patch;
+      sha256 = "1dssy7k0fni6djail8rz0lk8p777158jvrqhgn500i636gkxaxhp";
+    })
+  ];
+
   # Needs to be propagated for the .pc file to work
   propagatedBuildInputs = [ zeromq ];
 
diff --git a/pkgs/development/libraries/czmq/czmq3-gcc7.patch b/pkgs/development/libraries/czmq/czmq3-gcc7.patch
new file mode 100644
index 000000000000..4ab14685a6c1
--- /dev/null
+++ b/pkgs/development/libraries/czmq/czmq3-gcc7.patch
@@ -0,0 +1,26 @@
+diff --git a/src/zgossip_engine.inc b/src/zgossip_engine.inc
+index 37dbb4eb..727aaa9b 100644
+--- a/src/zgossip_engine.inc
++++ b/src/zgossip_engine.inc
+@@ -258,7 +258,7 @@ engine_set_log_prefix (client_t *client, const char *string)
+ {
+     if (client) {
+         s_client_t *self = (s_client_t *) client;
+-        snprintf (self->log_prefix, sizeof (self->log_prefix) - 1,
++        snprintf (self->log_prefix, sizeof (self->log_prefix),
+             "%6d:%-33s", self->unique_id, string);
+     }
+ }
+diff --git a/src/zsys.c b/src/zsys.c
+index 4d0bb8a1..f07db9c8 100644
+--- a/src/zsys.c
++++ b/src/zsys.c
+@@ -1071,7 +1071,7 @@ zsys_run_as (const char *lockfile, const char *group, const char *user)
+             }
+         }
+         //   We record the current process id in the lock file
+-        char pid_buffer [10];
++        char pid_buffer [32];
+         snprintf (pid_buffer, sizeof (pid_buffer), "%6d\n", getpid ());
+         if (write (handle, pid_buffer, strlen (pid_buffer)) != strlen (pid_buffer)) {
+             zsys_error ("cannot write to lockfile: %s", strerror (errno));
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/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 672fed2f015a..651878182dc1 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.2.0";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz;
-    sha256 = "1hzl0akjfxphqivnaj2kg131w8ki80ba3872h0a45f4pchci4h8s";
+    url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
+    sha256 = "0kiff19gk0w7ij0kx5ydqpsmdq499ylxxxq79lrgss218jy49aqq";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index b50025aa108a..d131fc13ced3 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
+{ stdenv, fetchurl, fetchpatch, pkgconfig, perl, texinfo, yasm
 , hostPlatform
 /*
  *  Licensing options (yes some are listed twice, filters and such are not listed)
@@ -238,7 +238,16 @@ stdenv.mkDerivation rec {
     sha256 = "1vzvpx8ixy8m44f8qwp833hv253hpghybgzbc4n8b3div3j0dvmf";
   };
 
-  patchPhase = ''patchShebangs .
+  patches = [
+    (fetchurl {
+      name = "CVE-2017-16840.patch";
+      url = "http://git.videolan.org/?p=ffmpeg.git;a=patch;h=a94cb36ab2ad99d3a1331c9f91831ef593d94f74";
+      sha256 = "0zx0vh110hrykk7j863j04bx6igm2q8dlkv25mf5g4rbxafpqig3";
+    })
+  ];
+
+  prePatch = ''
+    patchShebangs .
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i 's/#ifndef __MAC_10_11/#if 1/' ./libavcodec/audiotoolboxdec.c
   '' + stdenv.lib.optionalString (frei0r != null) ''
@@ -438,7 +447,7 @@ stdenv.mkDerivation rec {
   crossAttrs = {
     configurePlatforms = [];
     configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.prefix}"
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
       "--enable-cross-compile"
       "--target_os=${hostPlatform.parsed.kernel.name}"
       "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index 513654e98f74..9890d030e44e 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage
+{ stdenv, callPackage, fetchpatch
 # Darwin frameworks
 , Cocoa, CoreMedia
 , ...
@@ -9,4 +9,13 @@ callPackage ./generic.nix (args // rec {
   branch = "3.4";
   sha256 = "0pn8g3ab937ahslqd41crk0g4j4fh7kwimsrlfc0rl0pc3z132ax";
   darwinFrameworks = [ Cocoa CoreMedia ];
+
+  patches = [
+    (fetchpatch{
+      name = "CVE-2017-16840.patch";
+      url = "http://git.videolan.org/?p=ffmpeg.git;a=patch;h=a94cb36ab2ad99d3a1331c9f91831ef593d94f74";
+      sha256 = "1rjr9lc71cyy43wsa2zxb9ygya292h9jflvr5wk61nf0vp97gjg3";
+    })
+  ];
+
 })
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 1bd8b7392601..e8eab4827e62 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -173,7 +173,7 @@ stdenv.mkDerivation rec {
   crossAttrs = {
     configurePlatforms = [];
     configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.prefix}"
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
       "--enable-cross-compile"
       "--target_os=${hostPlatform.parsed.kernel}"
       "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 483f02f823fd..31dad5e255af 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "flite-1.9.0";
+  name = "flite-2.0.0";
 
   src = fetchurl {
-    url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
-    sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
+    url = "http://www.festvox.org/flite/packed/flite-2.0/${name}-release.tar.bz2";
+    sha256 = "04g4r83jh4cl0irc8bg7njngcah7749956v9s6sh552kzmh3i337";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  patches = [ ./fix-rpath.patch ];
 
-  configureFlags = ''
-    --enable-shared
-  '';
+  configureFlags = [ "--enable-shared" ];
+
+  enableParallelBuilding = true;
 
   meta = {
     description = "A small, fast run-time speech synthesis engine";
diff --git a/pkgs/development/libraries/flite/fix-rpath.patch b/pkgs/development/libraries/flite/fix-rpath.patch
new file mode 100644
index 000000000000..be774147c3f0
--- /dev/null
+++ b/pkgs/development/libraries/flite/fix-rpath.patch
@@ -0,0 +1,5 @@
+--- a/main/Makefile
++++ b/main/Makefile
+@@ -81 +80,1 @@ ifdef SHFLAGS
+-flite_LIBS_flags += -Wl,-rpath $(LIBDIR) 
++flite_LIBS_flags += -Wl,-rpath,$(INSTALLLIBDIR) 
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 4abe7cf8507b..45e3c964e995 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, boost, libevent
-, double_conversion, glog, google-gflags, python, libiberty, openssl }:
+, double-conversion, glog, google-gflags, python, libiberty, openssl }:
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook python pkgconfig ];
-  buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ];
+  buildInputs = [ libiberty boost libevent double-conversion glog google-gflags openssl ];
 
   postPatch = "cd folly";
   preBuild = ''
diff --git a/pkgs/development/libraries/ftgl/2.1.2.nix b/pkgs/development/libraries/ftgl/2.1.2.nix
deleted file mode 100644
index d4afc7ad481a..000000000000
--- a/pkgs/development/libraries/ftgl/2.1.2.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{stdenv, fetchurl, freetype, mesa}:
-
-let
-  name = "ftgl-2.1.2";
-in
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/ftgl/${name}.tar.gz";
-    sha256 = "0xa00fnn6wd3rnkrkcs1wpv21lxdsb83r4hjn3l33dn0zbawnn97";
-  };
-
-  buildInputs = [freetype mesa];
-
-  NIX_LDFLAGS = "-lGLU -lGL";
-
-  patches = [ ./gcc.patch ];
-
-  configureFlags = "--enable-shared";
-
-  preConfigure = ''
-    cd unix
-    cd docs
-    tar vxf ../../docs/html.tar.gz
-    cd ..
-  '';
-
-  meta = {
-    homepage = https://sourceforge.net/apps/mediawiki/ftgl/;
-    description = "Font rendering library for OpenGL applications";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    longDescription = ''
-      FTGL is a free cross-platform Open Source C++ library that uses
-      Freetype2 to simplify rendering fonts in OpenGL applications. FTGL
-      supports bitmaps, pixmaps, texture maps, outlines, polygon mesh,
-      and extruded polygon rendering modes.
-    '';
-
-    platforms = stdenv.lib.platforms.gnu;
-    maintainers = [];
-  };
-}
diff --git a/pkgs/development/libraries/ftgl/default.nix b/pkgs/development/libraries/ftgl/default.nix
index 5e94618376ba..432f51823451 100644
--- a/pkgs/development/libraries/ftgl/default.nix
+++ b/pkgs/development/libraries/ftgl/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation {
     sha256 = "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l";
   };
 
-  buildInputs = [freetype mesa];
+  buildInputs = [ freetype mesa ];
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = https://sourceforge.net/apps/mediawiki/ftgl/;
@@ -25,7 +27,7 @@ stdenv.mkDerivation {
       and extruded polygon rendering modes.
     '';
 
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [];
   };
 }
diff --git a/pkgs/development/libraries/ftgl/gcc.patch b/pkgs/development/libraries/ftgl/gcc.patch
deleted file mode 100644
index 6e9871476c81..000000000000
--- a/pkgs/development/libraries/ftgl/gcc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/include/FTTextureGlyph.h b/include/FTTextureGlyph.h
-index c263f72..8959cb3 100755
---- a/include/FTTextureGlyph.h
-+++ b/include/FTTextureGlyph.h
-@@ -52,7 +52,7 @@ class FTGL_EXPORT FTTextureGlyph : public FTGlyph
-          * Reset the currently active texture to zero to get into a known state before
-          * drawing a string. This is to get round possible threading issues.
-          */
--        static void FTTextureGlyph::ResetActiveTexture(){ activeTextureID = 0;}
-+        static void ResetActiveTexture(){ activeTextureID = 0;}
-         
-     private:
-         /**
diff --git a/pkgs/development/libraries/giflib/5.0.nix b/pkgs/development/libraries/giflib/5.0.nix
deleted file mode 100644
index 95038284cd60..000000000000
--- a/pkgs/development/libraries/giflib/5.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
-
-stdenv.mkDerivation {
-  name = "giflib-5.0.6";
-  src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-5.0.6.tar.bz2;
-    sha256 = "1sk9ysh27nabwb6z7a38n8gy2y2rnl3vjkbapv7pbjnzrff862c9";
-  };
-
-  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
-  meta = {
-    description = "A library for reading and writing gif images";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    branch = "5.0";
-  };
-}
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 57bb4cb631d4..38b303bde856 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     sed -i 's|lib64|lib|' config/Makefile.linux
+    substituteInPlace config/Makefile.darwin --replace /usr/local "$out"
     ${optionalString (hostPlatform != buildPlatform) ''
-    sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
+      sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
     ''}
   '';
 
@@ -43,6 +44,8 @@ stdenv.mkDerivation rec {
     "SYSTEM=${if hostPlatform.isMinGW then "mingw" else hostPlatform.parsed.kernel.name}"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "An OpenGL extension loading library for C(++)";
     homepage = http://glew.sourceforge.net/;
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index b82fd5f1e299..325a6e5bfa97 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -43,7 +43,7 @@ let
   '';
 
   ver_maj = "2.54";
-  ver_min = "1";
+  ver_min = "2";
 in
 
 stdenv.mkDerivation rec {
@@ -51,11 +51,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
-    sha256 = "50c01b1419324f10fbf9b9709ec2164b18586968bdce7540583bf32302cf47a3";
+    sha256 = "bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
-    ++ optional doCheck ./skip-timer-test.patch;
+    ++ optional doCheck ./skip-timer-test.patch
+    ++ [ ./schema-override-variable.patch ];
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
diff --git a/pkgs/development/libraries/glib/schema-override-variable.patch b/pkgs/development/libraries/glib/schema-override-variable.patch
new file mode 100644
index 000000000000..1cb5a730351b
--- /dev/null
+++ b/pkgs/development/libraries/glib/schema-override-variable.patch
@@ -0,0 +1,12 @@
+--- a/gio/gsettingsschema.c
++++ b/gio/gsettingsschema.c
+@@ -352,6 +352,9 @@
+ 
+       try_prepend_data_dir (g_get_user_data_dir ());
+ 
++      if ((path = g_getenv ("NIX_GSETTINGS_OVERRIDES_DIR")) != NULL)
++        try_prepend_dir (path);
++
+       if ((path = g_getenv ("GSETTINGS_SCHEMA_DIR")) != NULL)
+         try_prepend_dir (path);
+ 
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 7894d75fbe67..86f3be15fea6 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -91,6 +91,7 @@ stdenv.mkDerivation ({
   configureFlags =
     [ "-C"
       "--enable-add-ons"
+      "--enable-obsolete-nsl"
       "--enable-obsolete-rpc"
       "--sysconfdir=/etc"
       "--enable-stackguard-randomization"
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index 10ef1bbd920f..93e94fc8c42b 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -2,13 +2,13 @@
 
 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 ];
diff --git a/pkgs/development/libraries/gnutls/3.5.10.nix b/pkgs/development/libraries/gnutls/3.5.10.nix
index a1eab1a84c11..a44e2b04ed71 100644
--- a/pkgs/development/libraries/gnutls/3.5.10.nix
+++ b/pkgs/development/libraries/gnutls/3.5.10.nix
@@ -4,7 +4,7 @@ callPackage ./generic.nix (args // rec {
   version = "3.5.10";
 
   src = fetchurl {
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
+    url = "mirror://gnupg/gnutls/v3.5/gnutls-${version}.tar.xz";
     sha256 = "17apwvdkkazh5w8z8mbanpj2yj8s2002qwy46wz4v3akpa33wi5g";
   };
 })
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.6.nix
index 55c917f212e9..9dc6d5389d9c 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.6.nix
@@ -1,11 +1,11 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.15";
+  version = "3.6.1";
 
   src = fetchurl {
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "1mgsxkbs44csw07ngwbqns2y2s03m975lk1sl5ay87wbic882q04";
+    url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
+    sha256 = "1vdsir53ddxyapnxh5fpnfyij3scx3818iri4hl07g4lk4n0vc90";
   };
 
   # Skip two tests introduced in 3.5.11.  Probable reasons of failure:
@@ -14,5 +14,6 @@ callPackage ./generic.nix (args // rec {
   postPatch = ''
     sed '2iexit 77' -i tests/pkgconfig.sh
     sed '/^void doit(void)/,$s/{/{ exit(77);/; t' -i tests/trust-store.c
+    # TODO: remove just this line on some rebuild
   '';
 })
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 7971448133ea..d2f3d848dd76 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -2,11 +2,11 @@
 , libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.10.35";
+  name = "goffice-0.10.36";
 
   src = fetchurl {
     url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "c19001afca09dc5446e06605a113d81a57124018a09c5889aeebba16cf1d5738";
+    sha256 = "cfe65fc0a665538704c7bab8541784291cf0781df8b4cff73cb0a513ee0baad6";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index be869063111c..4e41545687a9 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   majorVersion = "0.4";
-  minorVersion = "0.1";
+  minorVersion = "1";
   name = "granite-${majorVersion}.${minorVersion}";
   src = fetchurl {
     url = "https://launchpad.net/granite/${majorVersion}/${majorVersion}.${minorVersion}/+download/${name}.tar.xz";
-    sha256 = "1pf4jkz3xyn1sqv70063im80ayb5kdsqwqwx11dc7vgypsl458cm";
+    sha256 = "177h5h1q4qd7g99mzbczvz78j8c9jf4f1gwdj9f6imbc7r913d4b";
   };
   cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/grantlee/5/setup-hook.sh b/pkgs/development/libraries/grantlee/5/setup-hook.sh
index d11ef5883a1f..aaa64868dc94 100644
--- a/pkgs/development/libraries/grantlee/5/setup-hook.sh
+++ b/pkgs/development/libraries/grantlee/5/setup-hook.sh
@@ -4,20 +4,14 @@ providesGrantleeRuntime() {
     [ -d "$1/$grantleePluginPrefix" ]
 }
 
-_grantleeCrossEnvHook() {
-    if providesQtRuntime "$1"; then
-        propagatedBuildInputs+=" $1"
-        propagatedUserEnvPkgs+=" $1"
-    fi
-}
-crossEnvHooks+=(_grantleeCrossEnvHook)
-
 _grantleeEnvHook() {
     if providesGrantleeRuntime "$1"; then
-        propagatedNativeBuildInputs+=" $1"
-        if [ -z "$crossConfig" ]; then
+        propagatedBuildInputs+=" $1"
         propagatedUserEnvPkgs+=" $1"
-        fi
     fi
 }
-envHooks+=(_grantleeEnvHook)
+if [ "$crossEnv" ]; then
+    crossEnvHooks+=(_grantleeEnvHook)
+else
+    envHooks+=(_grantleeEnvHook)
+fi
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index f091fedeb2de..3abea7d2d8c8 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec{
   name = "grib-api-${version}";
-  version = "1.19.0";
+  version = "1.24.0";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
-    sha256 = "07cj9mw5bb249lxx1m9nmfdqb8b2a8cm7s6x62cdwca3sp16dv6a";
+    sha256 = "1kbvyzaghbn1bqn97sslskmb6k3ki1dnr0g5abk5sb40n0y483bb";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 2e0e711ce71d..c68c7a50cc48 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -15,6 +15,12 @@ assert gtkSupport -> gtk3 != null;
 
 let
   inherit (stdenv.lib) optional optionalString;
+
+  # OpenJPEG version is hardcoded in package source
+  openJpegVersion = with stdenv;
+    lib.concatStringsSep "." (lib.lists.take 2
+      (lib.splitString "." (lib.getVersion openjpeg)));
+
 in
 stdenv.mkDerivation rec {
   name = "gst-plugins-bad-1.12.2";
@@ -32,6 +38,10 @@ stdenv.mkDerivation rec {
     platforms   = platforms.linux;
   };
 
+  patchPhase = ''
+    sed -i 's/openjpeg-2.1/openjpeg-${openJpegVersion}/' ext/openjpeg/*
+  '';
+
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
     sha256 = "0dwyq03g2m0p16dwx8q5qvjn5x9ia72h21sf87mp97gmwkfpwb4w";
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 67521e40daf6..fa69d358394c 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
 , glib, makeWrapper
+, darwin
 }:
 
 stdenv.mkDerivation rec {
@@ -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/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 1d0930d8d03c..4c377c735717 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl
 , expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection
 , xorg, epoxy, json_glib, libxkbcommon, gmp
 , waylandSupport ? stdenv.isLinux, wayland, wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
-, darwin
+, darwin, gnome3
 }:
 
 assert cupsSupport -> cups != null;
@@ -13,7 +13,7 @@ with stdenv.lib;
 
 let
   ver_maj = "3.22";
-  ver_min = "24";
+  ver_min = "26";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "cbb16e4cfc928ab8f5f22f7290616f95f6ebc8c97cc724a2007b07ced833592b";
+    sha256 = "61eef0d320e541976e2dfe445729f12b5ade53050ee9de6184235cb60cd4b967";
   };
 
   outputs = [ "out" "dev" ];
@@ -29,11 +29,18 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
 
-  patches = [ ./3.0-immodules.cache.patch ];
+  patches = [
+    ./3.0-immodules.cache.patch
+    (fetchpatch {
+      name = "Xft-setting-fallback-compute-DPI-properly.patch";
+      url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
+      sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
+    })
+  ];
 
   buildInputs = [ libxkbcommon epoxy json_glib ];
   propagatedBuildInputs = with xorg; with stdenv.lib;
-    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk
+    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk gnome3.gsettings_desktop_schemas
       libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
     ++ optionals waylandSupport [ wayland wayland-protocols ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ])
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/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 78f507ca1465..15e7e736e0c6 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, libtool
 , glib, dbus, udev, libgudev, udisks2, libgcrypt, libcap, polkit
 , libgphoto2, avahi, libarchive, fuse, libcdio, file, bzip2, lzma
-, libxml2, libxslt, docbook_xsl, samba, libmtp
+, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
 , gnomeSupport ? false, gnome, makeWrapper }:
 
 let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig intltool libtool file makeWrapper
-    libxml2 libxslt docbook_xsl
+    libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   buildInputs =
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index f5756d1f5702..2c38387eb837 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "1.5.1";
+  version = "1.7.1";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "56838dfdad2729b8866763c82d623354d138a4d99d9ffb710c7d377b5cfc7c51";
+    sha256 = "9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 2bf10737ab0b..08eebfd83aee 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -56,11 +56,7 @@ let
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "$outputDev" != out ]; then
-                        if [ -n "$crossConfig" ]; then
-                          propagatedBuildInputs="$propagatedBuildInputs @dev@"
-                        else
-                          propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@"
-                        fi
+                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
                     fi
                 fi
               '';
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/kmsxx/default.nix b/pkgs/development/libraries/kmsxx/default.nix
index 490732c38025..8be8eb713572 100644
--- a/pkgs/development/libraries/kmsxx/default.nix
+++ b/pkgs/development/libraries/kmsxx/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm, python }:
 
 stdenv.mkDerivation rec {
-  name = "kmsxx-2017-10-10";
+  pname = "kmsxx";
+  version = "2017-10-10";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "tomba";
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/libamqpcpp/default.nix b/pkgs/development/libraries/libamqpcpp/default.nix
new file mode 100644
index 000000000000..421c73cbb056
--- /dev/null
+++ b/pkgs/development/libraries/libamqpcpp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "libamqpcpp-${version}";
+  version = "2.7.4";
+
+  src = fetchFromGitHub {
+    owner = "CopernicaMarketingSoftware";
+    repo = "AMQP-CPP";
+    rev = "v${version}";
+    sha256 = "0m010bz0axawcpv4d1p1vx7c6r8lg27w2s2vjqpbpg99w35n6c8k";
+  };
+
+  patches = [ ./libamqpcpp-darwin.patch ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Library for communicating with a RabbitMQ server";
+    homepage = https://github.com/CopernicaMarketingSoftware/AMQP-CPP;
+    license = licenses.asl20;
+    maintainers = [ maintainers.mjp ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libamqpcpp/libamqpcpp-darwin.patch b/pkgs/development/libraries/libamqpcpp/libamqpcpp-darwin.patch
new file mode 100644
index 000000000000..9f8d700929b4
--- /dev/null
+++ b/pkgs/development/libraries/libamqpcpp/libamqpcpp-darwin.patch
@@ -0,0 +1,13 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -0,0 +1 @@
++CXX ?= g++
+@@ -43 +44 @@ ${SHARED_LIB}: ${SHARED_OBJECTS}
+-	${LD} ${LD_FLAGS} -Wl,${SONAMEPARAMETER},lib$(LIBRARY_NAME).so.$(SONAME) -o $@ ${SHARED_OBJECTS}
++	${CXX} ${LD_FLAGS} -Wl,${SONAMEPARAMETER},lib$(LIBRARY_NAME).so.$(SONAME) -o $@ ${SHARED_OBJECTS}
+@@ -52 +53 @@ ${SHARED_OBJECTS}:
+-	${CPP} ${CPPFLAGS} -fpic -o $@ ${@:%.o=%.cpp}
++	${CXX} ${CPPFLAGS} -fpic -o $@ ${@:%.o=%.cpp}
+@@ -55 +56 @@ ${STATIC_OBJECTS}:
+-	${CPP} ${CPPFLAGS} -o $@ ${@:%.s.o=%.cpp}
++	${CXX} ${CPPFLAGS} -o $@ ${@:%.s.o=%.cpp}
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index 3a1c89384050..826f72b1f5fb 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -1,33 +1,42 @@
-{ lib, stdenv, fetchurl, pkgconfig, libpulseaudio, alsaLib, libcap
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig, libpulseaudio, alsaLib, libcap
 , CoreAudio, CoreServices, AudioUnit
 , usePulseAudio }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.0";
+  version = "1.2.2";
   name = "libao-${version}";
-  src = fetchurl {
-    url = "http://downloads.xiph.org/releases/ao/${name}.tar.gz";
-    sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83";
+
+  # the github mirror is more up to date than downloads.xiph.org
+  src = fetchFromGitHub {
+    owner  = "xiph";
+    repo   = "libao";
+    rev    = "${version}";
+    sha256 = "0svgk4sc9kdhcsfyvbvgm5vpbg3sfr6z5rliflrw49v3x2i4vxq5";
   };
 
+  configureFlags = [
+    "--disable-broken-oss"
+    "--enable-alsa-mmap"
+  ];
+
   outputs = [ "out" "dev" "man" "doc" ];
 
-  buildInputs =
-    [ pkgconfig ] ++
-    lib.optional usePulseAudio libpulseaudio ++
-    lib.optional stdenv.isLinux alsaLib ++
-    lib.optional stdenv.isLinux libcap ++
+  buildInputs = [ ] ++
+    lib.optional  usePulseAudio   libpulseaudio ++
+    lib.optionals stdenv.isLinux  [ alsaLib libcap ] ++
     lib.optionals stdenv.isDarwin [ CoreAudio CoreServices AudioUnit ];
 
-  meta = {
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  meta = with stdenv.lib; {
     longDescription = ''
       Libao is Xiph.org's cross-platform audio library that allows
       programs to output audio using a simple API on a wide variety of
       platforms.
     '';
     homepage = https://xiph.org/ao/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = with stdenv.lib.platforms; unix;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fuuzetsu ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index e348fe0fae28..6a80a856df3c 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -110,7 +110,7 @@ let
     crossAttrs = {
       configurePlatforms = [];
       configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.prefix}"
+        "--cross-prefix=${stdenv.cc.targetPrefix}"
         "--enable-cross-compile"
         "--target_os=linux"
         "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix
index 7709f5506751..700c5a928e55 100644
--- a/pkgs/development/libraries/libbfd/default.nix
+++ b/pkgs/development/libraries/libbfd/default.nix
@@ -1,15 +1,15 @@
 { stdenv
-, fetchurl, autoreconfHook264, bison, binutils
+, fetchurl, autoreconfHook264, bison, binutils-raw
 , libiberty, zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "libbfd-${version}";
-  inherit (binutils) version src;
+  inherit (binutils-raw) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils.patches ++ [
+  patches = binutils-raw.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
   ];
 
diff --git a/pkgs/development/libraries/libbrotli/default.nix b/pkgs/development/libraries/libbrotli/default.nix
deleted file mode 100644
index 03604e3a93e2..000000000000
--- a/pkgs/development/libraries/libbrotli/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, brotliUnstable }:
-
-stdenv.mkDerivation rec {
-  name = "libbrotli-${version}";
-  version = "1.0";
-
-  src = fetchFromGitHub {
-    owner = "bagder";
-    repo = "libbrotli";
-    rev = name;
-    sha256 = "0apd3hpy3vaa7brkv8v0xwz05zbd5xv86rcbkwns4x39klba3m3y";
-  };
-
-  nativeBuildInputs = [ autoconf automake libtool ];
-
-  preConfigure = ''
-    cp -r ${brotliUnstable.src}/* brotli/
-    chmod -R +700 brotli
-    mkdir m4
-    autoreconf --install --force --symlink
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Meta project to build libraries from the brotli source code";
-    longDescription = ''
-      Wrapper scripts and code around the brotli code base.
-      Builds libraries out of the brotli decode and encode sources. Uses autotools.
-      'brotlidec' is the library for decoding, decompression
-      'brotlienc' is the library for encoding, compression
-    '';
-
-    homepage = https://github.com/bagder/libbrotli;
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = [];
-  };
-}
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/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 992b1ea70dca..533d5d4cac81 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.84";
+  name = "libdrm-2.4.88";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "7ae9c24d91139ac9a2cdee06fe46dbe1c401a1eda1c0bd2a6d1ecf72f479e0aa";
+    sha256 = "b5e55dbac2124e742e639f5b8553e8b7395863bf73dab4f77e99fe2fc25572b5";
   };
 
   outputs = [ "out" "dev" "bin" ];
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-install-test-programs" ]
-    ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
+    ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64)
+      [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
   crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
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/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 353c82aa1935..8b75f85852eb 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -9,11 +9,11 @@ assert pythonSupport -> python != null && swig != null;
 assert docSupport -> doxygen != null;
 
 stdenv.mkDerivation rec {
-  name = "libftdi1-1.3";
+  name = "libftdi1-1.4";
 
   src = fetchurl {
     url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
-    sha256 = "1x41mbzh4qy7mrv2n86r2cr176rx03iacn0a99c3dkzv9g4rb34s";
+    sha256 = "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libgssglue/default.nix b/pkgs/development/libraries/libgssglue/default.nix
new file mode 100644
index 000000000000..612946f73ed5
--- /dev/null
+++ b/pkgs/development/libraries/libgssglue/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, kerberos }:
+
+stdenv.mkDerivation rec {
+  name = "libgssglue-0.4";
+
+  src = fetchurl {
+    url = "http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/${name}.tar.gz";
+    sha256 = "0fh475kxzlabwz30wz3bf7i8kfqiqzhfahayx3jj79rba1sily9z";
+  };
+
+  postPatch = ''
+    sed s:/etc/gssapi_mech.conf:$out/etc/gssapi_mech.conf: -i src/g_initialize.c
+  '';
+
+  postInstall = ''
+    mkdir -p $out/etc
+    cat <<EOF > $out/etc/gssapi_mech.conf
+    ${kerberos}/lib/libgssapi_krb5.so mechglue_internal_krb5_init
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.citi.umich.edu/projects/nfsv4/linux/;
+    description = "Exports a gssapi interface which calls other random gssapi libraries";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ corngood ];
+  };
+}
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index d39a71e16da9..9bf54a115ffd 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -16,11 +16,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "1y3559146zlfizncky1jlly226i66vwikxhpdkw0jg8v47j0sy7h";
+    sha256 = "0fyy050hzk47g7305lx5pgyh2abvq7qs4xd3nn1is7zy3wj56s6x";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
index 7c0bc358ea9c..87cae2246852 100644
--- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
              -DCMAKE_BUILD_TYPE=Release
   '';
 
-  installPhase = '' 
+  installPhase = ''
     mkdir -p $out
 
     function fixRunPath {
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake jsoncpp argtable curl libmicrohttpd doxygen catch ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "C++ framework for json-rpc (json remote procedure call)";
     homepage = https://github.com/cinemast/libjson-rpc-cpp;
diff --git a/pkgs/development/libraries/libmpack/default.nix b/pkgs/development/libraries/libmpack/default.nix
index 9375a3810529..2754c726da2b 100644
--- a/pkgs/development/libraries/libmpack/default.nix
+++ b/pkgs/development/libraries/libmpack/default.nix
@@ -2,21 +2,18 @@
 
 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
-  '';
+
+  nativeBuildInputs = [ libtool ];
+
+  makeFlags = [ "LIBTOOL=libtool" "PREFIX=$(out)" ];
+
   meta = with stdenv.lib; {
     description = "Simple implementation of msgpack in C";
     homepage = https://github.com/tarruda/libmpack/;
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/2.0.nix b/pkgs/development/libraries/libmsgpack/2.0.nix
deleted file mode 100644
index d8282b126872..000000000000
--- a/pkgs/development/libraries/libmsgpack/2.0.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "2.0.0";
-
-  src = fetchFromGitHub {
-    owner  = "msgpack";
-    repo   = "msgpack-c";
-    rev    = "cpp-${version}";
-    sha256 = "189m44pwpcpf7g4yhzfla4djqyp2kl54wxmwfaj94gwgj5s370i7";
-  };
-})
diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix
index c064ca25c494..f3e12db39819 100644
--- a/pkgs/development/libraries/libopcodes/default.nix
+++ b/pkgs/development/libraries/libopcodes/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPackages
-, fetchurl, autoreconfHook264, bison, binutils
+, fetchurl, autoreconfHook264, bison, binutils-raw
 , libiberty, libbfd
 }:
 
 stdenv.mkDerivation rec {
   name = "libopcodes-${version}";
-  inherit (binutils) version src;
+  inherit (binutils-raw) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils.patches ++ [
+  patches = binutils-raw.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
   ];
 
diff --git a/pkgs/development/libraries/libqmatrixclient/default.nix b/pkgs/development/libraries/libqmatrixclient/default.nix
new file mode 100644
index 000000000000..dc4981798bce
--- /dev/null
+++ b/pkgs/development/libraries/libqmatrixclient/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, cmake
+, qtbase }:
+
+# This doesn't actually do anything really yet as it doesn't support dynamic building
+# When it does, quaternion and tensor should use it
+
+stdenv.mkDerivation rec {
+  name = "libqmatrixclient-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner  = "QMatrixClient";
+    repo   = "libqmatrixclient";
+    rev    = "v${version}";
+    sha256 = "1dlanf0y65zf6n1b1f4jzw04w07sl85wiw01c3yyn2ivp3clr13l";
+  };
+
+  buildInputs = [ qtbase ];
+
+  nativeBuildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 -t $out/lib *.a
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description= "A Qt5 library to write cross-platfrom clients for Matrix";
+    homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ peterhoeg ];
+    hydraPlatforms = [ ];
+  };
+}
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 0f8207e83c82..75438e00570e 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk_doc
-, libgcrypt, gobjectIntrospection, vala_0_32 }:
+, libgcrypt, gobjectIntrospection, vala_0_38 }:
 let
   version = "0.18.5";
 in
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
-  buildInputs = [ libgcrypt gobjectIntrospection vala_0_32 ];
+  buildInputs = [ libgcrypt gobjectIntrospection vala_0_38 ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
   meta = {
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/libskk/default.nix b/pkgs/development/libraries/libskk/default.nix
new file mode 100644
index 000000000000..fc5b41ac607f
--- /dev/null
+++ b/pkgs/development/libraries/libskk/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, fetchFromGitHub,
+  libtool, intltool, pkgconfig,
+  vala, gnome_common, gobjectIntrospection,
+  libgee_0_8, json_glib, skk-dicts }:
+
+stdenv.mkDerivation rec {
+  name = "libskk-${version}";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "ueno";
+    repo = "libskk";
+    rev = "6a232e75de6d5dbe543ab17c9b85dc7560093509";
+    sha256 = "1xa9akf95jyi4laiw1llnjdpfq5skhidm7dnkd0i0ds6npzzqnxc";
+  };
+
+  buildInputs = [ skk-dicts ];
+  nativeBuildInputs = [ vala gnome_common gobjectIntrospection libtool intltool pkgconfig ];
+  propagatedBuildInputs = [ libgee_0_8 json_glib ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  # link SKK-JISYO.L from skkdicts for the bundled tool `skk`
+  preInstall = ''
+    dictDir=$out/share/skk
+    mkdir -p $dictDir
+    ln -s ${skk-dicts}/share/SKK-JISYO.L $dictDir/
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A library to deal with Japanese kana-to-kanji conversion method";
+    longDescription = ''
+      Libskk is a library that implements basic features of SKK including:
+      new word registration, completion, numeric conversion, abbrev mode, kuten input,
+      hankaku-katakana input, Lisp expression evaluation (concat only), and re-conversion.
+      It also supports various typing rules including: romaji-to-kana, AZIK, TUT-Code, and NICOLA,
+      as well as various dictionary types including: file dictionary (such as SKK-JISYO.[SML]),
+      user dictionary, skkserv, and CDB format dictionary.
+    '';
+    homepage = https://github.com/ueno/libskk;
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index 53d927219e21..a68b5b2b6d5e 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -11,25 +11,30 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # CVE-2017-12562
     (fetchurl {
-       url = "https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8.patch";
-       sha256 = "1jg3wq30wdn9nv52mcyv6jyi4d80h4r1h9p96czcria7l91yh4sy";
+      name = "CVE-2017-12562.patch";
+      url = "https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8.patch";
+      sha256 = "1jg3wq30wdn9nv52mcyv6jyi4d80h4r1h9p96czcria7l91yh4sy";
     })
-    # CVE-2017-6892
     (fetchurl {
-       url = "https://github.com/erikd/libsndfile/commit/f833c53cb596e9e1792949f762e0b33661822748.patch";
-       sha256 = "05xkmz2ihc1zcj73sbmj1ikrv9qlcym2bkp1v6ak7w53ky619mwq";
+      name = "CVE-2017-6892.patch";
+      url = "https://github.com/erikd/libsndfile/commit/f833c53cb596e9e1792949f762e0b33661822748.patch";
+      sha256 = "05xkmz2ihc1zcj73sbmj1ikrv9qlcym2bkp1v6ak7w53ky619mwq";
     })
-    # CVE-2017-8361, CVE-2017-8363, CVE-2017-8363
     (fetchurl {
-       url = "https://github.com/erikd/libsndfile/commit/fd0484aba8e51d16af1e3a880f9b8b857b385eb3.patch";
-       sha256 = "0ccndnvjzx5fw18zvy03vnb29rr81h5vsh1m16msqbxk8ibndln2";
+      name = "CVE-2017-8361+CVE-2017-8363+CVE-2017-8365.patch";
+      url = "https://github.com/erikd/libsndfile/commit/fd0484aba8e51d16af1e3a880f9b8b857b385eb3.patch";
+      sha256 = "0ccndnvjzx5fw18zvy03vnb29rr81h5vsh1m16msqbxk8ibndln2";
     })
-    # CVE-2017-8362
     (fetchurl {
-       url = "https://github.com/erikd/libsndfile/commit/ef1dbb2df1c0e741486646de40bd638a9c4cd808.patch";
-       sha256 = "1xyv30ga71cpy4wx5f76sc4dma91la2lcc6s9f3pk9rndyi7gj9x";
+      name = "CVE-2017-8362.patch";
+      url = "https://github.com/erikd/libsndfile/commit/ef1dbb2df1c0e741486646de40bd638a9c4cd808.patch";
+      sha256 = "1xyv30ga71cpy4wx5f76sc4dma91la2lcc6s9f3pk9rndyi7gj9x";
+    })
+    (fetchurl {
+      name = "CVE-2017-14634.patch";
+      url = "https://github.com/erikd/libsndfile/commit/85c877d5072866aadbe8ed0c3e0590fbb5e16788.patch";
+      sha256 = "0kc7vp22qsxidhvmlc6nfamw7k92n0hcfpmwhb3gaksjamwhb2df";
     })
   ];
 
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 229a92d84bf5..cdf24c79e5ef 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
 , gnomeSupport ? true, libgnome_keyring3, sqlite, glib_networking, gobjectIntrospection
-, valaSupport ? true, vala_0_32
+, valaSupport ? true, vala_0_38
 , libintlOrEmpty
 , intltool, python }:
 let
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" ];
 
   buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]
-    ++ stdenv.lib.optionals valaSupport [ vala_0_32 ];
+    ++ stdenv.lib.optionals valaSupport [ vala_0_38 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring3 ];
diff --git a/pkgs/development/libraries/libstroke/default.nix b/pkgs/development/libraries/libstroke/default.nix
index 29fa8fc339f9..bd54b3aa343a 100644
--- a/pkgs/development/libraries/libstroke/default.nix
+++ b/pkgs/development/libraries/libstroke/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "libstroke-0.5.1";
 
   src = fetchurl {
-    url = http://etla.net/libstroke/libstroke-0.5.1.tar.gz;
-    sha256 = "0da9f5fde66feaf6697ba069baced8fb3772c3ddc609f39861f92788f5c7772d";
+    url = https://web.archive.org/web/20161204100704/http://etla.net/libstroke/libstroke-0.5.1.tar.gz;
+    sha256 = "0bbpqzsqh9zrc6cg62f6vp1p4dzvv37blsd0gdlzdskgwvyzba8d";
   };
 
   buildInputs = [ automake autoconf x11 ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Libstroke, a library for simple gesture recognition";
-    homepage = http://etla.net/libstroke/;
+    homepage = https://web.archive.org/web/20161204100704/http://etla.net/libstroke/;
     license = stdenv.lib.licenses.gpl2;
 
     longDescription =
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
index aa5de3f2a5f3..bd0084dbaaf7 100644
--- a/pkgs/development/libraries/libtiger/default.nix
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libkate, pango, cairo, pkgconfig }:
+{ stdenv, lib, fetchurl, libkate, pango, cairo, pkgconfig, darwin }:
 
 stdenv.mkDerivation rec {
   name = "libtiger-0.3.4";
@@ -9,11 +9,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libkate pango cairo ];
+  buildInputs = [ libkate pango cairo ]
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.ApplicationServices;
 
   meta = {
     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/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
index 48d55f17c579..683682cf8ea2 100644
--- a/pkgs/development/libraries/libu2f-host/default.nix
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, json_c, hidapi }:
 
 stdenv.mkDerivation rec {
-  name = "libu2f-host-1.1.1";
+  name = "libu2f-host-1.1.4";
 
   src = fetchurl {
     url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
-    sha256 = "0g0f012w0c00cvj5g319x2b8prbh0d3fcac9960cy7xsd8chckg1";
+    sha256 = "0vvs2p3b25cbybccv3f4ridnp7sg5i4hkzx3hx48ldcn1l1fqhv0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index dd2f1edc5f2a..44638b4dfd59 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.20";
+  name = "libusb-1.0.21";
 
   src = fetchurl {
     url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "1zzp6hc7r7m3gl6zjbmzn92zkih4664cckaf49l1g5hapa8721fb";
+    sha256 = "0jw2n5kdnrqvp7zh792fd6mypzzfap6jp4gfcmq4n6c1kb79rkkx";
   };
 
   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 8dea502a4ff4..ba745010504b 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -2,14 +2,14 @@
 , ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.15.0";
+  version = "1.16.1";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "092hxqjvbb6d03h3msc38359w2kixba1ansyrsbyqq8iqiqwnkw0";
+    sha256 = "06p3xy276spqbr9xzbs7qlpdk34qsn87s2qmp6xn4j7v3bnqja7z";
   };
 
   postPatch = let
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/libxl/default.nix b/pkgs/development/libraries/libxl/default.nix
new file mode 100644
index 000000000000..035bfa8d6dc3
--- /dev/null
+++ b/pkgs/development/libraries/libxl/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libxl";
+  version = "3.8.1";
+
+  src = fetchurl {
+    url = "http://www.libxl.com/download/${name}-lin-${version}.tar.gz";
+    sha256 = "1zdbahhyhr70s8hygwp43j9z4zmglyrr782hkcm1078yvkr2f2fm";
+  };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir $out
+    cp -rva include_c include_cpp license.txt $out/
+    cp -rva lib64 $out/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A lbrary for parsing excel files";
+    license     = licenses.unfree;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [  ];
+  };
+}
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index bf38a954d60d..b19f4a2953f1 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -10,11 +10,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "libxml2-${version}";
-  version = "2.9.5";
+  version = "2.9.7";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${name}.tar.gz";
-    sha256 = "0f6d5nkvcfx8yqis2dwrnv6qaj0nhiifz49y657vmrwwxvnc2ca0";
+    sha256 = "034hylzspvkm0p4bczqbf8q05a7r2disr8dz725x4bin61ymwg7n";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 23b36db8fe10..226fe5be536a 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a";
   };
 
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig perl ];
 
   propagatedBuildInputs = [ libxml2 glibmm ];
diff --git a/pkgs/development/libraries/libxmlxx/v3.nix b/pkgs/development/libraries/libxmlxx/v3.nix
index 646fdfbac4f3..5e1e947b8f7c 100644
--- a/pkgs/development/libraries/libxmlxx/v3.nix
+++ b/pkgs/development/libraries/libxmlxx/v3.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r";
   };
 
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig perl ];
 
   buildInputs = [ glibmm ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 1c27b6e3233b..2f9130938734 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -10,7 +10,9 @@ assert pythonSupport -> libxml2.pythonSupport;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "libxslt-1.1.29";
+  pname = "libxslt";
+  version = "1.1.29";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${name}.tar.gz";
@@ -51,7 +53,7 @@ stdenv.mkDerivation rec {
     moveToOutput share/man/man1 "$bin"
   '' + optionalString pythonSupport ''
     mkdir -p $py/nix-support
-    echo ${libxml2.py} >> $py/nix-support/propagated-native-build-inputs
+    echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
     moveToOutput lib/python2.7 "$py"
   '';
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index fe34a8bb88fa..2fe872701b70 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -66,7 +66,7 @@ let
 in
 
 let
-  version = "17.2.4";
+  version = "17.2.6";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -79,9 +79,9 @@ 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";
+    sha256 = "1pihiymglf3bf6w2vphac65v64hv71wgrj38mckbwc03c8j55n3a";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/microsoft_gsl/default.nix b/pkgs/development/libraries/microsoft_gsl/default.nix
index b419eccfe794..1c10bd6f8fcd 100644
--- a/pkgs/development/libraries/microsoft_gsl/default.nix
+++ b/pkgs/development/libraries/microsoft_gsl/default.nix
@@ -1,5 +1,10 @@
-{ stdenv, fetchgit, cmake }:
+{ stdenv, fetchgit, cmake
+, hostPlatform, buildPlatform
+}:
 
+let
+  nativeBuild = hostPlatform == buildPlatform;
+in
 stdenv.mkDerivation rec {
   name = "microsoft_gsl-${version}";
   version = "2017-02-13";
@@ -10,8 +15,11 @@ stdenv.mkDerivation rec {
     sha256 = "03d17mnx6n175aakin313308q14wzvaa9pd0m1yfk6ckhha4qf35";
   };
 
-  # build phase just runs the unit tests
-  buildInputs = [ cmake ];
+
+  # build phase just runs the unit tests, so skip it if
+  # we're doing a cross build
+  nativeBuildInputs = [ cmake ];
+  buildPhase = if nativeBuild then "make" else "true";
 
   installPhase = ''
     mkdir -p $out/include
@@ -20,9 +28,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Functions and types that are suggested for use by the C++ Core Guidelines";
-    homepage = https://github.com/Microsoft/GSL;
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ xwvvvvwx ];
+    homepage    = https://github.com/Microsoft/GSL;
+    license     = licenses.mit;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice xwvvvvwx ];
   };
 }
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 3923daad6f4b..5b998926f0a5 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.3";
+  version = "3.4";
 
   src = fetchurl {
     url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-    sha256 = "07mif3af077763vc35s1x8vzhzlgqcgxh67c1xr13jnhslkjd526";
+    sha256 = "150y8655h629wn946dvzasq16qxsc1m9nf58mifvhl350bgl4ymf";
   };
 })
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index e00decca2ffd..c4e019bf3ac6 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   crossAttrs = {
-    makeFlags = "CROSS_COMPILE=${stdenv.cc.prefix}";
+    makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
   };
 
   meta = with stdenv.lib; {
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/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/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index e6cb75d3b3d9..a9b3c85d3965 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -1,6 +1,6 @@
 { lib, stdenv
 , fetchurl, fetchFromGitHub
-, cmake, pkgconfig, unzip, zlib, pcre, hdf5, protobuf
+, cmake, pkgconfig, unzip, zlib, pcre, hdf5
 , config
 
 , enableJPEG      ? true, libjpeg
@@ -28,20 +28,20 @@
 }:
 
 let
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv";
     rev    = version;
-    sha256 = "0266kg337wij9rz602z5088jn2fq56aqpxxflf0fbh28kygchvk4";
+    sha256 = "1jq8nny78gp54yjgsnb2rdp5rwhp78b3r2i36b2vyx6xk6h6wwji";
   };
 
   contribSrc = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv_contrib";
     rev    = version;
-    sha256 = "0qxdvzdszzlpsya1pn4d2r9z4j98isxrgk15a2wwa3dqjmgv880d";
+    sha256 = "0q5vsa8dpa3mdhzas0ckagwh2sbckpm1kxsp0i3yfknsr5ampyi2";
   };
 
   # Contrib must be built in order to enable Tesseract support:
@@ -52,16 +52,16 @@ let
     src = fetchFromGitHub {
       owner  = "opencv";
       repo   = "opencv_3rdparty";
-      rev    = "a62e20676a60ee0ad6581e217fe7e4bada3b95db";
-      sha256 = "04idycc479l7fidj6r107sv65iszndswm287ms3nh896jbpbaxbv";
+      rev    = "dfe3162c237af211e98b8960018b564bc209261d";
+      sha256 = "1k5xiwdi5r2y3fs5g70lpknxqi4pj32w6l311gfwng3q1cb2crif";
     } + "/ippicv";
-    files = let name = platform : "ippicv_2017u2_${platform}_20170418.tgz"; in
+    files = let name = platform : "ippicv_2017u3_${platform}_general_20170822.tgz"; in
       if stdenv.system == "x86_64-linux" then
-      { ${name "lnx_intel64"} = "87cbdeb627415d8e4bc811156289fa3a"; }
+      { ${name "lnx_intel64"} = "4e0352ce96473837b1d671ce87f17359"; }
       else if stdenv.system == "i686-linux" then
-      { ${name "lnx_ia32"}    = "f2cece00d802d4dea86df52ed095257e"; }
+      { ${name "lnx_ia32"}    = "dcdb0ba4b123f240596db1840cd59a76"; }
       else if stdenv.system == "x86_64-darwin" then
-      { ${name "mac_intel64"} = "0c25953c99dbb499ff502485a9356d8d"; }
+      { ${name "mac_intel64"} = "c1ebb5dfa5b7f54b0c44e1917805a463"; }
       else
       throw "ICV is not available for this platform (or not yet supported by this package)";
     dst = ".cache/ippicv";
@@ -104,6 +104,7 @@ let
     dst = ".cache/xfeatures2d/boostdesc";
   };
 
+  # See opencv/cmake/OpenCVDownload.cmake
   installExtraFiles = extra : with lib; ''
     mkdir -p "${extra.dst}"
   '' + concatStrings (mapAttrsToList (name : md5 : ''
@@ -156,7 +157,7 @@ stdenv.mkDerivation rec {
     '');
 
   buildInputs =
-       [ zlib pcre hdf5 protobuf ]
+       [ zlib pcre hdf5 ]
     ++ lib.optional enablePython pythonPackages.python
     ++ lib.optional enableGtk2 gtk2
     ++ lib.optional enableGtk3 gtk3
@@ -190,8 +191,6 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   cmakeFlags = [
-    "-DBUILD_PROTOBUF=OFF"
-    "-DPROTOBUF_UPDATE_FILES=ON"
     "-DWITH_OPENMP=ON"
     (opencvFlag "IPP" enableIpp)
     (opencvFlag "TIFF" enableTIFF)
diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix
index ae8710e58a28..d18c971dc112 100644
--- a/pkgs/development/libraries/openjpeg/2.1.nix
+++ b/pkgs/development/libraries/openjpeg/2.1.nix
@@ -1,37 +1,8 @@
 { callPackage, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2.1.2";
-  branch = "2.1";
-  revision = "v2.1.2";
-  sha256 = "0kdcl9sqjz0vagli4ad6bxq1r8ma086m0prpkm5x3dxp37hpjp8h";
-
-  patches = [
-    # Fetched from https://github.com/szukw000/openjpeg/commit/cadff5fb6e73398de26a92e96d3d7cac893af255
-    # Referenced from https://bugzilla.redhat.com/show_bug.cgi?id=1405135
-    # Put in our source code to make sure we don't lose it, since that
-    # referenced commit is someone else's fork, and not actually up-stream.
-    ./CVE-2016-9580-and-CVE-2016-9581.patch
-
-    (fetchpatch {
-      url = "https://bugzilla.suse.com/attachment.cgi?id=707359&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      name = "CVE-2016-9112.patch";
-      sha256 = "18hqx73wdzfybr5n5k6pzhbhdlmawiqbjci8n82zykxiyfgp18pd";
-    })
-    (fetchpatch {
-      url = "https://bugzilla.suse.com/attachment.cgi?id=707354&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      name = "CVE-2016-9114.patch";
-      sha256 = "0qam3arw9kdbh4501xim2pyldl708dnpyjwvjmwc9gc7hcq4gfi3";
-    })
-    (fetchpatch {
-      url = "https://bugzilla.suse.com/attachment.cgi?id=707356&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      name = "CVE-2016-9116.patch";
-      sha256 = "0yyb3pxqi5sr44a48bacngzp206j4z49lzkg6hbkz1nra9na61a3";
-    })
-    (fetchpatch {
-      url = "https://bugzilla.suse.com/attachment.cgi?id=707358&action=diff&context=patch&collapsed=&headers=1&format=raw";
-      name = "CVE-2016-9118.patch";
-      sha256 = "125n8bmh07y7697s0y82ypb39rxgj0bdn8rcywbvamscagwg2wy9";
-    })
-  ];
+  version = "2.3.0";
+  branch = "2.3";
+  revision = "v${version}";
+  sha256 = "08plxrnfl33sn2vh5nwbsngyv6b1sfpplvx881crm1v1ai10m2lz";
 })
diff --git a/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch b/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch
deleted file mode 100644
index 064e7419c341..000000000000
--- a/pkgs/development/libraries/openjpeg/CVE-2016-9580-and-CVE-2016-9581.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-From cadff5fb6e73398de26a92e96d3d7cac893af255 Mon Sep 17 00:00:00 2001
-From: szukw000 <szukw000@arcor.de>
-Date: Fri, 9 Dec 2016 08:29:55 +0100
-Subject: [PATCH] These changes repair bugs of #871 and #872
-
----
- src/bin/jp2/converttif.c | 107 +++++++++++++++++++++++++++++++----------------
- 1 file changed, 70 insertions(+), 37 deletions(-)
-
-diff --git a/src/bin/jp2/converttif.c b/src/bin/jp2/converttif.c
-index 143d3be..c690f8b 100644
---- a/src/bin/jp2/converttif.c
-+++ b/src/bin/jp2/converttif.c
-@@ -553,20 +553,18 @@ static void tif_32sto16u(const OPJ_INT32* pSrc, OPJ_UINT16* pDst, OPJ_SIZE_T len
- 
- int imagetotif(opj_image_t * image, const char *outfile)
- {
--	int width, height;
--	int bps,adjust, sgnd;
--	int tiPhoto;
-+	uint32 width, height, bps, tiPhoto;
-+	int adjust, sgnd;
- 	TIFF *tif;
- 	tdata_t buf;
--	tsize_t strip_size;
-+	tmsize_t strip_size, rowStride;
- 	OPJ_UINT32 i, numcomps;
--	OPJ_SIZE_T rowStride;
- 	OPJ_INT32* buffer32s = NULL;
- 	OPJ_INT32 const* planes[4];
- 	convert_32s_PXCX cvtPxToCx = NULL;
- 	convert_32sXXx_C1R cvt32sToTif = NULL;
- 
--	bps = (int)image->comps[0].prec;
-+	bps = (uint32)image->comps[0].prec;
- 	planes[0] = image->comps[0].data;
- 	
- 	numcomps = image->numcomps;
-@@ -674,13 +672,13 @@ int imagetotif(opj_image_t * image, const char *outfile)
- 			break;
- 	}
- 	sgnd = (int)image->comps[0].sgnd;
--	adjust = sgnd ? 1 << (image->comps[0].prec - 1) : 0;
--	width   = (int)image->comps[0].w;
--	height  = (int)image->comps[0].h;
-+	adjust = sgnd ? (int)(1 << (image->comps[0].prec - 1)) : 0;
-+	width   = (uint32)image->comps[0].w;
-+	height  = (uint32)image->comps[0].h;
- 	
- 	TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, width);
- 	TIFFSetField(tif, TIFFTAG_IMAGELENGTH, height);
--	TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, numcomps);
-+	TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, (uint32)numcomps);
- 	TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bps);
- 	TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
- 	TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
-@@ -688,8 +686,8 @@ int imagetotif(opj_image_t * image, const char *outfile)
- 	TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
- 	
- 	strip_size = TIFFStripSize(tif);
--	rowStride = ((OPJ_SIZE_T)width * numcomps * (OPJ_SIZE_T)bps + 7U) / 8U;
--	if (rowStride != (OPJ_SIZE_T)strip_size) {
-+	rowStride = (width * numcomps * bps + 7U) / 8U;
-+	if (rowStride != strip_size) {
- 		fprintf(stderr, "Invalid TIFF strip size\n");
- 		TIFFClose(tif);
- 		return 1;
-@@ -699,7 +697,7 @@ int imagetotif(opj_image_t * image, const char *outfile)
- 		TIFFClose(tif);
- 		return 1;
- 	}
--	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)width * numcomps * sizeof(OPJ_INT32));
-+	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(width * numcomps * sizeof(OPJ_INT32)));
- 	if (buffer32s == NULL) {
- 		_TIFFfree(buf);
- 		TIFFClose(tif);
-@@ -1211,20 +1209,19 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 	TIFF *tif;
- 	tdata_t buf;
- 	tstrip_t strip;
--	tsize_t strip_size;
-+	tmsize_t strip_size;
- 	int j, currentPlane, numcomps = 0, w, h;
- 	OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_UNKNOWN;
- 	opj_image_cmptparm_t cmptparm[4]; /* RGBA */
- 	opj_image_t *image = NULL;
- 	int has_alpha = 0;
--	unsigned short tiBps, tiPhoto, tiSf, tiSpp, tiPC;
--	unsigned int tiWidth, tiHeight;
-+	uint32 tiBps, tiPhoto, tiSf, tiSpp, tiPC, tiWidth, tiHeight;
- 	OPJ_BOOL is_cinema = OPJ_IS_CINEMA(parameters->rsiz);
- 	convert_XXx32s_C1R cvtTifTo32s = NULL;
- 	convert_32s_CXPX cvtCxToPx = NULL;
- 	OPJ_INT32* buffer32s = NULL;
- 	OPJ_INT32* planes[4];
--	OPJ_SIZE_T rowStride;
-+	tmsize_t rowStride;
- 	
- 	tif = TIFFOpen(filename, "r");
- 	
-@@ -1243,22 +1240,35 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 	TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &tiSpp);
- 	TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &tiPhoto);
- 	TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &tiPC);
--	w= (int)tiWidth;
--	h= (int)tiHeight;
--	
--	if(tiBps > 16U) {
--		fprintf(stderr,"tiftoimage: Bits=%d, Only 1 to 16 bits implemented\n",tiBps);
--		fprintf(stderr,"\tAborting\n");
-+
-+	if(tiSpp == 0 || tiSpp > 4) { /* should be 1 ... 4 */
-+		fprintf(stderr,"tiftoimage: Bad value for samples per pixel == %hu.\n"
-+		 "\tAborting.\n", tiSpp);
-+		TIFFClose(tif);
-+		return NULL;
-+	}
-+	if(tiBps > 16U || tiBps == 0) {
-+		fprintf(stderr,"tiftoimage: Bad values for Bits == %d.\n"
-+		 "\tMax. 16 Bits are allowed here.\n\tAborting.\n",tiBps);
- 		TIFFClose(tif);
- 		return NULL;
- 	}
- 	if(tiPhoto != PHOTOMETRIC_MINISBLACK && tiPhoto != PHOTOMETRIC_RGB) {
--		fprintf(stderr,"tiftoimage: Bad color format %d.\n\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
-+		fprintf(stderr,"tiftoimage: Bad color format %d.\n"
-+		 "\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
- 		fprintf(stderr,"\tAborting\n");
- 		TIFFClose(tif);
- 		return NULL;
- 	}
--	
-+	if(tiWidth == 0 || tiHeight == 0) {
-+		fprintf(stderr,"tiftoimage: Bad values for width(%u) "
-+		 "and/or height(%u)\n\tAborting.\n",tiWidth,tiHeight);
-+		TIFFClose(tif);
-+		return NULL;
-+	}
-+	w= (int)tiWidth;
-+	h= (int)tiHeight;
-+
- 	switch (tiBps) {
- 		case 1:
- 		case 2:
-@@ -1312,7 +1322,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 		
- 		TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,
- 													&extrasamples, &sampleinfo);
--		
-+
- 		if(extrasamples >= 1)
- 		{
- 			switch(sampleinfo[0])
-@@ -1333,7 +1343,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 		else /* extrasamples == 0 */
- 			if(tiSpp == 4 || tiSpp == 2) has_alpha = 1;
- 	}
--	
-+
- 	/* initialize image components */
- 	memset(&cmptparm[0], 0, 4 * sizeof(opj_image_cmptparm_t));
- 	
-@@ -1346,7 +1356,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 	} else {
- 		is_cinema = 0U;
- 	}
--	
-+
- 	if(tiPhoto == PHOTOMETRIC_RGB) /* RGB(A) */
- 	{
- 		numcomps = 3 + has_alpha;
-@@ -1384,10 +1394,24 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 	image->x0 = (OPJ_UINT32)parameters->image_offset_x0;
- 	image->y0 = (OPJ_UINT32)parameters->image_offset_y0;
- 	image->x1 =	!image->x0 ? (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1 :
--	image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
-+	 image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
-+	if(image->x1 <= image->x0) {
-+		fprintf(stderr,"tiftoimage: Bad value for image->x1(%d) vs. "
-+		 "image->x0(%d)\n\tAborting.\n",image->x1,image->x0);
-+		TIFFClose(tif);
-+		opj_image_destroy(image);
-+		return NULL;
-+	}
- 	image->y1 =	!image->y0 ? (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1 :
--	image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
--
-+	 image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
-+	if(image->y1 <= image->y0) {
-+		fprintf(stderr,"tiftoimage: Bad value for image->y1(%d) vs. "
-+		 "image->y0(%d)\n\tAborting.\n",image->y1,image->y0);
-+		TIFFClose(tif);
-+		opj_image_destroy(image);
-+		return NULL;
-+	}
-+	
- 	for(j = 0; j < numcomps; j++)
- 	{
- 		planes[j] = image->comps[j].data;
-@@ -1395,15 +1419,15 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 	image->comps[numcomps - 1].alpha = (OPJ_UINT16)(1 - (numcomps & 1));
- 		
- 	strip_size = TIFFStripSize(tif);
--	
-+
- 	buf = _TIFFmalloc(strip_size);
- 	if (buf == NULL) {
- 		TIFFClose(tif);
- 		opj_image_destroy(image);
- 		return NULL;
- 	}
--	rowStride = ((OPJ_SIZE_T)w * tiSpp * tiBps + 7U) / 8U;
--	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)w * tiSpp * sizeof(OPJ_INT32));
-+	rowStride = (w * tiSpp * tiBps + 7U) / 8U;
-+	buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(w * tiSpp * sizeof(OPJ_INT32)));
- 	if (buffer32s == NULL) {
- 		_TIFFfree(buf);
- 		TIFFClose(tif);
-@@ -1421,11 +1445,20 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
- 		for(; (h > 0) && (strip < TIFFNumberOfStrips(tif)); strip++)
- 		{
- 				const OPJ_UINT8 *dat8;
--				OPJ_SIZE_T ssize;
-+				tmsize_t ssize;
- 				
--				ssize = (OPJ_SIZE_T)TIFFReadEncodedStrip(tif, strip, buf, strip_size);
-+				ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size);
-+				if(ssize < 1 || ssize > strip_size) {
-+					fprintf(stderr,"tiftoimage: Bad value for ssize(%ld) "
-+                     "vs. strip_size(%ld).\n\tAborting.\n",ssize,strip_size);
-+					_TIFFfree(buf);
-+					_TIFFfree(buffer32s);
-+					TIFFClose(tif);
-+					opj_image_destroy(image);
-+					return NULL;
-+				}
- 				dat8 = (const OPJ_UINT8*)buf;
--				
-+
- 				while (ssize >= rowStride) {
- 					cvtTifTo32s(dat8, buffer32s, (OPJ_SIZE_T)w * tiSpp);
- 					cvtCxToPx(buffer32s, planes, (OPJ_SIZE_T)w);
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 85032677aae3..3806926fa244 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -6,14 +6,14 @@ with stdenv.lib;
 
 let
   ver_maj = "1.40";
-  ver_min = "12";
+  ver_min = "14";
 in
 stdenv.mkDerivation rec {
   name = "pango-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
-    sha256 = "75f1a9a8e4e2b28cbc078b50c1fa927ee4ded994d1ade97c5603e2d1f3161cfc";
+    sha256 = "90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3";
   };
 
   outputs = [ "bin" "dev" "out" "devdoc" ];
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 3b698ff74cfa..dd562d2e0f1c 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -29,6 +29,13 @@ stdenv.mkDerivation rec {
       stripLen = 2;
       addPrefixes = true;
     })
+    (fetchpatch {
+      name = "CVE-2017-8786.patch";
+      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2test.c?r1=692&r2=697&view=patch";
+      sha256 = "1c629nzrk4il2rfclwyc1a373q58m4q9ys9wr91zhl4skfk7x19b";
+      stripLen = 2;
+      addPrefixes = true;
+    })
   ];
 
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
diff --git a/pkgs/development/libraries/physics/fastjet/default.nix b/pkgs/development/libraries/physics/fastjet/default.nix
index 93c4320e78a1..780dcc3770f0 100644
--- a/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/pkgs/development/libraries/physics/fastjet/default.nix
@@ -1,15 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
   name = "fastjet-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "http://fastjet.fr/repo/fastjet-${version}.tar.gz";
-    sha256 = "1qvmab7l4ps5xd1wvmblgpzyhkbs2gff41qgyg7r7b9nlgqjgacn";
+    sha256 = "03x75mmnlw2m0a7669k82rf9a7dgjwygf8wjbk8cdgnb82c5pnp9";
   };
 
-  configureFlags = "--enable-allcxxplugins";
+  buildInputs = [ python2 ];
+
+  configureFlags = [
+    "--enable-allcxxplugins"
+    "--enable-pyext"
+    ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 454c868dfcd2..3e80e5758522 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
 
   postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
 
-  pythonPath = []; # python wrapper support
-
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
   ];
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 9d7d7552cfc7..1a1bb1800cf2 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,20 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "pkcs11-helper-${version}";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${name}";
-    sha256 = "17a2cssycl7fh44xikmhszigx57vvn0h2sjsnmsy3772kfj796b1";
+    sha256 = "01v3zv6sr5phqhr2f21fl2rmcnmkp9518dkq82g1v2y9ysjksg7q";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ openssl ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
-    homepage = https://www.opensc-project.org/opensc/wiki/pkcs11-helper;
+    homepage = https://github.com/OpenSC/pkcs11-helper;
     license = with licenses; [ bsd3 gpl2 ];
     description = "Library that simplifies the interaction with PKCS#11 providers";
     platforms = platforms.unix;
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/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index c9679d227d88..a73f63bfb4bf 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
   patches =
     [ ./glib-2.32.patch
       ./libressl.patch
+      ./parallel-configure.patch
       (substituteAll {
         src = ./dlopen-absolute-paths.diff;
         cups = if cups != null then stdenv.lib.getLib cups else null;
@@ -117,6 +118,7 @@ stdenv.mkDerivation rec {
       -demosdir $TMPDIR/share/doc/${name}/demos
       -datadir $out/share/${name}
       -translationdir $out/share/${name}/translations
+      --jobs=$NIX_BUILD_CORES
     "
     unset LD # Makefile uses gcc for linking; setting LD interferes
   '' + optionalString stdenv.cc.isClang ''
@@ -124,6 +126,11 @@ stdenv.mkDerivation rec {
     sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
   '';
 
+  postConfigure = ''
+    echo "applying patch ${./parallel-build.patch}"
+    patch -p1 -i ${./parallel-build.patch}
+  '';
+
   prefixKey = "-prefix ";
 
   configureFlags =
@@ -164,7 +171,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ perl pkgconfig which ];
 
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   NIX_CFLAGS_COMPILE =
     optionalString stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
@@ -229,11 +236,11 @@ stdenv.mkDerivation rec {
     '' + optionalString hostPlatform.isMinGW " -xplatform win32-g++-4.6";
     patches = [];
     preConfigure = ''
-      sed -i -e 's/ g++/ ${stdenv.cc.prefix}g++/' \
-        -e 's/ gcc/ ${stdenv.cc.prefix}gcc/' \
-        -e 's/ ar/ ${stdenv.cc.prefix}ar/' \
-        -e 's/ strip/ ${stdenv.cc.prefix}strip/' \
-        -e 's/ windres/ ${stdenv.cc.prefix}windres/' \
+      sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
+        -e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
+        -e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
+        -e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
+        -e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
         mkspecs/win32-g++/qmake.conf
     '';
 
@@ -251,7 +258,7 @@ stdenv.mkDerivation rec {
     homepage    = http://qt-project.org/;
     description = "A cross-platform application framework for C++";
     license     = licenses.lgpl21Plus; # or gpl3
-    maintainers = with maintainers; [ lovek323 phreedom sander ];
+    maintainers = with maintainers; [ orivej lovek323 phreedom sander ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/parallel-build.patch b/pkgs/development/libraries/qt-4.x/4.8/parallel-build.patch
new file mode 100644
index 000000000000..d471bb2a6653
--- /dev/null
+++ b/pkgs/development/libraries/qt-4.x/4.8/parallel-build.patch
@@ -0,0 +1,6 @@
+--- a/tools/designer/src/lib/Makefile
++++ b/tools/designer/src/lib/Makefile
+@@ -7167,2 +7167,3 @@ compiler_moc_header_clean:
+ 		.uic/release-shared/ui_qtgradientviewdialog.h \
++		.uic/release-shared/ui_qtgradientview.h \
+ 		../../../shared/qtgradienteditor/qtgradientviewdialog.h
diff --git a/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch b/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch
new file mode 100644
index 000000000000..b9b9d6d0a683
--- /dev/null
+++ b/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch
@@ -0,0 +1,22 @@
+--- a/configure
++++ b/configure
+@@ -1087,2 +1087,3 @@ fi
+ #-------------------------------------------------------------------------------
++JOBS=
+ 
+@@ -2528,2 +2529,5 @@ while [ "$#" -gt 0 ]; do
+         ;;
++    jobs)
++        JOBS=-j$VAL
++        ;;
+     *)
+@@ -5072,3 +5076,3 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+         if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
+-            (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
++            (cd "$outpath/qmake" && "$MAKE" $JOBS -f "$mkfile" depend) >/dev/null 2>&1
+            sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
+@@ -5080,3 +5084,3 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+     QMAKE_BUILD_ERROR=no
+-    (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
++    (cd "$outpath/qmake"; "$MAKE" $JOBS) || QMAKE_BUILD_ERROR=yes
+     [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 8b01ce2749cb..7930bd909aa5 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -52,8 +52,7 @@ let
     qtserialport = [ ./qtserialport.patch ];
     qttools = [ ./qttools.patch ];
     qtwebengine =
-      [ ./qtwebengine.patch ]
-      ++ optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
+      optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
     qtwebkit = [ ./qtwebkit.patch ];
   };
 
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
index 0e21a17665b6..6bdf774e15d6 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase.patch
@@ -248,7 +248,7 @@ index d2358cae4b..61d8cc0471 100644
          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 b09d42a0a4..f076265bdd 100644
+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
@@ -310,7 +310,7 @@ index 1848f00e90..2af93675c5 100644
 +    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
  }
 diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index c1809468af..0a12ec24db 100644
+index 08b3f3e5af..5ffeafd9d8 100644
 --- a/mkspecs/features/qt_common.prf
 +++ b/mkspecs/features/qt_common.prf
 @@ -30,8 +30,8 @@ contains(TEMPLATE, .*lib) {
@@ -377,7 +377,7 @@ index 4c68cfd72f..f422f18266 100644
  
      check_examples {
 diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 4a1d265a8b..abe0da95f6 100644
+index 4a1d265a8b..d346424b5b 100644
 --- a/mkspecs/features/qt_functions.prf
 +++ b/mkspecs/features/qt_functions.prf
 @@ -70,7 +70,7 @@ defineTest(qtHaveModule) {
@@ -385,7 +385,7 @@ index 4a1d265a8b..abe0da95f6 100644
      cmd = $$eval(QT_TOOL.$${2}.binary)
      isEmpty(cmd) {
 -        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("type -p $$2")
++        cmd = $$system("command -v $$2")
          exists($${cmd}.pl) {
              cmd = perl -w $$system_path($${cmd}.pl)
          } else: contains(QMAKE_HOST.os, Windows) {
@@ -539,7 +539,7 @@ index 706304cf34..546420f6ad 100644
  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 f5b15207cc..f85e0524bb 100644
+index bd3c12ce97..a796775970 100644
 --- a/src/corelib/kernel/qcoreapplication.cpp
 +++ b/src/corelib/kernel/qcoreapplication.cpp
 @@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
@@ -705,7 +705,7 @@ index 68caaeb6dc..fef4a81474 100644
              // 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 44f1d7e6ba..e24fe54326 100644
+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()
@@ -723,7 +723,7 @@ index 44f1d7e6ba..e24fe54326 100644
  
  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 9bdedcc830..2559b2066b 100644
+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)) ()
@@ -742,7 +742,7 @@ index 9bdedcc830..2559b2066b 100644
  #endif
              }
 diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
-index b321ed95dc..9e7a72521c 100644
+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)
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.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/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/5.6/qtgraphicaleffects.nix
deleted file mode 100644
index 3273f12eb830..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtgraphicaleffects.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtgraphicaleffects";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtimageformats.nix b/pkgs/development/libraries/qt-5/5.6/qtimageformats.nix
deleted file mode 100644
index 03d0fffbe80e..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtimageformats.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtimageformats";
-  qtInputs = [ qtbase ];
-}
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/0001-glib-2.32.patch
deleted file mode 100644
index 887e107b6c1b..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtscript/0001-glib-2.32.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- 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.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/qtserialport-dlopen-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtserialport/qtserialport-dlopen-udev.patch
deleted file mode 100644
index 65bb64710ebd..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/qtserialport-dlopen-udev.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
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/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/qtwayland.nix b/pkgs/development/libraries/qt-5/5.6/qtwayland.nix
deleted file mode 100644
index 6d887f7c650b..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwayland.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ qtSubmodule, qtbase, qtquickcontrols, wayland, pkgconfig }:
-
-qtSubmodule {
-  name = "qtwayland";
-  qtInputs = [ qtbase qtquickcontrols ];
-  buildInputs = [ wayland ];
-  nativeBuildInputs = [ pkgconfig ];
-}
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.patch b/pkgs/development/libraries/qt-5/5.6/qtwebengine.patch
deleted file mode 100644
index 65a604d25347..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine.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.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
index 310d2745825d..da1658554e44 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
@@ -1,3 +1,48 @@
+diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
+index 812f3d413..77a3fd0f4 100644
+--- a/Source/JavaScriptCore/API/JSStringRef.cpp
++++ b/Source/JavaScriptCore/API/JSStringRef.cpp
+@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
+ {
+     initializeThreading();
+-    return OpaqueJSString::create(chars, numChars).leakRef();
++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
+ }
+ 
+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
+ {
+     initializeThreading();
+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
+ }
+ 
+ JSStringRef JSStringRetain(JSStringRef string)
+@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string)
+ 
+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
+ {
+-    return string->characters();
++    return reinterpret_cast<const JSChar*>(string->characters());
+ }
+ 
+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
+diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
+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
+ #if OS(WINDOWS)
+             TIME_ZONE_INFORMATION timeZoneInformation;
+             GetTimeZoneInformation(&timeZoneInformation);
+-            const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
++            const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
++            String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName));
+ #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
@@ -11,6 +56,20 @@ index 1f4866d66..bb61e4ba3 100644
  } else:!use?(wchar_unicode): {
      win32 {
          CONFIG(static, static|shared) {
+diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
+index 9df2c95cf..f5d6121fd 100644
+--- a/Source/WTF/wtf/TypeTraits.h
++++ b/Source/WTF/wtf/TypeTraits.h
+@@ -72,6 +72,9 @@ namespace WTF {
+     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
+     template<> struct IsInteger<long long>          { static const bool value = true; };
+     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
++    template<> struct IsInteger<char16_t>           { static const bool value = true; };
++#endif
+ #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
@@ -59,6 +118,19 @@ index 8de65216b..38f5c05e5 100644
      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 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)
+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
+ {
+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
++    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
+ }
+ 
+ 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
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-icu-59.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch
deleted file mode 100644
index add365b5dd64..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-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
---- a/Source/JavaScriptCore/API/JSStringRef.cpp
-+++ b/Source/JavaScriptCore/API/JSStringRef.cpp
-@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
- JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
- {
-     initializeThreading();
--    return OpaqueJSString::create(chars, numChars).leakRef();
-+    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
- }
- 
- JSStringRef JSStringCreateWithUTF8CString(const char* string)
-@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
- JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
- {
-     initializeThreading();
--    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
-+    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
- }
- 
- JSStringRef JSStringRetain(JSStringRef string)
-@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string)
- 
- const JSChar* JSStringGetCharactersPtr(JSStringRef string)
- {
--    return string->characters();
-+    return reinterpret_cast<const JSChar*>(string->characters());
- }
- 
- size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
-diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
-index 0b57f01..05e2733 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
- #if OS(WINDOWS)
-             TIME_ZONE_INFORMATION timeZoneInformation;
-             GetTimeZoneInformation(&timeZoneInformation);
--            const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
-+            const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
-+            String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName));
- #else
-             struct tm gtm = t;
-             char timeZoneName[70];
-diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
-index 9df2c95..f5d6121 100644
---- a/Source/WTF/wtf/TypeTraits.h
-+++ b/Source/WTF/wtf/TypeTraits.h
-@@ -72,6 +72,9 @@ namespace WTF {
-     template<> struct IsInteger<unsigned long>      { static const bool value = true; };
-     template<> struct IsInteger<long long>          { static const bool value = true; };
-     template<> struct IsInteger<unsigned long long> { static const bool value = true; };
-+#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
-+    template<> struct IsInteger<char16_t>           { static const bool value = true; };
-+#endif
- #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
-     template<> struct IsInteger<wchar_t>            { static const bool value = true; };
- #endif
-diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp
-index cbac67d..23400a6 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)
- size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength)
- {
-     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar);
--    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength));
-+    return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength));
- }
- 
- size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
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/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
index 4f6ed98ba29c..96c9b029312a 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
@@ -674,7 +674,7 @@ index 0a008374e5..5e7cd92f6f 100644
  
      check_examples {
 diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index c00fdb73f8..6d8ba132cb 100644
+index c00fdb73f8..5789cd0c06 100644
 --- a/mkspecs/features/qt_functions.prf
 +++ b/mkspecs/features/qt_functions.prf
 @@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
@@ -682,7 +682,7 @@ index c00fdb73f8..6d8ba132cb 100644
      cmd = $$eval(QT_TOOL.$${2}.binary)
      isEmpty(cmd) {
 -        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("type -p $$2")
++        cmd = $$system("command -v $$2")
          exists($${cmd}.pl) {
              $${1}_EXE = $${cmd}.pl
              cmd = perl -w $$system_path($${cmd}.pl)
@@ -1001,6 +1001,28 @@ index c92d8fc3f8..6008063bcf 100644
          {
              // 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
@@ -1019,6 +1041,19 @@ index ca9f7af127..a337ad73bf 100644
  }
  
  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
diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
index 258b2d09f20b..8ec7eeda8aee 100644
--- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
@@ -33,29 +33,20 @@ addToQMAKEPATH() {
 # 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"
+            propagatedBuildInputs+=" $1"
         fi
-        if [ -z "$crossConfig" ]; then
         propagatedUserEnvPkgs+=" $1"
-        fi
     fi
 }
-envHooks+=(qtEnvHook)
+if [ "$crossConfig" ]; then
+   crossEnvHooks+=(qtEnvHook)
+else
+   envHooks+=(qtEnvHook)
+fi
 
 postPatchMkspecs() {
     local bin="${!outputBin}"
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index ef105092fe23..385ebeacd8f8 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -21,7 +21,7 @@ let
           (if debug then "-DCMAKE_BUILD_TYPE=Debug"
                     else "-DCMAKE_BUILD_TYPE=Release");
 
-    enableParallelBuilding = args.enableParallelBuilding or false;
+    enableParallelBuilding = args.enableParallelBuilding or true;
 
   };
 in
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 902d4f01bf8b..36238b5faddf 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -31,6 +31,7 @@ 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 {
@@ -47,33 +48,36 @@ stdenv.mkDerivation {
 
       # Image formats
       libjpeg libpng libtiff
+      (if compareVersion "5.9.0" >= 0 then pcre2 else pcre16)
     ]
-    ++ (if builtins.compareVersions version "5.9.0" >= 0
-           then [ pcre2 ] else [ pcre16 ])
-
-    ++ 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.optional (!stdenv.isDarwin && withGtk3) gtk3
-    ++ lib.optional (!stdenv.isDarwin) libinput
+    ++ (
+      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
@@ -118,30 +122,35 @@ stdenv.mkDerivation {
       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.
+    + (
+      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";
@@ -150,7 +159,7 @@ stdenv.mkDerivation {
   setOutputFlags = false;
   preConfigure = ''
     export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH"
-    ${lib.optionalString (builtins.compareVersions version "5.9.0" < 0) ''
+    ${lib.optionalString (compareVersion "5.9.0" < 0) ''
     # We need to set LD to CXX or otherwise we get nasty compile errors
     export LD=$CXX
     ''}
@@ -189,24 +198,25 @@ stdenv.mkDerivation {
       ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
     ]
 
-    ++ lib.optional (mesaSupported && !stdenv.isDarwin)
-       ''-DNIXPKGS_MESA_GL="${mesa.out}/lib/libGL"''
-
-    ++ lib.optionals (!stdenv.isDarwin && withGtk3)
-    [
-      ''-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
-    ]
+    ++ (
+      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";
 
@@ -232,8 +242,15 @@ stdenv.mkDerivation {
       "-strip"
       "-system-proxies"
       "-pkg-config"
+
+      "-gui"
+      "-widgets"
+      "-opengl desktop"
+      "-qml-debug"
+      "-icu"
+      "-pch"
     ]
-    ++ lib.optionals (builtins.compareVersions version "5.9.0" < 0)
+    ++ lib.optionals (compareVersion "5.9.0" < 0)
     [
       "-c++11"
       "-no-reduce-relocations"
@@ -242,18 +259,11 @@ stdenv.mkDerivation {
       "-developer-build"
       "-no-warnings-are-errors"
     ]
-    ++ [
-      "-gui"
-      "-widgets"
-      "-opengl desktop"
-      "-qml-debug"
-      "-icu"
-      "-pch"
-    ]
-
-    ++ (if builtins.compareVersions version "5.9.0" >= 0
-           then [ (if system-x86_64 then "-sse2" else "-no-sse2") ]
-           else lib.optional (!system-x86_64) "-no-sse2")
+    ++ (
+      if (!system-x86_64)
+      then [ "-no-sse2" ]
+      else lib.optional (compareVersion "5.9.0" >= 0) [ "-sse2" ]
+    )
     ++ [
       "-no-sse3"
       "-no-ssse3"
@@ -277,46 +287,50 @@ stdenv.mkDerivation {
 
       "-make libs"
       "-make tools"
-      ''-${lib.optionalString (buildExamples == false) "no"}make examples''
-      ''-${lib.optionalString (buildTests == false) "no"}make tests''
+      ''-${lib.optionalString (!buildExamples) "no"}make examples''
+      ''-${lib.optionalString (!buildTests) "no"}make tests''
       "-v"
     ]
 
-    ++ lib.optionals (!stdenv.isDarwin) [
-      "-${lib.optionalString (builtins.compareVersions version "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 (builtins.compareVersions version "5.9.0" >= 0) "-inotify"
-
-    ++ lib.optionals stdenv.isDarwin [
-      "-platform macx-clang"
-      "-no-use-gold-linker"
-      "-no-fontconfig"
-      "-qt-freetype"
-      "-qt-libpng"
-    ];
+    ++ (
+      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;
 
@@ -360,27 +374,31 @@ stdenv.mkDerivation {
       moveToOutput bin "$dev"
     ''
 
-    # 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"
-    '';
+    + (
+      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;
 
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
index 0315ae72709e..79b182b33b22 100644
--- a/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,20 +1,32 @@
-{ stdenv, fetchurl, qt4, qmake4Hook }:
+{ stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.2";
+  name = "qwt-6.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qwt/${name}.tar.bz2";
-    sha256 = "031x4hz1jpbirv9k35rqb52bb9mf2w7qav89qv1yfw1r3n6z221b";
+    sha256 = "0cwp63s03dw351xavb3pzbjlqvx7kj88wv7v4a2b18m9f97d7v7k";
   };
 
-  buildInputs = [ qt4 ];
+  buildInputs = [
+    qt4
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AGL ];
+
   nativeBuildInputs = [ qmake4Hook ];
 
+  enableParallelBuilding = true;
+
   postPatch = ''
     sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
+  # qwt.framework output includes a relative reference to itself, which breaks dependents
+  preFixup =
+    stdenv.lib.optionalString stdenv.isDarwin ''
+      echo "Attempting to repair qwt"
+      install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
+    '';
+
   qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index c6797ef05ac3..7fad5c312a01 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -100,6 +100,10 @@ stdenv.mkDerivation {
     fi
   '';
 
+  # 1. /buildATLAS/build/bin/ATLrun.sh: multiple segfaults.
+  # 2. "atlas does its own parallel builds"
+  enableParallelBuilding = false;
+
   meta = {
     homepage = http://math-atlas.sourceforge.net/;
     description = "Automatically Tuned Linear Algebra Software (ATLAS)";
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 c5e52124ceed..5ce636e6f0ca 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -1,24 +1,28 @@
-{ stdenv, fetchurl, pkgconfig }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "snappy-${version}";
-  version = "1.1.4";
+  version = "1.1.7";
 
-  src = fetchurl {
-    url = "http://github.com/google/snappy/releases/download/${version}/"
-        + "snappy-${version}.tar.gz";
-    sha256 = "0mq0nz8gbi1sp3y6xcg0a6wbvnd6gc717f3vh2xrjmfj5w9gwjqk";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "snappy";
+    rev = "${version}";
+    sha256 = "1x7r8sjmdqlqjz0xfiwdyrqpgaj5yrvrgb28ivgpvnxgar5qv6m2";
   };
 
-  outputs = [ "out" "dev" "doc" ];
+  outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake ];
 
   # -DNDEBUG for speed
   configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
 
   # SIGILL on darwin
   doCheck = !stdenv.isDarwin;
+  checkPhase = ''
+    (cd .. && ./build/snappy_unittest)
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://google.github.io/snappy/;
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index e4e053805af7..4735375de1f9 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   # Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-Wno-error=format";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.is64bit) "-Wno-error=format";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libusb ];
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index dcb44a408a82..49f638a7bc56 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gnum4, pkgconfig, python2
-, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland
+, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland, libXext
 }:
 
 stdenv.mkDerivation rec {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ gnum4 pkgconfig python2 ];
 
-  buildInputs = [ intel-gpu-tools libdrm libva libX11 mesa_noglu wayland ];
+  buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext mesa_noglu wayland ];
 
   meta = with stdenv.lib; {
     homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 836a4527b508..5def37b791cf 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -8,11 +8,11 @@ assert expat != null;
 
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "d6b4135cba0188abcb7275513c72dede751d6194f6edc5b82183a3ba8b821ab1";
+    sha256 = "1f3sla6h0bw15fz8pjc67jhwj7pwmfdc7qlj42j5k9v116ycm07d";
   };
 
   configureFlags = [ "--with-scanner" "--disable-documentation" ];
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 436de5609e5a..5b1495ccbe1a 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "wayland-protocols-${version}";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "5719c51d7354864983171c5083e93a72ac99229e2b460c4bb10513de08839c0a";
+    sha256 = "0138psvx6fv8z5x2p6xi4iij6m5k62c0qyfsb45xgcf5a4fyxz1s";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/webkitgtk/2.18.nix b/pkgs/development/libraries/webkitgtk/2.18.nix
index d83da0402bab..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.2";
+  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 = "1ry8zvv6k01g9p7agg326n0ziqpqjxd49h5w1b2is6rjnpqv6k5i";
+    sha256 = "17lgn7qwrwqxl1lgmq5icvzmna6aymx4c7al47rp0vvac7hj0m71";
   };
 
   # see if we can clean this up....
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index ed84dec365e1..3c50de6cc6b7 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
     sha256 = "0vw6m0azycqabbz8f0fd8xsh5kf6j3ig4wpqlhw6sklvf44ii5b8";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   configureScript = "./autogen.sh";
 
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index ceb4bb9f370b..de2e0b62f9e2 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   ];
 
   makeFlags = [
-    "PREFIX=${stdenv.cc.prefix}"
+    "PREFIX=${stdenv.cc.targetPrefix}"
   ] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
     "-f" "win32/Makefile.gcc"
   ] ++ stdenv.lib.optionals (!static) [
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index be8b5c7b7a93..27089ee3e52d 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.3.0";
+    version="3.3.1";
     name="${baseName}-${version}";
-    hash="16qphj2ilds4plzr36jbnrxxl5s21q53m9vasv3208gb5wjwcnv8";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.3.0.tar.gz";
-    sha256="16qphj2ilds4plzr36jbnrxxl5s21q53m9vasv3208gb5wjwcnv8";
+    hash="1yhlhyllabsha84wycqk0mhbcq2w332jdlp19ccx4rplczzn2w3g";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.3.1.tar.gz";
+    sha256="1yhlhyllabsha84wycqk0mhbcq2w332jdlp19ccx4rplczzn2w3g";
   };
   buildInputs = [
     texinfo texLive perl
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
index 41d40064294f..55b469729f94 100755
--- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -70,8 +70,12 @@ esac
 
 NIX_LISP_ASDF_REGISTRY_CODE="
   (progn
-    #+asdf3 (setf asdf:*default-source-registries*
-      '(asdf/source-registry:environment-source-registry))
+    (setf asdf:*source-registry-parameter*
+      '(:source-registry
+        $(for p in $NIX_LISP_ASDF_PATHS; do
+            echo "(:tree \"$p\")"
+          done)
+        :inherit-configuration))
     (asdf:initialize-source-registry)
     )
 "
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 1a155b3e9339..0224bf16ab70 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -29,7 +29,7 @@ let
     echo "source '$path_config_script'" >> "$config_script"
     echo "fi" >> "$config_script"
     echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
-    echo "for i in \"''${CL_SOURCE_REGISTRY//:/\" \"}\" \"$out/lib/common-lisp/${args.baseName}/\" ; do echo \"\$CL_SOURCE_REGISTRY\" | grep -E \"(^|:)\$i(:|\\\$)\" >/dev/null || export CL_SOURCE_REGISTRY=\"\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}\$i\"; done;" >> "$path_config_script"
+    echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
     test -n "$LD_LIBRARY_PATH" &&
         echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script"
     test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index a20b19643d30..0f9761b0fcfb 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -28,13 +28,8 @@ in
     propagatedBuildInputs = [pkgs.fuse];
     overrides = y : (x.overrides y) // {
       configurePhase = ''
-        export SAVED_CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY"
-        export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD"
         export makeFlags="$makeFlags LISP=common-lisp.sh"
       '';
-      preInstall = ''
-        export CL_SOURCE_REGISTRY="$SAVED_CL_SOURCE_REGISTRY"
-      '';
     };
   };
   hunchentoot = addNativeLibs [pkgs.openssl];
@@ -65,7 +60,8 @@ in
     overrides = y: (x.overrides y) // {
       linkedSystems = [];
       postInstall = ((x.overrides y).postInstall or "") + ''
-        export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs"
+        export NIX_LISP_ASDF_PATHS="$NIX_LISP_ASDF_PATHS
+$out/lib/common-lisp/query-fs"
 	export HOME=$PWD
         "$out/bin/query-fs-lisp-launcher.sh" --eval '(asdf:make :query-fs)' \
           --eval "(progn $(for i in $linkedSystems; do echo "(asdf:make :$i)"; done) )" \
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index 64131e52c8d8..14fcf145ddd1 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -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" = {
@@ -1201,13 +1201,13 @@ let
         sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
       };
     };
-    "ini-1.3.4" = {
+    "ini-1.3.5" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
     "which-1.3.0" = {
@@ -2119,13 +2119,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "ajv-5.3.0" = {
+    "ajv-5.5.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "5.3.0";
+      version = "5.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz";
-        sha1 = "4414ff74a50879c208ee5fdc826e32c303549eda";
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz";
+        sha1 = "eb2840746e9dc48bd5e063a36e3fd400c5eab5a9";
       };
     };
     "har-schema-2.0.0" = {
@@ -2443,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" = {
@@ -2623,13 +2623,13 @@ let
         sha1 = "17eb2807987f76952e9c0485fc311d06a826a2e0";
       };
     };
-    "big-integer-1.6.25" = {
+    "big-integer-1.6.26" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.25";
+      version = "1.6.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz";
-        sha1 = "1de45a9f57542ac20121c682f8d642220a34e823";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.26.tgz";
+        sha1 = "3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8";
       };
     };
     "camelcase-keys-2.1.0" = {
@@ -3343,13 +3343,13 @@ let
         sha1 = "c636c6c1f50eed7c927af06c1dbffab53c7abe28";
       };
     };
-    "nan-2.7.0" = {
+    "nan-2.8.0" = {
       name = "nan";
       packageName = "nan";
-      version = "2.7.0";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz";
-        sha1 = "d95bf721ec877e08db276ed3fc6eb78f9083ad46";
+        url = "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz";
+        sha1 = "ed715f3fe9de02b57a5e6252d90a96675e1f085a";
       };
     };
     "node-pre-gyp-0.6.39" = {
@@ -3397,13 +3397,13 @@ let
         sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
       };
     };
-    "detect-libc-1.0.2" = {
+    "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
-        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
     "tar-pack-3.4.1" = {
@@ -4045,13 +4045,13 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "commander-2.11.0" = {
+    "commander-2.12.1" = {
       name = "commander";
       packageName = "commander";
-      version = "2.11.0";
+      version = "2.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
-        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+        url = "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz";
+        sha512 = "36cb2mrf9piidjbqiz8krwx7r9hikgirjxzfrbyk3hd39xpmg489lia9d3cmzci80sx99428hg960sz9j5b72fn7pi928z5289ln8rw";
       };
     };
     "is-my-json-valid-2.16.1" = {
@@ -4350,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"
             ];
           })
@@ -4484,7 +4484,7 @@ in
                               sources."parse-passwd-1.0.0"
                             ];
                           })
-                          sources."ini-1.3.4"
+                          sources."ini-1.3.5"
                           (sources."which-1.3.0" // {
                             dependencies = [
                               sources."isexe-2.0.0"
@@ -4602,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" // {
@@ -4835,7 +4835,7 @@ in
           })
           (sources."har-validator-5.0.3" // {
             dependencies = [
-              (sources."ajv-5.3.0" // {
+              (sources."ajv-5.5.0" // {
                 dependencies = [
                   sources."co-4.6.0"
                   sources."fast-deep-equal-1.0.0"
@@ -4986,7 +4986,7 @@ in
                 dependencies = [
                   (sources."bplist-parser-0.1.1" // {
                     dependencies = [
-                      sources."big-integer-1.6.25"
+                      sources."big-integer-1.6.26"
                     ];
                   })
                   (sources."meow-3.7.0" // {
@@ -5245,7 +5245,7 @@ in
       (sources."rc-1.2.2" // {
         dependencies = [
           sources."deep-extend-0.4.2"
-          sources."ini-1.3.4"
+          sources."ini-1.3.5"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
         ];
@@ -5267,7 +5267,7 @@ in
       })
       (sources."v8-debug-1.0.1" // {
         dependencies = [
-          sources."nan-2.7.0"
+          sources."nan-2.8.0"
           (sources."node-pre-gyp-0.6.39" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
@@ -5454,7 +5454,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
-              sources."detect-libc-1.0.2"
+              sources."detect-libc-1.0.3"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -5514,7 +5514,7 @@ in
       })
       (sources."v8-profiler-5.7.0" // {
         dependencies = [
-          sources."nan-2.7.0"
+          sources."nan-2.8.0"
           (sources."node-pre-gyp-0.6.39" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
@@ -5701,7 +5701,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
-              sources."detect-libc-1.0.2"
+              sources."detect-libc-1.0.3"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -5764,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"
@@ -5816,7 +5816,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = https://github.com/node-inspector/node-inspector;
+      homepage = http://github.com/node-inspector/node-inspector;
     };
     production = true;
   };
@@ -5894,7 +5894,7 @@ in
       (sources."rc-1.2.2" // {
         dependencies = [
           sources."deep-extend-0.4.2"
-          sources."ini-1.3.4"
+          sources."ini-1.3.5"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
         ];
@@ -6022,7 +6022,7 @@ in
         ];
       })
       sources."semver-5.4.1"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       (sources."tar-2.2.1" // {
         dependencies = [
           sources."block-stream-0.0.9"
@@ -6248,7 +6248,7 @@ in
                   sources."supports-color-2.0.0"
                 ];
               })
-              sources."commander-2.11.0"
+              sources."commander-2.12.1"
               (sources."is-my-json-valid-2.16.1" // {
                 dependencies = [
                   sources."generate-function-2.0.0"
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index 51b08fb8f6e5..82416cf3b230 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -6,12 +6,14 @@
 , "browserify"
 , "castnow"
 , "coffee-script"
+, "coinmon"
 , "cordova"
 , "csslint"
 , "dhcp"
 , "dnschain"
 , "docker-registry-server"
 , "elasticdump"
+, "elm-test"
 , "emoj"
 , "eslint"
 , "eslint_d"
@@ -26,6 +28,7 @@
 , "gulp"
 , "hipache"
 , "htmlhint"
+, "html-minifier"
 , "ionic"
 , "ios-deploy"
 , "istanbul"
@@ -59,6 +62,7 @@
 , "npm"
 , { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0" }
 , "npm-check-updates"
+, "nsp"
 , "ocaml-language-server"
 , "parsoid"
 , "peerflix"
@@ -66,10 +70,12 @@
 , "phantomjs"
 , "prettier"
 , "pulp"
+, "quassel-webserver"
 , "react-tools"
 , "s3http"
 , "semver"
 , "serve"
+, "shout"
 , "sinopia"
 , "sloc"
 , "smartdc"
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index e2c6caf78bb2..021d48422794 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -4,13 +4,13 @@
 
 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" = {
@@ -85,13 +85,13 @@ let
         sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
       };
     };
-    "deasync-0.1.10" = {
+    "deasync-0.1.11" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.10";
+      version = "0.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.10.tgz";
-        sha1 = "4e4a6836fbe0477bd5f908308bd2a96557d5d7fe";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.11.tgz";
+        sha1 = "3d1f228a2fecf4a1b359da2e636889942f8bf14c";
       };
     };
     "ejs-2.3.4" = {
@@ -265,13 +265,13 @@ let
         sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
       };
     };
-    "convert-source-map-1.5.0" = {
+    "convert-source-map-1.5.1" = {
       name = "convert-source-map";
       packageName = "convert-source-map";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz";
-        sha1 = "9acd70851c6d5dfdd93d9282e5edf94a03ff46b5";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz";
+        sha1 = "b8278097b9bc229365de5c62cf5fcaed8b5599e5";
       };
     };
     "debug-2.6.9" = {
@@ -625,13 +625,13 @@ let
         sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
       };
     };
-    "nan-2.7.0" = {
+    "nan-2.8.0" = {
       name = "nan";
       packageName = "nan";
-      version = "2.7.0";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz";
-        sha1 = "d95bf721ec877e08db276ed3fc6eb78f9083ad46";
+        url = "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz";
+        sha1 = "ed715f3fe9de02b57a5e6252d90a96675e1f085a";
       };
     };
     "graceful-fs-4.1.11" = {
@@ -715,13 +715,13 @@ let
         sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
       };
     };
-    "ini-1.3.4" = {
+    "ini-1.3.5" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
     "which-1.3.0" = {
@@ -1003,13 +1003,13 @@ let
         sha1 = "937f87a8aeceb641a8210a9ba837323f0206eb47";
       };
     };
-    "azure-arm-network-3.0.0" = {
+    "azure-arm-network-4.0.1" = {
       name = "azure-arm-network";
       packageName = "azure-arm-network";
-      version = "3.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-3.0.0.tgz";
-        sha1 = "66ec5b195a1af805a5b1727f65feac2bb7cd7951";
+        url = "https://registry.npmjs.org/azure-arm-network/-/azure-arm-network-4.0.1.tgz";
+        sha1 = "577d8a2be2eb9e5298b561837405b2eaef283a19";
       };
     };
     "azure-arm-powerbiembedded-0.1.0" = {
@@ -1030,13 +1030,13 @@ let
         sha1 = "b46cfcf7f1690e4739864dcdb5c8de322e82ec50";
       };
     };
-    "azure-arm-dns-0.11.1" = {
+    "azure-arm-dns-2.0.0-preview" = {
       name = "azure-arm-dns";
       packageName = "azure-arm-dns";
-      version = "0.11.1";
+      version = "2.0.0-preview";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-dns/-/azure-arm-dns-0.11.1.tgz";
-        sha1 = "835f08aef8a5d87d3072d5dabc34110cb5e62df2";
+        url = "https://registry.npmjs.org/azure-arm-dns/-/azure-arm-dns-2.0.0-preview.tgz";
+        sha1 = "3dd0645c7f1767fe150e00a8ac33b4b55bce9b8c";
       };
     };
     "azure-arm-website-0.11.4" = {
@@ -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.7" = {
       name = "ms-rest";
       packageName = "ms-rest";
-      version = "2.2.4";
+      version = "2.2.7";
       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.7.tgz";
+        sha512 = "2fzxbr62dhaj91y7f1ckfiw67v4wc8ck44405n1h3mm5bv5h5v7nipdc4scx05f4k3dhxg8irkl6si33fjx5mm1d37dwj4qlxjxp74s";
       };
     };
-    "ms-rest-azure-2.4.1" = {
+    "ms-rest-azure-2.4.5" = {
       name = "ms-rest-azure";
       packageName = "ms-rest-azure";
-      version = "2.4.1";
+      version = "2.4.5";
       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.5.tgz";
+        sha512 = "17n7vax0wim6r3x51vaib4yblfkm791vv1awqs6p16y3zbfxdhgk1sks1iw2519187mmw4njnrja6kxvms4ly8l8qf481qh87xnia1v";
       };
     };
     "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,22 +2020,22 @@ let
         sha1 = "0e3c4f24a3f052b231b12d5049085a0a099be782";
       };
     };
-    "@types/node-8.0.47" = {
+    "@types/node-8.0.53" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.0.47";
+      version = "8.0.53";
       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.53.tgz";
+        sha512 = "12x01f907cdv3cn1pm9jbxs65nm8i37l6g465qckym05jbzhzrjwiw4v6wz2qkssr8sl59h5lp894dgrash8x8hk6828yhqvklfd077";
       };
     };
-    "@types/request-2.0.7" = {
+    "@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" = {
@@ -2074,13 +2074,490 @@ let
         sha1 = "c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f";
       };
     };
-    "@types/form-data-2.2.0" = {
+    "request-2.83.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.83.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
+        sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+      };
+    };
+    "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";
+      };
+    };
+    "tunnel-0.0.5" = {
+      name = "tunnel";
+      packageName = "tunnel";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.5.tgz";
+        sha512 = "1n2p6ca2m26hbf9gxlww91fp653cyqdbfnvxjc8jn91ybvbwbhsqg3cm4da8rrxzgfr9nsa6zpi20bv5w708753chaixbsym1v6qgl2";
+      };
+    };
+    "@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";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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.5.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz";
+        sha1 = "eb2840746e9dc48bd5e063a36e3fd400c5eab5a9";
+      };
+    };
+    "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/@types/form-data/-/form-data-2.2.0.tgz";
-        sha512 = "26fb719b154ab3x89bbgpp3fk4jcrfal0y909ik8zss3d8ykn1dsh9wm3q08j5pzpy3wvfy41h0yzfhbl7k3lb4zjqm9swwq8d4wvmy";
+        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";
+      };
+    };
+    "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";
+      };
+    };
+    "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/adal-node/-/adal-node-0.1.25.tgz";
+        sha1 = "6554350ab42914870004c45c0d64448f3dbfcd03";
       };
     };
     "debug-0.7.4" = {
@@ -2245,15 +2722,6 @@ let
         sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
       };
     };
-    "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";
-      };
-    };
     "pkginfo-0.3.1" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -2281,15 +2749,6 @@ let
         sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
       };
     };
-    "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";
-      };
-    };
     "bl-1.1.2" = {
       name = "bl";
       packageName = "bl";
@@ -2308,33 +2767,6 @@ let
         sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
       };
     };
-    "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-1.0.1" = {
       name = "form-data";
       packageName = "form-data";
@@ -2371,42 +2803,6 @@ let
         sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
       };
     };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
     "qs-6.2.3" = {
       name = "qs";
       packageName = "qs";
@@ -2416,24 +2812,6 @@ let
         sha1 = "1cfcb25c10a9b2b483053ff39f5dfc9233908cfe";
       };
     };
-    "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.4.3" = {
       name = "tunnel-agent";
       packageName = "tunnel-agent";
@@ -2443,22 +2821,13 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "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";
-      };
-    };
-    "commander-2.11.0" = {
+    "commander-2.12.1" = {
       name = "commander";
       packageName = "commander";
-      version = "2.11.0";
+      version = "2.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
-        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+        url = "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz";
+        sha512 = "36cb2mrf9piidjbqiz8krwx7r9hikgirjxzfrbyk3hd39xpmg489lia9d3cmzci80sx99428hg960sz9j5b72fn7pi928z5289ln8rw";
       };
     };
     "is-my-json-valid-2.16.1" = {
@@ -2578,141 +2947,6 @@ let
         sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
       };
     };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
     "asn1-0.1.11" = {
       name = "asn1";
       packageName = "asn1";
@@ -3802,15 +4036,6 @@ let
         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";
-      };
-    };
     "combine-source-map-0.7.2" = {
       name = "combine-source-map";
       packageName = "combine-source-map";
@@ -4216,13 +4441,13 @@ let
         sha1 = "1b63be438a133e4b671cc1935197600175910d83";
       };
     };
-    "detective-4.5.0" = {
+    "detective-4.6.0" = {
       name = "detective";
       packageName = "detective";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz";
-        sha1 = "6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1";
+        url = "https://registry.npmjs.org/detective/-/detective-4.6.0.tgz";
+        sha512 = "1g05is493dwv51naw53l4jly2fr5xjawkkc859s2dsssgs9bjk99k401l3ms4fjkbnffv6z8s2wjx7mf3j05qvp28nidnb6mdda5yvf";
       };
     };
     "stream-combiner2-1.1.1" = {
@@ -4234,6 +4459,15 @@ let
         sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
       };
     };
+    "acorn-5.2.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz";
+        sha512 = "3ryzhy30vzfnn2a0crafh3qsrx145ali8i88q1bc0lzl1dz0ycmjmmwh2yn9xfjs3vmjxl7nphpwcs4imgz3da5jb8fvjqbrvnjwvcc";
+      };
+    };
     "path-platform-0.11.15" = {
       name = "path-platform";
       packageName = "path-platform";
@@ -4432,13 +4666,13 @@ let
         sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
       };
     };
-    "mime-1.4.1" = {
+    "mime-1.6.0" = {
       name = "mime";
       packageName = "mime";
-      version = "1.4.1";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
-        sha512 = "2sz22r1xrnyvq6jg0h6b6cab3s3xdsfqa0n6vl9xv9gq3ppcxrcpg2hqfc41xjwnfwfkr6240l5gys7nds61ch6xcb3gr3fwsl7x398";
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "1x901mk5cdib4xp27v4ivwwr7mhy64r4rk953bzivi5p9lf2bhw88ra2rhkd254xkdx2d3q30zkq239vc4yx4pfsj4hpys8rbr6fif7";
       };
     };
     "peerflix-0.34.0" = {
@@ -4855,13 +5089,13 @@ let
         sha1 = "91e5129088330a0fe248520cee12d1ad6bb4ddfb";
       };
     };
-    "mdns-js-0.5.3" = {
+    "mdns-js-1.0.1" = {
       name = "mdns-js";
       packageName = "mdns-js";
-      version = "0.5.3";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdns-js/-/mdns-js-0.5.3.tgz";
-        sha1 = "add2958d399319b6d8f2dde29bebac5e845e8b6d";
+        url = "https://registry.npmjs.org/mdns-js/-/mdns-js-1.0.1.tgz";
+        sha512 = "0z9rixsyb1m6w2qjqimn0ga0qdcpnxnm0ci7zd0svzd9kivqds0zczf7r32064r8c32m94cs3lrcvwvg21d7x2s38f28r5874rjs0bp";
       };
     };
     "plist-2.1.0" = {
@@ -4873,6 +5107,15 @@ let
         sha1 = "57ccdb7a0821df21831217a3cad54e3e146a1025";
       };
     };
+    "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";
+      };
+    };
     "dns-js-0.2.1" = {
       name = "dns-js";
       packageName = "dns-js";
@@ -4882,22 +5125,13 @@ let
         sha1 = "5d66629b3c0e6a5eb0e14f0ae701d05f6ea46673";
       };
     };
-    "semver-5.1.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz";
-        sha1 = "a3292a373e6f3e0798da0b20641b9a9c5bc47e19";
-      };
-    };
-    "qap-3.1.3" = {
+    "qap-3.3.0" = {
       name = "qap";
       packageName = "qap";
-      version = "3.1.3";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qap/-/qap-3.1.3.tgz";
-        sha1 = "394288bf07c8fe16cf36bb2e40a3bb947ed24963";
+        url = "https://registry.npmjs.org/qap/-/qap-3.3.0.tgz";
+        sha1 = "cf2a6dc77b252d4268489961693d64be4a70869e";
       };
     };
     "base64-js-1.2.0" = {
@@ -5071,13 +5305,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" = {
@@ -5575,13 +5809,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" = {
@@ -5620,13 +5854,13 @@ let
         sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
       };
     };
-    "ultron-1.1.0" = {
+    "ultron-1.1.1" = {
       name = "ultron";
       packageName = "ultron";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz";
-        sha1 = "b07a2e6a541a815fc6a34ccd4533baec307ca864";
+        url = "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz";
+        sha512 = "0x78hsv3jykmjl6qdqlqiz7v5nf06li8b5yvzpj6grnzwbcjch8ngyg55lm8g8mg4znvk7qbryvrr2dxacz3cvyb1nsm64qsw21g0ah";
       };
     };
     "addr-to-ip-port-1.4.2" = {
@@ -5953,6 +6187,357 @@ let
         sha1 = "519cb4ca686d005a8420d3496f3f0caeecca580f";
       };
     };
+    "axios-0.17.1" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz";
+        sha1 = "2d8e3e5d0bdbd7327f91bc814f5c57660f81824d";
+      };
+    };
+    "cfonts-1.1.3" = {
+      name = "cfonts";
+      packageName = "cfonts";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cfonts/-/cfonts-1.1.3.tgz";
+        sha1 = "5d9a7a6bf1a023fc2d535da7264ea90ecd9dbf48";
+      };
+    };
+    "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";
+      };
+    };
+    "humanize-plus-1.8.2" = {
+      name = "humanize-plus";
+      packageName = "humanize-plus";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-plus/-/humanize-plus-1.8.2.tgz";
+        sha1 = "a65b34459ad6367adbb3707a82a3c9f916167030";
+      };
+    };
+    "ora-1.3.0" = {
+      name = "ora";
+      packageName = "ora";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ora/-/ora-1.3.0.tgz";
+        sha1 = "80078dd2b92a934af66a3ad72a5b910694ede51a";
+      };
+    };
+    "follow-redirects-1.2.6" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.6.tgz";
+        sha512 = "1h8p8m3gkaav4s3l03h3kgg3gi264n9hgaq2yjjdzvvxfq1wrnw6sh2avrazpf7bihh44q8x5b59x551xaygfm3dvkx2djfy5kjmcqn";
+      };
+    };
+    "babel-runtime-6.22.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.22.0.tgz";
+        sha1 = "1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611";
+      };
+    };
+    "change-case-3.0.0" = {
+      name = "change-case";
+      packageName = "change-case";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/change-case/-/change-case-3.0.0.tgz";
+        sha1 = "6c9c8e35f8790870a82b6b0745be8c3cbef9b081";
+      };
+    };
+    "commander-2.9.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    };
+    "window-size-0.3.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.3.0.tgz";
+        sha1 = "b8f0b66e325d22160751e496337e44b45b727546";
+      };
+    };
+    "regenerator-runtime-0.10.5" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.10.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
+      };
+    };
+    "camel-case-3.0.0" = {
+      name = "camel-case";
+      packageName = "camel-case";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    };
+    "constant-case-2.0.0" = {
+      name = "constant-case";
+      packageName = "constant-case";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz";
+        sha1 = "4175764d389d3fa9c8ecd29186ed6005243b6a46";
+      };
+    };
+    "dot-case-2.1.1" = {
+      name = "dot-case";
+      packageName = "dot-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz";
+        sha1 = "34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee";
+      };
+    };
+    "header-case-1.0.1" = {
+      name = "header-case";
+      packageName = "header-case";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz";
+        sha1 = "9535973197c144b09613cd65d317ef19963bd02d";
+      };
+    };
+    "is-lower-case-1.1.3" = {
+      name = "is-lower-case";
+      packageName = "is-lower-case";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz";
+        sha1 = "7e147be4768dc466db3bfb21cc60b31e6ad69393";
+      };
+    };
+    "is-upper-case-1.1.2" = {
+      name = "is-upper-case";
+      packageName = "is-upper-case";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz";
+        sha1 = "8d0b1fa7e7933a1e58483600ec7d9661cbaf756f";
+      };
+    };
+    "lower-case-1.1.4" = {
+      name = "lower-case";
+      packageName = "lower-case";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    };
+    "lower-case-first-1.0.2" = {
+      name = "lower-case-first";
+      packageName = "lower-case-first";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz";
+        sha1 = "e5da7c26f29a7073be02d52bac9980e5922adfa1";
+      };
+    };
+    "no-case-2.3.2" = {
+      name = "no-case";
+      packageName = "no-case";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz";
+        sha512 = "34msnfifpdmxl414b8rch1p1six59jd9251b7wkb37n78fa84xfa5f5f5cxxp477wb846nfrsg6b1py3rahz4xdpk17lzzy9kvdjr5f";
+      };
+    };
+    "param-case-2.1.1" = {
+      name = "param-case";
+      packageName = "param-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    };
+    "pascal-case-2.0.1" = {
+      name = "pascal-case";
+      packageName = "pascal-case";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz";
+        sha1 = "2d578d3455f660da65eca18ef95b4e0de912761e";
+      };
+    };
+    "path-case-2.1.1" = {
+      name = "path-case";
+      packageName = "path-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz";
+        sha1 = "94b8037c372d3fe2906e465bb45e25d226e8eea5";
+      };
+    };
+    "sentence-case-2.1.1" = {
+      name = "sentence-case";
+      packageName = "sentence-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz";
+        sha1 = "1f6e2dda39c168bf92d13f86d4a918933f667ed4";
+      };
+    };
+    "snake-case-2.1.0" = {
+      name = "snake-case";
+      packageName = "snake-case";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz";
+        sha1 = "41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f";
+      };
+    };
+    "swap-case-1.1.2" = {
+      name = "swap-case";
+      packageName = "swap-case";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz";
+        sha1 = "c39203a4587385fad3c850a0bd1bcafa081974e3";
+      };
+    };
+    "title-case-2.1.1" = {
+      name = "title-case";
+      packageName = "title-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz";
+        sha1 = "3e127216da58d2bc5becf137ab91dae3a7cd8faa";
+      };
+    };
+    "upper-case-1.1.3" = {
+      name = "upper-case";
+      packageName = "upper-case";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    };
+    "upper-case-first-1.1.2" = {
+      name = "upper-case-first";
+      packageName = "upper-case-first";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz";
+        sha1 = "5d79bedcff14419518fd2edb0a0507c9b6859115";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "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";
+      };
+    };
+    "code-point-at-1.1.0" = {
+      name = "code-point-at";
+      packageName = "code-point-at";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "cli-cursor-2.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    };
+    "cli-spinners-1.1.0" = {
+      name = "cli-spinners";
+      packageName = "cli-spinners";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz";
+        sha1 = "f1847b168844d917a671eb9d147e3df497c90d06";
+      };
+    };
+    "log-symbols-1.0.2" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz";
+        sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18";
+      };
+    };
+    "restore-cursor-2.0.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    };
+    "onetime-2.0.1" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    };
+    "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";
+      };
+    };
     "configstore-2.1.0" = {
       name = "configstore";
       packageName = "configstore";
@@ -6178,13 +6763,13 @@ let
         sha1 = "364200d5f13646ca8bcd44490271335614792300";
       };
     };
-    "big-integer-1.6.25" = {
+    "big-integer-1.6.26" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.25";
+      version = "1.6.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz";
-        sha1 = "1de45a9f57542ac20121c682f8d642220a34e823";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.26.tgz";
+        sha1 = "3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8";
       };
     };
     "sax-0.3.5" = {
@@ -6394,15 +6979,6 @@ let
         sha1 = "96bb17761daba94f46d001738b3cedf3a67fe06c";
       };
     };
-    "acorn-5.2.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz";
-        sha512 = "3ryzhy30vzfnn2a0crafh3qsrx145ali8i88q1bc0lzl1dz0ycmjmmwh2yn9xfjs3vmjxl7nphpwcs4imgz3da5jb8fvjqbrvnjwvcc";
-      };
-    };
     "foreach-2.0.5" = {
       name = "foreach";
       packageName = "foreach";
@@ -6772,15 +7348,6 @@ let
         sha1 = "6571504f47bb988ec8180253f85dd7e14952bdec";
       };
     };
-    "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";
-      };
-    };
     "send-0.16.1" = {
       name = "send";
       packageName = "send";
@@ -6916,6 +7483,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "mime-1.4.1" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
+        sha512 = "2sz22r1xrnyvq6jg0h6b6cab3s3xdsfqa0n6vl9xv9gq3ppcxrcpg2hqfc41xjwnfwfkr6240l5gys7nds61ch6xcb3gr3fwsl7x398";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -7033,15 +7609,6 @@ let
         sha1 = "e75bd5f6e268122a2a0e0bda630b2550c166502c";
       };
     };
-    "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";
-      };
-    };
     "block-stream-0.0.9" = {
       name = "block-stream";
       packageName = "block-stream";
@@ -7222,24 +7789,6 @@ let
         sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
       };
     };
-    "code-point-at-1.1.0" = {
-      name = "code-point-at";
-      packageName = "code-point-at";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
-        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
-      };
-    };
-    "is-fullwidth-code-point-1.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
-        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
-      };
-    };
     "mute-stream-0.0.5" = {
       name = "mute-stream";
       packageName = "mute-stream";
@@ -7979,13 +8528,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" = {
@@ -8243,13 +8792,13 @@ let
         sha1 = "ae603b36b134bcec347b452422b0bf98d5832ec8";
       };
     };
-    "pump-1.0.2" = {
+    "pump-1.0.3" = {
       name = "pump";
       packageName = "pump";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz";
-        sha1 = "3b3ee6512f94f0e575538c17995f9f16990a5d51";
+        url = "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz";
+        sha512 = "2mj8bx34brvh97wd2xcn5phgyd2wh3l1ma2xfd0m53yf68w1izp46pmz0s9az5f36mhlvl0mvfd6hp5abhi75fhyrz9wyx6jnx0jkgj";
       };
     };
     "pumpify-1.3.5" = {
@@ -8306,13 +8855,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" = {
@@ -8468,6 +9017,15 @@ let
         sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
       };
     };
+    "semver-5.1.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz";
+        sha1 = "a3292a373e6f3e0798da0b20641b9a9c5bc47e19";
+      };
+    };
     "xtend-3.0.0" = {
       name = "xtend";
       packageName = "xtend";
@@ -8621,22 +9179,13 @@ let
         sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
       };
     };
-    "aws-sdk-2.145.0" = {
+    "aws-sdk-2.157.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.145.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.145.0.tgz";
-        sha1 = "085bb4553231defd93b96b0d95023717c9c3c093";
-      };
-    };
-    "request-2.83.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.83.0";
+      version = "2.157.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
-        sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.157.0.tgz";
+        sha1 = "b55b16f8413dfa9e7323b60b21fce9743206f8a1";
       };
     };
     "buffer-4.9.1" = {
@@ -8702,175 +9251,562 @@ let
         sha1 = "aa58a3041a066f90eaa16c2f5389ff19f3f461a5";
       };
     };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
+    "binstall-1.2.0" = {
+      name = "binstall";
+      packageName = "binstall";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+        url = "https://registry.npmjs.org/binstall/-/binstall-1.2.0.tgz";
+        sha1 = "6b2c0f580b9e3c607f50ef7a22a54ce9fdc8d933";
       };
     };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
+    "chalk-2.1.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz";
+        sha512 = "1fnn3znivja3xq1lacvsdwkl2s8ki9w95sylnf2pkmaia1mjz3llbdb5r2dxsflqfky3h8f1bh0piv0l5waw2bkdniqnyv0yx5wch9d";
       };
     };
-    "form-data-2.3.1" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.1";
+    "chokidar-1.6.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz";
-        sha1 = "6fb94fbd71885306d73d15cc497fe4cc4ecd44bf";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz";
+        sha1 = "90c32ad4802901d7713de532dc284e96a63ad058";
       };
     };
-    "har-validator-5.0.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.0.3";
+    "cross-spawn-4.0.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
-        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz";
+        sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
       };
     };
-    "hawk-6.0.2" = {
-      name = "hawk";
-      packageName = "hawk";
-      version = "6.0.2";
+    "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/hawk/-/hawk-6.0.2.tgz";
-        sha512 = "1nl2hjr2mnhj5jlaz8mh54z7acwz5j5idkch04qgjk78756gw5d0fjk4a2immil5ij9ijdssb9ndpryvnh2xpcbgcjv8lxybn330als";
+        url = "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz";
+        sha1 = "33c44b429ab2b2f0646299c5f9f718f376ff8d54";
       };
     };
-    "http-signature-1.2.0" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.2.0";
+    "firstline-1.2.1" = {
+      name = "firstline";
+      packageName = "firstline";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+        url = "https://registry.npmjs.org/firstline/-/firstline-1.2.1.tgz";
+        sha1 = "b88673c42009f8821fac2926e99720acee924fae";
       };
     };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
+    "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/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz";
+        sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
       };
     };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
+    "micromatch-2.3.11" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "2.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
       };
     };
-    "ajv-5.3.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "5.3.0";
+    "normalize-path-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz";
-        sha1 = "4414ff74a50879c208ee5fdc826e32c303549eda";
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
       };
     };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
+    "arr-diff-2.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
       version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
       };
     };
-    "co-4.6.0" = {
-      name = "co";
-      packageName = "co";
-      version = "4.6.0";
+    "braces-1.8.5" = {
+      name = "braces";
+      packageName = "braces";
+      version = "1.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+        url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
       };
     };
-    "fast-deep-equal-1.0.0" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
+    "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/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz";
-        sha1 = "96256a3bc975595eb36d82e9929d060d893439ff";
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
+        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
       };
     };
-    "fast-json-stable-stringify-2.0.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.0.0";
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
-        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
       };
     };
-    "json-schema-traverse-0.3.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.3.1";
+    "object.omit-2.0.1" = {
+      name = "object.omit";
+      packageName = "object.omit";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
-        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+        url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
       };
     };
-    "hoek-4.2.0" = {
-      name = "hoek";
-      packageName = "hoek";
-      version = "4.2.0";
+    "parse-glob-3.0.4" = {
+      name = "parse-glob";
+      packageName = "parse-glob";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz";
-        sha512 = "2cz0q3nnv67drgaw2rm7q57r9rgdax1qa0n4z46is7db1w8vwmh574xcr0d73xl5lg80vb85xg2gdhxzh9gbllagp7xk2q228pw4idz";
+        url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
       };
     };
-    "boom-4.3.1" = {
-      name = "boom";
-      packageName = "boom";
-      version = "4.3.1";
+    "regex-cache-0.4.4" = {
+      name = "regex-cache";
+      packageName = "regex-cache";
+      version = "0.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz";
-        sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
+        url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";
+        sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
       };
     };
-    "cryptiles-3.1.2" = {
-      name = "cryptiles";
-      packageName = "cryptiles";
-      version = "3.1.2";
+    "arr-flatten-1.1.0" = {
+      name = "arr-flatten";
+      packageName = "arr-flatten";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz";
-        sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
+        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
       };
     };
-    "sntp-2.1.0" = {
-      name = "sntp";
-      packageName = "sntp";
+    "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/sntp/-/sntp-2.1.0.tgz";
-        sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
+        url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
       };
     };
-    "boom-5.2.0" = {
-      name = "boom";
-      packageName = "boom";
-      version = "5.2.0";
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz";
-        sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
+        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.11.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz";
+        sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
+      };
+    };
+    "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" = {
@@ -8882,13 +9818,13 @@ let
         sha1 = "93b864dc7ee01a326281775d5c75ca0a751e5961";
       };
     };
-    "clipboardy-1.1.4" = {
+    "clipboardy-1.2.2" = {
       name = "clipboardy";
       packageName = "clipboardy";
-      version = "1.1.4";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.1.4.tgz";
-        sha1 = "51b17574fc682588e2dd295cfa6e6aa109eab5ee";
+        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.2.tgz";
+        sha512 = "2pq14hxz6w4k5yvndrm1fv3iyscdqf5c4nja421gl2661didzh80r08zddd84zny94831qs44biamjhvwmqh40pfy3pjv3vwl2ap8np";
       };
     };
     "conf-1.3.1" = {
@@ -8972,13 +9908,22 @@ let
         sha1 = "d4ba3e8e5e92760e4d1d3b603d772805c6cb256f";
       };
     };
-    "execa-0.6.3" = {
+    "arch-2.1.0" = {
+      name = "arch";
+      packageName = "arch";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arch/-/arch-2.1.0.tgz";
+        sha1 = "3613aa46149064b3c1f0607919bf1d4786e82889";
+      };
+    };
+    "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" = {
@@ -9026,15 +9971,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";
@@ -9044,24 +9980,6 @@ let
         sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
       };
     };
-    "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";
-      };
-    };
     "shebang-regex-1.0.0" = {
       name = "shebang-regex";
       packageName = "shebang-regex";
@@ -9215,13 +10133,13 @@ let
         sha512 = "35jir2yjv2l3v8aj062w0hfinzgwpb1sbhmaym8h4xn78j498naj7mkf4rpv74n5bfkysxb7l893l2yw3dpqk5dgb2yiwr8pcydjmj5";
       };
     };
-    "p-timeout-1.2.0" = {
+    "p-timeout-1.2.1" = {
       name = "p-timeout";
       packageName = "p-timeout";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.0.tgz";
-        sha1 = "9820f99434c5817868b4f34809ee5291660d5b6c";
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz";
+        sha1 = "5eb3b353b7fce99f101a1038880bb054ebbea386";
       };
     };
     "timed-out-4.0.1" = {
@@ -9449,15 +10367,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";
@@ -9467,33 +10376,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";
@@ -9503,15 +10385,6 @@ let
         sha512 = "06szfav8g7xywvqsis16nnkjqs2snhv37r4m53l1ax8k2sahvqv9id2klam32jajqd08ylw8g9wbcjr971igx6vh8idan76drrjby9v";
       };
     };
-    "cli-cursor-2.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
-        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
-      };
-    };
     "wrap-ansi-3.0.1" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -9521,33 +10394,6 @@ let
         sha1 = "288a04d87eda5c286e060dfe8f135ce8d007f8ba";
       };
     };
-    "restore-cursor-2.0.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
-        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
-      };
-    };
-    "onetime-2.0.1" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
-        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
-      };
-    };
-    "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";
-      };
-    };
     "string-width-2.1.1" = {
       name = "string-width";
       packageName = "string-width";
@@ -9656,22 +10502,13 @@ let
         sha1 = "dbbd5b54ba30f287e2a8d5a249da6c0cef369459";
       };
     };
-    "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";
-      };
-    };
-    "doctrine-2.0.0" = {
+    "doctrine-2.0.2" = {
       name = "doctrine";
       packageName = "doctrine";
-      version = "2.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz";
-        sha1 = "c73d8d2909d22291e1a007a395804da8b665fe63";
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz";
+        sha512 = "3q2dym3ya3hkv5x95fzyax46mxfd8bm53y4xhay4a3zl9mvys1sx1bk6n35x1skq8wqfyi865n2gl2mw3rxdn94m5vhmjxszbj6cjyb";
       };
     };
     "eslint-scope-3.7.1" = {
@@ -9683,13 +10520,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" = {
@@ -9728,6 +10565,15 @@ let
         sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
       };
     };
+    "globals-11.0.1" = {
+      name = "globals";
+      packageName = "globals";
+      version = "11.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-11.0.1.tgz";
+        sha1 = "12a87bb010e5154396acc535e1e43fc753b0e5e8";
+      };
+    };
     "ignore-3.3.7" = {
       name = "ignore";
       packageName = "ignore";
@@ -9764,13 +10610,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" = {
@@ -9980,13 +10826,13 @@ let
         sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
       };
     };
-    "external-editor-2.0.5" = {
+    "external-editor-2.1.0" = {
       name = "external-editor";
       packageName = "external-editor";
-      version = "2.0.5";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz";
-        sha512 = "3znpqavb7rxmw74p6hnq963agimzsm5r524jrpy9v6sbbhbbk77qhklgkr65jirq0a58lsz8jgvwy9q4wfmwl7ahj6nzrckhpmyij1j";
+        url = "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz";
+        sha512 = "366albydy3glqs8h6y7rdpdhmyffn7vaig5snw8cb1zmn22mgvfywr08jfbmqjiqc9pyjyaaqv6xz5sfy2j1y18590l4f8mji7j53hk";
       };
     };
     "figures-2.0.0" = {
@@ -10025,13 +10871,13 @@ let
         sha1 = "753b87a89a11c95467c4ac1626c4efc4e05c67be";
       };
     };
-    "jschardet-1.6.0" = {
-      name = "jschardet";
-      packageName = "jschardet";
-      version = "1.6.0";
+    "chardet-0.4.2" = {
+      name = "chardet";
+      packageName = "chardet";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz";
-        sha512 = "2crjzdrqdgc38g7nmam84m472pkagwnh3dj64d7pc87g5dgbw04p56ma6qqvmbb0b0r1pcx4wqr4kwvf7zplmk0434z1x681sys32y5";
+        url = "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz";
+        sha1 = "b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2";
       };
     };
     "tmp-0.0.33" = {
@@ -10169,13 +11015,13 @@ let
         sha512 = "1xd3zsk02nck4y601rn98n8cicrphaw5bdix278mk1yizmjv9s0wpa6akcqggd7d99c55s3byf4ylqdxkshyfsfnfx7lvwbmq2b3siw";
       };
     };
-    "eslint-4.10.0" = {
+    "eslint-4.12.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "4.10.0";
+      version = "4.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz";
-        sha512 = "284ihlnpkrds6jd5rwdbmknxhci60p5sv24p9aad5ra2rjwb1pcakk3p630bggahmq6jjsxngj9rfmpv31jy9gs29cl2qfxzzq6bi9h";
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.12.0.tgz";
+        sha512 = "31dhiy1b963gcs7s1ickygwm87vm943l5mhcxxwg97yc113b7fmdrzcb1m9gr9h0pkqacrdcmn59x3mdcqg0a4bgc2gjz859lszh6rs";
       };
     };
     "supports-color-3.2.3" = {
@@ -10205,15 +11051,6 @@ let
         sha1 = "19929f64c4093d2d2e7075a1dad8af59c296b8d1";
       };
     };
-    "ora-1.3.0" = {
-      name = "ora";
-      packageName = "ora";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ora/-/ora-1.3.0.tgz";
-        sha1 = "80078dd2b92a934af66a3ad72a5b910694ede51a";
-      };
-    };
     "phantomjs-prebuilt-2.1.16" = {
       name = "phantomjs-prebuilt";
       packageName = "phantomjs-prebuilt";
@@ -10241,24 +11078,6 @@ let
         sha512 = "3sy4za4hd6lczig5ah6ksh92i4ds0pk9b8nn4nwjwpsyyabywrnayf78zh41jf7amm6khqyjb3iknbp2mc3nfgvpkvphj3a993py6hf";
       };
     };
-    "cli-spinners-1.1.0" = {
-      name = "cli-spinners";
-      packageName = "cli-spinners";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz";
-        sha1 = "f1847b168844d917a671eb9d147e3df497c90d06";
-      };
-    };
-    "log-symbols-1.0.2" = {
-      name = "log-symbols";
-      packageName = "log-symbols";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz";
-        sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18";
-      };
-    };
     "es6-promise-4.1.1" = {
       name = "es6-promise";
       packageName = "es6-promise";
@@ -10547,373 +11366,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";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
-        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz";
+        sha512 = "3jw51f4iayxvp9wfxczk1xgcvhsydhlgah64jmpl0mqiii2h8i5pp0lrqac5xn7296gxqrvy4lgm4k4hkifk8gipgqxd68x764gp2jq";
       };
     };
     "event-stream-0.5.3" = {
@@ -11015,13 +11474,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" = {
@@ -11205,15 +11664,6 @@ let
         sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
       };
     };
-    "graceful-readlink-1.0.1" = {
-      name = "graceful-readlink";
-      packageName = "graceful-readlink";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-      };
-    };
     "acorn-2.7.0" = {
       name = "acorn";
       packageName = "acorn";
@@ -12393,22 +12843,85 @@ let
         sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "@ionic/cli-framework-0.0.2" = {
+    "clean-css-4.1.9" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "4.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz";
+        sha1 = "35cee8ae7687a49b98034f70de00c4edd3826301";
+      };
+    };
+    "he-1.1.1" = {
+      name = "he";
+      packageName = "he";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz";
+        sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
+      };
+    };
+    "ncname-1.0.0" = {
+      name = "ncname";
+      packageName = "ncname";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz";
+        sha1 = "5b57ad18b1ca092864ef62b0b1ed8194f383b71c";
+      };
+    };
+    "relateurl-0.2.7" = {
+      name = "relateurl";
+      packageName = "relateurl";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    };
+    "uglify-js-3.2.0" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.0.tgz";
+        sha512 = "2vgdxdcacmfv1079k2pbqi0cmgyg2xha1l1h91dnjb80wym2krmbq4i3kwk0ivknhj3mxm7iq584kx0rjyscz31cjkz38117fah7prg";
+      };
+    };
+    "xml-char-classes-1.0.0" = {
+      name = "xml-char-classes";
+      packageName = "xml-char-classes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz";
+        sha1 = "64657848a20ffc5df583a42ad8a277b4512bbc4d";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
+      };
+    };
+    "@ionic/cli-framework-0.1.2" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "0.0.2";
+      version = "0.1.2";
       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.2.tgz";
+        sha512 = "265kszf17mdz60zpfrj5i47lqwwgp6h1b7i8vymig1pnlqd3lnljibxvd2d1rfa3827ks435k9wws458z3dk7fyq8wfmzmv8fk9qjhh";
       };
     };
-    "@ionic/cli-utils-1.16.0" = {
+    "@ionic/cli-utils-1.19.0" = {
       name = "_at_ionic_slash_cli-utils";
       packageName = "@ionic/cli-utils";
-      version = "1.16.0";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.16.0.tgz";
-        sha512 = "090sn09fzw1qsri39vwdb4s2ams955rr4l85hpkbd0274mbwz9wxw6rdz37xvsc9hq7aj0qvhxg3kanz12m1chbml27wvxz8ah5hccq";
+        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.0.tgz";
+        sha512 = "24v61p6kqm6l6b5p58y5f4qgf7svxqnwpygz7bw1b7102p6hv6hkcnfgh32vf0nypd8fgdhyyhci5sz342ksdg11q6nj8snnqgd1gss";
       };
     };
     "opn-5.1.0" = {
@@ -12420,15 +12933,6 @@ let
         sha512 = "2k8g3x11xbm64r7bbyad08cjv27vaparkigq11w2v8kg8h73k2rzdr3q6f5i2klidgpaq9rbhfv45rf9dkqqv3d8vsbvw4c5knnbww8";
       };
     };
-    "os-name-2.0.1" = {
-      name = "os-name";
-      packageName = "os-name";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz";
-        sha1 = "b9a386361c17ae3a21736ef0599405c9a8c5dc5e";
-      };
-    };
     "tslib-1.8.0" = {
       name = "tslib";
       packageName = "tslib";
@@ -12447,13 +12951,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" = {
@@ -12501,13 +13005,13 @@ let
         sha1 = "d2df2e8d5773a82c1dcce925ccc41450ea999afd";
       };
     };
-    "ci-info-1.1.1" = {
+    "ci-info-1.1.2" = {
       name = "ci-info";
       packageName = "ci-info";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz";
-        sha512 = "1jvhr6dw386c1s25m0hg2xmdvi79rwm8imw1p63s329lp2cblcwsjld5xl6v0xv26pkb23pzaz5s8c4a698cm3b9llidxfgyqbw6w5w";
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz";
+        sha512 = "1jbmihk48iby72h0b6k4rvhrnaydml49qyjcb83ix310ivjzd4zmdk3yxx1ssn6ryjblm7xzaswnwj53rxwcyn1fr0jm7bzvhy8hcdr";
       };
     };
     "dargs-5.1.0" = {
@@ -12537,6 +13041,15 @@ let
         sha1 = "9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0";
       };
     };
+    "http-proxy-middleware-0.17.4" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "0.17.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz";
+        sha1 = "642e8848851d66f09d4f124912846dbaeb41b833";
+      };
+    };
     "leek-0.0.24" = {
       name = "leek";
       packageName = "leek";
@@ -12546,13 +13059,13 @@ let
         sha1 = "e400e57f0e60d8ef2bd4d068dc428a54345dbcda";
       };
     };
-    "proxy-middleware-0.15.0" = {
-      name = "proxy-middleware";
-      packageName = "proxy-middleware";
-      version = "0.15.0";
+    "os-name-2.0.1" = {
+      name = "os-name";
+      packageName = "os-name";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz";
-        sha1 = "a3fdf1befb730f951965872ac2f6074c61477a56";
+        url = "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz";
+        sha1 = "b9a386361c17ae3a21736ef0599405c9a8c5dc5e";
       };
     };
     "ssh-config-1.1.3" = {
@@ -12564,6 +13077,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";
@@ -12573,13 +13095,13 @@ let
         sha512 = "2b8y1xdv7szw0hvad64rghp2zdahs6qhx0k79c0s9xa0a35zbcrb9b9gywixhcxqi1c9ab7ah8ibra22k8baakh7rvmhf904d559g32";
       };
     };
-    "ws-3.3.0" = {
+    "ws-3.3.2" = {
       name = "ws";
       packageName = "ws";
-      version = "3.3.0";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-3.3.0.tgz";
-        sha512 = "04dfjwby2clbbb8pijv63a46hi2s4vl03p1l6yg533ra5hz5x6205z8bgdwkm5y2xw1j067msjbl08x7175lqhsh2rqw91cirzhdz2w";
+        url = "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz";
+        sha512 = "0nqwnjzy5hj2ay2lgxic67rg6dgj690xsiqwswfkrpr0vzyxmhkknfg145fwpqj3br9qa33k7jjdjdgpis9a0m1pxwc913iqfk8drdp";
       };
     };
     "netmask-1.0.6" = {
@@ -12672,6 +13194,51 @@ let
         sha1 = "74b6d33c9ae1e001510f179a91168588f1aedaa9";
       };
     };
+    "http-proxy-1.16.2" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz";
+        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
+      };
+    };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "eventemitter3-1.2.0" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
+        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
     "lodash.assign-3.2.0" = {
       name = "lodash.assign";
       packageName = "lodash.assign";
@@ -12717,6 +13284,51 @@ let
         sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
       };
     };
+    "macos-release-1.1.0" = {
+      name = "macos-release";
+      packageName = "macos-release";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz";
+        sha512 = "260gwv2k1svhzfxs50g921jbhrqlbfr94mcs9ak0dip7i2331nqc7ip0fgdkfl3r1b30w1s87qh2ssq6wxzd08pbmkjwchqc6xdnqls";
+      };
+    };
+    "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";
@@ -12816,15 +13428,6 @@ let
         sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
       };
     };
-    "macos-release-1.1.0" = {
-      name = "macos-release";
-      packageName = "macos-release";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz";
-        sha512 = "260gwv2k1svhzfxs50g921jbhrqlbfr94mcs9ak0dip7i2331nqc7ip0fgdkfl3r1b30w1s87qh2ssq6wxzd08pbmkjwchqc6xdnqls";
-      };
-    };
     "abbrev-1.0.9" = {
       name = "abbrev";
       packageName = "abbrev";
@@ -12915,13 +13518,13 @@ let
         sha1 = "a969a80a1fbff6b78f28776594d7bc2bdfab6aad";
       };
     };
-    "jaeger-client-3.5.3" = {
+    "jaeger-client-3.7.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.5.3";
+      version = "3.7.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.7.0.tgz";
+        sha1 = "65ec79e33fc6aaeb5acf36064d08acf4ec47da96";
       };
     };
     "mz-2.7.0" = {
@@ -12987,31 +13590,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" = {
@@ -13059,13 +13662,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" = {
@@ -13167,13 +13770,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" = {
@@ -13545,15 +14148,6 @@ let
         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";
@@ -13572,13 +14166,13 @@ let
         sha1 = "a230f64f568310e1498009940790ec99545bca7e";
       };
     };
-    "global-dirs-0.1.0" = {
+    "global-dirs-0.1.1" = {
       name = "global-dirs";
       packageName = "global-dirs";
-      version = "0.1.0";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz";
-        sha1 = "10d34039e0df04272e262cf24224f7209434df4f";
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz";
+        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
       };
     };
     "package-json-4.0.1" = {
@@ -13788,15 +14382,6 @@ let
         sha1 = "488b1d1d2451cb3d3a6b192cfc030f44c5855fea";
       };
     };
-    "http-proxy-1.16.2" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz";
-        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
-      };
-    };
     "isbinaryfile-3.0.2" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
@@ -13914,24 +14499,6 @@ let
         sha1 = "c7a8d3236068362059a7e4651fc6884e8b1fb4ae";
       };
     };
-    "eventemitter3-1.2.0" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
-        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
-      };
-    };
-    "requires-port-1.0.0" = {
-      name = "requires-port";
-      packageName = "requires-port";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
-        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
-      };
-    };
     "debug-2.3.3" = {
       name = "debug";
       packageName = "debug";
@@ -14787,22 +15354,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" = {
@@ -14814,15 +15381,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";
@@ -14958,13 +15516,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" = {
@@ -14976,67 +15534,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" = {
@@ -15057,13 +15615,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" = {
@@ -15084,22 +15642,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" = {
@@ -15120,13 +15678,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" = {
@@ -15138,22 +15696,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" = {
@@ -15264,15 +15822,6 @@ let
         sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
       };
     };
-    "is-glob-3.1.0" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
-        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
-      };
-    };
     "path-dirname-1.0.2" = {
       name = "path-dirname";
       packageName = "path-dirname";
@@ -15282,15 +15831,6 @@ let
         sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
       };
     };
-    "is-extglob-2.1.1" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
-      };
-    };
     "parse-json-3.0.0" = {
       name = "parse-json";
       packageName = "parse-json";
@@ -15570,6 +16110,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";
@@ -15588,13 +16137,13 @@ let
         sha1 = "9bee0e9a990a963ba96df6980c4fddb05dfb4dcc";
       };
     };
-    "markdown-it-github-headings-1.0.1" = {
+    "markdown-it-github-headings-1.1.0" = {
       name = "markdown-it-github-headings";
       packageName = "markdown-it-github-headings";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-github-headings/-/markdown-it-github-headings-1.0.1.tgz";
-        sha1 = "ac3e694de3fa3f0296961f4057f5160143fc2710";
+        url = "https://registry.npmjs.org/markdown-it-github-headings/-/markdown-it-github-headings-1.1.0.tgz";
+        sha1 = "d6f73da5276ded956861337189addf3d52b93558";
       };
     };
     "markdown-it-task-checkbox-1.0.4" = {
@@ -15678,13 +16227,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" = {
@@ -15750,13 +16299,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" = {
@@ -15795,6 +16344,15 @@ let
         sha1 = "945cfadd66521eaf8f7c84913d377d7b15f24e31";
       };
     };
+    "proxy-middleware-0.15.0" = {
+      name = "proxy-middleware";
+      packageName = "proxy-middleware";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz";
+        sha1 = "a3fdf1befb730f951965872ac2f6074c61477a56";
+      };
+    };
     "serve-index-1.9.1" = {
       name = "serve-index";
       packageName = "serve-index";
@@ -15984,6 +16542,15 @@ let
         sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
       };
     };
+    "commander-2.11.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
+        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+      };
+    };
     "diff-3.3.1" = {
       name = "diff";
       packageName = "diff";
@@ -16002,15 +16569,6 @@ let
         sha512 = "3aibvz85l13j140w4jjdk8939q6r7dnf8ay2licxgkaaldk7wbm093c1p5g7k5cg80rl0xslmczyraawfgdr82hhxn7rfsm1rn6rac4";
       };
     };
-    "he-1.1.1" = {
-      name = "he";
-      packageName = "he";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz";
-        sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
-      };
-    };
     "supports-color-4.4.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -16128,33 +16686,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";
@@ -16353,13 +16884,13 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
-    "detect-libc-1.0.2" = {
+    "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
-        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
     "tar-pack-3.4.1" = {
@@ -16758,13 +17289,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" = {
@@ -17235,15 +17766,6 @@ let
         sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
       };
     };
-    "commander-2.9.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-      };
-    };
     "feedparser-1.1.3" = {
       name = "feedparser";
       packageName = "feedparser";
@@ -18297,13 +18819,13 @@ let
         sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
       };
     };
-    "snyk-1.47.0" = {
+    "snyk-1.51.0" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.47.0";
+      version = "1.51.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.47.0.tgz";
-        sha1 = "2c86a734a842fdfc18b97df682a91d419fec70f3";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.51.0.tgz";
+        sha1 = "cba4d405d607f009dabada3fd62845f7283ce0b5";
       };
     };
     "spawn-please-0.3.0" = {
@@ -18342,6 +18864,15 @@ let
         sha1 = "c21fc961ce3c340fb082250da6a08a32f38631f1";
       };
     };
+    "proxy-from-env-1.0.0" = {
+      name = "proxy-from-env";
+      packageName = "proxy-from-env";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz";
+        sha1 = "33c50398f70ea7eb96d21f7b817630a55791c7ee";
+      };
+    };
     "snyk-config-1.0.1" = {
       name = "snyk-config";
       packageName = "snyk-config";
@@ -18387,13 +18918,22 @@ let
         sha512 = "3ar9rk77y39sydnriw6k9p5s15qpv1in81365l0yjbvn6qis7v4na98xfibsmfnnkjyblnd5qs2q1j6fabdfx4g2x5yi7ld6hdm6r3r";
       };
     };
-    "snyk-nuget-plugin-1.0.0" = {
+    "snyk-nuget-plugin-1.3.2" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.0.0";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.3.2.tgz";
+        sha512 = "0r929vp7mqx07wqr1k9xzww6yawkvf2c3s3cyx38mm65r72v8p16acis2y8ircl6spzh5slxv5adqpd70l7khw0fi8x4smjs812cgzp";
+      };
+    };
+    "snyk-php-plugin-1.1.2" = {
+      name = "snyk-php-plugin";
+      packageName = "snyk-php-plugin";
+      version = "1.1.2";
       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-php-plugin/-/snyk-php-plugin-1.1.2.tgz";
+        sha512 = "1vn9mfsmi72rnk8g69y27cpw9ljwv7qjnqmal344d0m20jjak38sz78xafc9l63j0s05bgax693548dn88ivgy5af2y8l8jp970vqp9";
       };
     };
     "snyk-policy-1.7.1" = {
@@ -18801,6 +19341,69 @@ let
         sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
       };
     };
+    "cvss-1.0.2" = {
+      name = "cvss";
+      packageName = "cvss";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cvss/-/cvss-1.0.2.tgz";
+        sha1 = "df67e92bf12a796f49e928799c8db3ba74b9fcd6";
+      };
+    };
+    "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";
+      };
+    };
+    "nodesecurity-npm-utils-6.0.0" = {
+      name = "nodesecurity-npm-utils";
+      packageName = "nodesecurity-npm-utils";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-6.0.0.tgz";
+        sha512 = "0v36pqap4xw0z9h00v73nhxv2llz5gi0y6vww0yjyqb2qyfkgb7cjpjgzscc6bviw4xi4nk223s9nlcnvkpwymllbva8d98bixnbd1l";
+      };
+    };
+    "wreck-12.5.1" = {
+      name = "wreck";
+      packageName = "wreck";
+      version = "12.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz";
+        sha512 = "3s89p8x1i16wg1prbm40z7l00611hzk2s7kkvph6fw4cx049p3gpviqmhbgqxxi9pfjz32mx3aj7qsygmfcnvasgs43rj1ynwdd944p";
+      };
+    };
+    "yargs-9.0.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "9.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz";
+        sha1 = "52acc23feecac34042078ee78c0c007f5085db4c";
+      };
+    };
+    "agent-base-4.1.2" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.1.2.tgz";
+        sha512 = "0vj8afdy0gk5q82i5zxx1ng4ylzipvyfnljbw948hvv1zr2653nr8jwiw73rp267a5c1rjl2xpxlc4rqvblc88sx0y0dfjs8yh90kjl";
+      };
+    };
+    "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";
+      };
+    };
     "lokijs-1.5.1" = {
       name = "lokijs";
       packageName = "lokijs";
@@ -18810,13 +19413,13 @@ let
         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" = {
@@ -18874,13 +19477,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" = {
@@ -18912,13 +19515,13 @@ let
         sha1 = "78717d9b718ce7cab55e20b9f24388d5fa51d5c0";
       };
     };
-    "service-runner-2.4.0" = {
+    "service-runner-2.4.4" = {
       name = "service-runner";
       packageName = "service-runner";
-      version = "2.4.0";
+      version = "2.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.0.tgz";
-        sha1 = "f275be6aa01ea17bae961607edb451c1e4716a7b";
+        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.4.tgz";
+        sha1 = "336f5fdfb1c5be7ea78044a013bb08d58b9ce08f";
       };
     };
     "simplediff-0.1.1" = {
@@ -19282,13 +19885,13 @@ let
         sha1 = "75b91fa9f16663e51f98e863af995b9164068c1a";
       };
     };
-    "http-headers-3.0.1" = {
+    "http-headers-3.0.2" = {
       name = "http-headers";
       packageName = "http-headers";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-headers/-/http-headers-3.0.1.tgz";
-        sha1 = "1cbc691c45cdf6d6c1dc63bf368b2505f56ef839";
+        url = "https://registry.npmjs.org/http-headers/-/http-headers-3.0.2.tgz";
+        sha512 = "0xv0kpsablrjag5ci3qqwjf0hwvcp6yk0hgabv4im6ssanimgbr8yhzmyz4jd10sw5xhrimzhxp2xx34l8p6aryqxqqg0wnxlikbcgk";
       };
     };
     "buffer-indexof-1.1.1" = {
@@ -19345,13 +19948,13 @@ let
         sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
       };
     };
-    "multicast-dns-6.1.1" = {
+    "multicast-dns-6.2.1" = {
       name = "multicast-dns";
       packageName = "multicast-dns";
-      version = "6.1.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.1.1.tgz";
-        sha1 = "6e7de86a570872ab17058adea7160bbeca814dde";
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz";
+        sha512 = "3gm760icxiv0bkil78dgsjkss4vwg3ya76jl3v8a5fa86wdv0ksvi1n7lnzisk4x4sa8chxnfxasyfpgay45ilaykqz2zbc8xrgypdr";
       };
     };
     "multicast-dns-service-types-1.1.0" = {
@@ -19462,6 +20065,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";
@@ -19615,6 +20227,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";
@@ -20003,6 +21002,15 @@ let
         sha512 = "1qi9fsw42grlhv4aj7v42xikvicr5657809syvp4dca33fjzzr1h7x1q9zwhclpyb879g6bgb2yd4i2iasnpmxn8ng1dcnq85yg001r";
       };
     };
+    "clipboardy-1.1.4" = {
+      name = "clipboardy";
+      packageName = "clipboardy";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.1.4.tgz";
+        sha1 = "51b17574fc682588e2dd295cfa6e6aa109eab5ee";
+      };
+    };
     "detect-port-1.2.1" = {
       name = "detect-port";
       packageName = "detect-port";
@@ -20066,15 +21074,6 @@ let
         sha512 = "2z1csf4c3fmlwl0ahk533z5zqkjdf36ccfx11kakl9xran9f5asxm4cxjq4lx1kwqdp8gki786cgpldvgrkvfc7pcvh07j5ssqm8rjg";
       };
     };
-    "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";
-      };
-    };
     "mri-1.1.0" = {
       name = "mri";
       packageName = "mri";
@@ -20084,6 +21083,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";
@@ -20093,6 +21101,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";
@@ -20255,13 +21608,13 @@ let
         sha1 = "3df373dbea587a9a7fef3e56311b68908f75c414";
       };
     };
-    "sanitize-html-1.15.0" = {
+    "sanitize-html-1.16.1" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "1.15.0";
+      version = "1.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.15.0.tgz";
-        sha512 = "26swjh5wivmim7l7g64f40vnr1dr7kyl5hr9csv84s2apa43rs19qypyf7y5r3a19v0pg9ibcs1spqykznq6jcxvmwrbwdihm78ndfn";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.16.1.tgz";
+        sha512 = "29wgrj32g4l1a8l4fxr55xg8kkbdb9nn9n4birdp20bsr8z1bfd2wh3hp6avhjw25s53shw6kxwbjirgd4yyry6jzalmnh335qvwzy3";
       };
     };
     "linkify-it-1.2.4" = {
@@ -20282,6 +21635,24 @@ let
         sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
       };
     };
+    "lodash.isarray-4.0.0" = {
+      name = "lodash.isarray";
+      packageName = "lodash.isarray";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz";
+        sha1 = "2aca496b28c4ca6d726715313590c02e6ea34403";
+      };
+    };
+    "postcss-6.0.14" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "6.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz";
+        sha512 = "2id33g6232s35n25daqrkz0bvzm2zmhlkfzmigkgia5q4jy9xg38spppmsdg0qswjankyi28wrbjsdwhczqfkx7h71gg8dmzz8p779l";
+      };
+    };
     "srcset-1.0.0" = {
       name = "srcset";
       packageName = "srcset";
@@ -20858,13 +22229,13 @@ let
         sha1 = "a69d9da76847b4d5834c1465ea25c0653a1fbf66";
       };
     };
-    "es-abstract-1.9.0" = {
+    "es-abstract-1.10.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.9.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz";
-        sha512 = "3frzxsmb5c319c73k3r0zn7djgqbzvnjch99hni35lram09a0q8jlh666m8mjaag9gjnlqjd9gl9xb769gkjd4pb3lhvv58h8kchkcj";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz";
+        sha512 = "04nd5ylkfffc08vn5kjhz0saqh44nj19f5j3ahrrhf3zvc9da5rf6snnh63xv4gfhacjbax1jajzgqv4zpm77v806jf883a2w77zs7y";
       };
     };
     "es-to-primitive-1.1.1" = {
@@ -20885,15 +22256,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";
@@ -21029,13 +22391,13 @@ let
         sha1 = "df0388fcd0b37816dff0a5fb8108939777dcbc9d";
       };
     };
-    "popsicle-9.1.0" = {
+    "popsicle-9.2.0" = {
       name = "popsicle";
       packageName = "popsicle";
-      version = "9.1.0";
+      version = "9.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/popsicle/-/popsicle-9.1.0.tgz";
-        sha1 = "4f900f38d57a574ec170eda40496e364082bff66";
+        url = "https://registry.npmjs.org/popsicle/-/popsicle-9.2.0.tgz";
+        sha512 = "23p3a888k27q99lj4904nbcs8r51nlm4qdzs3m0xp9y4ci1rxzymzzckrblrmlmbzrlxx4i9zx7s56gcrhvi2jm3ypr3lvhgy7m3sx5";
       };
     };
     "popsicle-proxy-agent-3.0.0" = {
@@ -21164,15 +22526,6 @@ let
         sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
       };
     };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
-      };
-    };
     "blueimp-md5-2.10.0" = {
       name = "blueimp-md5";
       packageName = "blueimp-md5";
@@ -21182,13 +22535,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" = {
@@ -21362,15 +22715,6 @@ let
         sha1 = "0b48420d978c01804cf0230b648861598225a119";
       };
     };
-    "yargs-9.0.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz";
-        sha1 = "52acc23feecac34042078ee78c0c007f5085db4c";
-      };
-    };
     "color-string-1.5.2" = {
       name = "color-string";
       packageName = "color-string";
@@ -21596,13 +22940,13 @@ let
         sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
       };
     };
-    "node-libs-browser-2.0.0" = {
+    "node-libs-browser-2.1.0" = {
       name = "node-libs-browser";
       packageName = "node-libs-browser";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz";
-        sha1 = "a3a59ec97024985b46e958379646f96c4b616646";
+        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz";
+        sha512 = "05d8rzfa0aihb9s1i3fm0dmdvlspfrxf4pxnsd3nms75mviv86llgg2r30l7b38a9l93yb00k7dy1vs8h4nd30ihhyvyc88vb6wa374";
       };
     };
     "uglifyjs-webpack-plugin-0.4.6" = {
@@ -21614,13 +22958,13 @@ let
         sha1 = "b951f4abb6bd617e66f63eb891498e391763e309";
       };
     };
-    "webpack-sources-1.0.2" = {
+    "webpack-sources-1.1.0" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
-      version = "1.0.2";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz";
-        sha512 = "1mk1l1f1bv2cnxbyr13i5rbiwm9cgv91d28rk3mmy8z2m6f0xksgkjv5k00xcmvkd3sjsbrica8a1xrlzz0crydrfix3sdgq1s1vdb3";
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz";
+        sha512 = "19rska638yxsrpxavydnjckcljiy6ylh63b802hylac396p3mm6j9bj85rhyvi81jk48c33sq580ixwjkbghgwp7cl1i9hgr7bjk9ka";
       };
     };
     "es6-map-0.1.5" = {
@@ -21650,13 +22994,13 @@ let
         sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
       };
     };
-    "es5-ext-0.10.35" = {
+    "es5-ext-0.10.37" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.35";
+      version = "0.10.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz";
-        sha1 = "18ee858ce6a3c45c7d79e91c15fcca9ec568494f";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz";
+        sha1 = "0ee741d148b80069ba27d020393756af257defc3";
       };
     };
     "es6-iterator-2.0.3" = {
@@ -21713,15 +23057,6 @@ let
         sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
       };
     };
-    "os-browserify-0.2.1" = {
-      name = "os-browserify";
-      packageName = "os-browserify";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz";
-        sha1 = "63fc4ccee5d2d7763d26bbf8601078e6c2e0044f";
-      };
-    };
     "timers-browserify-2.0.4" = {
       name = "timers-browserify";
       packageName = "timers-browserify";
@@ -21794,15 +23129,6 @@ 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";
@@ -21866,15 +23192,6 @@ let
         sha1 = "2fa9e12605fa10009d44549d6fcd8a63dde0e4ff";
       };
     };
-    "regenerator-runtime-0.10.5" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.10.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
-        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
-      };
-    };
     "sign-addon-0.2.1" = {
       name = "sign-addon";
       packageName = "sign-addon";
@@ -22037,13 +23354,13 @@ let
         sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
       };
     };
-    "pino-4.9.0" = {
+    "pino-4.10.2" = {
       name = "pino";
       packageName = "pino";
-      version = "4.9.0";
+      version = "4.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-4.9.0.tgz";
-        sha512 = "097h26i54647qkh904ywnxifi90pngnzxkdjap0rv5an2jxh5pqfd903lb5zn136ln71xp41cq02v1r623g3klil9s4bn3qfw9yyvz4";
+        url = "https://registry.npmjs.org/pino/-/pino-4.10.2.tgz";
+        sha512 = "2dvx5p741a807ch31jbaxsn1qkkqjnvv8zikzjrk6pnm9da0gayl7g0swpvf87limyi61d3xfhasjy0v4fmvai2wb54pngfx2047lw4";
       };
     };
     "postcss-6.0.11" = {
@@ -22316,13 +23633,22 @@ let
         sha1 = "c77079cc91d4efac775be1034bf2d243f95e6f08";
       };
     };
-    "unist-util-visit-1.1.3" = {
+    "unist-util-visit-1.2.0" = {
       name = "unist-util-visit";
       packageName = "unist-util-visit";
-      version = "1.1.3";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.2.0.tgz";
+        sha512 = "37l6dcqgpyq3925kx2bbm0fmnnsjbq7ag41axij33ai456qfvs7winhdhy4aw2wc2h09j1lswq3pi24bk452q92v3cx3kj3z74a73wl";
+      };
+    };
+    "unist-util-is-2.1.1" = {
+      name = "unist-util-is";
+      packageName = "unist-util-is";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.1.3.tgz";
-        sha1 = "ec268e731b9d277a79a5b5aa0643990e405d600b";
+        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz";
+        sha1 = "0c312629e3f960c66e931e812d3d80e77010947b";
       };
     };
     "ccount-1.0.2" = {
@@ -23384,13 +24710,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"
@@ -23407,7 +24733,7 @@ in
       sources."chmodr-1.0.2"
       sources."colors-0.6.0-1"
       sources."commander-0.6.1"
-      sources."deasync-0.1.10"
+      sources."deasync-0.1.11"
       sources."ejs-2.3.4"
       sources."fs-extra-3.0.1"
       sources."global-paths-0.1.2"
@@ -23427,7 +24753,7 @@ in
       sources."babel-register-6.26.0"
       sources."babel-runtime-6.26.0"
       sources."babel-template-6.26.0"
-      sources."convert-source-map-1.5.0"
+      sources."convert-source-map-1.5.1"
       sources."debug-2.6.9"
       sources."json5-0.5.1"
       sources."minimatch-3.0.4"
@@ -23466,7 +24792,7 @@ in
       sources."loose-envify-1.3.1"
       sources."to-fast-properties-1.0.3"
       sources."bindings-1.2.1"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."graceful-fs-4.1.11"
       sources."jsonfile-3.0.1"
       sources."universalify-0.1.1"
@@ -23475,7 +24801,7 @@ in
       sources."is-windows-0.2.0"
       sources."global-prefix-0.1.5"
       sources."homedir-polyfill-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."which-1.3.0"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
@@ -23502,10 +24828,10 @@ in
   azure-cli = nodeEnv.buildNodePackage {
     name = "azure-cli";
     packageName = "azure-cli";
-    version = "0.10.16";
+    version = "0.10.17";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.16.tgz";
-      sha512 = "0l8acam1ykyb31ww0xspzvv9na18l1w7r9hjg7vz3nbb9zhbs2615gyjjj7va0r8czr221nwyrggdx65vhxdpwvzi7mzjmbmgr85a36";
+      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.17.tgz";
+      sha1 = "e991dfa17dc5d7d91731180851fd9cbfbadf73c3";
     };
     dependencies = [
       sources."adal-node-0.1.21"
@@ -23557,7 +24883,7 @@ in
           sources."async-0.2.7"
         ];
       })
-      sources."azure-arm-network-3.0.0"
+      sources."azure-arm-network-4.0.1"
       (sources."azure-arm-powerbiembedded-0.1.0" // {
         dependencies = [
           sources."ms-rest-1.15.7"
@@ -23566,13 +24892,7 @@ in
         ];
       })
       sources."azure-arm-trafficmanager-1.1.0-preview"
-      (sources."azure-arm-dns-0.11.1" // {
-        dependencies = [
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."async-0.2.7"
-        ];
-      })
+      sources."azure-arm-dns-2.0.0-preview"
       (sources."azure-arm-website-0.11.4" // {
         dependencies = [
           sources."ms-rest-1.15.7"
@@ -23689,15 +25009,19 @@ 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.7" // {
         dependencies = [
           sources."moment-2.18.1"
+          sources."request-2.83.0"
+          sources."through-2.3.8"
+          sources."tunnel-0.0.5"
         ];
       })
-      (sources."ms-rest-azure-2.4.1" // {
+      (sources."ms-rest-azure-2.4.5" // {
         dependencies = [
           sources."async-2.5.0"
+          sources."adal-node-0.1.25"
           sources."moment-2.18.1"
         ];
       })
@@ -23716,8 +25040,8 @@ in
       (sources."request-2.74.0" // {
         dependencies = [
           sources."readable-stream-2.0.6"
-          sources."async-2.5.0"
-          sources."commander-2.11.0"
+          sources."async-2.6.0"
+          sources."commander-2.12.1"
         ];
       })
       sources."ssh-key-to-pem-0.11.0"
@@ -23773,7 +25097,7 @@ in
       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"
@@ -23785,39 +25109,14 @@ in
       sources."has-color-0.1.7"
       sources."ansi-styles-2.2.1"
       sources."strip-ansi-3.0.1"
-      sources."@types/node-8.0.47"
-      sources."@types/request-2.0.7"
+      sources."@types/node-8.0.53"
+      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."lodash-4.17.4"
-      sources."debug-0.7.4"
-      sources."q-0.9.7"
-      sources."pkginfo-0.3.1"
-      sources."revalidator-0.1.8"
-      sources."utile-0.2.1"
-      sources."deep-equal-1.0.1"
-      sources."i-0.3.6"
-      sources."mkdirp-0.5.1"
-      sources."ncp-0.4.2"
-      sources."rimraf-2.6.2"
-      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"
-      sources."cycle-1.0.3"
-      sources."isstream-0.1.2"
+      sources."@types/form-data-2.2.1"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
-      sources."bl-1.1.2"
       sources."caseless-0.11.0"
       sources."combined-stream-1.0.5"
       sources."forever-agent-0.6.1"
@@ -23826,31 +25125,28 @@ in
       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.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."is-my-json-valid-2.16.1"
-      sources."pinkie-promise-2.0.1"
-      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."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."asynckit-0.4.0"
+      sources."ajv-5.5.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-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."assert-plus-0.2.0"
       sources."jsprim-1.4.1"
       sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
@@ -23865,6 +25161,42 @@ in
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.30.0"
       sources."punycode-1.4.1"
+      sources."lodash-4.17.4"
+      sources."debug-0.7.4"
+      sources."q-0.9.7"
+      sources."pkginfo-0.3.1"
+      sources."revalidator-0.1.8"
+      sources."utile-0.2.1"
+      sources."deep-equal-1.0.1"
+      sources."i-0.3.6"
+      sources."mkdirp-0.5.1"
+      sources."ncp-0.4.2"
+      sources."rimraf-2.6.2"
+      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"
+      sources."cycle-1.0.3"
+      sources."bl-1.1.2"
+      sources."is-my-json-valid-2.16.1"
+      sources."pinkie-promise-2.0.1"
+      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."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."ctype-0.5.2"
       sources."source-map-0.1.43"
       sources."fibers-1.0.15"
@@ -24145,7 +25477,7 @@ in
       sources."astw-2.2.0"
       sources."acorn-4.0.13"
       sources."stream-splicer-2.0.0"
-      sources."detective-4.5.0"
+      sources."detective-4.6.0"
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
       sources."path-parse-1.0.5"
@@ -24188,10 +25520,11 @@ in
       sources."got-1.2.2"
       sources."internal-ip-1.2.0"
       sources."keypress-0.2.1"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."minimist-1.2.0"
       (sources."peerflix-0.34.0" // {
         dependencies = [
+          sources."debug-2.6.9"
           sources."minimist-1.2.0"
         ];
       })
@@ -24256,7 +25589,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.1.1"
+      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"
@@ -24293,10 +25626,10 @@ in
       sources."rc-0.4.0"
       sources."torrent-stream-1.0.3"
       sources."windows-no-runnable-0.0.6"
-      sources."mdns-js-0.5.3"
+      sources."mdns-js-1.0.1"
       sources."plist-2.1.0"
       sources."dns-js-0.2.1"
-      sources."qap-3.1.3"
+      sources."qap-3.3.0"
       sources."base64-js-1.2.0"
       sources."xmlbuilder-9.0.4"
       sources."xmldom-0.1.27"
@@ -24317,7 +25650,7 @@ in
       sources."uniq-1.0.1"
       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.3.3"
       sources."simple-concat-1.0.0"
@@ -24411,7 +25744,7 @@ in
       sources."voc-1.0.0"
       sources."concat-stream-1.6.0"
       sources."exit-on-epipe-1.0.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."typedarray-0.0.6"
       sources."sax-1.2.4"
       sources."underscore-1.6.0"
@@ -24440,6 +25773,83 @@ in
     };
     production = true;
   };
+  coinmon = nodeEnv.buildNodePackage {
+    name = "coinmon";
+    packageName = "coinmon";
+    version = "0.0.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.9.tgz";
+      sha512 = "3hzlrghgwyf65qhz9hm1w3np5djhjjl8f1v9bpa7bmqi3593q3i0589c6lbd493i802ai74pvdkx3zp6qb6r224nyz2jx80kqi5bvp6";
+    };
+    dependencies = [
+      sources."axios-0.17.1"
+      (sources."cfonts-1.1.3" // {
+        dependencies = [
+          sources."commander-2.9.0"
+        ];
+      })
+      sources."cli-table2-0.2.0"
+      sources."commander-2.12.1"
+      sources."humanize-plus-1.8.2"
+      sources."ora-1.3.0"
+      sources."follow-redirects-1.2.6"
+      sources."is-buffer-1.1.6"
+      sources."debug-3.1.0"
+      sources."ms-2.0.0"
+      sources."babel-runtime-6.22.0"
+      sources."chalk-1.1.3"
+      sources."change-case-3.0.0"
+      sources."window-size-0.3.0"
+      sources."core-js-2.5.1"
+      sources."regenerator-runtime-0.10.5"
+      sources."ansi-styles-2.2.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."has-ansi-2.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."ansi-regex-2.1.1"
+      sources."get-stdin-4.0.1"
+      sources."camel-case-3.0.0"
+      sources."constant-case-2.0.0"
+      sources."dot-case-2.1.1"
+      sources."header-case-1.0.1"
+      sources."is-lower-case-1.1.3"
+      sources."is-upper-case-1.1.2"
+      sources."lower-case-1.1.4"
+      sources."lower-case-first-1.0.2"
+      sources."no-case-2.3.2"
+      sources."param-case-2.1.1"
+      sources."pascal-case-2.0.1"
+      sources."path-case-2.1.1"
+      sources."sentence-case-2.1.1"
+      sources."snake-case-2.1.0"
+      sources."swap-case-1.1.2"
+      sources."title-case-2.1.1"
+      sources."upper-case-1.1.3"
+      sources."upper-case-first-1.1.2"
+      sources."graceful-readlink-1.0.1"
+      sources."lodash-3.10.1"
+      sources."string-width-1.0.2"
+      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."cli-cursor-2.1.0"
+      sources."cli-spinners-1.1.0"
+      sources."log-symbols-1.0.2"
+      sources."restore-cursor-2.0.0"
+      sources."onetime-2.0.1"
+      sources."signal-exit-3.0.2"
+      sources."mimic-fn-1.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A cryptocurrency price monitoring tool";
+      homepage = "https://github.com/bichenkk/coinmon#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
   cordova = nodeEnv.buildNodePackage {
     name = "cordova";
     packageName = "cordova";
@@ -24500,7 +25910,7 @@ in
       sources."shelljs-0.5.3"
       sources."underscore-1.2.1"
       sources."unorm-1.4.1"
-      sources."big-integer-1.6.25"
+      sources."big-integer-1.6.26"
       sources."sax-0.3.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -24643,7 +26053,7 @@ in
       sources."lexical-scope-1.2.0"
       sources."astw-2.2.0"
       sources."stream-splicer-2.0.0"
-      sources."detective-4.5.0"
+      sources."detective-4.6.0"
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
       sources."json-stable-stringify-0.0.1"
@@ -24749,7 +26159,7 @@ in
       sources."tunnel-agent-0.4.3"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."is-my-json-valid-2.16.1"
       sources."pinkie-promise-2.0.1"
       sources."generate-function-2.0.0"
@@ -24823,7 +26233,7 @@ in
       sources."stream-shift-1.0.0"
       sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."is-finite-1.0.2"
     ];
@@ -24948,7 +26358,7 @@ in
       sources."destroy-1.0.3"
       sources."mime-1.2.11"
       sources."bindings-1.3.0"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."jsonparse-0.0.6"
       sources."es5class-2.3.1"
       sources."faye-websocket-0.11.1"
@@ -24956,7 +26366,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"
@@ -24969,7 +26379,7 @@ in
       sources."core-util-is-1.0.2"
       sources."extsprintf-1.3.0"
       sources."async-0.9.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."optimist-0.6.1"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
@@ -25044,14 +26454,14 @@ in
           sources."through2-2.0.3"
         ];
       })
-      sources."pump-1.0.2"
+      sources."pump-1.0.3"
       sources."pumpify-1.3.5"
       sources."relative-date-1.1.3"
       sources."root-2.0.0"
       sources."sorted-union-stream-1.0.2"
       sources."split2-0.2.1"
       sources."stream-collector-1.0.1"
-      sources."tar-stream-1.5.4"
+      sources."tar-stream-1.5.5"
       sources."through2-0.6.5"
       sources."thunky-0.1.0"
       sources."xtend-4.0.1"
@@ -25119,10 +26529,10 @@ 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.145.0"
-      sources."ini-1.3.4"
+      sources."aws-sdk-2.157.0"
+      sources."ini-1.3.5"
       sources."optimist-0.6.1"
       sources."request-2.83.0"
       sources."jsonparse-1.3.1"
@@ -25166,7 +26576,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -25200,6 +26610,183 @@ in
     };
     production = true;
   };
+  elm-test = nodeEnv.buildNodePackage {
+    name = "elm-test";
+    packageName = "elm-test";
+    version = "0.18.10";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.18.10.tgz";
+      sha512 = "2c8i6smwbashg8yx2qqbix6lz8lxcn1rri7i414vxi9zxiglbsxr01p209zpa0bl1ib07syyz5pfw0nwfwyvmi42pb6gzk1xls6kniq";
+    };
+    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.12.1"
+      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.11.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.8.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";
@@ -25210,7 +26797,7 @@ in
     };
     dependencies = [
       sources."auto-bind-1.1.0"
-      sources."clipboardy-1.1.4"
+      sources."clipboardy-1.2.2"
       sources."conf-1.3.1"
       sources."got-7.1.0"
       sources."has-ansi-3.0.0"
@@ -25225,7 +26812,8 @@ in
       sources."mem-1.1.0"
       sources."meow-3.7.0"
       sources."skin-tone-1.0.0"
-      sources."execa-0.6.3"
+      sources."arch-2.1.0"
+      sources."execa-0.8.0"
       sources."cross-spawn-5.1.0"
       sources."get-stream-3.0.0"
       sources."is-stream-1.1.0"
@@ -25262,7 +26850,7 @@ in
       sources."isurl-1.0.0"
       sources."lowercase-keys-1.0.0"
       sources."p-cancelable-0.3.0"
-      sources."p-timeout-1.2.0"
+      sources."p-timeout-1.2.1"
       sources."safe-buffer-5.1.1"
       sources."timed-out-4.0.1"
       sources."url-parse-lax-1.0.0"
@@ -25290,7 +26878,7 @@ in
       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."convert-source-map-1.5.1"
       sources."debug-2.6.9"
       sources."json5-0.5.1"
       sources."lodash-4.17.4"
@@ -25339,7 +26927,7 @@ in
       sources."lodash.isequal-4.5.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"
@@ -25405,13 +26993,13 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "4.10.0";
+    version = "4.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz";
-      sha512 = "284ihlnpkrds6jd5rwdbmknxhci60p5sv24p9aad5ra2rjwb1pcakk3p630bggahmq6jjsxngj9rfmpv31jy9gs29cl2qfxzzq6bi9h";
+      url = "https://registry.npmjs.org/eslint/-/eslint-4.12.0.tgz";
+      sha512 = "31dhiy1b963gcs7s1ickygwm87vm943l5mhcxxwg97yc113b7fmdrzcb1m9gr9h0pkqacrdcmn59x3mdcqg0a4bgc2gjz859lszh6rs";
     };
     dependencies = [
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       (sources."babel-code-frame-6.26.0" // {
         dependencies = [
           sources."chalk-1.1.3"
@@ -25422,22 +27010,22 @@ in
       sources."concat-stream-1.6.0"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
-      sources."doctrine-2.0.0"
+      sources."doctrine-2.0.2"
       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"
       sources."file-entry-cache-2.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-9.18.0"
+      sources."globals-11.0.1"
       sources."ignore-3.3.7"
       sources."imurmurhash-0.1.4"
       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"
@@ -25463,7 +27051,7 @@ in
       sources."has-ansi-2.0.0"
       sources."supports-color-4.5.0"
       sources."ansi-regex-3.0.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."inherits-2.0.3"
@@ -25511,7 +27099,7 @@ in
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      sources."external-editor-2.0.5"
+      sources."external-editor-2.1.0"
       sources."figures-2.0.0"
       sources."mute-stream-0.0.7"
       sources."run-async-2.3.0"
@@ -25523,8 +27111,8 @@ in
       sources."onetime-2.0.1"
       sources."signal-exit-3.0.2"
       sources."mimic-fn-1.1.0"
+      sources."chardet-0.4.2"
       sources."iconv-lite-0.4.19"
-      sources."jschardet-1.6.0"
       sources."tmp-0.0.33"
       sources."os-tmpdir-1.0.2"
       sources."is-promise-2.1.0"
@@ -25533,7 +27121,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"
@@ -25560,10 +27147,10 @@ in
   eslint_d = nodeEnv.buildNodePackage {
     name = "eslint_d";
     packageName = "eslint_d";
-    version = "5.1.0";
+    version = "5.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-5.1.0.tgz";
-      sha512 = "3a69fni3gypbhmr458lzxnz7qpik5v7zsxhv4sfb85a7ygngibaxazv5z4i39zvcyivab5z8mnayn496z7v6m0r8j0zkfm39d6i5gwq";
+      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-5.2.0.tgz";
+      sha512 = "3isjjj3hxs689ajwa1mhqdhi4sq6ibk7sgdlrckn0f77nn60pl0j165hqz5wkc7gfznv7m6jlk5ylbcl0hj1n10jw5zsiicbapzvy9i";
     };
     dependencies = [
       (sources."chalk-1.1.3" // {
@@ -25571,7 +27158,7 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."eslint-4.10.0" // {
+      (sources."eslint-4.12.0" // {
         dependencies = [
           sources."chalk-2.3.0"
           sources."supports-color-4.5.0"
@@ -25585,7 +27172,7 @@ in
       sources."has-ansi-2.0.0"
       sources."strip-ansi-4.0.0"
       sources."ansi-regex-3.0.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       (sources."babel-code-frame-6.26.0" // {
         dependencies = [
           sources."chalk-1.1.3"
@@ -25594,22 +27181,22 @@ in
       sources."concat-stream-1.6.0"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
-      sources."doctrine-2.0.0"
+      sources."doctrine-2.0.2"
       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"
       sources."file-entry-cache-2.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-9.18.0"
+      sources."globals-11.0.1"
       sources."ignore-3.3.7"
       sources."imurmurhash-0.1.4"
       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"
@@ -25628,7 +27215,7 @@ in
       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-1.0.0"
       sources."inherits-2.0.3"
@@ -25676,7 +27263,7 @@ in
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      sources."external-editor-2.0.5"
+      sources."external-editor-2.1.0"
       sources."figures-2.0.0"
       sources."mute-stream-0.0.7"
       sources."run-async-2.3.0"
@@ -25688,8 +27275,8 @@ in
       sources."onetime-2.0.1"
       sources."signal-exit-3.0.2"
       sources."mimic-fn-1.1.0"
+      sources."chardet-0.4.2"
       sources."iconv-lite-0.4.19"
-      sources."jschardet-1.6.0"
       sources."tmp-0.0.33"
       sources."os-tmpdir-1.0.2"
       sources."is-promise-2.1.0"
@@ -25698,7 +27285,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"
@@ -25861,7 +27447,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -25940,7 +27526,7 @@ 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 = [
@@ -25996,7 +27582,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"
@@ -26030,7 +27616,7 @@ in
       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."binary-extensions-1.11.0"
       sources."graceful-fs-4.1.11"
       sources."readable-stream-2.3.3"
       sources."set-immediate-shim-1.0.1"
@@ -26039,12 +27625,12 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.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"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."lazy-1.0.11"
       sources."strip-json-comments-0.1.3"
       sources."caller-0.0.1"
@@ -26082,14 +27668,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;
@@ -26206,7 +27792,7 @@ in
       sources."weak-map-1.0.5"
       sources."sax-1.2.4"
       sources."xmlbuilder-9.0.4"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -26342,7 +27928,7 @@ in
       sources."global-prefix-0.1.5"
       sources."is-windows-0.2.0"
       sources."homedir-polyfill-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."which-1.3.0"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
@@ -26486,26 +28072,67 @@ in
     };
     production = true;
   };
+  html-minifier = nodeEnv.buildNodePackage {
+    name = "html-minifier";
+    packageName = "html-minifier";
+    version = "3.5.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.7.tgz";
+      sha512 = "31dxgy9vqkpkkmxi45mlnp7ijqigjx1s1z9j7ngvklwp6n4rck5cs3ilw3qxz0glsgj2k9n884wrcad9433ljjsh7z8w3hamagrg10q";
+    };
+    dependencies = [
+      sources."camel-case-3.0.0"
+      sources."clean-css-4.1.9"
+      sources."commander-2.12.1"
+      sources."he-1.1.1"
+      sources."ncname-1.0.0"
+      sources."param-case-2.1.1"
+      sources."relateurl-0.2.7"
+      sources."uglify-js-3.2.0"
+      sources."no-case-2.3.2"
+      sources."upper-case-1.1.3"
+      sources."lower-case-1.1.4"
+      sources."source-map-0.6.1"
+      sources."xml-char-classes-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Highly configurable, well-tested, JavaScript-based HTML minifier.";
+      homepage = http://kangax.github.io/html-minifier/;
+      license = "MIT";
+    };
+    production = true;
+  };
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "3.16.0";
+    version = "3.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-3.16.0.tgz";
-      sha512 = "38a26yiac39b4ycigml2mxzlv0vkf7ns69cxvn9x6cb9n1bicl9q3r8ifb0dxjihmrahxcfdpc3ni6mn65hf255j9lcb22mr350f75z";
+      url = "https://registry.npmjs.org/ionic/-/ionic-3.19.0.tgz";
+      sha512 = "34pv92cpzkfq8r6q0k2r47n2pj7v5n0hnldrjgh443cacc1ifbbh5n0xfgrd93l88w3pwk7gc64xnipw37d6cbk5zv9kawy88b1j6bs";
     };
     dependencies = [
-      sources."@ionic/cli-framework-0.0.2"
-      sources."@ionic/cli-utils-1.16.0"
+      sources."@ionic/cli-framework-0.1.2"
+      sources."@ionic/cli-utils-1.19.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"
@@ -26524,7 +28151,6 @@ 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"
@@ -26535,45 +28161,36 @@ in
       sources."basic-auth-1.1.0"
       sources."body-parser-1.18.2"
       sources."chokidar-1.7.0"
-      sources."ci-info-1.1.1"
+      sources."ci-info-1.1.2"
       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"
+      sources."http-proxy-middleware-0.17.4"
       sources."inquirer-3.3.0"
       sources."leek-0.0.24"
       sources."lodash-4.17.4"
       sources."minimist-0.0.8"
-      sources."proxy-middleware-0.15.0"
+      sources."os-name-2.0.1"
       sources."slice-ansi-1.0.0"
       sources."ssh-config-1.1.3"
       sources."string-width-2.1.1"
-      sources."tar-2.2.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.3.0"
+      sources."ws-3.3.2"
       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"
@@ -26597,9 +28214,9 @@ in
       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."is-glob-3.1.0"
       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"
@@ -26607,7 +28224,7 @@ in
       sources."expand-brackets-0.1.5"
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
-      sources."is-extglob-1.0.0"
+      sources."is-extglob-2.1.1"
       sources."kind-of-3.2.2"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -26630,14 +28247,14 @@ in
       sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
-      sources."binary-extensions-1.10.0"
+      sources."binary-extensions-1.11.0"
       sources."set-immediate-shim-1.0.1"
-      sources."nan-2.7.0"
+      sources."nan-2.8.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."yallist-3.0.2"
       sources."shebang-regex-1.0.0"
       sources."isexe-2.0.0"
       sources."sax-1.1.4"
@@ -26664,10 +28281,13 @@ in
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.5.2"
       sources."destroy-1.0.4"
+      sources."http-proxy-1.16.2"
+      sources."eventemitter3-1.2.0"
+      sources."requires-port-1.0.0"
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      sources."external-editor-2.0.5"
+      sources."external-editor-2.1.0"
       sources."figures-2.0.0"
       sources."mute-stream-0.0.7"
       sources."run-async-2.3.0"
@@ -26678,7 +28298,7 @@ in
       sources."onetime-2.0.1"
       sources."signal-exit-3.0.2"
       sources."mimic-fn-1.1.0"
-      sources."jschardet-1.6.0"
+      sources."chardet-0.4.2"
       sources."tmp-0.0.33"
       sources."os-tmpdir-1.0.2"
       sources."escape-string-regexp-1.0.5"
@@ -26695,9 +28315,12 @@ in
       sources."lodash._getnative-3.9.1"
       sources."lodash.isarguments-3.1.0"
       sources."lodash.isarray-3.0.4"
+      sources."macos-release-1.1.0"
+      sources."win-release-1.1.1"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."block-stream-0.0.9"
-      sources."fstream-1.0.11"
+      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"
@@ -26709,22 +28332,20 @@ in
       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."ultron-1.1.1"
       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"
-      sources."macos-release-1.1.0"
-      sources."win-release-1.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A tool for creating and developing Ionic Framework mobile apps.";
-      homepage = http://ionicframework.com/;
+      homepage = https://ionicframework.com/;
       license = "MIT";
     };
     production = true;
@@ -26836,11 +28457,11 @@ in
       sources."chai-4.1.2"
       sources."chai-as-promised-7.1.1"
       sources."chalk-2.3.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       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.7.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -26853,19 +28474,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"
@@ -26894,7 +28515,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 = {
@@ -26998,9 +28619,9 @@ in
       sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
       sources."proto-list-1.2.4"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."bluebird-3.5.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."lru-cache-3.2.0"
       sources."semver-5.4.1"
       sources."sigmund-1.0.1"
@@ -27064,7 +28685,7 @@ in
       sha512 = "0m7az6dvfn65fbak1y42663yxkachpj1fyyxxpdhkpny3bbsmgn0hpp8fb5sllmzbfyqspkqh1icpqb14pbsfnbsj7w665xmnj4a9g5";
     };
     dependencies = [
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."graphlib-2.1.1"
       sources."js-yaml-3.10.0"
       sources."lodash-4.17.4"
@@ -27075,7 +28696,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"
@@ -27083,7 +28704,7 @@ in
       sources."form-data-2.3.1"
       sources."formidable-1.1.1"
       sources."methods-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."qs-6.5.1"
       sources."readable-stream-2.3.3"
       sources."ms-2.0.0"
@@ -27162,7 +28783,7 @@ in
       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."accepts-1.3.4"
@@ -27220,7 +28841,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -27288,9 +28909,9 @@ in
       sources."pify-3.0.0"
       sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
-      sources."global-dirs-0.1.0"
+      sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -27390,7 +29011,7 @@ in
       sources."isbinaryfile-3.0.2"
       sources."lodash-3.10.1"
       sources."log4js-0.6.38"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."minimatch-3.0.4"
       sources."optimist-0.6.1"
       sources."qjobs-1.1.5"
@@ -27427,7 +29048,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"
@@ -27461,14 +29082,14 @@ in
       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."binary-extensions-1.11.0"
       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-0.10.31"
       sources."util-deprecate-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."finalhandler-1.0.6"
       sources."parseurl-1.3.2"
       sources."utils-merge-1.0.1"
@@ -27660,7 +29281,7 @@ 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-changelog-cli-1.3.5" // {
         dependencies = [
           sources."read-pkg-1.1.0"
           sources."yargs-3.10.0"
@@ -27669,7 +29290,7 @@ in
           sources."path-exists-2.1.0"
         ];
       })
-      sources."conventional-recommended-bump-1.0.2"
+      sources."conventional-recommended-bump-1.0.3"
       sources."dedent-0.7.0"
       sources."execa-0.8.0"
       sources."find-up-2.1.0"
@@ -27712,7 +29333,7 @@ in
       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"
@@ -27721,37 +29342,37 @@ in
       sources."wcwidth-1.0.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."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"
-      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-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"
@@ -27791,7 +29412,7 @@ in
       sources."lodash.templatesettings-4.1.0"
       sources."gitconfiglocal-1.0.0"
       sources."pify-3.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."is-builtin-module-1.0.0"
       sources."validate-npm-package-license-3.0.1"
       sources."builtin-modules-1.1.1"
@@ -27861,7 +29482,7 @@ in
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
-      sources."external-editor-2.0.5"
+      sources."external-editor-2.1.0"
       sources."figures-2.0.0"
       sources."mute-stream-0.0.7"
       sources."run-async-2.3.0"
@@ -27871,12 +29492,12 @@ in
       sources."restore-cursor-2.0.0"
       sources."onetime-2.0.1"
       sources."mimic-fn-1.1.0"
+      sources."chardet-0.4.2"
       sources."iconv-lite-0.4.19"
-      sources."jschardet-1.6.0"
       sources."tmp-0.0.33"
       sources."is-promise-2.1.0"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."ci-info-1.1.1"
+      sources."ci-info-1.1.2"
       sources."brace-expansion-1.1.8"
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
@@ -27907,7 +29528,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."byline-5.0.0"
       sources."duplexer-0.1.1"
-      sources."moment-2.19.1"
+      sources."moment-2.19.2"
       sources."make-dir-1.1.0"
       sources."temp-dir-1.0.0"
       sources."imurmurhash-0.1.4"
@@ -27959,7 +29580,7 @@ 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"
@@ -28038,7 +29659,7 @@ in
       sources."extend-shallow-2.0.1"
       sources."json-stable-stringify-1.0.1"
       sources."jsonify-0.0.0"
-      sources."convert-source-map-1.5.0"
+      sources."convert-source-map-1.5.1"
       sources."minimist-0.0.8"
       sources."is-utf8-0.2.1"
       sources."first-chunk-stream-1.0.0"
@@ -28065,7 +29686,7 @@ in
       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-github-headings-1.1.0"
       sources."markdown-it-task-checkbox-1.0.4"
       sources."minimist-1.2.0"
       sources."opn-5.1.0"
@@ -28097,7 +29718,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"
@@ -28131,7 +29752,7 @@ in
       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."binary-extensions-1.11.0"
       sources."graceful-fs-4.1.11"
       sources."minimatch-3.0.4"
       sources."readable-stream-2.3.3"
@@ -28141,10 +29762,10 @@ in
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."process-nextick-args-1.0.7"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."accepts-1.3.3"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
@@ -28202,7 +29823,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -28226,24 +29847,25 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
-      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"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-2.3.1"
+      sources."ws-3.3.2"
       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"
-      sources."ultron-1.1.0"
+      sources."async-limiter-1.0.0"
+      sources."ultron-1.1.1"
       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"
@@ -28294,7 +29916,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"
@@ -28328,7 +29950,7 @@ in
       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."binary-extensions-1.11.0"
       sources."graceful-fs-4.1.11"
       sources."minimatch-3.0.4"
       sources."readable-stream-2.3.3"
@@ -28341,7 +29963,7 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."debug-2.6.9"
       sources."finalhandler-0.5.1"
       sources."parseurl-1.3.2"
@@ -28362,7 +29984,7 @@ 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"
@@ -28479,7 +30101,7 @@ in
       sha1 = "0161a13e2b3378759e36b9e05be34b46a06decd5";
     };
     dependencies = [
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."js-yaml-3.10.0"
       sources."json-refs-2.1.7"
       sources."argparse-1.0.9"
@@ -28491,7 +30113,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"
@@ -28499,7 +30121,7 @@ in
       sources."form-data-2.3.1"
       sources."formidable-1.1.1"
       sources."methods-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."qs-6.5.1"
       sources."readable-stream-2.3.3"
       sources."ms-2.0.0"
@@ -28623,7 +30245,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -28665,7 +30287,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
       sources."config-chain-1.1.11"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."mkdirp-0.3.5"
       sources."nopt-3.0.6"
       sources."uid-number-0.0.5"
@@ -28771,7 +30393,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -28838,7 +30460,7 @@ in
       })
       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"
@@ -28863,7 +30485,7 @@ in
       sources."bplist-parser-0.1.1"
       sources."meow-3.7.0"
       sources."untildify-2.1.0"
-      sources."big-integer-1.6.25"
+      sources."big-integer-1.6.26"
       sources."camelcase-keys-2.1.0"
       sources."decamelize-1.2.0"
       sources."loud-rejection-1.6.0"
@@ -28957,16 +30579,16 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."truncate-1.0.5"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."node-pre-gyp-0.6.39"
       sources."nopt-4.0.1"
       sources."npmlog-4.1.2"
       sources."request-2.81.0"
       sources."hawk-3.1.3"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
       sources."abbrev-1.1.1"
@@ -29050,7 +30672,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = https://github.com/node-inspector/node-inspector;
+      homepage = http://github.com/node-inspector/node-inspector;
     };
     production = true;
   };
@@ -29071,7 +30693,7 @@ in
       sources."hawk-3.1.3"
       sources."rimraf-2.6.2"
       sources."semver-5.4.1"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
       sources."minimist-1.2.0"
@@ -29104,7 +30726,7 @@ in
       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."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
@@ -29205,7 +30827,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"
@@ -29239,7 +30861,7 @@ in
       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."binary-extensions-1.11.0"
       sources."graceful-fs-4.1.11"
       sources."readable-stream-2.3.3"
       sources."set-immediate-shim-1.0.1"
@@ -29248,7 +30870,7 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."ms-2.0.0"
       sources."lodash.assign-3.2.0"
       sources."lodash.restparam-3.6.1"
@@ -29313,7 +30935,7 @@ in
       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"
@@ -29324,9 +30946,9 @@ in
       sources."pify-3.0.0"
       sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
-      sources."global-dirs-0.1.0"
+      sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -29388,7 +31010,7 @@ in
       sources."media-typer-0.3.0"
       (sources."mqtt-2.9.0" // {
         dependencies = [
-          sources."ws-3.3.0"
+          sources."ws-3.3.2"
         ];
       })
       sources."multer-1.3.0"
@@ -29409,10 +31031,10 @@ in
       sources."node-red-node-feedparser-0.1.8"
       (sources."node-red-node-email-0.1.24" // {
         dependencies = [
-          sources."clone-1.0.2"
+          sources."clone-1.0.3"
         ];
       })
-      sources."node-red-node-twitter-0.1.11"
+      sources."node-red-node-twitter-0.1.12"
       sources."node-red-node-rbe-0.1.13"
       (sources."bcrypt-1.0.3" // {
         dependencies = [
@@ -29468,7 +31090,7 @@ 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"
@@ -29498,7 +31120,7 @@ in
       sources."graceful-fs-4.1.11"
       sources."jsonfile-2.4.0"
       sources."klaw-1.3.1"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."retry-0.6.1"
       sources."cookies-0.7.1"
       sources."i18next-client-1.10.3"
@@ -29513,7 +31135,7 @@ in
       sources."help-me-1.1.0"
       sources."minimist-1.2.0"
       sources."mqtt-packet-5.4.0"
-      sources."pump-1.0.2"
+      sources."pump-1.0.3"
       sources."reinterval-1.1.0"
       sources."split2-2.2.0"
       sources."websocket-stream-5.1.1"
@@ -29653,7 +31275,7 @@ in
       sources."performance-now-2.1.0"
       sources."uuid-3.1.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -29683,7 +31305,7 @@ in
       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."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
@@ -29882,7 +31504,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -29943,7 +31565,7 @@ in
       sources."config-chain-1.1.11"
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."proto-list-1.2.4"
       sources."abbrev-1.1.1"
       sources."block-stream-0.0.9"
@@ -29976,7 +31598,7 @@ in
       sources."chalk-1.1.3"
       sources."cint-8.2.1"
       sources."cli-table-0.3.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."fast-diff-1.1.2"
       sources."find-up-1.1.2"
       sources."get-stdin-5.0.1"
@@ -29991,7 +31613,7 @@ in
       })
       sources."semver-5.4.1"
       sources."semver-utils-1.1.1"
-      (sources."snyk-1.47.0" // {
+      (sources."snyk-1.51.0" // {
         dependencies = [
           sources."update-notifier-0.5.0"
         ];
@@ -30023,12 +31645,14 @@ in
       sources."needle-2.0.1"
       sources."open-0.0.5"
       sources."os-name-1.0.3"
+      sources."proxy-from-env-1.0.0"
       sources."snyk-config-1.0.1"
       sources."snyk-go-plugin-1.3.8"
       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"
+      sources."snyk-nuget-plugin-1.3.2"
+      sources."snyk-php-plugin-1.1.2"
       sources."snyk-policy-1.7.1"
       sources."snyk-python-plugin-1.4.0"
       sources."snyk-recursive-readdir-2.0.0"
@@ -30079,7 +31703,7 @@ in
       sources."win-release-1.1.1"
       sources."nconf-0.7.2"
       sources."path-is-absolute-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."yargs-4.8.1"
       sources."camelcase-4.1.0"
       sources."cliui-3.2.0"
@@ -30226,13 +31850,13 @@ in
       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"
       sources."unique-string-1.0.0"
       sources."crypto-random-string-1.0.0"
-      sources."global-dirs-0.1.0"
+      sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
       sources."path-is-inside-1.0.2"
       sources."duplexer3-0.1.4"
@@ -30245,24 +31869,144 @@ in
     };
     production = true;
   };
+  nsp = nodeEnv.buildNodePackage {
+    name = "nsp";
+    packageName = "nsp";
+    version = "3.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/nsp/-/nsp-3.1.0.tgz";
+      sha512 = "0hbwm017cl5ybzw14l44mbinhnv38jrnbpg1ngkdibhc5hiimm8hqr2pi5dzh6flvxr0x6nym93029i7j41clr6rlvn1ab6r5cgdl4f";
+    };
+    dependencies = [
+      sources."chalk-2.3.0"
+      sources."cli-table2-0.2.0"
+      sources."cvss-1.0.2"
+      sources."https-proxy-agent-2.1.0"
+      sources."inquirer-3.3.0"
+      sources."nodesecurity-npm-utils-6.0.0"
+      sources."semver-5.4.1"
+      sources."wreck-12.5.1"
+      sources."yargs-9.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.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
+      sources."lodash-4.17.4"
+      sources."string-width-1.0.2"
+      sources."colors-1.1.2"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."number-is-nan-1.0.1"
+      sources."ansi-regex-2.1.1"
+      sources."agent-base-4.1.2"
+      sources."debug-2.6.9"
+      sources."es6-promisify-5.0.0"
+      sources."es6-promise-4.1.1"
+      sources."ms-2.0.0"
+      sources."ansi-escapes-3.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      sources."external-editor-2.1.0"
+      sources."figures-2.0.0"
+      sources."mute-stream-0.0.7"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."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."chardet-0.4.2"
+      sources."iconv-lite-0.4.19"
+      sources."tmp-0.0.33"
+      sources."os-tmpdir-1.0.2"
+      sources."is-promise-2.1.0"
+      sources."boom-5.2.0"
+      sources."hoek-4.2.0"
+      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."set-blocking-2.0.0"
+      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."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."invert-kv-1.0.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."normalize-package-data-2.4.0"
+      sources."path-type-2.0.0"
+      sources."graceful-fs-4.1.11"
+      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."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"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The Node Security (nodesecurity.io) command line interface";
+      homepage = "https://github.com/nodesecurity/nsp#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+  };
   ocaml-language-server = nodeEnv.buildNodePackage {
     name = "ocaml-language-server";
     packageName = "ocaml-language-server";
-    version = "1.0.4";
+    version = "1.0.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.4.tgz";
-      sha512 = "1ppin5vfrqf2x1d1mmw98r4j9iblgv7lhhmfbvmzqp97ynkksyzajx5ssm1l8drn79k8l1iqqx1y4ldpq83hnvlfv3h8zh053iv8p04";
+      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.14.tgz";
+      sha512 = "29fqx01qg82gmlmq2x6akj2i9kg9qpwss9lrrpfd3m34lcp15ak8dbzhh0szv28laafhrfqzzsi4nvmd0p1g284xadw2afk1pg539x3";
     };
     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.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"
@@ -30274,7 +32018,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 = {
@@ -30320,14 +32064,14 @@ in
       })
       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.4.0"
+      sources."service-runner-2.4.4"
       sources."simplediff-0.1.1"
       sources."uuid-3.1.0"
       sources."yargs-7.1.0"
@@ -30443,7 +32187,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -30477,8 +32221,8 @@ 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."nan-2.7.0"
+      sources."moment-2.19.2"
+      sources."nan-2.8.0"
       sources."mkdirp-0.5.1"
       sources."ncp-2.0.0"
       sources."rimraf-2.4.5"
@@ -30560,13 +32304,13 @@ in
       sources."clivas-0.2.0"
       sources."inquirer-1.2.3"
       sources."keypress-0.2.1"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."network-address-1.1.2"
       sources."numeral-1.5.6"
       sources."open-0.0.5"
       sources."optimist-0.6.1"
       sources."parse-torrent-5.8.3"
-      sources."pump-1.0.2"
+      sources."pump-1.0.3"
       sources."range-parser-1.2.0"
       sources."rc-1.2.2"
       (sources."torrent-stream-1.0.3" // {
@@ -30588,7 +32332,7 @@ in
       sources."plist-1.2.0"
       sources."reverse-http-1.3.0"
       sources."stream-buffers-2.2.0"
-      sources."big-integer-1.6.25"
+      sources."big-integer-1.6.26"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
       sources."readable-stream-2.3.3"
@@ -30605,7 +32349,7 @@ in
       sources."consume-http-header-1.0.0"
       sources."once-1.3.3"
       sources."consume-until-1.0.0"
-      sources."http-headers-3.0.1"
+      sources."http-headers-3.0.2"
       sources."buffer-indexof-1.1.1"
       sources."next-line-1.1.0"
       sources."wrappy-1.0.2"
@@ -30625,7 +32369,7 @@ in
       sources."deep-equal-1.0.1"
       sources."dns-equal-1.0.0"
       sources."dns-txt-2.0.2"
-      sources."multicast-dns-6.1.1"
+      sources."multicast-dns-6.2.1"
       sources."multicast-dns-service-types-1.1.0"
       sources."dns-packet-1.2.2"
       sources."thunky-1.0.2"
@@ -30698,13 +32442,13 @@ in
       sources."uniq-1.0.1"
       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-0.1.5"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."bitfield-0.1.0"
       sources."bncode-0.2.3"
@@ -30785,7 +32529,7 @@ in
       })
       sources."lodash-2.4.2"
       sources."mkdirp-0.5.1"
-      sources."pump-1.0.2"
+      sources."pump-1.0.3"
       sources."range-parser-1.2.0"
       sources."read-torrent-1.3.0"
       sources."socket.io-1.7.4"
@@ -30883,7 +32627,7 @@ in
       sources."flatten-0.0.1"
       sources."bencode-0.8.0"
       sources."simple-sha1-2.1.0"
-      sources."rusha-0.8.6"
+      sources."rusha-0.8.7"
       sources."form-data-0.0.10"
       sources."hawk-0.10.2"
       sources."node-uuid-1.4.8"
@@ -30915,7 +32659,7 @@ in
       sources."blob-0.0.4"
       sources."wtf-8-1.0.0"
       sources."options-0.0.6"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
@@ -31072,7 +32816,7 @@ 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-1.0.0"
@@ -31094,7 +32838,7 @@ in
       sources."sntp-1.0.9"
       sources."delayed-stream-1.0.0"
       sources."chalk-1.1.3"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."is-my-json-valid-2.16.1"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
@@ -31121,10 +32865,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 = {
@@ -31264,7 +33008,7 @@ in
       sources."astw-2.2.0"
       sources."acorn-4.0.13"
       sources."stream-splicer-2.0.0"
-      sources."detective-4.5.0"
+      sources."detective-4.6.0"
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
       sources."path-parse-1.0.5"
@@ -31279,7 +33023,7 @@ in
       sources."querystring-0.2.0"
       sources."indexof-0.0.1"
       sources."browserify-cache-api-3.0.1"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
@@ -31290,7 +33034,7 @@ in
       sources."concat-map-0.0.1"
       sources."optimist-0.6.1"
       sources."colors-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."mute-stream-0.0.7"
       sources."os-tmpdir-1.0.2"
       sources."rimraf-2.2.8"
@@ -31303,7 +33047,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"
@@ -31335,9 +33079,9 @@ in
       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."binary-extensions-1.11.0"
       sources."set-immediate-shim-1.0.1"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."isexe-2.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -31348,6 +33092,243 @@ in
     };
     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.12.1"
+      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."commander-2.8.1"
+        ];
+      })
+      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."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"
+      sources."combined-stream-1.0.5"
+      sources."extend-3.0.1"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.1.4"
+      sources."har-validator-4.2.1"
+      sources."hawk-3.1.3"
+      sources."http-signature-1.1.1"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."json-stringify-safe-5.0.1"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-0.2.0"
+      sources."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."ajv-4.11.8"
+      sources."har-schema-1.0.5"
+      sources."co-4.6.0"
+      sources."json-stable-stringify-1.0.1"
+      sources."jsonify-0.0.0"
+      sources."hoek-2.16.3"
+      sources."boom-2.10.1"
+      sources."cryptiles-2.0.5"
+      sources."sntp-1.0.9"
+      sources."assert-plus-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."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.3"
+      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.5"
+      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.1"
+      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 = "Quassel web interface";
+      homepage = https://github.com/magne4000/quassel-webserver;
+      license = "MIT";
+    };
+    production = true;
+  };
   react-tools = nodeEnv.buildNodePackage {
     name = "react-tools";
     packageName = "react-tools";
@@ -31359,8 +33340,8 @@ in
     dependencies = [
       sources."commoner-0.10.8"
       sources."jstransform-10.1.0"
-      sources."commander-2.11.0"
-      sources."detective-4.5.0"
+      sources."commander-2.12.1"
+      sources."detective-4.6.0"
       sources."glob-5.0.15"
       sources."graceful-fs-4.1.11"
       sources."iconv-lite-0.4.19"
@@ -31368,7 +33349,7 @@ in
       sources."private-0.1.8"
       sources."q-1.5.1"
       sources."recast-0.11.23"
-      sources."acorn-4.0.13"
+      sources."acorn-5.2.1"
       sources."defined-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -31477,7 +33458,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -31566,7 +33547,7 @@ in
       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."lodash-4.17.4"
@@ -31665,9 +33646,9 @@ in
       sources."is-obj-1.0.1"
       sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
-      sources."global-dirs-0.1.0"
+      sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -31696,6 +33677,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.12.1"
+      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.5.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";
@@ -31709,7 +33872,7 @@ in
       sources."express-json5-0.1.0"
       sources."body-parser-1.18.2"
       sources."compression-1.7.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."js-yaml-3.10.0"
       sources."cookies-0.7.1"
       sources."request-2.83.0"
@@ -31814,7 +33977,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -31844,8 +34007,8 @@ 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."nan-2.7.0"
+      sources."moment-2.19.2"
+      sources."nan-2.8.0"
       sources."ncp-2.0.0"
       sources."rimraf-2.4.5"
       sources."glob-6.0.4"
@@ -31859,16 +34022,20 @@ in
       sources."optimist-0.3.7"
       sources."uglify-js-2.3.6"
       sources."wordwrap-0.0.3"
-      sources."source-map-0.1.43"
+      sources."source-map-0.6.1"
       sources."amdefine-1.0.1"
       sources."markdown-it-4.4.0"
-      sources."sanitize-html-1.15.0"
+      sources."sanitize-html-1.16.1"
       sources."entities-1.1.1"
       sources."linkify-it-1.2.4"
       sources."mdurl-1.0.1"
       sources."uc.micro-1.0.3"
       sources."htmlparser2-3.9.2"
+      sources."lodash.clonedeep-4.5.0"
       sources."lodash.escaperegexp-4.1.2"
+      sources."lodash.isarray-4.0.0"
+      sources."lodash.mergewith-4.6.0"
+      sources."postcss-6.0.14"
       sources."srcset-1.0.0"
       sources."xtend-4.0.1"
       sources."domelementtype-1.1.3"
@@ -31879,6 +34046,13 @@ in
       sources."process-nextick-args-1.0.7"
       sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
+      sources."chalk-2.3.0"
+      sources."supports-color-4.5.0"
+      sources."ansi-styles-3.2.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
       sources."array-uniq-1.0.3"
       sources."number-is-nan-1.0.1"
       sources."jsonparse-1.3.1"
@@ -31982,7 +34156,7 @@ in
         ];
       })
       sources."keep-alive-agent-0.0.1"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
       sources."once-1.3.0"
@@ -32002,7 +34176,7 @@ in
       sources."wrappy-1.0.2"
       sources."extsprintf-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
       sources."mkdirp-0.5.1"
@@ -32057,7 +34231,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"
@@ -32065,7 +34239,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.2"
       sources."cookie-0.3.1"
       sources."uws-0.14.5"
       sources."mime-types-2.1.17"
@@ -32077,12 +34251,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."ultron-1.1.0"
+      sources."async-limiter-1.0.0"
+      sources."safe-buffer-5.1.1"
+      sources."ultron-1.1.1"
       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"
@@ -32116,7 +34291,7 @@ in
       sources."modern-syslog-1.1.2"
       sources."hashring-3.2.0"
       sources."winser-0.1.6"
-      sources."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."connection-parse-0.0.7"
       sources."simple-lru-cache-0.0.2"
       sources."sequence-2.2.1"
@@ -32171,10 +34346,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "1.0.2";
+    version = "1.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-1.0.2.tgz";
-      sha512 = "24id7imdbzwz7ac17zrc6m4ayb9dahbjijns7j791abhm4rf3xyjbvqwwkd9c6fidpjgbigjym8di2xs5n3924gd5nbr6mmv7hikjhj";
+      url = "https://registry.npmjs.org/svgo/-/svgo-1.0.3.tgz";
+      sha512 = "1f9s0zk5rrb842w5gibjarlc9qw8bmjcxnbxc8jjn8is4d6c9l66ajwvifw87yx3pis6dcinyjwvvkxvzpyp326nl72vjv9rw5ndxnp";
     };
     dependencies = [
       sources."coa-2.0.0"
@@ -32206,7 +34381,7 @@ in
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
       sources."define-properties-1.1.2"
-      sources."es-abstract-1.9.0"
+      sources."es-abstract-1.10.0"
       sources."has-1.0.1"
       sources."function-bind-1.1.1"
       sources."foreach-2.0.5"
@@ -32330,7 +34505,7 @@ in
       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"
@@ -32350,7 +34525,7 @@ in
       sources."mkdirp-0.5.1"
       sources."object.pick-1.3.0"
       sources."parse-json-2.2.0"
-      sources."popsicle-9.1.0"
+      sources."popsicle-9.2.0"
       sources."popsicle-proxy-agent-3.0.0"
       sources."popsicle-retry-3.2.1"
       sources."popsicle-rewrite-1.0.0"
@@ -32412,7 +34587,7 @@ in
       sources."extend-3.0.1"
       sources."semver-5.4.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
@@ -32455,10 +34630,10 @@ 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.0"
+      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."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
@@ -32487,13 +34662,13 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.1.7";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.7.tgz";
-      sha512 = "2797l10f7jfyy5pljy05q04aa7000bzdyj6c57b91fvhvdnh1g4gk71ghn6399qgpja92k5s6fjsw9dnvyiwxr3xnfbd169l81ky6v5";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.0.tgz";
+      sha512 = "2vgdxdcacmfv1079k2pbqi0cmgyg2xha1l1h91dnjb80wym2krmbq4i3kwk0ivknhj3mxm7iq584kx0rjyscz31cjkz38117fah7prg";
     };
     dependencies = [
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."source-map-0.6.1"
     ];
     buildInputs = globalBuildInputs;
@@ -32507,17 +34682,17 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.2.1";
+    version = "1.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.2.1.tgz";
-      sha512 = "1425ggdafx6gjjx9qfpq05vbk5mfn3abm1jxkx2rps0nqab9pa6nqnyixr3dz7qd2bhi431pjjf848riaprx5c2xr3y7vxrn166dwfc";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.3.0.tgz";
+      sha512 = "06zgy1ilw44nwvz1vdxa067j95gmpswcr0fa5r57vmb3s0v6bmw0kwblgd3cridr88rlm4aidb7gvb6z9972897cya191mm97g6xr5r";
     };
     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" // {
@@ -32589,7 +34764,7 @@ in
       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"
@@ -32622,7 +34797,7 @@ in
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.4.0"
       sources."destroy-1.0.4"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."crc-3.4.4"
       sources."on-headers-1.0.1"
       sources."uid-safe-2.1.5"
@@ -32661,7 +34836,7 @@ in
       sources."npmlog-4.1.2"
       sources."typedarray-0.0.6"
       sources."process-nextick-args-1.0.7"
-      sources."safe-buffer-5.0.1"
+      sources."safe-buffer-5.1.1"
       sources."util-deprecate-1.0.2"
       sources."hosted-git-info-2.5.0"
       sources."is-builtin-module-1.0.0"
@@ -32692,7 +34867,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."uuid-3.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -32738,7 +34913,7 @@ in
       sources."stack-trace-0.0.9"
       sources."timed-out-4.0.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
@@ -32749,23 +34924,24 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."eve-0.5.4"
-      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"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-2.3.1"
+      sources."ws-3.3.2"
       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"
-      sources."ultron-1.1.0"
+      sources."async-limiter-1.0.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
-      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"
@@ -32856,7 +35032,7 @@ in
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
       sources."semver-2.3.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."proto-list-1.2.4"
       sources."wrappy-1.0.2"
       sources."abbrev-1.1.1"
@@ -32915,7 +35091,7 @@ 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-1.0.0"
@@ -32937,7 +35113,7 @@ in
       sources."sntp-1.0.9"
       sources."delayed-stream-1.0.0"
       sources."chalk-1.1.3"
-      sources."commander-2.11.0"
+      sources."commander-2.12.1"
       sources."is-my-json-valid-2.16.1"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
@@ -32978,9 +35154,9 @@ in
           sources."acorn-4.0.13"
         ];
       })
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.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"
@@ -32990,7 +35166,7 @@ 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"
+      sources."node-libs-browser-2.1.0"
       sources."source-map-0.5.7"
       sources."supports-color-4.5.0"
       sources."tapable-0.2.8"
@@ -33000,7 +35176,7 @@ in
         ];
       })
       sources."watchpack-1.4.0"
-      (sources."webpack-sources-1.0.2" // {
+      (sources."webpack-sources-1.1.0" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -33018,7 +35194,7 @@ in
       sources."esrecurse-4.2.0"
       sources."estraverse-4.2.0"
       sources."d-1.0.0"
-      sources."es5-ext-0.10.35"
+      sources."es5-ext-0.10.37"
       sources."es6-iterator-2.0.3"
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
@@ -33033,19 +35209,19 @@ in
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
       sources."safe-buffer-5.1.1"
-      sources."string_decoder-0.10.31"
+      sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."minimist-0.0.8"
       sources."assert-1.4.1"
-      sources."browserify-zlib-0.1.4"
+      sources."browserify-zlib-0.2.0"
       sources."buffer-4.9.1"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
       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."https-browserify-1.0.0"
+      sources."os-browserify-0.3.0"
       sources."path-browserify-0.0.0"
       sources."process-0.11.10"
       sources."punycode-1.3.2"
@@ -33057,7 +35233,7 @@ in
       sources."url-0.11.0"
       sources."util-0.10.3"
       sources."vm-browserify-0.0.4"
-      sources."pako-0.2.9"
+      sources."pako-1.0.6"
       sources."base64-js-1.2.1"
       sources."ieee754-1.1.8"
       sources."date-now-0.1.4"
@@ -33122,7 +35298,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"
@@ -33152,13 +35328,13 @@ in
       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."binary-extensions-1.11.0"
       sources."minimatch-3.0.4"
       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."nan-2.7.0"
+      sources."nan-2.8.0"
       sources."source-list-map-2.0.0"
       sources."get-caller-file-1.0.2"
       sources."os-locale-2.1.0"
@@ -33305,7 +35481,7 @@ in
       sources."esprima-4.0.0"
       sources."first-chunk-stream-2.0.0"
       sources."jed-1.1.1"
-      sources."pino-4.9.0"
+      sources."pino-4.10.2"
       sources."postcss-6.0.11"
       sources."relaxed-json-1.0.1"
       sources."semver-5.4.1"
@@ -33330,7 +35506,7 @@ in
       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."convert-source-map-1.5.1"
       sources."debug-2.6.9"
       sources."json5-0.5.1"
       sources."path-is-absolute-1.0.1"
@@ -33358,7 +35534,7 @@ in
       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"
@@ -33380,10 +35556,10 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."@types/node-8.0.47"
+      sources."@types/node-8.0.53"
       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"
@@ -33413,7 +35589,8 @@ in
       sources."is-hexadecimal-1.0.1"
       sources."is-alphabetical-1.0.1"
       sources."xtend-4.0.1"
-      sources."unist-util-visit-1.1.3"
+      sources."unist-util-visit-1.2.0"
+      sources."unist-util-is-2.1.1"
       sources."ccount-1.0.2"
       sources."longest-streak-1.0.0"
       sources."markdown-table-0.4.0"
@@ -33528,9 +35705,9 @@ in
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
       sources."concat-stream-1.6.0"
-      sources."doctrine-2.0.0"
+      sources."doctrine-2.0.2"
       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"
@@ -33574,7 +35751,7 @@ in
       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."external-editor-2.1.0"
       sources."figures-1.7.0"
       sources."mute-stream-0.0.5"
       sources."run-async-0.1.0"
@@ -33583,8 +35760,8 @@ in
       sources."through-2.3.8"
       sources."restore-cursor-1.0.1"
       sources."onetime-1.1.0"
+      sources."chardet-0.4.2"
       sources."iconv-lite-0.4.19"
-      sources."jschardet-1.6.0"
       sources."is-promise-2.1.0"
       sources."tryit-1.0.3"
       sources."argparse-1.0.9"
@@ -33603,7 +35780,7 @@ in
       sources."es6-map-0.1.5"
       sources."es6-weak-map-2.0.2"
       sources."d-1.0.0"
-      sources."es5-ext-0.10.35"
+      sources."es5-ext-0.10.37"
       sources."es6-iterator-2.0.3"
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
@@ -33621,7 +35798,7 @@ in
       sources."fast-json-parse-1.0.3"
       sources."fast-safe-stringify-1.2.1"
       sources."flatstr-1.0.5"
-      sources."pump-1.0.2"
+      sources."pump-1.0.3"
       sources."quick-format-unescaped-1.1.1"
       sources."split2-2.2.0"
       sources."end-of-stream-1.1.0"
@@ -33638,19 +35815,19 @@ 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."nan-2.7.0"
+      sources."moment-2.19.2"
+      sources."nan-2.8.0"
       sources."ncp-2.0.0"
       sources."es6-promise-2.3.0"
       sources."adm-zip-0.4.7"
       sources."archiver-1.3.0"
       sources."fs-extra-2.1.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."jetpack-id-1.0.0"
       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"
@@ -33709,7 +35886,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"
@@ -33739,7 +35916,7 @@ in
       sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
-      sources."binary-extensions-1.10.0"
+      sources."binary-extensions-1.11.0"
       sources."set-immediate-shim-1.0.1"
       sources."boxen-1.2.2"
       sources."configstore-3.1.1"
@@ -33804,10 +35981,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 = {
@@ -33826,7 +36003,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"
@@ -33938,7 +36115,7 @@ in
       sources."cross-spawn-async-2.2.5"
       sources."object-assign-4.1.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."minimist-1.2.0"
       sources."strip-json-comments-2.0.1"
       sources."create-error-class-3.0.2"
@@ -33963,13 +36140,13 @@ in
       sources."rx-lite-aggregates-4.0.8"
       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-1.0.1"
       sources."onetime-1.1.0"
+      sources."chardet-0.4.2"
       sources."iconv-lite-0.4.19"
-      sources."jschardet-1.6.0"
       sources."tmp-0.0.29"
       sources."os-tmpdir-1.0.2"
       sources."is-promise-2.1.0"
@@ -34014,7 +36191,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
+      sources."ajv-5.5.0"
       sources."har-schema-2.0.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
@@ -34122,7 +36299,7 @@ in
       sources."cli-boxes-1.0.0"
       sources."term-size-1.2.0"
       sources."widest-line-1.0.0"
-      sources."global-dirs-0.1.0"
+      sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
       sources."path-is-inside-1.0.2"
       sources."bin-version-check-2.1.0"
@@ -34159,7 +36336,7 @@ in
       sources."vinyl-1.2.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"
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/cstruct/1.9.0.nix b/pkgs/development/ocaml-modules/cstruct/1.9.0.nix
new file mode 100644
index 000000000000..25f84826ec18
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cstruct/1.9.0.nix
@@ -0,0 +1,36 @@
+{ stdenv, writeText, fetchFromGitHub, ocaml, ocamlbuild, ocplib-endian, sexplib, findlib, ppx_tools
+, async ? null, lwt ? null
+}:
+
+assert stdenv.lib.versionAtLeast ocaml.version "4.01";
+
+let version = "1.9.0"; in
+
+let opt = b: "--${if b != null then "en" else "dis"}able"; in
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-cstruct-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mirage";
+    repo = "ocaml-cstruct";
+    rev = "v${version}";
+    sha256 = "1c1j21zgmxi9spq23imy7byn50qr7hlds1cfpzxlsx9dp309jngy";
+  };
+
+  configureFlags = [ "${opt lwt}-lwt" "${opt async}-async" "${opt ppx_tools}-ppx" ];
+
+  buildInputs = [ ocaml findlib ocamlbuild ppx_tools lwt async ];
+  propagatedBuildInputs = [ ocplib-endian sexplib ];
+
+  createFindlibDestdir = true;
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mirage/ocaml-cstruct;
+    description = "Map OCaml arrays onto C-like structs";
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index 0278b0f26558..976ff697c98f 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -1,40 +1,28 @@
-{ stdenv, writeText, fetchFromGitHub, ocaml, ocamlbuild, ocplib-endian, sexplib, findlib, ppx_tools
-, async ? null, lwt ? null
-}:
-
-assert stdenv.lib.versionAtLeast ocaml.version "4.01";
-
-let param =
-  if stdenv.lib.versionAtLeast ocaml.version "4.02"
-  then { version = "2.3.2"; sha256 = "1fykack86hvvqhwngddyxxqlwm3xjljfaszsjbdrvjlrd1nlg079"; }
-  else { version = "1.9.0"; sha256 = "1c1j21zgmxi9spq23imy7byn50qr7hlds1cfpzxlsx9dp309jngy"; };
-in
-
-let opt = b: "--${if b != null then "en" else "dis"}able"; in
+{ stdenv, fetchurl, ocaml, jbuilder, findlib, sexplib, ocplib-endian }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-cstruct-${version}";
+  version = "3.0.2";
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
+    sha256 = "03caxcyzfjmbnnwa15zy9s1ckkl4sc834d1qkgi4jcs3zqchvd8z";
+  };
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cstruct-${param.version}";
+  unpackCmd = "tar -xjf $curSrc";
 
-  src = fetchFromGitHub {
-    owner = "mirage";
-    repo = "ocaml-cstruct";
-    rev = "v${param.version}";
-    inherit (param) sha256;
-  };
+  buildInputs = [ ocaml jbuilder findlib ];
 
-  configureFlags = [ "${opt lwt}-lwt" "${opt async}-async" "${opt ppx_tools}-ppx" ];
+  propagatedBuildInputs = [ sexplib ocplib-endian ];
 
-  buildInputs = [ ocaml findlib ocamlbuild ppx_tools lwt async ];
-  propagatedBuildInputs = [ ocplib-endian sexplib ];
+  buildPhase = "jbuilder build -p cstruct";
 
-  createFindlibDestdir = true;
-  dontStrip = true;
+  inherit (jbuilder) installPhase;
 
-  meta = with stdenv.lib; {
-    homepage = https://github.com/mirage/ocaml-cstruct;
-    description = "Map OCaml arrays onto C-like structs";
+  meta = {
+    description = "Access C-like structures directly from OCaml";
     license = stdenv.lib.licenses.isc;
-    maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
-    platforms = ocaml.meta.platforms or [];
+    homepage = "https://github.com/mirage/ocaml-cstruct";
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix
new file mode 100644
index 000000000000..065716e68529
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix
@@ -0,0 +1,12 @@
+{ stdenv, ocaml, cstruct, lwt }:
+
+assert stdenv.lib.versionAtLeast ocaml.version "4.02";
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-cstruct-lwt-${version}";
+	inherit (cstruct) version src unpackCmd buildInputs installPhase meta;
+
+	propagatedBuildInputs = [ cstruct lwt ];
+
+	buildPhase = "${cstruct.buildPhase}-lwt";
+}
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
new file mode 100644
index 000000000000..9d19e1751e23
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -0,0 +1,13 @@
+{ stdenv, ocaml, cstruct, ppx_tools_versioned }:
+
+assert stdenv.lib.versionAtLeast ocaml.version "4.02";
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-ppx_cstruct-${version}";
+	inherit (cstruct) version src unpackCmd installPhase meta;
+
+	buildInputs = cstruct.buildInputs ++ [ ppx_tools_versioned ];
+	propagatedBuildInputs = [ cstruct ];
+
+	buildPhase = "jbuilder build -p ppx_cstruct";
+}
diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix
new file mode 100644
index 000000000000..2a614579fccc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cstruct/unix.nix
@@ -0,0 +1,12 @@
+{ stdenv, ocaml, cstruct }:
+
+assert stdenv.lib.versionAtLeast ocaml.version "4.02";
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-cstruct-unix-${version}";
+	inherit (cstruct) version src unpackCmd buildInputs installPhase meta;
+
+	propagatedBuildInputs = [ cstruct ];
+
+	buildPhase = "${cstruct.buildPhase}-unix";
+}
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index c68584957c66..a7fa59e14469 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg
 , cpuid, ocb-stubblr
 , cstruct, zarith, ppx_sexp_conv, sexplib
-, lwt ? null
+, cstruct-lwt ? null
 }:
 
 with stdenv.lib;
-let withLwt = lwt != null; in
+let withLwt = cstruct-lwt != null; in
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-nocrypto-${version}";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr
     ppx_sexp_conv ];
-  propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt lwt;
+  propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
 
   buildPhase = ''
     LD_LIBRARY_PATH=${cpuid}/lib/ocaml/${ocaml.version}/site-lib/stubslibs/ \
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
index a2bbe6960cf7..014525ef2b4e 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-gettext-${version}";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/1678/ocaml-gettext-${version}.tar.gz";
-    sha256 = "1zhvzc9x3j57xf2mzg5rshgp14cb4dsqbnj52jjv1qnja97plyjp";
+    url = "https://forge.ocamlcore.org/frs/download.php/1731/ocaml-gettext-${version}.tar.gz";
+    sha256 = "05wnpxwzzpn2qinah2wb5wzfh5iz8gyf8jyihdbjxc8mk4hf70qv";
   };
 
   propagatedBuildInputs = [ gettext fileutils camomile ];
diff --git a/pkgs/development/ocaml-modules/otr/default.nix b/pkgs/development/ocaml-modules/otr/default.nix
index dfee365cd750..39e7ce754d27 100644
--- a/pkgs/development/ocaml-modules/otr/default.nix
+++ b/pkgs/development/ocaml-modules/otr/default.nix
@@ -1,5 +1,5 @@
 {stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam,
- ppx_tools, ppx_sexp_conv, cstruct, sexplib, result, nocrypto, astring}:
+ ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring}:
 
 let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
 
@@ -16,7 +16,7 @@ buildOcaml rec {
     sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
   };
 
-  buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ];
+  buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ppx_cstruct ];
   propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
 
   buildPhase = ''
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index 1b209e523699..3afe4149fa34 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -9,8 +9,8 @@ let param =
     sha256 = "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9";
     extraPropagatedBuildInputs = [];
   } else {
-    version = "4.2";
-    sha256 = "0scsg45wp6xdqj648fz155r4yngyl2xcd3hdszfzqwdpbax33914";
+    version = "4.2.1";
+    sha256 = "1yhhjnncbbb7fsif7qplndh01s1xd72dqm8f3jkgx9y4ariqqvf9";
     extraPropagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ];
 }; in
 
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
index 5874f5eb884c..10f9df04f38c 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ppx_deriving_yojson-${version}";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
-    owner = "whitequark";
+    owner = "ocaml-ppx";
     repo = "ppx_deriving_yojson";
     rev = "v${version}";
-    sha256 = "1id1a29qq0ax9qp98b5hv6p2q2r0vp4fbkkwzm1bxdhnasw97msk";
+    sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ];
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.vbgl ];
     inherit (ocaml.meta) platforms;
-    broken = stdenv.lib.versionAtLeast ocaml.version "4.05";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ppx_import/default.nix b/pkgs/development/ocaml-modules/ppx_import/default.nix
index 245fe3f76f66..991af1e41de1 100644
--- a/pkgs/development/ocaml-modules/ppx_import/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_import/default.nix
@@ -4,15 +4,15 @@
 buildOcaml rec {
   name = "ppx_import";
 
-  version = "1.1";
+  version = "1.4";
 
   minimumSupportedOcamlVersion = "4.02";
 
   src = fetchFromGitHub {
-    owner = "whitequark";
+    owner = "ocaml-ppx";
     repo = "ppx_import";
     rev = "v${version}";
-    sha256 = "1hfvbc81dg58q7kkpn808b3j0xazrqfrr4v71sd1yvmnk71wak6k";
+    sha256 = "14c2lp7r9080c4hsb1y1drbxxx3v44b7ib5wfh3kkh3f1jfsjwbk";
   };
 
   buildInputs = [ cppo ounit ppx_deriving opam ];
@@ -29,4 +29,4 @@ buildOcaml rec {
     description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
     license = licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix
index a62c321a4e83..dfb8c56c23e8 100644
--- a/pkgs/development/ocaml-modules/rope/default.nix
+++ b/pkgs/development/ocaml-modules/rope/default.nix
@@ -1,18 +1,34 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, benchmark }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, jbuilder, benchmark }:
 
-let version = "0.5"; in
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.03"
+  then {
+    version = "0.6";
+    url = " https://github.com/Chris00/ocaml-rope/releases/download/0.6/rope-0.6.tbz";
+    sha256 = "06pkbnkad2ck50jn59ggwv154yd9vb01abblihvam6p27m4za1pc";
+    buildInputs = [ jbuilder ];
+    extra = {
+      unpackCmd = "tar -xjf $curSrc";
+      buildPhase = "jbuilder build -p rope";
+      inherit (jbuilder) installPhase;
+    };
+  } else {
+    version = "0.5";
+    url = "https://forge.ocamlcore.org/frs/download.php/1156/rope-0.5.tar.gz";
+    sha256 = "05fr2f5ch2rqhyaj06rv5218sbg99p1m9pq5sklk04hpslxig21f";
+    buildInputs = [ ocamlbuild ];
+    extra = { createFindlibDestdir = true; };
+  };
+in
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-rope-${version}";
+stdenv.mkDerivation ({
+  name = "ocaml${ocaml.version}-rope-${param.version}";
 
-  src = fetchzip {
-    url = "https://forge.ocamlcore.org/frs/download.php/1156/rope-${version}.tar.gz";
-    sha256 = "1i8kzg19jrapl30mq8m91vy09z0r0dl4bnpw24ga96w8pxqf9qhd";
+  src = fetchurl {
+    inherit (param) url sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild benchmark ];
-
-  createFindlibDestdir = true;
+  buildInputs = [ ocaml findlib benchmark ] ++ param.buildInputs;
 
   meta = {
     homepage = http://rope.forge.ocamlcore.org/;
@@ -21,4 +37,4 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21;
     maintainers = with stdenv.lib.maintainers; [ volth ];
   };
-}
+} // param.extra)
diff --git a/pkgs/development/ocaml-modules/sqlexpr/default.nix b/pkgs/development/ocaml-modules/sqlexpr/default.nix
index 6d1654f2b42f..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,7 +9,7 @@ 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 = https://github.com/mfp/ocaml-sqlexpr;
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index b38138c55731..8c146102ad1b 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildOcaml, fetchFromGitHub, findlib, ocamlbuild, ocaml_oasis
-, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ounit
+, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ppx_cstruct, cstruct-unix, ounit
 , lwt     ? null}:
 
 with stdenv.lib;
@@ -19,7 +19,7 @@ buildOcaml rec {
     sha256 = "19q2hzxiasz9pzczgb63kikg0mc9mw98dfvch5falf2rincycj24";
   };
 
-  buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ];
+  buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
   propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++
                           optional withLwt lwt;
 
diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix
index ab82f6abdcbb..316035b40543 100644
--- a/pkgs/development/ocaml-modules/x509/default.nix
+++ b/pkgs/development/ocaml-modules/x509/default.nix
@@ -1,4 +1,6 @@
-{stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto, ounit, ocaml_oasis, ppx_sexp_conv}:
+{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto
+, ounit, ocaml_oasis, ppx_sexp_conv, cstruct-unix
+}:
 
 buildOcaml rec {
   name = "x509";
@@ -13,7 +15,7 @@ buildOcaml rec {
     sha256 = "07cc3z6h87460z3f4vz8nlczw5jkc4vjhix413z9x6nral876rn7";
   };
 
-  buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv ];
+  buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv cstruct-unix ];
   propagatedBuildInputs = [ asn1-combinators nocrypto ];
 
   configureFlags = "--enable-tests";
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 2ce2faa7e8d6..5d751d3dc997 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -1,16 +1,26 @@
-{ stdenv, fetchzip, ocaml, findlib, cppo, easy-format, biniou }:
+{ stdenv, fetchzip, ocaml, findlib, jbuilder, cppo, easy-format, biniou }:
 let
   pname = "yojson";
   param =
-  if stdenv.lib.versionAtLeast ocaml.version "4.01" then {
-    version = "1.3.3";
-    sha256 = "02l11facbr6bxrxq95vrcp1dxapp02kv7g4gq8rm62pb3dj5c6g7";
+  if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
+    version = "1.4.0";
+    sha256 = "0rzn4yihfi0psd2qmgrx5fvwpby87sqx4zws3ijf49f7wbpycccv";
+    buildInputs = [ jbuilder ];
+    extra = { inherit (jbuilder) installPhase; };
   } else {
     version = "1.2.3";
     sha256 = "10dvkndgwanvw4agbjln7kgb1n9s6lii7jw82kwxczl5rd1sgmvl";
+    buildInputs = [];
+    extra = {
+      createFindlibDestdir = true;
+
+      makeFlags = "PREFIX=$(out)";
+
+      preBuild = "mkdir $out/bin";
+    };
   };
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
 
   name = "ocaml${ocaml.version}-${pname}-${param.version}";
 
@@ -19,18 +29,10 @@ stdenv.mkDerivation {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ];
+  buildInputs = [ ocaml findlib ] ++ param.buildInputs;
 
   propagatedBuildInputs = [ cppo easy-format biniou ];
 
-  createFindlibDestdir = true;
-
-  makeFlags = "PREFIX=$(out)";
-
-  preBuild = ''
-    mkdir $out/bin
-  '';
-
   meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
     homepage = "http://mjambon.com/${pname}.html";
@@ -38,4 +40,4 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms or [];
   };
-}
+} // param.extra)
diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh
index 9ee8be87c028..09b50e564110 100644
--- a/pkgs/development/perl-modules/generic/builder.sh
+++ b/pkgs/development/perl-modules/generic/builder.sh
@@ -34,8 +34,8 @@ postFixup() {
     # dependencies in the user environment (since Perl modules don't
     # have something like an RPATH, so the only way to find the
     # dependencies is to have them in the PERL5LIB variable).
-    if test -e $out/nix-support/propagated-native-build-inputs; then
-        ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
     fi
 }
 
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/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
new file mode 100644
index 000000000000..1c9fa3d786fb
--- /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.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "94943ed0cd77077fe2d18e79b2f28d3e92f585f7d1c6edc75e640121f3c5d580";
+  };
+
+  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/afew/default.nix b/pkgs/development/python-modules/afew/default.nix
index 05280738e5ba..ca00477d4086 100644
--- a/pkgs/development/python-modules/afew/default.nix
+++ b/pkgs/development/python-modules/afew/default.nix
@@ -21,8 +21,6 @@ buildPythonPackage rec {
     chardet
   ] ++ stdenv.lib.optional (!isPy3k) subprocess32;
 
-  doCheck = false;
-
   postInstall = ''
     wrapProgram $out/bin/afew \
       --prefix LD_LIBRARY_PATH : ${notmuch}/lib
@@ -31,6 +29,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/afewmail/afew;
     description = "An initial tagging script for notmuch mail";
-    maintainers = with maintainers; [ garbas ];
+    maintainers = with maintainers; [ garbas andir flokli ];
   };
 }
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 5f87580643f6..53443b3b32fa 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.2";
+  version = "2.3.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42373fbdbe8f09233c17e74f53cee877bc7d5b495b4fc14c32a119255e85e736";
+    sha256 = "0a2e33e90560dacb819b095b9d9611597925d75d1b93dd9490055d3826d98a82";
   };
 
   disabled = pythonOlder "3.4";
diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix
index 3c4d802718e8..862564dbcd15 100644
--- a/pkgs/development/python-modules/arelle/default.nix
+++ b/pkgs/development/python-modules/arelle/default.nix
@@ -5,8 +5,9 @@
   ... }:
 
 buildPythonPackage rec {
-  name = "arelle-${version}${lib.optionalString (!gui) "-headless"}";
+  pname = "arelle-${version}${lib.optionalString (!gui) "-headless"}";
   version = "2017-08-24";
+  name = pname + "-" + version;
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
index a4318fe5fa45..37164cb42760 100644
--- a/pkgs/development/python-modules/argcomplete/default.nix
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "argcomplete";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6ea272a93bb0387f758def836e73c36fff0c54170258c212de3e84f7db8d5ed";
+    sha256 = "d97b7f3cfaa4e494ad59ed6d04c938fc5ed69b590bd8f53274e258fb1119bd1b";
   };
 
   doCheck = false; # bash-completion test fails with "compgen: command not found".
diff --git a/pkgs/development/python-modules/asn1ate/default.nix b/pkgs/development/python-modules/asn1ate/default.nix
index ce07c2376245..7605e2c30858 100644
--- a/pkgs/development/python-modules/asn1ate/default.nix
+++ b/pkgs/development/python-modules/asn1ate/default.nix
@@ -4,7 +4,8 @@
 buildPythonPackage rec {
   pname = "asn1ate";
   date = "20160810";
-  name = "${pname}-unstable-${date}";
+  version = "unstable-${date}";
+  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     sha256 = "04pddr1mh2v9qq8fg60czwvjny5qwh4nyxszr3qc4bipiiv2xk9w";
diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/augeas/default.nix
index 8934e1b81a81..def46c7fccc1 100644
--- a/pkgs/development/python-modules/augeas/default.nix
+++ b/pkgs/development/python-modules/augeas/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, buildPythonPackage, fetchFromGitHub, augeas, cffi }:
 buildPythonPackage rec {
-    name = "augeas-${version}";
+    pname = "augeas";
     version = "1.0.2";
+    name = pname + "-" + version;
 
     src = fetchFromGitHub {
       owner = "hercules-team";
diff --git a/pkgs/development/python-modules/bash_kernel/default.nix b/pkgs/development/python-modules/bash_kernel/default.nix
new file mode 100644
index 000000000000..b7f508cdda25
--- /dev/null
+++ b/pkgs/development/python-modules/bash_kernel/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, ipykernel
+, isPy27
+, python
+, pexpect
+}:
+buildPythonPackage rec {
+  pname = "bash_kernel";
+  version = "0.7.1";
+  name = "${pname}-${version}";
+  format = "flit";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1s2kc7m52kq28b4j1q3456g5ani6nmq4n0rpbqi3yvh7ks0rby19";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/takluyver/bash_kernel/pull/69.diff";
+      sha256 = "1qd7qjjmcph4dk6j0bl31h2fdmfiyyazvrc9xqqj8y21ki2sl33j";
+    })
+  ];
+
+  propagatedBuildInputs = [ ipykernel pexpect ];
+
+  doCheck = false;
+
+  preBuild = ''
+    mkdir tmp
+    export HOME=$PWD/tmp
+  '';
+
+  postInstall = ''
+    ${python.interpreter} -m bash_kernel.install --prefix $out
+  '';
+
+  meta = {
+    description = "Bash Kernel for Jupyter";
+    homepage = "https://github.com/takluyver/bash_kernel";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/blockdiag/default.nix b/pkgs/development/python-modules/blockdiag/default.nix
index fed6f6e9219e..fde330d706f7 100644
--- a/pkgs/development/python-modules/blockdiag/default.nix
+++ b/pkgs/development/python-modules/blockdiag/default.nix
@@ -3,8 +3,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "blockdiag-${version}";
+  pname = "blockdiag";
   version = "1.5.3";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "https://bitbucket.org/blockdiag/blockdiag/get/${version}.tar.bz2";
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 61bfe7121cb9..244ee43d0aab 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -78,5 +78,6 @@ buildPythonPackage rec {
     description = "Statistical and novel interactive HTML plots for Python";
     homepage = "http://github.com/bokeh/bokeh";
     license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 0cb817844c77..9ff0b144f100 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -9,9 +9,9 @@ let
   };
   setuptools_source = fetchPypi {
     pname = "setuptools";
-    version = "36.4.0";
+    version = "36.7.1";
     format = "wheel";
-    sha256 = "4d54c0bfee283e78609169213f9c075827d5837086f58b588b417b093c23464b";
+    sha256 = "eaacfa35eb11199d0b017df416421781a75209817bff3f94820556e36c49bd77";
   };
 
   # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix
index 4eb5bcb6edc9..791b05e81cad 100644
--- a/pkgs/development/python-modules/bottleneck/default.nix
+++ b/pkgs/development/python-modules/bottleneck/default.nix
@@ -8,8 +8,9 @@
 
 buildPythonPackage rec {
   pname = "Bottleneck";
-  name = "Bottleneck-${version}";
   version = "1.2.1";
+  name = pname + "-" + version;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36";
@@ -23,4 +24,4 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" ""
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index b0524b4121ad..f8e313d660eb 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -17,6 +17,20 @@ if isPyPy then null else buildPythonPackage rec {
   propagatedBuildInputs = [ libffi pycparser ];
   buildInputs = [ pytest ];
 
+  # On Darwin, the cffi tests want to hit libm a lot, and look for it in a global
+  # impure search path. It's obnoxious how much repetition there is, and how difficult
+  # it is to get it to search somewhere else (since we do actually have a libm symlink in libSystem)
+  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace testing/cffi0/test_parsing.py \
+      --replace 'lib_m = "m"' 'lib_m = "System"' \
+      --replace '"libm" in name' '"libSystem" in name'
+    substituteInPlace testing/cffi0/test_unicode_literals.py --replace 'lib_m = "m"' 'lib_m = "System"'
+    substituteInPlace testing/cffi0/test_zdistutils.py --replace 'self.lib_m = "m"' 'self.lib_m = "System"'
+    substituteInPlace testing/cffi1/test_recompiler.py --replace 'lib_m = "m"' 'lib_m = "System"'
+    substituteInPlace testing/cffi0/test_function.py --replace "lib_m = 'm'" "lib_m = 'System'"
+    substituteInPlace testing/cffi0/test_verify.py --replace "lib_m = ['m']" "lib_m = ['System']"
+  '';
+
   # The tests use -Werror but with python3.6 clang detects some unreachable code.
   NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isClang [ "-Wno-unused-command-line-argument" "-Wno-unreachable-code" ];
 
diff --git a/pkgs/development/python-modules/cgroup-utils/default.nix b/pkgs/development/python-modules/cgroup-utils/default.nix
index e565e23458ca..2c97cbd4a334 100644
--- a/pkgs/development/python-modules/cgroup-utils/default.nix
+++ b/pkgs/development/python-modules/cgroup-utils/default.nix
@@ -2,7 +2,8 @@
 
 buildPythonPackage rec {
   version = "0.6";
-  name = "cgroup-utils-${version}";
+  pname = "cgroup-utils";
+  name = pname + "-" + version;
 
   buildInputs = [ pep8 nose ];
   # Pep8 tests fail...
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/construct/default.nix b/pkgs/development/python-modules/construct/default.nix
index 9d8e61d1f450..78aa0aab5c08 100644
--- a/pkgs/development/python-modules/construct/default.nix
+++ b/pkgs/development/python-modules/construct/default.nix
@@ -1,8 +1,9 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, six, pythonOlder }:
 
 buildPythonPackage rec {
-  name = "construct-${version}";
+  pname = "construct";
   version = "2.8.16";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "construct";
diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix
index 137cef06b9e2..1c58ecb9aa61 100644
--- a/pkgs/development/python-modules/coverage/default.nix
+++ b/pkgs/development/python-modules/coverage/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "4.4.1";
+  version = "4.4.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424";
+    sha256 = "309d91bd7a35063ec7a0e4d75645488bfab3f0b66373e7722f23da7f5b0f34cc";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix
index 620f85e436d3..6ecad9a160e2 100644
--- a/pkgs/development/python-modules/cufflinks/default.nix
+++ b/pkgs/development/python-modules/cufflinks/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "cufflinks";
-  version = "0.12.0";
+  version = "0.12.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04ninvwm6277n3hqc17ririss90cd832wza3q3vf115rrrds3xyy";
+    sha256 = "8f11e4b6326cc5b2a18011c09fb64f178ba21002f337fd305f64818012a6c679";
   };
 
   propagatedBuildInputs = [ pandas plotly colorlover ];
diff --git a/pkgs/development/python-modules/cymem/default.nix b/pkgs/development/python-modules/cymem/default.nix
index f2c6c649a837..8033fa96113e 100644
--- a/pkgs/development/python-modules/cymem/default.nix
+++ b/pkgs/development/python-modules/cymem/default.nix
@@ -5,8 +5,9 @@
 , python
 }:
 buildPythonPackage rec {
-  name = "cymem-${version}";
+  pname = "cymem";
   version = "1.31.2";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "explosion";
@@ -16,14 +17,14 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-   cython   
+   cython
   ];
-    
+
   checkPhase = ''
     cd cymem/tests
     ${python.interpreter} -m unittest discover -p "*test*"
   '';
-  
+
   meta = with stdenv.lib; {
     description = "Cython memory pool for RAII-style memory management";
     homepage = https://github.com/explosion/cymem;
diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix
index 8eb98924491a..b779d01c9353 100644
--- a/pkgs/development/python-modules/django-hijack/default.nix
+++ b/pkgs/development/python-modules/django-hijack/default.nix
@@ -2,8 +2,9 @@
   django, django_compat, django_nose
 }:
 buildPythonPackage rec {
-  name = "django-hijack-${version}";
+  pname = "django-hijack";
   version = "2.1.4";
+  name = pname + "-" + version;
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
@@ -36,4 +37,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ris ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index 62e291306d8c..e2c8acd1a0b1 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, django }:
 buildPythonPackage rec {
-  version = "3.7.1";
+  version = "3.7.3";
   pname = "djangorestframework";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/djangorestframework/${name}.tar.gz";
-    sha256 = "305b2c6564ca46d3b558ba21110ed717135c467adf1a6dfd192bd85f4bb04d50";
+    sha256 = "067960e5e9e5586d3b2d53a1d626c4800dc33cd8309487d404fc63355674556f";
   };
 
   # Test settings are missing
diff --git a/pkgs/development/python-modules/dkimpy/default.nix b/pkgs/development/python-modules/dkimpy/default.nix
index 30baed39bd6f..91d5a17960d8 100644
--- a/pkgs/development/python-modules/dkimpy/default.nix
+++ b/pkgs/development/python-modules/dkimpy/default.nix
@@ -2,10 +2,11 @@
 , pytest, dns }:
 
 buildPythonApplication rec {
-  name = "${pname}-${majorversion}.${minorversion}";
+  name = "${pname}-${version}";
   pname = "dkimpy";
   majorversion = "0.6";
   minorversion = "2";
+  version = "${majorversion}.${minorversion}";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/${majorversion}/${majorversion}.${minorversion}/+download/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index 422674152a68..13bcb6471869 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -3,13 +3,13 @@
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "0.18.5";
+  version = "0.18.6";
   pname = "dulwich";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/dulwich/${name}.tar.gz";
-    sha256 = "838bac318fd0ed79e0eedb6cfd53b6424dc618fec6b99dc959881b12da7bd6e0";
+    sha256 = "38a04406bc68315794c3bab37c7d4ed137fb8a839482d8894e72b0d9b3eb41a9";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix
index 6fd445a89f5a..25ca8dabf2bf 100644
--- a/pkgs/development/python-modules/ecpy/default.nix
+++ b/pkgs/development/python-modules/ecpy/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ECPy";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l";
+    sha256 = "0509a90714448ef47ef727cb7aee3415995c883c945e972521b5838fa4c50e24";
   };
 
   buildInputs = [ hidapi pycrypto pillow protobuf future ];
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 02926e0fd743..3c95a26881e8 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -8,12 +8,12 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "0.8.6";
+  version = "0.8.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3c98dd04bba667ecfddb77fcd0dfd19b376b258d21beeaf5b95578826e275a83";
+    sha256 = "bf7dabcd6807c8829da28a4de491adf7998af506b8571db6a6eb58161157248a";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/first/default.nix b/pkgs/development/python-modules/first/default.nix
index 5ecbff90442d..16c1d79d767a 100644
--- a/pkgs/development/python-modules/first/default.nix
+++ b/pkgs/development/python-modules/first/default.nix
@@ -1,10 +1,9 @@
 { stdenv, buildPythonPackage, fetchPypi }:
-let
+
+buildPythonPackage rec {
   pname = "first";
   version = "2.0.1";
-in
-buildPythonPackage {
-  name = "${pname}-${version}";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index f8f54e0e4294..cab25a60f3b4 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -3,8 +3,9 @@
 , pytest }:
 
 buildPythonPackage rec {
-  name = "geopandas-${version}";
+  pname = "geopandas";
   version = "0.3.0";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "geopandas";
diff --git a/pkgs/development/python-modules/gevent/default.nix b/pkgs/development/python-modules/gevent/default.nix
index 8a3d3b3d09b7..6b94652402e3 100644
--- a/pkgs/development/python-modules/gevent/default.nix
+++ b/pkgs/development/python-modules/gevent/default.nix
@@ -1,20 +1,15 @@
 { stdenv, fetchurl, buildPythonPackage, isPyPy, python, libev, greenlet }:
 
 buildPythonPackage rec {
-  name = "gevent-1.1.2";
+  pname = "gevent";
+  version = "1.2.2";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/g/gevent/${name}.tar.gz";
-    sha256 = "cb15cf73d69a2eeefed330858f09634e2c50bf46da9f9e7635730fcfb872c02c";
+    sha256 = "0bbbjvi423y9k9xagrcsimnayaqymg6f2dj76m9z3mjpkjpci4a7";
   };
 
-  # Why do we have this patch?
-  postPatch = ''
-    substituteInPlace libev/ev.c --replace \
-      "ecb_inline void ecb_unreachable (void) ecb_noreturn" \
-      "ecb_inline ecb_noreturn void ecb_unreachable (void)"
-  '';
-
   buildInputs = [ libev ];
   propagatedBuildInputs = stdenv.lib.optionals (!isPyPy) [ greenlet ];
 
diff --git a/pkgs/development/python-modules/gflags/default.nix b/pkgs/development/python-modules/gflags/default.nix
index f73ff2b4686d..6fe4b7fcab87 100644
--- a/pkgs/development/python-modules/gflags/default.nix
+++ b/pkgs/development/python-modules/gflags/default.nix
@@ -2,7 +2,8 @@
 
 buildPythonPackage rec {
   version = "3.1.2";
-  name = "gflags-${version}";
+  pname = "gflags";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix
index eeb042452155..3295786bd08c 100644
--- a/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/pkgs/development/python-modules/hmmlearn/default.nix
@@ -1,8 +1,9 @@
 { lib, fetchurl, buildPythonPackage, numpy }:
 
 buildPythonPackage rec {
-  name = "hmmlearn-${version}";
+  pname = "hmmlearn";
   version = "0.2.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/h/hmmlearn/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 3a8426e201f8..8002ae478cb5 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, fetchPypi, python
+{ stdenv, buildPythonPackage, fetchPypi, python
 , pytest, pytestcov, watchdog, mock
 }:
 
@@ -16,5 +16,7 @@ buildPythonPackage rec {
     py.test
   '';
 
-  checkInputs = [ pytest pytestcov watchdog mock ];
+  # FIXME: watchdog dependency is disabled on Darwin because of #31865, which causes very silent
+  # segfaults in the testsuite that end up failing the tests in a background thread (in myapp)
+  checkInputs = [ pytest pytestcov mock ] ++ stdenv.lib.optional (!stdenv.isDarwin) watchdog;
 }
diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix
index ca09c271ddac..9886f705d548 100644
--- a/pkgs/development/python-modules/hyperlink/default.nix
+++ b/pkgs/development/python-modules/hyperlink/default.nix
@@ -1,11 +1,13 @@
 { stdenv, buildPythonPackage, fetchurl, pytest }:
+
 buildPythonPackage rec {
-  name = "hyperlink-${version}";
-  version = "17.3.0";
+  pname = "hyperlink";
+  version = "17.3.1";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/h/hyperlink/${name}.tar.gz";
-    sha256 = "06mgnxwjzx8hv34bifc7jvgxz21ixhk5s6xy2kd84hdrlbfvpbfx";
+    sha256 = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index 14b03e5e282a..3d1563234910 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "7.0.3";
+  version = "7.0.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f98b4c3719097c9d2e6489f303db520b20bd4de3e0b1d6d4f92f81bfe3c2a0c8";
+    sha256 = "321be3dc48193130ba16e8080172bb5cd052eb65e3ad0ea7b5f80ff73e24bc54";
   };
 
   # Tests are not distributed
diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix
index 6cdf784dc3ba..bf9f9f9c0823 100644
--- a/pkgs/development/python-modules/jedi/default.nix
+++ b/pkgs/development/python-modules/jedi/default.nix
@@ -10,6 +10,10 @@ buildPythonPackage rec {
     sha256 = "f6d5973573e76b1fd2ea75f6dcd6445d02d41ff3af5fc61b275b4e323d1dd396";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "parso==0.1.0" "parso"
+  '';
+
   checkInputs = [ pytest glibcLocales tox pytestcov ];
 
   propagatedBuildInputs = [ parso ];
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index c2d5362b134b..d88b6e4999b2 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.9";
+  version = "2.1.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b8572cf1b4a22fd0120b7c23382ba4fa04a6f0397e02af1249be9a7309d1767";
+    sha256 = "f0ca2458c60d9711edf4291230b31795307ad3781cb6232ff4792b53c8f55123";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/keystoneclient/default.nix b/pkgs/development/python-modules/keystoneclient/default.nix
index 5b09992295f7..a856f4db793f 100644
--- a/pkgs/development/python-modules/keystoneclient/default.nix
+++ b/pkgs/development/python-modules/keystoneclient/default.nix
@@ -9,8 +9,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "keystoneclient-${version}";
+  pname = "keystoneclient";
   version = "1.8.1";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "openstack";
diff --git a/pkgs/development/python-modules/keyutils/default.nix b/pkgs/development/python-modules/keyutils/default.nix
index 2746f1616682..04b9e9235750 100644
--- a/pkgs/development/python-modules/keyutils/default.nix
+++ b/pkgs/development/python-modules/keyutils/default.nix
@@ -1,9 +1,8 @@
 { lib, buildPythonPackage, fetchurl, pkgs, pytestrunner }:
 
-let
+buildPythonPackage rec {
   pname = "keyutils";
   version = "0.5";
-in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix
index 3c24c2ed24cb..67353a32ada6 100644
--- a/pkgs/development/python-modules/libgpuarray/default.nix
+++ b/pkgs/development/python-modules/libgpuarray/default.nix
@@ -1,4 +1,4 @@
-{ stdenv 
+{ stdenv
 , lib
 , buildPythonPackage
 , fetchFromGitHub
@@ -11,18 +11,19 @@
 , python
 , cudaSupport ? false, cudatoolkit
 , openclSupport ? true, ocl-icd, clblas
-}: 
+}:
 
 buildPythonPackage rec {
-  name = "libgpuarray-${version}";
+  pname = "libgpuarray";
   version = "0.6.9";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
-    owner = "Theano"; 
+    owner = "Theano";
     repo = "libgpuarray";
     rev = "v${version}";
     sha256 = "06z47ls42a37gbv0x7f3l1qvils7q0hvy02s95l530klgibp19s0";
-  }; 
+  };
 
   # requires a GPU
   doCheck = false;
@@ -43,7 +44,7 @@ buildPythonPackage rec {
     export NIX_CFLAGS_COMPILE="-L $out/lib -I $out/include $NIX_CFLAGS_COMPILE"
 
     cd ..
-  ''; 
+  '';
 
   postFixup = ''
     rm $out/lib/libgpuarray-static.a
@@ -64,11 +65,11 @@ buildPythonPackage rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ 
-    cmake 
-    cython 
+  buildInputs = [
+    cmake
+    cython
     nose
-  ]; 
+  ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/Theano/libgpuarray";
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index b9404ab5ec31..57f8d2c8114e 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "libtmux";
-  version = "0.7.5";
+  version = "0.7.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12e5006e59b7d98af5d1a9294f9c8ff2829ac2c1c6ae23dc73c280100b15f485";
+    sha256 = "5670c8da8d0192d932ac1e34f010e0eeb098cdb2af6daad0307b5418e7a37733";
   };
 
   buildInputs = [ pytest_29 ];
diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix
index 7c907d1e5ef3..4c4c89d8f196 100644
--- a/pkgs/development/python-modules/llfuse/default.nix
+++ b/pkgs/development/python-modules/llfuse/default.nix
@@ -3,7 +3,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "llfuse-1.0";
+  pname = "llfuse";
+  version = "1.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/l/llfuse/${name}.tar.bz2";
diff --git a/pkgs/development/python-modules/locustio/default.nix b/pkgs/development/python-modules/locustio/default.nix
new file mode 100644
index 000000000000..0e9386f667c5
--- /dev/null
+++ b/pkgs/development/python-modules/locustio/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, fetchPypi
+, mock
+, unittest2
+, msgpack
+, requests
+, flask
+, gevent
+, pyzmq
+}:
+
+buildPythonPackage rec {
+  pname = "locustio";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "64583987ba1c330bb071aee3e29d2eedbfb7c8b342fa064bfb74fafcff660d61";
+  };
+
+  patchPhase = ''
+    sed -i s/"pyzmq=="/"pyzmq>="/ setup.py
+  '';
+
+  propagatedBuildInputs = [ msgpack requests flask gevent pyzmq ];
+  buildInputs = [ mock unittest2 ];
+
+  meta = {
+    homepage = http://locust.io/;
+    description = "A load testing tool";
+  };
+}
diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix
index f614eb0747bb..2b576cd3b056 100644
--- a/pkgs/development/python-modules/markdown2/default.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "markdown2";
-  version = "2.3.4";
+  version = "2.3.5";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/markdown2/${name}.zip";
-    sha256 = "264731e7625402227ff6fb01f2d814882da7705432659a18a419c508e8bfccb1";
+    sha256 = "8bb9a24eb2aa02f1427aabe46483f0f0215ab18c8a345315ae8e2ee3c3a09c03";
   };
 
   meta = with stdenv.lib; {
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/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/murmurhash/default.nix b/pkgs/development/python-modules/murmurhash/default.nix
index aa5e3358866d..023c94cdc8ea 100644
--- a/pkgs/development/python-modules/murmurhash/default.nix
+++ b/pkgs/development/python-modules/murmurhash/default.nix
@@ -6,25 +6,26 @@
 }:
 
 buildPythonPackage rec {
-  name = "murmurhash-${version}";
+  pname = "murmurhash";
   version = "0.26.4";
-  
+  name = pname + "-" + version;
+
   src = fetchFromGitHub {
     owner = "explosion";
     repo = "murmurhash";
     rev = "0.26.4";
-    sha256 = "0n2j0glhlv2yh3fjgbg4d79j1c1fpchgjd4vnpw908l9mzchhmdv";    
+    sha256 = "0n2j0glhlv2yh3fjgbg4d79j1c1fpchgjd4vnpw908l9mzchhmdv";
   };
 
   buildInputs = [
    cython
   ];
-  
+
   checkPhase = ''
     cd murmurhash/tests
     ${python.interpreter} -m unittest discover -p "*test*"
   '';
-  
+
   meta = with stdenv.lib; {
     description = "Cython bindings for MurmurHash2";
     homepage = https://github.com/explosion/murmurhash;
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index 7041768c2097..4fc1f7255c60 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -18,7 +18,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "natsort";
-  version = "5.1.0";
+  version = "5.1.1";
 
   buildInputs = [
     hypothesis
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5db0fd17c9f8ef3d54962a6e46159ce4807c630f0931169cd15ce54f2ac395b9";
+    sha256 = "9ffbfb74bf3fc3905be1b9b052ed865675651e38fcd972ed1ed5c64a02f93cbd";
   };
 
   # do not run checks on nix_run_setup.py
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
new file mode 100644
index 000000000000..964b42fe4eee
--- /dev/null
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "nbxmpp";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x495yb0abkdspyziw7dyyjwxx6ivnv5zznk92wa3mcind5s9757";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
+    description = "Non-blocking Jabber/XMPP module";
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix
index f5dc7607e2d2..16036a691791 100644
--- a/pkgs/development/python-modules/nilearn/default.nix
+++ b/pkgs/development/python-modules/nilearn/default.nix
@@ -4,7 +4,7 @@
 buildPythonPackage rec {
   pname = "nilearn";
   version = "0.3.1";
-  name = "nilearn-${version}";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nwdiag/default.nix b/pkgs/development/python-modules/nwdiag/default.nix
index ebf7ce944c11..2b37bab525e7 100644
--- a/pkgs/development/python-modules/nwdiag/default.nix
+++ b/pkgs/development/python-modules/nwdiag/default.nix
@@ -3,11 +3,13 @@
 }:
 
 buildPythonPackage rec {
-  name = "nwdiag-1.0.3";
+  pname = "nwdiag";
+  version = "1.0.4";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/n/nwdiag/${name}.tar.gz";
-    sha256 = "0n7ary1fngxk8bk15vabc8fhnmxlh098piciwaviwn7l4a5q1zys";
+    sha256 = "002565875559789a2dfc5f578c07abdf44269c3f7cdf78d4809bdc4bdc2213fa";
   };
 
   buildInputs = [ pep8 nose unittest2 docutils ];
diff --git a/pkgs/development/python-modules/parso/default.nix b/pkgs/development/python-modules/parso/default.nix
index 26617826e124..17e3f9fcf3e5 100644
--- a/pkgs/development/python-modules/parso/default.nix
+++ b/pkgs/development/python-modules/parso/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "parso";
-  version = "0.1.0";
+  version = "0.1.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c5279916bb417aa2bf634648ff895cf35dce371d7319744884827bfad06f8d7b";
+    sha256 = "5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix
index 3178b217a00a..6b4af3ffcd48 100644
--- a/pkgs/development/python-modules/path.py/default.nix
+++ b/pkgs/development/python-modules/path.py/default.nix
@@ -10,7 +10,7 @@
 buildPythonPackage rec {
   pname = "path.py";
   version = "10.4";
-  name = "path.py-${version}";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
@@ -31,4 +31,4 @@ buildPythonPackage rec {
   checkPhase = ''
     py.test test_path.py
   '';
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pexpect/default.nix b/pkgs/development/python-modules/pexpect/default.nix
new file mode 100644
index 000000000000..c5d1e8ef3c44
--- /dev/null
+++ b/pkgs/development/python-modules/pexpect/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ptyprocess
+}:
+
+buildPythonPackage rec {
+  pname = "pexpect";
+  version = "4.3.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nfjmz81gsixv22dywidakm7pff3ly1i4yly950bfp8gz1r0iaq0";
+  };
+
+  # Wants to run pythonin a subprocess
+  doCheck = false;
+
+  propagatedBuildInputs = [ ptyprocess ];
+
+  meta = with lib; {
+    homepage = http://www.noah.org/wiki/Pexpect;
+    description = "Automate interactive console applications such as ssh, ftp, etc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zimbatm ];
+
+    longDescription = ''
+      Pexpect is similar to the Don Libes "Expect" system, but Pexpect
+      as a different interface that is easier to understand. Pexpect
+      is basically a pattern matching system. It runs programs and
+      watches output. When output matches a given pattern Pexpect can
+      respond as if a human were typing responses. Pexpect can be used
+      for automation, testing, and screen scraping. Pexpect can be
+      used for automating interactive console applications such as
+      ssh, ftp, passwd, telnet, etc. It can also be used to control
+      web applications via "lynx", "w3m", or some other text-based web
+      browser. Pexpect is pure Python. Unlike other Expect-like
+      modules for Python Pexpect does not require TCL or Expect nor
+      does it require C extensions to be compiled. It should work on
+      any platform that supports the standard Python pty module.
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 75a3f51afc61..d5c4eaa781bd 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.5";
+  version = "8.8.6";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "adb2dd985f875ac035bbdc6a1cc57e30834e106e2ff7899e09a1690b474c1774";
+    sha256 = "ab1fa853350dde91be672192b427169b29e3348c236e46ad7a757e4ac8163c8c";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index d916f9b95b1d..d2b91eb435c6 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -3,27 +3,38 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "1.10.1";
-  name = "pip-tools-${version}";
+  version = "1.10.2";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pip-tools/${name}.tar.gz";
-    sha256 = "37b85d69ceed97337aeefb3e52e41fe0884a505c874757a5bbaa58d92b533ce0";
+    sha256 = "d381c7249eb48350cc49447cc106df3d90e9e806b13caaede602c1cd38f61b37";
   };
 
   LC_ALL = "en_US.UTF-8";
   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/plaster-pastedeploy/default.nix b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
index 330ecfc7c672..03182c902655 100644
--- a/pkgs/development/python-modules/plaster-pastedeploy/default.nix
+++ b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "plaster_pastedeploy";
-  version = "0.4.1";
+  version = "0.4.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lrbkya5birfmg9gnfcnsa9id28klmjcqbm33rcg69pv9sfld4jv";
+    sha256 = "2a401228c7cfbe38f728249e75af7a666f91c61d642cbb8fcb78a71df69d2754";
   };
 
   checkPhase = ''
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/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix
index 028d81d2934f..f51c6989c011 100644
--- a/pkgs/development/python-modules/powerline/default.nix
+++ b/pkgs/development/python-modules/powerline/default.nix
@@ -12,10 +12,12 @@
 # the executables of git, mercurial and bazaar.
 
 buildPythonPackage rec {
-  rev  = "2.6";
-  name = "powerline-${rev}";
+  version  = "2.6";
+  pname = "powerline";
+  name = pname + "-" + version;
+
   src = fetchurl {
-    url    = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
+    url    = "https://github.com/powerline/powerline/archive/${version}.tar.gz";
     name   = "${name}.tar.gz";
     sha256 = "c108f11fe10dc910febb94b87d3abded85d4363fb950366a9e30282b9ba7c272";
   };
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 4a67a3132eda..1a345b19ef94 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -5,7 +5,7 @@
 with stdenv.lib;
 
 buildPythonPackage rec {
-  inherit (protobuf) name src;
+  inherit (protobuf) name src version;
   inherit disabled doCheck;
 
   NIX_CFLAGS_COMPILE =
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
new file mode 100644
index 000000000000..cf9b3ea267f5
--- /dev/null
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, darwin
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "psutil";
+  version = "5.4.1";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "42e2de159e3c987435cb3b47d6f37035db190a1499f3af714ba7af5c379b6ba2";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.IOKit ];
+
+  meta = {
+    description = "Process and system utilization information interface for python";
+    homepage = https://github.com/giampaolo/psutil;
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix
index 57f7c2c317dc..11f80ca3b2e8 100644
--- a/pkgs/development/python-modules/pwntools/default.nix
+++ b/pkgs/development/python-modules/pwntools/default.nix
@@ -7,7 +7,7 @@
 buildPythonPackage rec {
   version = "3.10.0";
   pname = "pwntools";
-  name = "pwntools-${version}";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix
index 45887bdc748d..ec8db1c5bc3d 100644
--- a/pkgs/development/python-modules/pyGithub/default.nix
+++ b/pkgs/development/python-modules/pyGithub/default.nix
@@ -3,8 +3,9 @@
 , buildPythonPackage, python-jose }:
 
 buildPythonPackage rec {
-  name = "PyGithub-${version}";
+  pname = "PyGithub";
   version = "1.32";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "PyGithub";
diff --git a/pkgs/development/python-modules/pyamf/default.nix b/pkgs/development/python-modules/pyamf/default.nix
new file mode 100644
index 000000000000..59acacd50517
--- /dev/null
+++ b/pkgs/development/python-modules/pyamf/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage, defusedxml }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "PyAMF";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1r3lp9gkph48g9lijby5rs5daa3lhxs204r14zw4kvp3hf4xcm84";
+  };
+
+  propagatedBuildInputs = [ defusedxml ];
+
+  meta = with stdenv.lib; {
+    description = "AMF (Action Message Format) support for Python";
+    homepage = https://pypi.python.org/pypi/PyAMF;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pybfd/default.nix b/pkgs/development/python-modules/pybfd/default.nix
new file mode 100644
index 000000000000..ee1a79955740
--- /dev/null
+++ b/pkgs/development/python-modules/pybfd/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildPythonPackage, isPyPy, isPy3k, libbfd, libopcodes }:
+
+buildPythonPackage rec {
+  name = "pybfd-0.1.1";
+
+  disabled = isPyPy || isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "orivej";
+    repo = "pybfd";
+    rev = "a2c3a7b94a3c9f7a353b863f69a79174c6a41ebe";
+    sha256 = "0wrz234dz25hs0ajzcz5w8lzc1yzf64wqa8fj01hhr4yy23vjkcr";
+  };
+
+  LIBBFD_INCLUDE_DIR = "${libbfd.dev}/include";
+  LIBBFD_LIBRARY = "${libbfd}/lib/libbfd.so";
+  LIBOPCODES_INCLUDE_DIR = "${libopcodes.dev}/include";
+  LIBOPCODES_LIBRARY = "${libopcodes}/lib/libopcodes.so";
+
+  meta = {
+    homepage = https://github.com/Groundworkstech/pybfd;
+    description = "A Python interface to the GNU Binary File Descriptor (BFD) library";
+    license = lib.licenses.gpl2;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 440a1aa7785e..01014170dc7d 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -1,8 +1,9 @@
 { lib, fetchurl, buildPythonPackage, requests, six, zeroconf, protobuf }:
 
 buildPythonPackage rec {
-  name    = "PyChromecast-${version}";
+  pname = "PyChromecast";
   version = "0.8.1";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url    = "mirror://pypi/p/pychromecast/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 4669c05a7d56..1ecf0bf6b339 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -3,10 +3,9 @@
 # This is a dummy package providing the drop-in replacement pycryptodome.
 # https://github.com/NixOS/nixpkgs/issues/21671
 
-let
+buildPythonPackage rec {
   version = pycryptodome.version;
   pname = "pycrypto";
-in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   # Cannot build wheel otherwise (zip 1980 issue)
diff --git a/pkgs/development/python-modules/pycuda/compyte.nix b/pkgs/development/python-modules/pycuda/compyte.nix
index 50bd81ac462c..192d60cec46a 100644
--- a/pkgs/development/python-modules/pycuda/compyte.nix
+++ b/pkgs/development/python-modules/pycuda/compyte.nix
@@ -1,10 +1,11 @@
-{ mkDerivation 
+{ mkDerivation
 , fetchFromGitHub
 }:
 
 mkDerivation rec {
-  name = "compyte-${version}";
-  version = "git-20150817"; 
+  pname = "compyte";
+  version = "git-20150817";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "inducer";
@@ -13,7 +14,7 @@ mkDerivation rec {
     sha256 = "1980h017qi52b7fqwm75m481xs2napgdd3fbrzkfc29k085cbign";
   };
 
-  installPhase = '' 
+  installPhase = ''
     mkdir -p $out
     cp -r * $out
   '';
diff --git a/pkgs/development/python-modules/pyev/default.nix b/pkgs/development/python-modules/pyev/default.nix
index db06fedd68cc..e393265ae37f 100644
--- a/pkgs/development/python-modules/pyev/default.nix
+++ b/pkgs/development/python-modules/pyev/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, libev }:
 
 buildPythonPackage rec {
-  name = "pyev-0.9.0";
+  pname = "pyev";
+  version = "0.9.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pyev/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index a02aa94576e5..117169a26121 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -2,12 +2,14 @@
 , boost, freetype, ftgl, mesa }:
 
 buildPythonPackage rec {
-  name = "pyftgl-0.4b";
+  pname = "pyftgl";
+  version = "0.4b";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "umlaeute";
-    repo = "pyftgl";
-    rev = "0.4b";
+    repo = name;
+    rev = version;
     sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r";
   };
 
diff --git a/pkgs/development/python-modules/pygame/git.nix b/pkgs/development/python-modules/pygame/git.nix
index 97f7b8b6c993..1d8ba697f38b 100644
--- a/pkgs/development/python-modules/pygame/git.nix
+++ b/pkgs/development/python-modules/pygame/git.nix
@@ -3,8 +3,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "pygame-${version}";
+  pname = "pygame";
   version = "2016-05-17";
+  name = pname + "-" + version;
 
   src = fetchFromBitbucket {
     owner = "pygame";
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index 6afd10596bc6..db734c53007b 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -3,8 +3,10 @@
 buildPythonPackage rec {
   major = "3.24";
   minor = "1";
-  name = "pygobject-${major}.${minor}";
+  version = "${major}.${minor}";
   format = "other";
+  pname = "pygobject";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/${major}/${name}.tar.xz";
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index 63a21cb2befd..796fc992a7dc 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib }:
 
 buildPythonPackage rec {
-  name = "pygobject-${version}";
+  pname = "pygobject";
   version = "2.28.6";
   format = "other";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/2.28/${name}.tar.xz";
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 9b9adc64b755..42127de2f244 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -2,7 +2,9 @@
 , buildPythonPackage, libglade ? null, isPy3k }:
 
 buildPythonPackage rec {
-  name = "pygtk-2.24.0";
+  pname = "pygtk";
+  version = "2.24.0";
+  name = pname + "-" + version;
 
   disabled = isPy3k;
 
diff --git a/pkgs/development/python-modules/pygtksourceview/default.nix b/pkgs/development/python-modules/pygtksourceview/default.nix
index 7b89e6d1b28c..a03be0ac04df 100644
--- a/pkgs/development/python-modules/pygtksourceview/default.nix
+++ b/pkgs/development/python-modules/pygtksourceview/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, python, buildPythonPackage, pkgconfig, pygobject2, glib, pygtk, gnome2 }:
 
-let version = "2.10.1"; in
-
-buildPythonPackage {
-  name = "pygtksourceview-${version}";
+buildPythonPackage rec {
+  pname = "pygtksourceview";
   format = "other";
+  version = "2.10.1";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/gnome/sources/pygtksourceview/2.10/pygtksourceview-${version}.tar.bz2";
diff --git a/pkgs/development/python-modules/pyocr/default.nix b/pkgs/development/python-modules/pyocr/default.nix
index 54caba10189e..e253e64a41ca 100644
--- a/pkgs/development/python-modules/pyocr/default.nix
+++ b/pkgs/development/python-modules/pyocr/default.nix
@@ -3,8 +3,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "pyocr-${version}";
+  pname = "pyocr";
   version = "0.4.7";
+  name = pname + "-" + version;
 
   # Don't fetch from PYPI because it doesn't contain tests.
   src = fetchFromGitHub {
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/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
index b4376730e623..0efb77d27b3e 100644
--- a/pkgs/development/python-modules/pyqt/4.x.nix
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -1,10 +1,14 @@
 { stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }:
 
 let
+  pname = "PyQt-x11-gpl";
   version = "4.12";
+
   inherit (pythonPackages) buildPythonPackage python dbus-python sip;
 in buildPythonPackage {
-  name = "PyQt-x11-gpl-${version}";
+  pname = pname;
+  name = pname + "-" + version;
+  version = version;
   format = "other";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 9c1489aba02f..dc5c964caf6d 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,12 +1,19 @@
-{ 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
+, withConnectivity ? false, qtconnectivity
+}:
 
 let
+  pname = "PyQt";
   version = "5.9";
+
   inherit (pythonPackages) buildPythonPackage python dbus-python sip;
 in buildPythonPackage {
-  name = "PyQt-${version}";
+  pname = pname;
+  version = version;
   format = "other";
+  name = pname + "-" + version;
 
   meta = with lib; {
     description = "Python bindings for Qt5";
@@ -25,7 +32,7 @@ in buildPythonPackage {
 
   buildInputs = [
     lndir qtbase qtsvg qtwebkit qtwebengine dbus_libs
-  ];
+  ] ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity;
 
   propagatedBuildInputs = [ sip ];
 
diff --git a/pkgs/development/python-modules/pyro/default.nix b/pkgs/development/python-modules/pyro/default.nix
index dbad83bef7e7..3e2f90aa9d30 100644
--- a/pkgs/development/python-modules/pyro/default.nix
+++ b/pkgs/development/python-modules/pyro/default.nix
@@ -1,7 +1,10 @@
 { stdenv, fetchurl, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  name = "Pyro-3.16";
+  pname = "Pyro";
+  version = "3.16";
+  name = pname + "-" + version;
+
   disabled = isPy3k;
 
   src = fetchurl {
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/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix
index 3a563e5d183d..e855b952f276 100644
--- a/pkgs/development/python-modules/pyslurm/default.nix
+++ b/pkgs/development/python-modules/pyslurm/default.nix
@@ -1,7 +1,9 @@
 { lib, fetchFromGitHub, buildPythonPackage, cython, slurm }:
 
 buildPythonPackage rec {
-  name = "pyslurm";
+  pname = "pyslurm";
+  version = "unstable-69e4f4f";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     repo = "pyslurm";
diff --git a/pkgs/development/python-modules/pysoundfile/default.nix b/pkgs/development/python-modules/pysoundfile/default.nix
index fe24f0203f0d..ef67ed85cc03 100644
--- a/pkgs/development/python-modules/pysoundfile/default.nix
+++ b/pkgs/development/python-modules/pysoundfile/default.nix
@@ -11,8 +11,8 @@
 
 buildPythonPackage rec {
   pname = "PySoundFile";
-  name = "PySoundFile-${version}";
   version = "0.8.1";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
@@ -35,4 +35,4 @@ buildPythonPackage rec {
 
     # https://github.com/bastibe/PySoundFile/issues/157
     disabled = isPyPy ||  stdenv.isi686;
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pytest-expect/default.nix b/pkgs/development/python-modules/pytest-expect/default.nix
index 5abfd9423ac7..b23ae051ad8d 100644
--- a/pkgs/development/python-modules/pytest-expect/default.nix
+++ b/pkgs/development/python-modules/pytest-expect/default.nix
@@ -6,10 +6,9 @@
 , six
 }:
 
-let
+buildPythonPackage rec {
   pname = "pytest-expect";
   version = "1.1.0";
-in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -28,4 +27,4 @@ in buildPythonPackage rec {
     homepage = https://github.com/gsnedders/pytest-expect;
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pytest-flake8/default.nix b/pkgs/development/python-modules/pytest-flake8/default.nix
index b39737ea7019..2b615e5820e9 100644
--- a/pkgs/development/python-modules/pytest-flake8/default.nix
+++ b/pkgs/development/python-modules/pytest-flake8/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pytest-flake8";
-  version = "0.8.1";
+  version = "0.9.1";
 
   # although pytest is a runtime dependency, do not add it as
   # propagatedBuildInputs in order to allow packages depend on another version
@@ -13,19 +13,9 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1za5i09gz127yraigmcl443w6149714l279rmlfxg1bl2kdsc45a";
+    sha256 = "0032l4x2i5qn7ikaaw0kjs9f4ccpas21j564spyxwmx50wnhf5p7";
   };
 
-  patches = [
-    # Fix pytest strict mode (pull request #24)
-    # https://github.com/tholo/pytest-flake8/pull/24
-    (fetchpatch {
-      name = "fix-compatibility-with-pytest-strict-mode.patch";
-      url = "https://github.com/tholo/pytest-flake8/commit/434e1b07b4b77bfe1ddb9b2b54470c6c3815bb1a.patch";
-      sha256 = "0idwgkwwysx2cibnykd81yxrgqzkpf42j99jmpnanqzi99qnc3wx";
-    })
-  ];
-
   checkPhase = ''
     pytest --ignore=nix_run_setup.py .
   '';
diff --git a/pkgs/development/python-modules/pytest/2_7.nix b/pkgs/development/python-modules/pytest/2_7.nix
index adaa640fdbe6..e63c3f5ebbd6 100644
--- a/pkgs/development/python-modules/pytest/2_7.nix
+++ b/pkgs/development/python-modules/pytest/2_7.nix
@@ -1,6 +1,8 @@
 { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
 buildPythonPackage rec {
-  name = "pytest-2.7.3";
+  pname = "pytest";
+  version = "2.7.3";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pytest/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pytest/2_8.nix b/pkgs/development/python-modules/pytest/2_8.nix
index 6232ccaf7006..963154b11ce1 100644
--- a/pkgs/development/python-modules/pytest/2_8.nix
+++ b/pkgs/development/python-modules/pytest/2_8.nix
@@ -1,6 +1,8 @@
 { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
 buildPythonPackage rec {
-  name = "pytest-2.8.7";
+  pname = "pytest";
+  version = "2.8.7";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pytest/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pytest/2_9.nix b/pkgs/development/python-modules/pytest/2_9.nix
index 3ca7120dd92c..2d28517441b0 100644
--- a/pkgs/development/python-modules/pytest/2_9.nix
+++ b/pkgs/development/python-modules/pytest/2_9.nix
@@ -1,6 +1,8 @@
 { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
 buildPythonPackage rec {
-  name = "pytest-2.9.2";
+  pname = "pytest";
+  version = "2.9.2";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/p/pytest/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 42a591e58b64..8e280b8fd0d6 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,10 +1,9 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
-, setuptools_scm
+, setuptools_scm, setuptools
 }:
 buildPythonPackage rec {
-  version = "3.2.3";
+  version = "3.2.5";
   pname = "pytest";
-  name = "${pname}-${version}";
 
   preCheck = ''
     # don't test bash builtins
@@ -13,11 +12,12 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27fa6617efc2869d3e969a3e75ec060375bfb28831ade8b5cdd68da3a741dc3c";
+    sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
   };
 
-  buildInputs = [ hypothesis setuptools_scm ];
-  propagatedBuildInputs = [ py ]
+  checkInputs = [ hypothesis ];
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ py setuptools ]
     ++ (stdenv.lib.optional isPy26 argparse);
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/python-utils/default.nix b/pkgs/development/python-modules/python-utils/default.nix
index 6acd0934f471..37c15c07537e 100644
--- a/pkgs/development/python-modules/python-utils/default.nix
+++ b/pkgs/development/python-modules/python-utils/default.nix
@@ -1,8 +1,9 @@
 { lib, buildPythonPackage, fetchFromGitHub, pytest, pytestrunner, pytestcov, pytestflakes, pytestpep8, sphinx, six }:
 
 buildPythonPackage rec {
-  name = "python-utils-${version}";
+  pname = "python-utils";
   version = "2.2.0";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "WoLpH";
diff --git a/pkgs/development/python-modules/python_fedora/default.nix b/pkgs/development/python-modules/python_fedora/default.nix
index 7ab698ecd084..e7c3630f42f4 100644
--- a/pkgs/development/python-modules/python_fedora/default.nix
+++ b/pkgs/development/python-modules/python_fedora/default.nix
@@ -4,7 +4,7 @@
 buildPythonPackage rec {
   pname = "python-fedora";
   version = "0.9.0";
-  name = "python-fedora-${version}";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 64175ea6d6db..a510eedee4fd 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner  = "pytorch";
     repo   = "pytorch";
     rev    = "v${version}";
-    sha256 = "112mp3r70d8f15dhxm6k7912b5i6c2q8hv9462s808y84grr2jdm";
+    sha256 = "1s3f46ga1f4lfrcj3lpvvhgkdr1pi8i2hjd9xj9qiz3a9vh2sj4n";
   };
 
   checkPhase = ''
@@ -22,7 +22,7 @@ buildPythonPackage rec {
      git
      numpy.blas
   ];
-  
+
   propagatedBuildInputs = [
     cffi
     numpy
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   preConfigure = ''
     export NO_CUDA=1
   '';
-  
+
   meta = {
     description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration.";
     homepage = http://pytorch.org/;
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/default.nix b/pkgs/development/python-modules/rackspace-novaclient/default.nix
index 144b61c9b9a5..3993503e9562 100644
--- a/pkgs/development/python-modules/rackspace-novaclient/default.nix
+++ b/pkgs/development/python-modules/rackspace-novaclient/default.nix
@@ -1,7 +1,9 @@
 { buildPythonPackage, fetchurl, isPy3k, requests, novaclient, six, lib }:
 let
 os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec {
-  name = "os_virtual_interfacesv2_python_novaclient_ext-0.20";
+  pname = "os_virtual_interfacesv2_python_novaclient_ext";
+  version = "0.20";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/o/os-virtual-interfacesv2-python-novaclient-ext/${name}.tar.gz";
@@ -18,7 +20,9 @@ os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec {
 };
 
 ip-associations-python-novaclient-ext = buildPythonPackage rec {
-  name = "ip_associations_python_novaclient_ext-0.2";
+  pname = "ip_associations_python_novaclient_ext";
+  version = "0.2";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/i/ip_associations_python_novaclient_ext/${name}.tar.gz";
@@ -34,9 +38,10 @@ ip-associations-python-novaclient-ext = buildPythonPackage rec {
   };
 };
 
-
 rackspace-auth-openstack = buildPythonPackage rec {
-  name = "rackspace-auth-openstack-1.3";
+  pname = "rackspace-auth-openstack";
+  version = "1.3";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/rackspace-auth-openstack/${name}.tar.gz";
@@ -52,7 +57,9 @@ rackspace-auth-openstack = buildPythonPackage rec {
   };
 };
 rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec {
-  name = "rax_default_network_flags_python_novaclient_ext-0.4.0";
+  pname = "rax_default_network_flags_python_novaclient_ext";
+  version = "0.4.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/rax_default_network_flags_python_novaclient_ext/${name}.tar.gz";
@@ -68,7 +75,9 @@ rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec {
   };
 };
 os-networksv2-python-novaclient-ext = buildPythonPackage rec {
-  name = "os_networksv2_python_novaclient_ext-0.26";
+  pname = "os_networksv2_python_novaclient_ext";
+  version = "0.26";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/o/os_networksv2_python_novaclient_ext/${name}.tar.gz";
@@ -85,7 +94,9 @@ os-networksv2-python-novaclient-ext = buildPythonPackage rec {
 };
 
 rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec {
-  name = "rax_scheduled_images_python_novaclient_ext-0.3.1";
+  pname = "rax_scheduled_images_python_novaclient_ext";
+  version = "0.3.1";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/rax_scheduled_images_python_novaclient_ext/${name}.tar.gz";
@@ -102,7 +113,9 @@ rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec {
 };
 
 os-diskconfig-python-novaclient-ext = buildPythonPackage rec {
-  name = "os_diskconfig_python_novaclient_ext-0.1.3";
+  pname = "os_diskconfig_python_novaclient_ext";
+  version = "0.1.3";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/o/os_diskconfig_python_novaclient_ext/${name}.tar.gz";
@@ -120,7 +133,9 @@ os-diskconfig-python-novaclient-ext = buildPythonPackage rec {
 
 in
 buildPythonPackage rec {
-  name = "rackspace-novaclient-2.1";
+  pname = "rackspace-novaclient";
+  version = "2.1";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/rackspace-novaclient/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix
index 00bc54d844b1..e7b56cb3f350 100644
--- a/pkgs/development/python-modules/raven/default.nix
+++ b/pkgs/development/python-modules/raven/default.nix
@@ -1,7 +1,9 @@
 { lib, buildPythonPackage, fetchurl, isPy3k, contextlib2 }:
 
 buildPythonPackage rec {
-  name = "raven-6.3.0";
+  pname = "raven";
+  version = "6.3.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/raven/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/recursive-pth-loader/default.nix b/pkgs/development/python-modules/recursive-pth-loader/default.nix
index 9a17e722679f..359b482a1682 100644
--- a/pkgs/development/python-modules/recursive-pth-loader/default.nix
+++ b/pkgs/development/python-modules/recursive-pth-loader/default.nix
@@ -1,7 +1,9 @@
 { stdenv, python }:
 
 stdenv.mkDerivation rec {
-  name = "python-recursive-pth-loader-1.0";
+  pname = "python-recursive-pth-loader";
+  version = "1.0";
+  name = pname + "-" + version;
 
   unpackPhase = "true";
 
diff --git a/pkgs/development/python-modules/restructuredtext_lint/default.nix b/pkgs/development/python-modules/restructuredtext_lint/default.nix
index 1a863c629738..e58066cbef4d 100644
--- a/pkgs/development/python-modules/restructuredtext_lint/default.nix
+++ b/pkgs/development/python-modules/restructuredtext_lint/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "restructuredtext_lint";
-  version = "1.1.1";
+  version = "1.1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "167e8adaa5bdc30531ee91760d6c216b306a8a3372aad34b1f72d8adcc5e011e";
+    sha256 = "9201d354e22c27be61cf6d8212da6e10c875eec7ec8d1bdb1067b2a5ba931637";
   };
 
   checkInputs = [ nose flake8 pyyaml testtools ];
diff --git a/pkgs/development/python-modules/robomachine/default.nix b/pkgs/development/python-modules/robomachine/default.nix
index 1e7b020cd513..8f71bab9c250 100644
--- a/pkgs/development/python-modules/robomachine/default.nix
+++ b/pkgs/development/python-modules/robomachine/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, pyparsing, argparse, robotframework }:
 
 buildPythonPackage rec {
-  name = "robomachine-0.6";
+  pname = "robomachine";
+  version = "0.6";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/R/RoboMachine/RoboMachine-0.6.tar.gz";
diff --git a/pkgs/development/python-modules/robotframework-ride/default.nix b/pkgs/development/python-modules/robotframework-ride/default.nix
index a9b536fc76ed..8bac32ba9112 100644
--- a/pkgs/development/python-modules/robotframework-ride/default.nix
+++ b/pkgs/development/python-modules/robotframework-ride/default.nix
@@ -2,8 +2,9 @@
 
 buildPythonPackage rec {
   version = "1.2.3";
-  name = "robotframework-ride-${version}";
+  pname = "robotframework-ride";
   disabled = isPy3k;
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index e0a05eb2e258..6a4a88670251 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -2,8 +2,9 @@
 
 buildPythonPackage rec {
   version = "3.0.2";
-  name = "robotframework-${version}";
+  pname = "robotframework";
   disabled = isPy3k;
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/r/robotframework/${name}.tar.gz";
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/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index 5241b632f122..6670394ac0bb 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, isPy3k, isPyPy }:
 
 buildPythonPackage rec {
-  name = "scapy-2.2.0";
+  pname = "scapy";
+  version = "2.2.0";
+  name = pname + "-" + version;
 
   disabled = isPy3k || isPyPy;
 
diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix
index d33e86a3f079..6b64cd18b4fa 100644
--- a/pkgs/development/python-modules/selenium/default.nix
+++ b/pkgs/development/python-modules/selenium/default.nix
@@ -8,7 +8,10 @@
 }:
 
 buildPythonPackage rec {
-  name = "selenium-3.6.0";
+  pname = "selenium";
+  version = "3.6.0";
+  name = pname + "-" + version;
+
   src = fetchurl {
     url = "mirror://pypi/s/selenium/${name}.tar.gz";
     sha256 = "15qpvz0bdwjvpcj11fm0rw6r5inr66sqw89ww50l025sbhf04qwm";
@@ -47,4 +50,4 @@ buildPythonPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ jraygauthier ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/seqdiag/default.nix b/pkgs/development/python-modules/seqdiag/default.nix
index 98a81873a718..2ce155210484 100644
--- a/pkgs/development/python-modules/seqdiag/default.nix
+++ b/pkgs/development/python-modules/seqdiag/default.nix
@@ -3,11 +3,13 @@
 }:
 
 buildPythonPackage rec {
-  name = "seqdiag-0.9.4";
+  pname = "seqdiag";
+  version = "0.9.5";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/s/seqdiag/${name}.tar.gz";
-    sha256 = "1qa7d0m1wahvmrj95rxkb6128cbwd4w3gy8gbzncls66h46bifiz";
+    sha256 = "994402cb19fef77ee113d18810aa397a7290553cda5f900be2bb44e2c7742657";
   };
 
   buildInputs = [ pep8 nose unittest2 docutils ];
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index a65b0206ee53..3c919db42f4a 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -8,13 +8,13 @@
 # Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  version = "36.6.0";
+  version = "36.7.1";
   name = "${python.libPrefix}-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "62074589522a798da243f47348f38020d55b6c945652e2f2c09d3a96299812b7";
+    sha256 = "543becf5d33d8989dc5222403997488e9dc3872bdecdabb0f57184ca253ec1e8";
   };
 
   buildInputs = [ python wrapPython unzip ];
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 452f3f1d9234..40df45616e93 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -4,7 +4,7 @@
 , python
 , fetchPypi
 , fetchFromGitHub
-, pytest 
+, pytest
 , cython
 , cymem
 , preshed
@@ -28,20 +28,21 @@ let
     version = "2017.04.05";
 
     src = fetchPypi {
-      inherit pname version;      
+      inherit pname version;
       sha256 = "0c95gf3jzz8mv52lkgq0h7sbasjwvdhghm4s0phmy5k9sr78f4fq";
     };
   };
 in buildPythonPackage rec {
-  name = "spacy-${version}";
+  pname = "spacy";
   version = "1.8.2";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "explosion";
     repo = "spaCy";
     rev = "v${version}";
-    sha256 = "0v3bmmar31a6968y4wl0lmgnc3829l2mnwd8s959m4pqw1y1w648";    
-  };  
+    sha256 = "0v3bmmar31a6968y4wl0lmgnc3829l2mnwd8s959m4pqw1y1w648";
+  };
 
   propagatedBuildInputs = [
    cython
@@ -65,8 +66,8 @@ in buildPythonPackage rec {
   doCheck = false;
   # checkPhase = ''
   #   ${python.interpreter} -m pytest spacy/tests --vectors --models --slow
-  # '';  
-  
+  # '';
+
   meta = with stdenv.lib; {
     description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython";
     homepage = https://github.com/explosion/spaCy;
diff --git a/pkgs/development/python-modules/sphfile/default.nix b/pkgs/development/python-modules/sphfile/default.nix
index 8c2351c981e9..189fa7c932da 100644
--- a/pkgs/development/python-modules/sphfile/default.nix
+++ b/pkgs/development/python-modules/sphfile/default.nix
@@ -1,8 +1,9 @@
 { lib, fetchurl, buildPythonPackage, numpy }:
 
 buildPythonPackage rec {
-  name = "sphfile-${version}";
+  pname = "sphfile";
   version = "1.0.0";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/s/sphfile/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/spotipy/default.nix b/pkgs/development/python-modules/spotipy/default.nix
index ec73485193a5..c14b3cd770bb 100644
--- a/pkgs/development/python-modules/spotipy/default.nix
+++ b/pkgs/development/python-modules/spotipy/default.nix
@@ -2,8 +2,8 @@
 
 buildPythonPackage rec {
   pname = "spotipy";
-  name = "spotipy-${version}";
   version = "2.4.4";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sybase/default.nix b/pkgs/development/python-modules/sybase/default.nix
index df27172d8d49..51c80e0fa910 100644
--- a/pkgs/development/python-modules/sybase/default.nix
+++ b/pkgs/development/python-modules/sybase/default.nix
@@ -6,8 +6,9 @@
 }:
 
 buildPythonPackage rec {
-  name = "python-sybase-${version}";
+  pname = "python-sybase";
   version = "0.40pre2";
+  name = pname + "-" + version;
   disabled = isPy3k;
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/systemd/default.nix b/pkgs/development/python-modules/systemd/default.nix
index 4786e7eb7e18..ec5b3b325dd2 100644
--- a/pkgs/development/python-modules/systemd/default.nix
+++ b/pkgs/development/python-modules/systemd/default.nix
@@ -1,8 +1,9 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, systemd, pkgconfig }:
 
 buildPythonPackage rec {
-  name = "python-systemd-${version}";
+  pname = "systemd";
   version = "234";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "systemd";
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 2ce419fa7fb6..63630c1e1463 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -97,6 +97,8 @@ let
   };
 
 in buildPythonPackage (common // {
+  pname = "tensorflow";
+  version = common.version;
   name = "tensorflow-${common.version}";
 
   deps = stdenv.mkDerivation (common // {
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index 23b5a5aa9e26..498c722a0464 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "5.3.0";
+  version = "5.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xfar653qmikwb94xj3f0xfp8dh2llxjsxipx1272d8qwl0aknnx";
+    sha256 = "670ade9410b7132278209e6a2e893caf098b040c4ba4d5ea848367a9c5588728";
   };
 
   checkInputs = [ mock manuel pytest sybil zope_component ];
diff --git a/pkgs/development/python-modules/thespian/default.nix b/pkgs/development/python-modules/thespian/default.nix
new file mode 100644
index 000000000000..7a6ff3cc53d1
--- /dev/null
+++ b/pkgs/development/python-modules/thespian/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchPypi, buildPythonPackage, lib }:
+
+buildPythonPackage rec {
+  version = "3.8.3";
+  pname = "thespian";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0vvwsh3waxd5ldrayr86kdcshv07bp361fl7p16g9i044vklwly4";
+  };
+
+  # Do not run the test suite: it takes a long type and uses
+  # significant system resources, including requiring localhost
+  # network operations.  Thespian tests are performed via it's Travis
+  # CI configuration and do not need to be duplicated here.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python Actor concurrency library";
+    homepage = http://thespianpy.com/;
+    license = licenses.mit;
+    maintainers = [ maintainers.kquick ];
+  };
+}
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index 817ea6388f95..15794caf58b9 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -30,21 +30,22 @@ let
     version = "1.0.1";
 
     src = fetchPypi {
-      inherit pname version;      
+      inherit pname version;
       sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39";
     };
 
     doCheck = false; # fails to import support from test
   };
 in buildPythonPackage rec {
-  name = "thinc-${version}";
+  pname = "thinc";
   version = "6.5.1";
+  name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "explosion";
     repo = "thinc";
     rev = "v${version}";
-    sha256 = "008kmjsvanh6qgnpvsn3qacfcyprxirxbw4yfd8flyg7mxw793ws";    
+    sha256 = "008kmjsvanh6qgnpvsn3qacfcyprxirxbw4yfd8flyg7mxw793ws";
   };
 
   propagatedBuildInputs = [
@@ -67,14 +68,14 @@ in buildPythonPackage rec {
   ];
 
   doCheck = false;
-  
+
   # fails to import some modules
   # checkPhase = ''
   #   ${python.interpreter} -m pytest thinc/tests
   #   # cd thinc/tests
   #   # ${python.interpreter} -m unittest discover -p "*test*"
   # '';
-  
+
   meta = with stdenv.lib; {
     description = "Practical Machine Learning for NLP in Python";
     homepage = https://github.com/explosion/thinc;
diff --git a/pkgs/development/python-modules/tiros/default.nix b/pkgs/development/python-modules/tiros/default.nix
index c0056eb66b3b..a620c6eb58df 100644
--- a/pkgs/development/python-modules/tiros/default.nix
+++ b/pkgs/development/python-modules/tiros/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   pname = "tiros";
   name = "${pname}-${version}";
-  version = "1.0.39";
+  version = "1.0.40";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10wh84lpl7k8i69hlxwrzp2lln63w2afv9l7ij7r3lqjwd0z0skr";
+    sha256 = "841ca13564e3cddfd1404cbc60b3433bcc1e31c2753ecea20d0ad68173b80169";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/titlecase/default.nix b/pkgs/development/python-modules/titlecase/default.nix
new file mode 100644
index 000000000000..d6929caf2bd3
--- /dev/null
+++ b/pkgs/development/python-modules/titlecase/default.nix
@@ -0,0 +1,21 @@
+{buildPythonPackage, lib, nose, fetchPypi}:
+
+buildPythonPackage rec {
+  pname = "titlecase";
+  name = "${pname}-${version}";
+  version = "0.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4";
+  };
+
+  checkInputs = [ nose ];
+
+  meta = {
+    homepage = https://github.com/ppannuto/python-titlecase;
+    description = "Python Port of John Gruber's titlecase.pl";
+    license = lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 95039cc591fc..2392a4a9968c 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -21,6 +21,12 @@ buildPythonPackage rec {
 
   buildInputs = [ nose coverage glibcLocales flake8 ];
 
+  postPatch = ''
+    # Remove performance testing.
+    # Too sensitive for on Hydra.
+    rm tqdm/tests/tests_perf.py
+  '';
+
   LC_ALL="en_US.UTF-8";
 
   meta = {
diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix
index ef367c3525d3..7b61633a7fc7 100644
--- a/pkgs/development/python-modules/trollius/default.nix
+++ b/pkgs/development/python-modules/trollius/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   buildInputs = [ mock ];
 
-  propagatedBuildInputs = lib.optional (isPy27 || isPyPy) [ futures ];
+  propagatedBuildInputs = lib.optionals (isPy27 || isPyPy) [ futures ];
 
   patches = [
     ./tests.patch
diff --git a/pkgs/development/python-modules/u-msgpack-python/default.nix b/pkgs/development/python-modules/u-msgpack-python/default.nix
index aca4e370e461..bab0bc288502 100644
--- a/pkgs/development/python-modules/u-msgpack-python/default.nix
+++ b/pkgs/development/python-modules/u-msgpack-python/default.nix
@@ -5,10 +5,9 @@
 , python
 }:
 
-let
+buildPythonPackage rec {
   pname = "u-msgpack-python";
   version = "2.4.1";
-in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/umemcache/default.nix b/pkgs/development/python-modules/umemcache/default.nix
index 4d09fda83da4..416c857bdc68 100644
--- a/pkgs/development/python-modules/umemcache/default.nix
+++ b/pkgs/development/python-modules/umemcache/default.nix
@@ -1,9 +1,10 @@
 { stdenv, buildPythonPackage, isPy3k, fetchurl }:
 
 buildPythonPackage rec {
-  name = "umemcache-${version}";
+  pname = "umemcache";
   version = "1.6.3";
   disabled = isPy3k;
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/u/umemcache/${name}.zip";
diff --git a/pkgs/development/python-modules/uritools/default.nix b/pkgs/development/python-modules/uritools/default.nix
index 99b648b0ee1f..108a7cf5bb0b 100644
--- a/pkgs/development/python-modules/uritools/default.nix
+++ b/pkgs/development/python-modules/uritools/default.nix
@@ -2,8 +2,8 @@
 
 buildPythonPackage rec {
   pname = "uritools";
-  name = "uritools-${version}";
   version = "2.1.0";
+  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index d77a212003b1..b76a1475bbfb 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -23,6 +23,11 @@ buildPythonPackage (rec {
    })
   ];
 
+  postPatch = ''
+    # Several tests keep failing on Hydra
+    rm urwid/tests/test_vterm.py
+  '';
+
   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/usbtmc/default.nix b/pkgs/development/python-modules/usbtmc/default.nix
index 0c6842749073..bcbaa0b728c3 100644
--- a/pkgs/development/python-modules/usbtmc/default.nix
+++ b/pkgs/development/python-modules/usbtmc/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl, buildPythonPackage, pyusb }:
 
 buildPythonPackage rec {
-  name = "usbtmc-${version}";
+  pname = "usbtmc";
   version = "0.8";
+  name = pname + "-" + version;
 
   src = fetchurl {
     url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz";
diff --git a/pkgs/development/python-modules/waitress-django/default.nix b/pkgs/development/python-modules/waitress-django/default.nix
index 6efaf800b3cd..421995e3792a 100644
--- a/pkgs/development/python-modules/waitress-django/default.nix
+++ b/pkgs/development/python-modules/waitress-django/default.nix
@@ -1,6 +1,10 @@
 { buildPythonPackage, django_1_8, waitress }:
-buildPythonPackage {
-  name = "waitress-django";
+
+buildPythonPackage rec {
+  pname = "waitress-django";
+  version = "0.0.0";
+  name = pname;
+
   src = ./.;
   pythonPath = [ django_1_8 waitress ];
   doCheck = false;
diff --git a/pkgs/development/python-modules/webencodings/default.nix b/pkgs/development/python-modules/webencodings/default.nix
index 834a0ab07fbf..edd0a364ea14 100644
--- a/pkgs/development/python-modules/webencodings/default.nix
+++ b/pkgs/development/python-modules/webencodings/default.nix
@@ -4,10 +4,9 @@
 , pytest
 }:
 
-let
+buildPythonPackage rec {
   pname = "webencodings";
   version = "0.5.1";
-in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -26,4 +25,4 @@ in buildPythonPackage rec {
     homepage = https://github.com/SimonSapin/python-webencodings;
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index 760af59918ac..b9ab1dfbc1d2 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,11 +8,11 @@
 buildPythonPackage rec {
   pname = "widgetsnbextension";
   name = "${pname}-${version}";
-  version = "3.0.6";
+  version = "3.0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3fbedb4ae0883f48af2397c65a8f9fbf8ed868f1808db70f8aa72f25d391fa9b";
+    sha256 = "a57e29e733b989e68fdd0f3d6927a3691763b39792591d573b95a89a5a12ec15";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
index 14f6f802ba2a..ab7b44019c54 100644
--- a/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -19,8 +19,9 @@
 assert wxGTK.unicode;
 
 buildPythonPackage rec {
-  name = "wxPython-${version}";
+  pname = "wxPython";
   version = "3.0.2.0";
+  name = pname + "-" + version;
 
   disabled = isPy3k || isPyPy;
   doCheck = false;
diff --git a/pkgs/development/python-modules/zope_testrunner/default.nix b/pkgs/development/python-modules/zope_testrunner/default.nix
index 8358c861cba3..e2bf3a569d04 100644
--- a/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, isPy3k
+, fetchpatch
 , zope_interface
 , zope_exceptions
 , zope_testing
@@ -11,15 +11,15 @@
 
 buildPythonPackage rec {
   pname = "zope.testrunner";
-  version = "4.7.0";
-  name = "${pname}-${version}";
+  version = "4.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8ffcb4989829544a83d27e42b2eeb28f8fc134bd847d71ce8dca54f710526ef0";
-    extension = "zip";
+    sha256 = "039z9q5i1r6fqzlm224nmaxn896k4a9sb1237dv406ncdldd7jaz";
   };
 
+  patches = [ ./test-selection.patch ];
+
   propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/zope_testrunner/test-selection.patch b/pkgs/development/python-modules/zope_testrunner/test-selection.patch
new file mode 100644
index 000000000000..89dd7773885c
--- /dev/null
+++ b/pkgs/development/python-modules/zope_testrunner/test-selection.patch
@@ -0,0 +1,5 @@
+--- a/src/zope/testrunner/tests/testrunner-test-selection.txt
++++ b/src/zope/testrunner/tests/testrunner-test-selection.txt
+@@ -235 +235 @@ and by test within the module using the --test (-t) option:
+-    >>> sys.argv = 'test -u  -vv -ssample1 -m_one -mtest1 -tx0 -ty0'.split()
++    >>> sys.argv = 'test -u  -vv -ssample1 -m_one -mtest1 -t_x0 -t_y0'.split()
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/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
index 582b8aa44dc2..ff6c3ad1b903 100644
--- a/pkgs/development/r-modules/generic-builder.nix
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -41,8 +41,8 @@ stdenv.mkDerivation ({
   '';
 
   postFixup = ''
-    if test -e $out/nix-support/propagated-native-build-inputs; then
-        ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
     fi
   '';
 
diff --git a/pkgs/development/tools/analysis/autoflake/default.nix b/pkgs/development/tools/analysis/autoflake/default.nix
new file mode 100644
index 000000000000..9522b1cf6b74
--- /dev/null
+++ b/pkgs/development/tools/analysis/autoflake/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, python3Packages }:
+
+with python3Packages;
+buildPythonApplication rec {
+  pname = "autoflake";
+  version = "1.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12k4v8w7awqp83j727y0iwcbjqj3ccvbai7c9m0wgbmq5xkvav8a";
+  };
+
+  propagatedBuildInputs = [ pyflakes ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/myint/autoflake;
+    description = "A simple program which removes unused imports and unused variables as reported by pyflakes";
+    license = licenses.mit;
+    maintainers = with maintainers; [ yuriaisaka ];
+  };
+}
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/garcosim/tracefilegen/builder.sh b/pkgs/development/tools/analysis/garcosim/tracefilegen/builder.sh
deleted file mode 100644
index 6c66eb25ba31..000000000000
--- a/pkgs/development/tools/analysis/garcosim/tracefilegen/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-source "$stdenv"/setup
-
-cp --recursive "$src" ./
-
-chmod --recursive u=rwx ./"$(basename "$src")"
-
-cd ./"$(basename "$src")"
-
-cmake ./ 
-
-make
-
-mkdir --parents "$out"/bin
-cp ./TraceFileGen "$out"/bin
-
-mkdir --parents "$out"/share/doc/"$name"/html
-cp --recursive ./Documentation/html/* "$out/share/doc/$name/html/"
diff --git a/pkgs/development/tools/analysis/garcosim/tracefilegen/default.nix b/pkgs/development/tools/analysis/garcosim/tracefilegen/default.nix
index 07e3a579d345..f96f7e9b66bd 100644
--- a/pkgs/development/tools/analysis/garcosim/tracefilegen/default.nix
+++ b/pkgs/development/tools/analysis/garcosim/tracefilegen/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchgit, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
 
-  name = "tracefilegen-2015-11-14";
+  name = "tracefilegen-2017-05-13";
 
-  src = fetchgit {
-    url = "https://github.com/GarCoSim/TraceFileGen.git";
-    rev = "4acf75b142683cc475c6b1c841a221db0753b404";
-    sha256 = "0mh661l9d1lczv0mr2y9swzqqlwikyqiv1hdd71r9v8cvm54y5ij";
+  src = fetchFromGitHub {
+    owner = "GarCoSim";
+    repo = "TraceFileGen";
+    rev = "0ebfd1fdb54079d4bdeaa81fc9267ecb9f016d60";
+    sha256 = "1gsx18ksgz5gwl3v62vgrmhxc0wc99i74qwhpn0h57zllk41drjc";
   };
 
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
 
-  builder = ./builder.sh;
+  patches = [ ./gcc7.patch ];
+
+  installPhase = ''
+    install -Dm755 TraceFileGen $out/bin/TraceFileGen
+    mkdir -p $out/share/doc/${name}/
+    cp -ar $src/Documentation/html $out/share/doc/${name}/.
+  '';
 
   meta = with stdenv.lib; {
     description = "Automatically generate all types of basic memory management operations and write into trace files";
-    homepage = https://github.com/GarCoSim; 
+    homepage = https://github.com/GarCoSim;
     maintainers = [ maintainers.cmcdragonkai ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/analysis/garcosim/tracefilegen/gcc7.patch b/pkgs/development/tools/analysis/garcosim/tracefilegen/gcc7.patch
new file mode 100644
index 000000000000..48301bbf61ad
--- /dev/null
+++ b/pkgs/development/tools/analysis/garcosim/tracefilegen/gcc7.patch
@@ -0,0 +1,13 @@
+diff --git a/Utils/Logger.cpp b/Utils/Logger.cpp
+index 747cd63..e3efdf1 100644
+--- a/Utils/Logger.cpp
++++ b/Utils/Logger.cpp
+@@ -29,7 +29,7 @@ Logger::Logger(char* tracepath) {
+ 	trace = fopen(tracepath, "w");

+ 

+ 	// dot file is not used, set null as default value

+-	dot = '\0';

++	dot = nullptr;

+ 	//dot = fopen("gcKons.dot", "w");

+ 	//fprintf(dot,"digraph G {\n");

+ }

diff --git a/pkgs/development/tools/analysis/kcov/default.nix b/pkgs/development/tools/analysis/kcov/default.nix
index 700e2b2126ca..3c3665e72200 100644
--- a/pkgs/development/tools/analysis/kcov/default.nix
+++ b/pkgs/development/tools/analysis/kcov/default.nix
@@ -1,15 +1,14 @@
-{ stdenv
-, fetchurl, cmake, pkgconfig
-, zlib, curl, elfutils, python, libiberty, libopcodes
-}:
+{stdenv, fetchFromGitHub, cmake, pkgconfig, zlib, curl, elfutils, python, libiberty, libopcodes}:
 
 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";
@@ -17,6 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib curl elfutils python libiberty libopcodes ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Code coverage tester for compiled programs, Python scripts and shell scripts";
 
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index a1452d330be0..41861a6142e5 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.7.0";
+  version = "0.8.0";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "05n4zz2a29y4vr2svc7ya9fx7qxb9151a6gkycxk9qj3v32sk150";
+    sha256 = "0y50fhwh135fim39ra4szwzzgyb4ibls3i0hpv3d7asns0hh715a";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 94428ecc174d..b04b38e30486 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -17,7 +17,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "3.9";
-  minorVersion = "4";
+  minorVersion = "6";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    # from https://cmake.org/files/v3.9/cmake-3.9.4-SHA-256.txt
-    sha256 = "b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1";
+    # from https://cmake.org/files/v3.9/cmake-3.9.6-SHA-256.txt
+    sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
   };
 
   prePatch = optionalString (!useSharedLibraries) ''
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/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index bbfcc8513078..8568b218f37e 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,12 +52,12 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
-    name = "gradle-4.3";
+    name = "gradle-4.3.1";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0k358y18pp2809kn5il4kv3qvlqrbwmy276bbm3mnmwjxx7g9jwd";
+      sha256 = "1irsv5c4g0c8iln5hiikjr78rj1w2hjgyar5dp8a54h3rscf1sqm";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 8e4c5d4801a4..8092e9b16f1a 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -18,6 +18,15 @@ python3Packages.buildPythonApplication rec {
     popd
   '';
 
+  patches = [
+    # Unlike libtool, vanilla Meson does not pass any information
+    # about the path library will be installed to to g-ir-scanner,
+    # breaking the GIR when path other than ${!outputLib}/lib is used.
+    # We patch Meson to add a --fallback-library-path argument with
+    # library install_dir to g-ir-scanner.
+    ./gir-fallback-path.patch
+  ];
+
   postPatch = ''
     sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py
   '';
diff --git a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
new file mode 100644
index 000000000000..d8d14f188a2f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
@@ -0,0 +1,13 @@
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -427,6 +427,10 @@
+         scan_command += ['--no-libtool', '--namespace=' + ns, '--nsversion=' + nsversion, '--warn-all',
+                          '--output', '@OUTPUT@']
+ 
++        fallback_libpath = girtarget.get_custom_install_dir()[0]
++        if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
++            scan_command += ['--fallback-library-path=' + fallback_libpath]
++
+         header = kwargs.pop('header', None)
+         if header:
+             if not isinstance(header, str):
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index fff6af396b9f..c59d2faaf26c 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -1,29 +1,28 @@
-{ stdenv, fetchurl, python, asciidoc, re2c }:
+{ stdenv, fetchFromGitHub, python, asciidoc, re2c }:
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.7.2";
+  version = "1.8.2";
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz";
-    sha256 = "1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f";
+  src = fetchFromGitHub {
+    owner = "ninja-build";
+    repo = "ninja";
+    rev = "v${version}";
+    sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f";
   };
 
-  buildInputs = [ python asciidoc re2c ];
+  nativeBuildInputs = [ python asciidoc re2c ];
 
   buildPhase = ''
-    python bootstrap.py
+    python configure.py --bootstrap
     asciidoc doc/manual.asciidoc
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp ninja $out/bin/
-
-    mkdir -p $out/share/doc/ninja
-    cp doc/manual.asciidoc $out/share/doc/ninja/
-    cp doc/manual.html $out/share/doc/ninja/
+    install -Dm555 -t $out/bin ninja
+    install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
+    install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja
+    install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja
   '';
 
   setupHook = ./setup-hook.sh;
@@ -36,9 +35,9 @@ stdenv.mkDerivation rec {
       input files generated by a higher-level build system, and it is designed
       to run builds as fast as possible.
     '';
-    homepage = http://martine.github.io/ninja/;
+    homepage = https://ninja-build.org/;
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = [ maintainers.thoughtpolice maintainers.bjornfor ];
+    maintainers = with maintainers; [ thoughtpolice bjornfor orivej ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/redo-sh/default.nix b/pkgs/development/tools/build-managers/redo-sh/default.nix
index f81ff3b91d4f..c888627cfce3 100644
--- a/pkgs/development/tools/build-managers/redo-sh/default.nix
+++ b/pkgs/development/tools/build-managers/redo-sh/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     mv man "$out/share"
     mv bin "$out"
     for p in $out/bin/*; do
-      wrapProgram "$p" --set PATH '$PATH:'"$out/bin"
+      wrapProgram "$p" --suffix PATH : "$out/bin"
     done
   '';
 
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 4dacfd0568ac..abfa578f3879 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, jre, bc }:
+{ stdenv, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     urls = [
@@ -10,14 +10,11 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "041cv25gxqsi3rlglw5d8aqgdzb6y5ak3f52dwqvzrrj854vyx13";
+    sha256 = "0gz2akifi842y8av2hh7w2z6fd6z400nvk8ip87rkyhx3gw7cdw1";
   };
 
   patchPhase = ''
     echo -java-home ${jre.home} >>conf/sbtopts
-
-    substituteInPlace bin/sbt-launch-lib.bash \
-      --replace "| bc)" "| ${bc}/bin/bc)"
   '';
 
   installPhase = ''
@@ -30,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.scala-sbt.org/;
     license = licenses.bsd3;
     description = "A build tool for Scala, Java and more";
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = with maintainers; [ nequissimus rickynils ];
     platforms = platforms.unix;
   };
 }
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/chefdk/Gemfile.lock b/pkgs/development/tools/chefdk/Gemfile.lock
index c397758aaac1..94ee9feb78db 100644
--- a/pkgs/development/tools/chefdk/Gemfile.lock
+++ b/pkgs/development/tools/chefdk/Gemfile.lock
@@ -1,33 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.5.1)
-      public_suffix (~> 2.0, >= 2.0.2)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     app_conf (0.4.2)
-    artifactory (2.8.1)
     ast (2.3.0)
-    backports (3.7.0)
-    berkshelf (5.6.4)
-      addressable (~> 2.3, >= 2.3.4)
-      berkshelf-api-client (>= 2.0.2, < 4.0)
+    backports (3.10.3)
+    berkshelf (6.3.1)
       buff-config (~> 2.0)
       buff-extensions (~> 2.0)
-      buff-shell_out (~> 1.0)
+      chef (>= 12.7.2)
       cleanroom (~> 1.0)
+      concurrent-ruby (~> 1.0)
       faraday (~> 0.9)
       httpclient (~> 2.7)
       minitar (~> 0.5, >= 0.5.4)
       mixlib-archive (~> 0.4)
+      mixlib-shellout (~> 2.0)
       octokit (~> 4.0)
       retryable (~> 2.0)
       ridley (~> 5.0)
-      solve (> 2.0, < 4.0)
+      solve (~> 4.0)
       thor (~> 0.19, < 0.19.2)
-    berkshelf-api-client (3.0.0)
-      faraday (~> 0.9)
-      httpclient (~> 2.7)
-      ridley (>= 4.5, < 6.0)
-    blankslate (2.1.2.4)
     buff-config (2.0.0)
       buff-extensions (~> 2.0)
       varia_model (~> 0.6)
@@ -42,16 +36,17 @@ GEM
     celluloid-io (0.16.2)
       celluloid (>= 0.16.0)
       nio4r (>= 1.1.0)
-    chef (12.19.36)
+    chef (13.6.4)
       addressable
       bundler (>= 1.10)
-      chef-config (= 12.19.36)
-      chef-zero (>= 4.8)
+      chef-config (= 13.6.4)
+      chef-zero (>= 13.0)
       diff-lcs (~> 1.2, >= 1.2.4)
       erubis (~> 2.7)
       ffi-yajl (~> 2.2)
       highline (~> 1.6, >= 1.6.9)
       iniparse (~> 1.4)
+      iso8601 (~> 0.9.1)
       mixlib-archive (~> 0.4)
       mixlib-authentication (~> 1.4)
       mixlib-cli (~> 1.7)
@@ -60,7 +55,7 @@ GEM
       net-sftp (~> 2.1, >= 2.1.2)
       net-ssh (>= 2.9, < 5.0)
       net-ssh-multi (~> 1.2, >= 1.2.1)
-      ohai (>= 8.6.0.alpha.1, < 13)
+      ohai (~> 13.0)
       plist (~> 3.2)
       proxifier (~> 1.0)
       rspec-core (~> 3.5)
@@ -71,14 +66,14 @@ GEM
       specinfra (~> 2.10)
       syslog-logger (~> 1.6)
       uuidtools (~> 2.1.5)
-    chef-config (12.19.36)
+    chef-config (13.6.4)
       addressable
       fuzzyurl
       mixlib-config (~> 2.0)
       mixlib-shellout (~> 2.0)
-    chef-dk (1.3.40)
+    chef-dk (2.3.4)
       addressable (>= 2.3.5, < 2.6)
-      chef (~> 12.5)
+      chef (~> 13.0)
       chef-provisioning (~> 2.0)
       cookbook-omnifetch (~> 0.5)
       diff-lcs (~> 1.0)
@@ -87,147 +82,153 @@ GEM
       mixlib-cli (~> 1.7)
       mixlib-shellout (~> 2.0)
       paint (~> 1.0)
-      solve (> 2.0, < 4.0)
-    chef-provisioning (2.2.1)
-      cheffish (>= 4.0, < 6.0)
+      solve (> 2.0, < 5.0)
+    chef-provisioning (2.6.0)
+      cheffish (>= 4.0, < 14.0)
       inifile (>= 2.0.2)
-      mixlib-install (>= 1.0, < 3.0)
+      mixlib-install (>= 1.0)
       net-scp (~> 1.0)
       net-ssh (>= 2.9, < 5.0)
-      net-ssh-gateway (~> 1.2)
+      net-ssh-gateway (> 1.2, < 3.0)
       winrm (~> 2.0)
       winrm-elevated (~> 1.0)
       winrm-fs (~> 1.0)
-    chef-vault (2.9.1)
-    chef-zero (5.3.2)
+    chef-vault (3.3.0)
+    chef-zero (13.1.0)
       ffi-yajl (~> 2.2)
       hashie (>= 2.0, < 4.0)
       mixlib-log (~> 1.3)
       rack (~> 2.0)
       uuidtools (~> 2.1)
-    cheffish (5.0.1)
-      chef-zero (~> 5.0)
+    cheffish (13.1.0)
+      chef-zero (~> 13.0)
       net-ssh
-    chefspec (6.2.0)
-      chef (>= 12.0)
-      fauxhai (>= 3.6, < 5)
+    chefspec (7.1.0)
+      chef (>= 12.14.89)
+      fauxhai (>= 4, < 6)
       rspec (~> 3.0)
     cleanroom (1.0.0)
-    coderay (1.1.1)
-    cookbook-omnifetch (0.5.1)
+    coderay (1.1.2)
+    concurrent-ruby (1.0.5)
+    cookbook-omnifetch (0.8.0)
       mixlib-archive (~> 0.4)
-    cucumber-core (2.0.0)
-      backports (~> 3.6)
-      gherkin (~> 4.0)
+    cucumber-core (3.0.0)
+      backports (>= 3.8.0)
+      cucumber-tag_expressions (>= 1.0.1)
+      gherkin (>= 4.1.3)
+    cucumber-tag_expressions (1.0.1)
     diff-lcs (1.3)
     diffy (3.2.0)
-    docker-api (1.33.3)
-      excon (>= 0.38.0)
-      json
+    docker-api (1.34.0)
+      excon (>= 0.47.0)
+      multi_json
     erubis (2.7.0)
-    excon (0.55.0)
-    faraday (0.9.2)
+    excon (0.59.0)
+    faraday (0.13.1)
       multipart-post (>= 1.2, < 3)
-    fauxhai (4.1.0)
+    fauxhai (5.5.0)
       net-ssh
     ffi (1.9.18)
-    ffi-yajl (2.3.0)
+    ffi-yajl (2.3.1)
       libyajl2 (~> 1.2)
-    foodcritic (10.2.2)
+    foodcritic (12.2.1)
       cucumber-core (>= 1.3)
       erubis
+      ffi-yajl (~> 2.0)
       nokogiri (>= 1.5, < 2.0)
       rake
       rufus-lru (~> 1.0)
       treetop (~> 1.4)
-      yajl-ruby (~> 1.1)
     fuzzyurl (0.9.0)
-    gherkin (4.1.1)
+    gherkin (5.0.0)
     git (1.3.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
     gyoku (1.3.1)
       builder (>= 2.1.2)
-    hashie (3.5.5)
-    highline (1.7.8)
-    hitimes (1.2.4)
+    hashie (3.5.6)
+    highline (1.7.10)
+    hitimes (1.2.6)
+    htmlentities (4.3.4)
     httpclient (2.8.3)
     inifile (3.0.0)
-    iniparse (1.4.2)
-    inspec (1.19.2)
+    iniparse (1.4.4)
+    inspec (1.45.13)
       addressable (~> 2.4)
       faraday (>= 0.9.0)
       hashie (~> 3.4)
+      htmlentities
       json (>= 1.8, < 3.0)
       method_source (~> 0.8)
       mixlib-log
       parallel (~> 1.9)
+      parslet (~> 1.5)
       pry (~> 0)
       rainbow (~> 2)
       rspec (~> 3)
       rspec-its (~> 1.2)
       rubyzip (~> 1.1)
-      sslshake (~> 1)
+      semverse
+      sslshake (~> 1.2)
       thor (~> 0.19)
-      toml (~> 0.1)
-      train (>= 0.22.0, < 1.0)
+      tomlrb (~> 1.2)
+      train (~> 0.29, >= 0.29.2)
     ipaddress (0.8.3)
-    json (2.0.3)
-    kitchen-inspec (0.17.0)
+    iso8601 (0.9.1)
+    json (2.1.0)
+    kitchen-inspec (0.20.0)
       hashie (~> 3.4)
       inspec (>= 0.34.0, < 2.0.0)
       test-kitchen (~> 1.6)
-    kitchen-vagrant (1.1.0)
+    kitchen-vagrant (1.2.1)
       test-kitchen (~> 1.4)
-    knife-spork (1.6.3)
+    knife-spork (1.7.1)
       app_conf (>= 0.4.0)
       chef (>= 11.0.0)
       diffy (>= 3.0.1)
       git (>= 1.2.5)
     libyajl2 (1.2.0)
     little-plugger (1.1.4)
-    logging (2.2.0)
+    logging (2.2.2)
       little-plugger (~> 1.1)
       multi_json (~> 1.10)
-    method_source (0.8.2)
-    mini_portile2 (2.1.0)
+    method_source (0.9.0)
+    mini_portile2 (2.3.0)
     minitar (0.5.4)
     mixlib-archive (0.4.1)
       mixlib-log
-    mixlib-authentication (1.4.1)
-      mixlib-log
+    mixlib-authentication (1.4.2)
     mixlib-cli (1.7.0)
     mixlib-config (2.2.4)
-    mixlib-install (2.1.12)
-      artifactory
+    mixlib-install (3.8.0)
       mixlib-shellout
       mixlib-versioning
       thor
     mixlib-log (1.7.1)
-    mixlib-shellout (2.2.7)
-    mixlib-versioning (1.1.0)
-    molinillo (0.5.7)
-    multi_json (1.12.1)
+    mixlib-shellout (2.3.2)
+    mixlib-versioning (1.2.2)
+    molinillo (0.6.4)
+    multi_json (1.12.2)
     multipart-post (2.0.0)
     net-scp (1.2.1)
       net-ssh (>= 2.6.5)
     net-sftp (2.1.2)
       net-ssh (>= 2.6.5)
-    net-ssh (4.1.0)
+    net-ssh (4.2.0)
     net-ssh-gateway (1.3.0)
       net-ssh (>= 2.6.5)
     net-ssh-multi (1.2.1)
       net-ssh (>= 2.6.5)
       net-ssh-gateway (>= 1.2.0)
     net-telnet (0.1.1)
-    nio4r (2.0.0)
-    nokogiri (1.7.1)
-      mini_portile2 (~> 2.1.0)
+    nio4r (2.1.0)
+    nokogiri (1.8.1)
+      mini_portile2 (~> 2.3.0)
     nori (2.6.0)
     octokit (4.7.0)
       sawyer (~> 0.8.0, >= 0.5.3)
-    ohai (8.23.0)
-      chef-config (>= 12.5.0.alpha.1, < 13)
+    ohai (13.6.0)
+      chef-config (>= 12.5.0.alpha.1, < 14)
       ffi (~> 1.9)
       ffi-yajl (~> 2.2)
       ipaddress
@@ -239,25 +240,24 @@ GEM
       systemu (~> 2.6.4)
       wmi-lite (~> 1.0)
     paint (1.0.1)
-    parallel (1.11.1)
-    parser (2.4.0.0)
-      ast (~> 2.2)
-    parslet (1.5.0)
-      blankslate (~> 2.0)
-    plist (3.2.0)
+    parallel (1.12.0)
+    parser (2.4.0.2)
+      ast (~> 2.3)
+    parslet (1.8.1)
+    plist (3.3.0)
     polyglot (0.3.5)
     powerpack (0.1.1)
     proxifier (1.0.3)
-    pry (0.10.4)
+    pry (0.11.3)
       coderay (~> 1.1.0)
-      method_source (~> 0.8.1)
-      slop (~> 3.4)
-    public_suffix (2.0.5)
-    rack (2.0.1)
-    rainbow (2.2.1)
-    rake (12.0.0)
+      method_source (~> 0.9.0)
+    public_suffix (3.0.1)
+    rack (2.0.3)
+    rainbow (2.2.2)
+      rake
+    rake (12.3.0)
     retryable (2.0.4)
-    ridley (5.1.0)
+    ridley (5.1.1)
       addressable
       buff-config (~> 2.0)
       buff-extensions (~> 2.0)
@@ -267,7 +267,7 @@ GEM
       celluloid-io (~> 0.16.1)
       chef-config (>= 12.5.0)
       erubis
-      faraday (~> 0.9.0)
+      faraday (~> 0.9)
       hashie (>= 2.0.2, < 4.0.0)
       httpclient (~> 2.7)
       json (>= 1.7.7)
@@ -275,33 +275,34 @@ GEM
       retryable (~> 2.0)
       semverse (~> 2.0)
       varia_model (~> 0.6)
-    rspec (3.5.0)
-      rspec-core (~> 3.5.0)
-      rspec-expectations (~> 3.5.0)
-      rspec-mocks (~> 3.5.0)
-    rspec-core (3.5.4)
-      rspec-support (~> 3.5.0)
-    rspec-expectations (3.5.0)
+    rspec (3.7.0)
+      rspec-core (~> 3.7.0)
+      rspec-expectations (~> 3.7.0)
+      rspec-mocks (~> 3.7.0)
+    rspec-core (3.7.0)
+      rspec-support (~> 3.7.0)
+    rspec-expectations (3.7.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
+      rspec-support (~> 3.7.0)
     rspec-its (1.2.0)
       rspec-core (>= 3.0.0)
       rspec-expectations (>= 3.0.0)
-    rspec-mocks (3.5.0)
+    rspec-mocks (3.7.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.5.0)
-    rspec-support (3.5.0)
+      rspec-support (~> 3.7.0)
+    rspec-support (3.7.0)
     rspec_junit_formatter (0.2.3)
       builder (< 4)
       rspec-core (>= 2, < 4, != 2.12.0)
-    rubocop (0.48.1)
+    rubocop (0.51.0)
+      parallel (~> 1.10)
       parser (>= 2.3.3.1, < 3.0)
       powerpack (~> 0.1)
-      rainbow (>= 1.99.1, < 3.0)
+      rainbow (>= 2.2.2, < 3.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
-    ruby-progressbar (1.8.1)
-    rubyntlm (0.6.1)
+    ruby-progressbar (1.9.0)
+    rubyntlm (0.6.2)
     rubyzip (1.2.1)
     rufus-lru (1.1.0)
     safe_yaml (1.0.4)
@@ -309,38 +310,39 @@ GEM
       addressable (>= 2.3.5, < 2.6)
       faraday (~> 0.8, < 1.0)
     semverse (2.0.0)
-    serverspec (2.38.0)
+    serverspec (2.41.3)
       multi_json
       rspec (~> 3.0)
       rspec-its
-      specinfra (~> 2.53)
+      specinfra (~> 2.72)
     sfl (2.3)
-    slop (3.6.0)
-    solve (3.1.0)
-      molinillo (>= 0.5)
+    solve (4.0.0)
+      molinillo (~> 0.6)
       semverse (>= 1.1, < 3.0)
-    specinfra (2.67.7)
+    specinfra (2.72.1)
       net-scp
       net-ssh (>= 2.7, < 5.0)
       net-telnet
       sfl
-    sslshake (1.1.0)
+    sslshake (1.2.0)
     syslog-logger (1.6.8)
     systemu (2.6.5)
-    test-kitchen (1.16.0)
-      mixlib-install (>= 1.2, < 3.0)
+    test-kitchen (1.19.1)
+      mixlib-install (~> 3.6)
       mixlib-shellout (>= 1.2, < 3.0)
       net-scp (~> 1.1)
       net-ssh (>= 2.9, < 5.0)
       net-ssh-gateway (~> 1.2)
       safe_yaml (~> 1.0)
       thor (~> 0.19, < 0.19.2)
+      winrm (~> 2.0)
+      winrm-elevated (~> 1.0)
+      winrm-fs (~> 1.0.2)
     thor (0.19.1)
     timers (4.0.4)
       hitimes
-    toml (0.1.2)
-      parslet (~> 1.5.0)
-    train (0.23.0)
+    tomlrb (1.2.6)
+    train (0.29.2)
       docker-api (~> 1.26)
       json (>= 1.8, < 3.0)
       mixlib-shellout (~> 2.0)
@@ -348,14 +350,14 @@ GEM
       net-ssh (>= 2.9, < 5.0)
       winrm (~> 2.0)
       winrm-fs (~> 1.0)
-    treetop (1.6.8)
+    treetop (1.6.9)
       polyglot (~> 0.3)
-    unicode-display_width (1.1.3)
+    unicode-display_width (1.3.0)
     uuidtools (2.1.5)
     varia_model (0.6.0)
       buff-extensions (~> 2.0)
       hashie (>= 2.0.2, < 4.0.0)
-    winrm (2.2.1)
+    winrm (2.2.3)
       builder (>= 2.1.2)
       erubis (~> 2.7)
       gssapi (~> 1.2)
@@ -367,13 +369,12 @@ GEM
     winrm-elevated (1.1.0)
       winrm (~> 2.0)
       winrm-fs (~> 1.0)
-    winrm-fs (1.0.1)
+    winrm-fs (1.0.2)
       erubis (~> 2.7)
       logging (>= 1.6.1, < 3.0)
       rubyzip (~> 1.1)
       winrm (~> 2.0)
     wmi-lite (1.0.0)
-    yajl-ruby (1.3.0)
 
 PLATFORMS
   ruby
@@ -396,4 +397,4 @@ DEPENDENCIES
   test-kitchen
 
 BUNDLED WITH
-   1.14.4
+   1.14.6
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index b453b0ca5044..794f88316c11 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, lib, bundlerEnv, ruby, perl, autoconf }:
+{ stdenv, lib, bundlerEnv, ruby_2_4, perl, autoconf }:
 
 bundlerEnv {
-  name = "chefdk-1.3.40";
+  # Last updated via:
+  # nix-shell -p bundix -p gcc -p libxml2 -p zlib --run "bundix -mdl"
+  name = "chefdk-2.3.4";
 
-  inherit ruby;
+  ruby = ruby_2_4;
   gemdir = ./.;
 
   buildInputs = [ perl autoconf ];
diff --git a/pkgs/development/tools/chefdk/gemset.nix b/pkgs/development/tools/chefdk/gemset.nix
index 18e430a3dec7..8680741ff635 100644
--- a/pkgs/development/tools/chefdk/gemset.nix
+++ b/pkgs/development/tools/chefdk/gemset.nix
@@ -1,11 +1,12 @@
 {
   addressable = {
+    dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i8q32a4gr0zghxylpyy7jfqwxvwrivsxflg9mks6kx92frh75mh";
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.2";
   };
   app_conf = {
     source = {
@@ -15,14 +16,6 @@
     };
     version = "0.4.2";
   };
-  artifactory = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zaxa5fxrfal6vi90w725n8cd57fxw1jf99h38vn8d4vimvan2cc";
-      type = "gem";
-    };
-    version = "2.8.1";
-  };
   ast = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -34,36 +27,22 @@
   backports = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qlaq999znlbjw9wb0kwbjvidrbcimnd4v59y682kvm5c09mfn0l";
+      sha256 = "1agsk23kfr194s690jnrpijh9pf3hq4a9yy66j1wzzj2x19ss9y0";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.10.3";
   };
   berkshelf = {
+    dependencies = ["buff-config" "buff-extensions" "chef" "cleanroom" "concurrent-ruby" "faraday" "httpclient" "minitar" "mixlib-archive" "mixlib-shellout" "octokit" "retryable" "ridley" "solve" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aajjag7l55gi7k67n27dr6pscbdlzjaj751r2zhaggrczhh6yyq";
+      sha256 = "03rwq5njxh3d3fcr3ap0wivqlavfcm1ywxj50m4arfndsdvvjih1";
       type = "gem";
     };
-    version = "5.6.4";
-  };
-  berkshelf-api-client = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n9bmrqmyy8cqm9vakscf5s1k2chks43x7dr201zp4bv2i6g3ih2";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  blankslate = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jnnq5q5dwy2rbfcl769vd9bk1yn0242f6yjlb9mnqdm9627cdcx";
-      type = "gem";
-    };
-    version = "2.1.2.4";
+    version = "6.3.1";
   };
   buff-config = {
+    dependencies = ["buff-extensions" "varia_model"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06zx175sww4grk1rwyn1g3b1j2y324jf1506wl4xx96iss8spa4r";
@@ -96,6 +75,7 @@
     version = "1.0.0";
   };
   buff-shell_out = {
+    dependencies = ["buff-ruby_engine"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0zg1li17759whsi2yhb08wvbbqn5cy6i5v51384yjk2a29vs9lck";
@@ -112,6 +92,7 @@
     version = "3.2.3";
   };
   celluloid = {
+    dependencies = ["timers"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
@@ -120,6 +101,7 @@
     version = "0.16.0";
   };
   celluloid-io = {
+    dependencies = ["celluloid" "nio4r"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1l1x0p6daa5vskywrvaxdlanwib3k5pps16axwyy4p8d49pn9rnx";
@@ -128,68 +110,75 @@
     version = "0.16.2";
   };
   chef = {
+    dependencies = ["addressable" "chef-config" "chef-zero" "diff-lcs" "erubis" "ffi-yajl" "highline" "iniparse" "iso8601" "mixlib-archive" "mixlib-authentication" "mixlib-cli" "mixlib-log" "mixlib-shellout" "net-sftp" "net-ssh" "net-ssh-multi" "ohai" "plist" "proxifier" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec_junit_formatter" "serverspec" "specinfra" "syslog-logger" "uuidtools"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "057m3c7h3fz3682r7wxmm7dm3n90rv56lc7svrk1hmf4c3g4b99v";
+      sha256 = "1whvkx1a3877vnpv6q84bp9sb4aq5p5hgv9frln90l61f5nrx1gb";
       type = "gem";
     };
-    version = "12.19.36";
+    version = "13.6.4";
   };
   chef-config = {
+    dependencies = ["addressable" "fuzzyurl" "mixlib-config" "mixlib-shellout"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4m13zzhd4w7j09a2cnj9sinxd9669i5qanbb1cvj90my0raxa2";
+      sha256 = "0r5bd2901bwcr8zffhvri1ypkqfmqinbg78aj0xnndg6lkbr9rd5";
       type = "gem";
     };
-    version = "12.19.36";
+    version = "13.6.4";
   };
   chef-dk = {
+    dependencies = ["addressable" "chef" "chef-provisioning" "cookbook-omnifetch" "diff-lcs" "ffi-yajl" "minitar" "mixlib-cli" "mixlib-shellout" "paint" "solve"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wvdv3hmxnp7ydcwji1w4x0g48dy4qq1ik8zd6n43mqcfgkjq0cb";
+      sha256 = "06dnzlvwpkp9a2lrm3vn600i7j9328872nx4269hvbqnb9ix2cdk";
       type = "gem";
     };
-    version = "1.3.40";
+    version = "2.3.4";
   };
   chef-provisioning = {
+    dependencies = ["cheffish" "inifile" "mixlib-install" "net-scp" "net-ssh" "net-ssh-gateway" "winrm" "winrm-elevated" "winrm-fs"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z5334zp76fswj7ygs5gzf8vsc13ixvyxywpyd5sif75dqsays48";
+      sha256 = "0mxax73kblcbsz5bzqc655igbjwqjpl5f7vz478afr6amh3lsxsw";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.6.0";
   };
   chef-vault = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pqxmraiai9jrld53fyfsglaqcw14xwmy4f3rjfwbrsmparsxjc2";
+      sha256 = "0ks248hqd3s9w0nq8pnpp6and3522b128f2avg63cx5gq6889hwh";
       type = "gem";
     };
-    version = "2.9.1";
+    version = "3.3.0";
   };
   chef-zero = {
+    dependencies = ["ffi-yajl" "hashie" "mixlib-log" "rack" "uuidtools"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qmpn8wq2wns8m28pcn8ljgwz0v2ksninzc4wn5nq66gvksmpjig";
+      sha256 = "1nzmc0fzi73k692j09zipm3gqx1fkrw4r4r4g2b3i1zvasaxbi7x";
       type = "gem";
     };
-    version = "5.3.2";
+    version = "13.1.0";
   };
   cheffish = {
+    dependencies = ["chef-zero" "net-ssh"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19hn46s3qm2ncnfzggm0lcdrsagspdxg699k97a4hbl18k1n6lb1";
+      sha256 = "0mpyf9bhnxil5mwy8cffcfl5l9alxhdnjzsmpzcdwihbz401qrn3";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "13.1.0";
   };
   chefspec = {
+    dependencies = ["chef" "fauxhai" "rspec"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18xkzcxglrr3bfy5k0c1cjk5a3ka49xg3xirldb5yhv395svgg1r";
+      sha256 = "181378d6qf8rxbaan5q8nrv71iy90zljd558n9nys7h5vmqws0qg";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "7.1.0";
   };
   cleanroom = {
     source = {
@@ -202,26 +191,44 @@
   coderay = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r";
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
+  };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
+      type = "gem";
+    };
+    version = "1.0.5";
   };
   cookbook-omnifetch = {
+    dependencies = ["mixlib-archive"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qkzlkszq9f74i71vz72skvmrw24zvdpzfl2029x6vyxrwn83hwf";
+      sha256 = "0dm93zjr2a9pappkncnw4hlrn7dl9vwmrx5xly4128rnzbcgn41p";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.8.0";
   };
   cucumber-core = {
+    dependencies = ["backports" "cucumber-tag_expressions" "gherkin"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "136hnvqv444qyxzcgy1k60y4i6cn3sn9lbqr4wan9dzz1yzllqbm";
+      sha256 = "17qvnxa6ybbxqm22aji41vsappwnrdb56aiggy2swnphx1b7b1ql";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.0.0";
+  };
+  cucumber-tag_expressions = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10q5096vag8s4azj4rmmb3ws7l316gr0jj8jhgr2fmhi05ppbqcf";
+      type = "gem";
+    };
+    version = "1.0.1";
   };
   diff-lcs = {
     source = {
@@ -240,12 +247,13 @@
     version = "3.2.0";
   };
   docker-api = {
+    dependencies = ["excon" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xg2iw6rffyd6zahm6rc80m10dghqmvjg8s83zjm6bqsqdg5h2dk";
+      sha256 = "09wsm6ims9gndfkh1ndhq3mps581g0slmvlvcdmsjfjb3qgm6fj5";
       type = "gem";
     };
-    version = "1.33.3";
+    version = "1.34.0";
   };
   erubis = {
     source = {
@@ -258,26 +266,28 @@
   excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "149grwcry52hi3f1xkbbx74jw5m3qcmiib13wxrk3rw5rz200kmx";
+      sha256 = "0mnc9lqlzwqj5ayp0lh7impisqm55mdg3mw5q4gi9yjic5sidc40";
       type = "gem";
     };
-    version = "0.55.0";
+    version = "0.59.0";
   };
   faraday = {
+    dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
+      sha256 = "1gyqsj7vlqynwvivf9485zwmcj04v1z7gq362z0b8zw2zf4ag0hw";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.13.1";
   };
   fauxhai = {
+    dependencies = ["net-ssh"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yk8cspxgs7y29hgzv248albld4d0y5z498xmgh7kqxav6vxpigj";
+      sha256 = "0145yfn48qh64wbr55lzs1xjd6fi0z9000ix1z086dziks508c2v";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.5.0";
   };
   ffi = {
     source = {
@@ -288,23 +298,22 @@
     version = "1.9.18";
   };
   ffi-yajl = {
+    dependencies = ["libyajl2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dlfzbs1amvqv9lrl87h614xz7319zcwn29qjl1mhnbclny98hqz";
+      sha256 = "0mv7h8bjzgv96kpbmgkmg43rwy96w54kg39vldcdwym6kpqyfgr5";
       type = "gem";
     };
-    version = "2.3.0";
-    dependencies = [
-      "libyajl2"
-    ];
+    version = "2.3.1";
   };
   foodcritic = {
+    dependencies = ["cucumber-core" "erubis" "ffi-yajl" "nokogiri" "rake" "rufus-lru" "treetop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0js522pp3q1xx929mpbzska2i87ydkax1dnyczpll4c46dkc2ivx";
+      sha256 = "0snnfv95zwv3rc9ilkzvw1pjch8cykkxq5q42ckx9zr9yd4bzmhz";
       type = "gem";
     };
-    version = "10.2.2";
+    version = "12.2.1";
   };
   fuzzyurl = {
     source = {
@@ -317,10 +326,10 @@
   gherkin = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s2ibsl5vi3961cci677zjb03wg4wh5hcci5g87i416333qq69xx";
+      sha256 = "0arfhyjcsf5bv1anj4ysqhgl621nwl9qfcs7gg20y3sapcjwl2y7";
       type = "gem";
     };
-    version = "4.1.1";
+    version = "5.0.0";
   };
   git = {
     source = {
@@ -331,6 +340,7 @@
     version = "1.3.0";
   };
   gssapi = {
+    dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0j93nsf9j57p7x4aafalvjg8hia2mmqv3aky7fmw2ck5yci343ix";
@@ -339,6 +349,7 @@
     version = "1.2.0";
   };
   gyoku = {
+    dependencies = ["builder"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
@@ -349,26 +360,34 @@
   hashie = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lfmbh98ng141m7yc8s4v56v49ppam416pzvd2d7pg85wmm44ljw";
+      sha256 = "120mkd2hkwhcfj7avi1dphb0lm7wx364d1cjm9yr4fibqpvsgqi7";
       type = "gem";
     };
-    version = "3.5.5";
+    version = "3.5.6";
   };
   highline = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
+      sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
       type = "gem";
     };
-    version = "1.7.8";
+    version = "1.7.10";
   };
   hitimes = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a4yfhj7vp5gx20y99z45skynyn57wzxwwjp9mjm0b6dgiv6l0lz";
+      sha256 = "06222h9236jw9jgmdlpi0q7psac1shvxqxqx905qkvabmxdxlfar";
+      type = "gem";
+    };
+    version = "1.2.6";
+  };
+  htmlentities = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "4.3.4";
   };
   httpclient = {
     source = {
@@ -389,18 +408,19 @@
   iniparse = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pj4r636swr6j7zisgs6xjws1hkkj8wxdbbknpzydcmaridk880r";
+      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.4";
   };
   inspec = {
+    dependencies = ["addressable" "faraday" "hashie" "htmlentities" "json" "method_source" "mixlib-log" "parallel" "parslet" "pry" "rainbow" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03c1xxp13yv601b5fdbjbqy0sq84ymn5bx4d7k34h553lgc0124f";
+      sha256 = "0i1kb0lanx9wzvlr83981528s5b8l4gqx0911ymh04pz2qy16c5x";
       type = "gem";
     };
-    version = "1.19.2";
+    version = "1.45.13";
   };
   ipaddress = {
     source = {
@@ -410,41 +430,51 @@
     };
     version = "0.8.3";
   };
+  iso8601 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0diaqrf9lxmjamasydmd8mbc9p1lh01mb2d9y66kd1mmi7ml85yp";
+      type = "gem";
+    };
+    version = "0.9.1";
+  };
   json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cpw154il64w6q20rrnsbjx1cdfz1yrzz1lgdbpn59lcwc6mprql";
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.1.0";
   };
   kitchen-inspec = {
+    dependencies = ["hashie" "inspec" "test-kitchen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zpkb9hy6hbdk58xs2lf8rcdbm9l02m607bzdramwfm7czzh08rs";
+      sha256 = "0giqlpwhc7d91245pa9wkjad6ag6wd0q1757kwxmpgz4rh59xwnz";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.20.0";
   };
   kitchen-vagrant = {
+    dependencies = ["test-kitchen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qanaqs769lvp3bw0bp2jivjs7n0y1y71x99j0cnx3qag9nbjca5";
+      sha256 = "0nd09fwk6ncb6rflhl8pwfnq8iyhfzrfqdx4pyhjqq18n5pp3nk6";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   knife-spork = {
+    dependencies = ["app_conf" "chef" "diffy" "git"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k2lmcz9ym6n7a5xn3jvlmfls10lbk7h6phqpc7ah1dz6dk4qw8d";
+      sha256 = "0h9ifjwlqhav04j40psmz22vdz1s3xvq35kzqyc22ir3w6s9nrlj";
       type = "gem";
     };
-    version = "1.6.3";
+    version = "1.7.1";
   };
   libyajl2 = {
     source = {
-  #    remotes = ["https://rubygems.org"];
       sha256 = "0n5j0p8dxf9xzb9n4bkdr8w0a8gg3jzrn9indri3n0fv90gcs5qi";
       type = "gem";
     };
@@ -459,28 +489,29 @@
     version = "1.1.4";
   };
   logging = {
+    dependencies = ["little-plugger" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ddy1dh8sshbfaz3magaww1frlk0p3dpishmakpq0c2skp988wl2";
+      sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.2";
   };
   method_source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+      sha256 = "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "0.9.0";
   };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
+      sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.3.0";
   };
   minitar = {
     source = {
@@ -491,6 +522,7 @@
     version = "0.5.4";
   };
   mixlib-archive = {
+    dependencies = ["mixlib-log"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1b56iprv8cdhxjpzb8ck0mc54cl0kmyzlkn6bzzdqws4gxvdf6gk";
@@ -501,10 +533,10 @@
   mixlib-authentication = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v2r5klw6c8b67yw906slp8a7wi4v2gmhhi9b1slmm4sg2v0pgah";
+      sha256 = "1lh8vrkq2nnf0rx69mlyiqkx664baxbp32imb7l517lbcw5xspgb";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.4.2";
   };
   mixlib-cli = {
     source = {
@@ -523,12 +555,13 @@
     version = "2.2.4";
   };
   mixlib-install = {
+    dependencies = ["mixlib-shellout" "mixlib-versioning" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08fmrc9qaagj3i85n37l50d9qpjsv0lkdppmx3y69r3d0xcgfv3p";
+      sha256 = "0rsi3f3rcg3vky3biy59rvllk3wvx8xnyfch0d4h74r6sxcgbf79";
       type = "gem";
     };
-    version = "2.1.12";
+    version = "3.8.0";
   };
   mixlib-log = {
     source = {
@@ -541,34 +574,34 @@
   mixlib-shellout = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c6zhas6jfr4zd7f6s7sq7qi34ljs7qmdr4zj3ighpcsawm16zg9";
+      sha256 = "1aszrg8b6nrsb3avdm2x04f2n0xx81rdip0waxibkqpslcmb8zx5";
       type = "gem";
     };
-    version = "2.2.7";
+    version = "2.3.2";
   };
   mixlib-versioning = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07an7gxrw6gda98bg9zbfk55b2d58hwpms8wx8sd2x2lv8qs670s";
+      sha256 = "04ayjzsqqgi0ax8c657wwnmclxh53jvn82mnsf7jb2h7fzlb59v3";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.2";
   };
   molinillo = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19h1nks0x2ljwyijs2rd1f9sh05j8xqvjaqk1rslp5nyy6h4a758";
+      sha256 = "0hiy8qvk7hsy5bl5x5b19zf3v3qbmcpa0a9w1kywhvd9051a9vnr";
       type = "gem";
     };
-    version = "0.5.7";
+    version = "0.6.4";
   };
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.12.2";
   };
   multipart-post = {
     source = {
@@ -579,6 +612,7 @@
     version = "2.0.0";
   };
   net-scp = {
+    dependencies = ["net-ssh"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
@@ -587,6 +621,7 @@
     version = "1.2.1";
   };
   net-sftp = {
+    dependencies = ["net-ssh"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
@@ -597,12 +632,13 @@
   net-ssh = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q";
+      sha256 = "07c4v97zl1daabmri9zlbzs6yvkl56z1q14bw74d53jdj0c17nhx";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "4.2.0";
   };
   net-ssh-gateway = {
+    dependencies = ["net-ssh"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04ws9bvf3ppvcj9vrnwyabcwv4lz1m66ni443z2cf4wvvqssifsa";
@@ -611,6 +647,7 @@
     version = "1.3.0";
   };
   net-ssh-multi = {
+    dependencies = ["net-ssh" "net-ssh-gateway"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13kxz9b6kgr9mcds44zpavbndxyi6pvyzyda6bhk1kfmb5c10m71";
@@ -629,18 +666,19 @@
   nio4r = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ka4923544ckvc9bxd75van9y901cjxmsiq9h5is9j743bz71k1f";
+      sha256 = "1n7csawahihc4z0d1888l2c9hlxxd06m093c58gkp1mcbj9bvyb0";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   nokogiri = {
+    dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fhmgciw6pfckqgc0aq9kqpbvnakxwh1xf351c9x4xqcj9xjgn0y";
+      sha256 = "105xh2zkr8nsyfaj2izaisarpnkrrl9000y3nyflg9cbzrfxv021";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.8.1";
   };
   nori = {
     source = {
@@ -651,6 +689,7 @@
     version = "2.6.0";
   };
   octokit = {
+    dependencies = ["sawyer"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0h6cm7bi0y7ysjgwws3paaipqdld6c0m0niazrjahhpz88qqq1g4";
@@ -659,12 +698,13 @@
     version = "4.7.0";
   };
   ohai = {
+    dependencies = ["chef-config" "ffi" "ffi-yajl" "ipaddress" "mixlib-cli" "mixlib-config" "mixlib-log" "mixlib-shellout" "plist" "systemu" "wmi-lite"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18bxqa2rh6y6v3pvimy9ffjzrqh7q1my4vd0l7bnsczv07d5gxns";
+      sha256 = "0li307m47jin82y9k9xsh1xd9fh5gapvrl3dy997w9i199jgp1hx";
       type = "gem";
     };
-    version = "8.23.0";
+    version = "13.6.0";
   };
   paint = {
     source = {
@@ -677,34 +717,35 @@
   parallel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iyiyd6s2dy42mhqfnvq2f64h78w0jjwgnyha1kz7dnxavncdb7i";
+      sha256 = "0qv2yj4sxr36ga6xdxvbq9h05hn10bwcbkqv6j6q1fiixhsdnnzd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.12.0";
   };
   parser = {
+    dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "130rfk8a2ws2fyq52hmi1n0xakylw39wv4x1qhai4z17x2b0k9cq";
+      sha256 = "0bqc29xx4zwlshvi6krrd0sl82d7xjfhcrxvgf38wvdqcl3b7ck3";
       type = "gem";
     };
-    version = "2.4.0.0";
+    version = "2.4.0.2";
   };
   parslet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qp1m8n3m6k6g22nn1ivcfkvccq5jmbkw53vvcjw5xssq179l9z3";
+      sha256 = "15ls4zgarhic522r767nbsfn7hddrhd7zv8hvlx5flas8b2ybirf";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.8.1";
   };
   plist = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1abhg9bcdk2v4liyf10mnww3ngvkmr7flbzzajwsg2z1pmax8g8b";
+      sha256 = "0k0pyqrjcz9kn1b3ahsfs9aqym7s7yzz0vavya0zn0mca3jw2zqc";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.3.0";
   };
   polyglot = {
     source = {
@@ -731,47 +772,46 @@
     version = "1.0.3";
   };
   pry = {
+    dependencies = ["coderay" "method_source"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar";
+      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
       type = "gem";
     };
-    version = "0.10.4";
+    version = "0.11.3";
   };
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
+      sha256 = "0mvzd9ycjw8ydb9qy3daq3kdzqs2vpqvac4dqss6ckk4rfcjc637";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "3.0.1";
   };
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053bqbrxr5gjw5k3rrmh6i35s83kgdycxv292lid072vpwrq1xv1";
+      sha256 = "1kczgp2zwcrvp257dl8j4y3mnyqflxr7rn4vl9w1rwblznx9n74c";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.3";
   };
   rainbow = {
+    dependencies = ["rake"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0frz90gyi5k26jx3ham1x661hpkxf82rkxb85nakcz70dna7i8ri";
+      sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
       type = "gem";
     };
-    version = "2.2.1";
-    dependencies = [
-      "rake"
-    ];
+    version = "2.2.2";
   };
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
+      sha256 = "190p7cs8zdn07mjj6xwwsdna3g0r98zs4crz7jh2j2q5b0nbxgjf";
       type = "gem";
     };
-    version = "12.0.0";
+    version = "12.3.0";
   };
   retryable = {
     source = {
@@ -782,38 +822,43 @@
     version = "2.0.4";
   };
   ridley = {
+    dependencies = ["addressable" "buff-config" "buff-extensions" "buff-ignore" "buff-shell_out" "celluloid" "celluloid-io" "chef-config" "erubis" "faraday" "hashie" "httpclient" "json" "mixlib-authentication" "retryable" "semverse" "varia_model"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y6dcbxmn74qg5psdjk9i751zryfwypf56rb458dkq6b7mwfxxwb";
+      sha256 = "0n2ykdnr1cn9fk8ns2dh3qf7g5dywl8p8kw4zbw4amb4v5xlkwjh";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "5.1.1";
   };
   rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
+      sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "3.7.0";
   };
   rspec-core = {
+    dependencies = ["rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
+      sha256 = "15c4mgivvs9hpi0i1a8gypdl1f0hg6xknsbizgpm3khc95lqd9r9";
       type = "gem";
     };
-    version = "3.5.4";
+    version = "3.7.0";
   };
   rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
+      sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "3.7.0";
   };
   rspec-its = {
+    dependencies = ["rspec-core" "rspec-expectations"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3";
@@ -822,22 +867,24 @@
     version = "1.2.0";
   };
   rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
+      sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "3.7.0";
   };
   rspec-support = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
+      sha256 = "0hvpqpkh7j5rbwkkc0qwicwpgn0xlnpq935ikmx8n1wxxf553v3p";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "3.7.0";
   };
   rspec_junit_formatter = {
+    dependencies = ["builder" "rspec-core"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hphl8iggqh1mpbbv0avf8735x6jgry5wmkqyzgv1zwnimvja1ai";
@@ -846,28 +893,29 @@
     version = "0.2.3";
   };
   rubocop = {
+    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mzv23i11hqwpxh4srvhm8dpzvnk90y46xdfd1fc1g9s054nnbq0";
+      sha256 = "0cy2plq67b47ql06ypx3svbnnjmr2q616scwyhfd6330cg0aacf1";
       type = "gem";
     };
-    version = "0.48.1";
+    version = "0.51.0";
   };
   ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qzc7s7r21bd7ah06kskajc2bjzkr9y0v5q48y0xwh2l55axgplm";
+      sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.0";
   };
   rubyntlm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nfl35b2lgc4p3bgl6vmhsisap8h7p0rrb4b20gahji7s4m93bbk";
+      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "0.6.2";
   };
   rubyzip = {
     source = {
@@ -894,6 +942,7 @@
     version = "1.0.4";
   };
   sawyer = {
+    dependencies = ["addressable" "faraday"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd";
@@ -910,12 +959,13 @@
     version = "2.0.0";
   };
   serverspec = {
+    dependencies = ["multi_json" "rspec" "rspec-its" "specinfra"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j8fvjzmkcri83p0hiyfdypgbc616w2r0nr6rsi1696cd4nppknp";
+      sha256 = "1zsi7nb7mn6jsxbs6gbbkavmbnpdpk9xn2rsd5hbayzmqnb7qk43";
       type = "gem";
     };
-    version = "2.38.0";
+    version = "2.41.3";
   };
   sfl = {
     source = {
@@ -925,37 +975,31 @@
     };
     version = "2.3";
   };
-  slop = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
-      type = "gem";
-    };
-    version = "3.6.0";
-  };
   solve = {
+    dependencies = ["molinillo" "semverse"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bbzny2bl94mv1xwcfrxbi3fjhxxawlz6la7mip2wwz9kkaf376h";
+      sha256 = "08jywdc6wgfb57ncjnsdjb694fzq8aqw0iv289nijpw5hccd32g4";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "4.0.0";
   };
   specinfra = {
+    dependencies = ["net-scp" "net-ssh" "net-telnet" "sfl"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gdbkqr82p7s0aq0sixsahapijccs8qswssfmsb76hi40xb2s3sg";
+      sha256 = "1dh4ydl4rr6dc8dw9nqns9z3d4f5inmpjnspnvgppvy9hk9lnx9h";
       type = "gem";
     };
-    version = "2.67.7";
+    version = "2.72.1";
   };
   sslshake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sm0vxh9ryywsl9iqj8kkwpykh8xrr2fmlv5ysm9jjgwmdpslfvl";
+      sha256 = "19j8q4mnjvjnhlbzs9r0pn608bv5a4cihf6lswv36l3lc35gp9zl";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   syslog-logger = {
     source = {
@@ -974,12 +1018,13 @@
     version = "2.6.5";
   };
   test-kitchen = {
+    dependencies = ["mixlib-install" "mixlib-shellout" "net-scp" "net-ssh" "net-ssh-gateway" "safe_yaml" "thor" "winrm" "winrm-elevated" "winrm-fs"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mg13w1xi36r7vsbdwf7cb06s2j1p2hig144r0hzqwi599w5l9hr";
+      sha256 = "19f2wck79wr56pf2vdq9bk98ksry4w22qpyyandljif7icgsmkmb";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.19.1";
   };
   thor = {
     source = {
@@ -990,6 +1035,7 @@
     version = "0.19.1";
   };
   timers = {
+    dependencies = ["hitimes"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz";
@@ -997,37 +1043,39 @@
     };
     version = "4.0.4";
   };
-  toml = {
+  tomlrb = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wnvi1g8id1sg6776fvzf98lhfbscchgiy1fp5pvd58a8ds2fq9v";
+      sha256 = "09gh67v8s1pr7c37490sjp782gi4wf9k9cadp4l926h1sp27bcgz";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.2.6";
   };
   train = {
+    dependencies = ["docker-api" "json" "mixlib-shellout" "net-scp" "net-ssh" "winrm" "winrm-fs"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dglwr6kirqn9k7am4gszvgkpndvyqydlfgmwjwikvpsvf8rxgrl";
+      sha256 = "0nxv3gb665a05nhik3w44j5bvkyqfl8jz1aj4a69jvsf0jj406sw";
       type = "gem";
     };
-    version = "0.23.0";
+    version = "0.29.2";
   };
   treetop = {
+    dependencies = ["polyglot"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kx3qqdbdk5sy44cyinfx2jxr4w9z3qb17f7wicqa2kshbrvnp1q";
+      sha256 = "0sdkd1v2h8dhj9ncsnpywmqv7w1mdwsyc5jwyxlxwriacv8qz8bd";
       type = "gem";
     };
-    version = "1.6.8";
+    version = "1.6.9";
   };
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r28mxyi0zwby24wyn1szj5hcnv67066wkv14wyzsc94bf04fqhx";
+      sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8";
       type = "gem";
     };
-    version = "1.1.3";
+    version = "1.3.0";
   };
   uuidtools = {
     source = {
@@ -1038,6 +1086,7 @@
     version = "2.1.5";
   };
   varia_model = {
+    dependencies = ["buff-extensions" "hashie"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0kgj37rc3yia4pr5pma0psgar6xjk064qdfii3nwr6dj1v73cyxz";
@@ -1046,14 +1095,16 @@
     version = "0.6.0";
   };
   winrm = {
+    dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xf36sf2cgangij9maphprzhznv4w50arnwrik5jdnmfxc8lqfmh";
+      sha256 = "02lzbixdbjvhmb0byqx9rl9x4xx9pqc8jwm7y6mmp7w7mri72zh6";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.2.3";
   };
   winrm-elevated = {
+    dependencies = ["winrm" "winrm-fs"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04krbwnj4cw7jy42w3n2y5kp2fbcp3v9mbf59pdhfk1py18bswcr";
@@ -1062,12 +1113,13 @@
     version = "1.1.0";
   };
   winrm-fs = {
+    dependencies = ["erubis" "logging" "rubyzip" "winrm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p9kv5hj57krlrh20ykq8pz4i911r30mbl57n6mc6hfba2zfl7j8";
+      sha256 = "1ib5ggy0wfnpiyyynibvcixgipysgffh2jb6d8c4qddkzzbpy1dm";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   wmi-lite = {
     source = {
@@ -1077,12 +1129,4 @@
     };
     version = "1.0.0";
   };
-  yajl-ruby = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sah2lpvpsh555dcnhgcqylinjj5544md9dh1a0a13da0qv1p57i";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/cloudfoundry-cli/default.nix b/pkgs/development/tools/cloudfoundry-cli/default.nix
new file mode 100644
index 000000000000..fc085b3e5ea5
--- /dev/null
+++ b/pkgs/development/tools/cloudfoundry-cli/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, go }:
+
+buildGoPackage rec {
+  name = "cloudfoundry-cli-${version}";
+  version = "6.32.0";
+
+  goPackagePath = "code.cloudfoundry.org/cli";
+
+  subPackages = [ "." ];
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "cloudfoundry-attic";
+    repo = "cli-with-i18n";
+    sha256 = "16r8zvahn4b98krmyb8zq9370i6572dhz88bfxb3fnddcv6zy1ng";
+  };
+
+  outputs = [ "out" ];
+
+  buildFlagsArray = ''
+    -ldflags= -X ${goPackagePath}/version.binaryVersion=${version}
+  '';
+
+  installPhase = ''
+    install -Dm555 go/bin/cli "$out/bin/cf"
+    remove-references-to -t ${go} "$out/bin/cf"
+    install -Dm444 -t "$out/share/bash-completion/completions/" "$src/ci/installers/completion/cf"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The official command line client for Cloud Foundry";
+    homepage = https://github.com/cloudfoundry/cli;
+    maintainers = with maintainers; [ ris ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/container-linux-config-transpiler/default.nix b/pkgs/development/tools/container-linux-config-transpiler/default.nix
index eaae51f726bb..191812392788 100644
--- a/pkgs/development/tools/container-linux-config-transpiler/default.nix
+++ b/pkgs/development/tools/container-linux-config-transpiler/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoPackage rec {
   name = "ct-${version}";
-  version = "0.4.1";
+  version = "0.5.0";
 
   goPackagePath = "github.com/coreos/container-linux-config-transpiler";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "coreos";
     repo = "container-linux-config-transpiler";
     rev = "v${version}";
-    sha256="1017xkinja30jcam8p1x2d9q4vkgkfn7gvkad004jkbbmd2216sa";
+    sha256="1gchqvx5a2fhw9bw359azd9zg8d6h50gkzfz21c41vkjln2z6jq6";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 44e4f494ff24..369f2f86bee6 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "10.1.0";
+  version = "10.2.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "0h8fwqsr8ibd82jxq4pc9p8x7af0i8jyrrsj13p4daqhla0srxr4";
+    sha256 = "191yzh9k6ivj7mdfi5mv7wgbdcclb5q99rcbry70h064vzwfgkp6";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0bzj8zr6d5ab5bjlbw7q3iwn19ha8fksymrvw6cyzs4qacfsj54w";
+    sha256 = "1xvfsffwks5z74kxba6f4cilbabcsxhr0kskbxwczi90pn0rxsnn";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0knvjmxcscyr6v5b9vvyvm8w6p58a1h6nfcvf13dxp59psm71q00";
+    sha256 = "1psnajn4b3ym2fpvn6rizxqb093s78lvxcs3bysgrmf9q1ivf3a6";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index f301e957ad90..16c56e682c6f 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.89";
+  version = "2.92";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "07dphsa093lcs9fk8g8f2ll7mkicrkg44pr5w8sl3dbrchb1ymg7";
+    sha256 = "085h2hfhizli7bpvi06vi6jsav1cn86jw8l6vdpqq4ddx2hrhn39";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/database/schemaspy/default.nix b/pkgs/development/tools/database/schemaspy/default.nix
new file mode 100644
index 000000000000..ab62fdf3d523
--- /dev/null
+++ b/pkgs/development/tools/database/schemaspy/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchurl, jre, makeWrapper, graphviz }:
+
+stdenv.mkDerivation rec {
+  version = "6.0.0-rc2";
+  name = "schemaspy-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/schemaspy/schemaspy/releases/download/v${version}/${name}.jar";
+    sha256 = "0ph1l62hy163m2hgybhkccqbcj6brna1vdbr7536zc37lzjxq9rn";
+  };
+
+  unpackPhase = "true";
+
+  buildInputs = [
+    jre
+  ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  wrappedPath = lib.makeBinPath [
+    graphviz
+  ];
+
+  installPhase = ''
+    install -D ${src} "$out/share/java/${name}.jar"
+
+    makeWrapper ${jre}/bin/java $out/bin/schemaspy \
+      --add-flags "-jar $out/share/java/${name}.jar" \
+      --prefix PATH : "$wrappedPath"
+  '';
+
+  meta = with lib; {
+    homepage = "http://schemaspy.org";
+    description = "Document your database simply and easily";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
+
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 5f0b6b628cb2..f6920a83e09c 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -10,8 +10,14 @@ python2Packages.buildPythonApplication {
     sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
   };
 
+  nativeBuildInputs = [ intltool pkgconfig ];
+  buildInputs = [ libxslt ];
+
   configureFlags = "--disable-scrollkeeper";
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxslt intltool ];
+
+  preBuild = ''
+    substituteInPlace xml2po/xml2po/Makefile --replace '-e "s+^#!.*python.*+#!$(PYTHON)+"' '-e "s\"^#!.*python.*\"#!$(PYTHON)\""'
+  '';
+
   propagatedBuildInputs = [ libxml2Python ];
 }
diff --git a/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch b/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
index 78c57306b797..95f6879a0069 100644
--- a/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
+++ b/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
@@ -1,28 +1,13 @@
-diff --git a/m4/gtkdoc_jh_check_xml_catalog.m4 b/m4/gtkdoc_jh_check_xml_catalog.m4
-index 618c1c9..1842a0d 100644
 --- a/m4/gtkdoc_jh_check_xml_catalog.m4
 +++ b/m4/gtkdoc_jh_check_xml_catalog.m4
-@@ -10,7 +10,21 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+@@ -5,8 +5,8 @@
+ [
+ 	AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+ 	AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+-	if $jh_found_xmlcatalog && \
+-		AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
++	# empty argument forces libxml to use XML_CATALOG_FILES variable
++	if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
  		AC_MSG_RESULT([found])
  		ifelse([$3],,,[$3])
  	else
--		AC_MSG_RESULT([not found])
--		ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
-+		jh_check_xml_catalog_saved_ifs="$IFS"
-+		IFS=' '
-+		for f in $XML_CATALOG_FILES; do
-+			if [[ -f "$f" ]] && \
-+				AC_RUN_LOG([$XMLCATALOG --noout "$f" "$1" >&2]); then
-+				jh_found_xmlcatalog=true
-+				AC_MSG_RESULT([found])
-+				ifelse([$3],,,[$3])
-+				break
-+			fi
-+		done
-+		IFS="$jh_check_xml_catalog_saved_ifs"
-+		if ! $jh_found_xmlcatalog; then
-+			AC_MSG_RESULT([not found])
-+			ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
-+		fi
- 	fi
- ])
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/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index 75ad33e72f63..73050280f17e 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, writeScriptBin, makeWrapper, buildEnv, haskell, ghcWithPackages, ihaskell, jupyter, packages }:
+{ stdenv, writeScriptBin, makeWrapper, buildEnv, haskell, ghcWithPackages, jupyter, packages }:
 let
   ihaskellEnv = ghcWithPackages (self: [
     self.ihaskell
@@ -9,8 +9,8 @@ let
   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 jupyter ])}"
-    ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook
+    export PATH="${stdenv.lib.makeBinPath ([ ihaskellEnv jupyter ])}"
+    ${ihaskellEnv}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook
   '';
 in
 buildEnv {
diff --git a/pkgs/development/tools/jazzy/Gemfile b/pkgs/development/tools/jazzy/Gemfile
new file mode 100644
index 000000000000..27c230a9829a
--- /dev/null
+++ b/pkgs/development/tools/jazzy/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'jazzy'
diff --git a/pkgs/development/tools/jazzy/Gemfile.lock b/pkgs/development/tools/jazzy/Gemfile.lock
new file mode 100644
index 000000000000..b8fc28a740e8
--- /dev/null
+++ b/pkgs/development/tools/jazzy/Gemfile.lock
@@ -0,0 +1,100 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    CFPropertyList (2.3.5)
+    activesupport (4.2.10)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    claide (1.0.2)
+    cocoapods (1.3.1)
+      activesupport (>= 4.0.2, < 5)
+      claide (>= 1.0.2, < 2.0)
+      cocoapods-core (= 1.3.1)
+      cocoapods-deintegrate (>= 1.0.1, < 2.0)
+      cocoapods-downloader (>= 1.1.3, < 2.0)
+      cocoapods-plugins (>= 1.0.0, < 2.0)
+      cocoapods-search (>= 1.0.0, < 2.0)
+      cocoapods-stats (>= 1.0.0, < 2.0)
+      cocoapods-trunk (>= 1.2.0, < 2.0)
+      cocoapods-try (>= 1.1.0, < 2.0)
+      colored2 (~> 3.1)
+      escape (~> 0.0.4)
+      fourflusher (~> 2.0.1)
+      gh_inspector (~> 1.0)
+      molinillo (~> 0.5.7)
+      nap (~> 1.0)
+      ruby-macho (~> 1.1)
+      xcodeproj (>= 1.5.1, < 2.0)
+    cocoapods-core (1.3.1)
+      activesupport (>= 4.0.2, < 6)
+      fuzzy_match (~> 2.0.4)
+      nap (~> 1.0)
+    cocoapods-deintegrate (1.0.1)
+    cocoapods-downloader (1.1.3)
+    cocoapods-plugins (1.0.0)
+      nap
+    cocoapods-search (1.0.0)
+    cocoapods-stats (1.0.0)
+    cocoapods-trunk (1.3.0)
+      nap (>= 0.8, < 2.0)
+      netrc (~> 0.11)
+    cocoapods-try (1.1.0)
+    colored2 (3.1.2)
+    concurrent-ruby (1.0.5)
+    escape (0.0.4)
+    ffi (1.9.18)
+    fourflusher (2.0.1)
+    fuzzy_match (2.0.4)
+    gh_inspector (1.0.3)
+    i18n (0.9.0)
+      concurrent-ruby (~> 1.0)
+    jazzy (0.9.0)
+      cocoapods (~> 1.0)
+      mustache (~> 0.99)
+      open4
+      redcarpet (~> 3.2)
+      rouge (~> 1.5)
+      sass (~> 3.4)
+      sqlite3 (~> 1.3)
+      xcinvoke (~> 0.3.0)
+    liferaft (0.0.6)
+    minitest (5.10.3)
+    molinillo (0.5.7)
+    mustache (0.99.8)
+    nanaimo (0.2.3)
+    nap (1.1.0)
+    netrc (0.11.0)
+    open4 (1.3.4)
+    rb-fsevent (0.10.2)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    redcarpet (3.4.0)
+    rouge (1.11.1)
+    ruby-macho (1.1.0)
+    sass (3.5.3)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sqlite3 (1.3.13)
+    thread_safe (0.3.6)
+    tzinfo (1.2.4)
+      thread_safe (~> 0.1)
+    xcinvoke (0.3.0)
+      liferaft (~> 0.0.6)
+    xcodeproj (1.5.3)
+      CFPropertyList (~> 2.3.3)
+      claide (>= 1.0.2, < 2.0)
+      colored2 (~> 3.1)
+      nanaimo (~> 0.2.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  jazzy
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/tools/jazzy/default.nix b/pkgs/development/tools/jazzy/default.nix
new file mode 100644
index 000000000000..7d96e2c07d26
--- /dev/null
+++ b/pkgs/development/tools/jazzy/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  inherit ruby;
+  pname = "jazzy";
+  gemdir = ./.;
+
+  meta = with lib; {
+    description     = "A command-line utility that generates documentation for Swift or Objective-C";
+    homepage        = https://github.com/realm/jazzy;
+    license         = licenses.mit;
+    platforms       = platforms.darwin;
+    maintainers     = with maintainers; [
+      peterromfeldhk
+    ];
+  };
+}
diff --git a/pkgs/development/tools/jazzy/gemset.nix b/pkgs/development/tools/jazzy/gemset.nix
new file mode 100644
index 000000000000..a88724a3de30
--- /dev/null
+++ b/pkgs/development/tools/jazzy/gemset.nix
@@ -0,0 +1,343 @@
+{
+  activesupport = {
+    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7";
+      type = "gem";
+    };
+    version = "4.2.10";
+  };
+  CFPropertyList = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06dddgcai6nay552h8wmnb2m93xx5hni48s16vkbf9vbym4nfw5x";
+      type = "gem";
+    };
+    version = "2.3.5";
+  };
+  claide = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0az54rp691hc42yl1xyix2cxv58byhaaf4gxbpghvvq29l476rzc";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  cocoapods = {
+    dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "050b7795jc6802wcpcgi702qkgy8vjidgq6c6mbx2alrq7l0n8q7";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  cocoapods-core = {
+    dependencies = ["activesupport" "fuzzy_match" "nap"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pr42lpqs6q51gnnfxmgmbx7sw0dwyawylssj588izj8av18rhpy";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  cocoapods-deintegrate = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x4hxlip6zkrs1vcmw7sh45ayn5pxvsg782iifnmgjwn2pyskj7l";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  cocoapods-downloader = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1664qg1wml70slcfklpnyq5ixp145f6iyn3c6pcqkqc64i1bsg87";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  cocoapods-plugins = {
+    dependencies = ["nap"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-search = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-stats = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sfcwq2vq6cadj1811jdjys3d28pmk2r2a83px6w94rz6i19axid";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  cocoapods-trunk = {
+    dependencies = ["nap" "netrc"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0shxr64j7f50yglp5l90vr1ba5p9pkk0a3b8apkbci2lmq5kq60b";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  cocoapods-try = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  colored2 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+      type = "gem";
+    };
+    version = "3.1.2";
+  };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  escape = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  ffi = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
+      type = "gem";
+    };
+    version = "1.9.18";
+  };
+  fourflusher = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dzmkxyzrk475c1yk5zddwhhj28b6fnj4jkk1h5gr1c2mrar72d5";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  fuzzy_match = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm";
+      type = "gem";
+    };
+    version = "2.0.4";
+  };
+  gh_inspector = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lxvp8xpjd2cazzcp90phy567spp4v41bnk9awgx8absndv70k1x";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h5wygnbpxas8kwhqkwk6n4s334dxyxvlxykc6mxfndb0m56166r";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  jazzy = {
+    dependencies = ["cocoapods" "mustache" "open4" "redcarpet" "rouge" "sass" "sqlite3" "xcinvoke"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vvyszmpnzm0my5fp50z5bnqij6zq3cig2p46vgl683hsm48ldsq";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  liferaft = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kasbbx84gzsxx8w8bgr6xjg43h9bvzzaqg7si8jirnja8yc27k3";
+      type = "gem";
+    };
+    version = "0.0.6";
+  };
+  minitest = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05521clw19lrksqgvg2kmm025pvdhdaniix52vmbychrn2jm7kz2";
+      type = "gem";
+    };
+    version = "5.10.3";
+  };
+  molinillo = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19h1nks0x2ljwyijs2rd1f9sh05j8xqvjaqk1rslp5nyy6h4a758";
+      type = "gem";
+    };
+    version = "0.5.7";
+  };
+  mustache = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      type = "gem";
+    };
+    version = "0.99.8";
+  };
+  nanaimo = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z6rbji02x75vm5jw4hbpp75khp4z5yfgbaz1h9l8aa00hqf0fxd";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  nap = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  netrc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
+      type = "gem";
+    };
+    version = "0.11.0";
+  };
+  open4 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
+      type = "gem";
+    };
+    version = "1.3.4";
+  };
+  rb-fsevent = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
+      type = "gem";
+    };
+    version = "0.10.2";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      type = "gem";
+    };
+    version = "0.9.10";
+  };
+  redcarpet = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
+      type = "gem";
+    };
+    version = "3.4.0";
+  };
+  rouge = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13amckbdknnc5491ag28y8pqbyfpbzx5n4rlmadxhd3wkrhp92c8";
+      type = "gem";
+    };
+    version = "1.11.1";
+  };
+  ruby-macho = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i9vkz3ki3yvps4z1hca2q2axniq95x4yypnc22p9pcfjdfrbrq6";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  sass = {
+    dependencies = ["sass-listen"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1167camc4ccqf9lcjlpyf96ji00f0041i7xanj2nm41fkx7kr7kr";
+      type = "gem";
+    };
+    version = "3.5.3";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
+  sqlite3 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
+      type = "gem";
+    };
+    version = "1.3.13";
+  };
+  thread_safe = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp";
+      type = "gem";
+    };
+    version = "1.2.4";
+  };
+  xcinvoke = {
+    dependencies = ["liferaft"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16pyq7wvx2c0fywrqxk3vg6psa3yjhbd7hw7hv2mjim6myjkdsb7";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  xcodeproj = {
+    dependencies = ["CFPropertyList" "claide" "colored2" "nanaimo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gvnd5ixa4wbn1cpc6jp6i9z0dxhcwlxny47irzbr6zr8wpj3ww7";
+      type = "gem";
+    };
+    version = "1.5.3";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/jazzy/update b/pkgs/development/tools/jazzy/update
new file mode 100755
index 000000000000..58a7bd4a4539
--- /dev/null
+++ b/pkgs/development/tools/jazzy/update
@@ -0,0 +1,10 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p bash ruby bundler bundix
+
+rm Gemfile.lock
+bundler install
+bundix
+
+if [ "clean" == "$1" ]; then
+  rm -rf ~/.gem
+fi
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/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 83982b1376e9..519d5c722af8 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -11,13 +11,13 @@ let
   version = "2.28.1";
   basename = "binutils-${version}";
   inherit (stdenv.lib) optional optionals optionalString;
-  # The prefix prepended to binary names to allow multiple binuntils on the
+  # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
-  prefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
+  targetPrefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
 in
 
 stdenv.mkDerivation rec {
-  name = prefix + basename;
+  name = targetPrefix + basename;
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -48,6 +48,11 @@ stdenv.mkDerivation rec {
     # there) and causes a cycle between the lib and bin outputs, so
     # get rid of it.
     ./no-plugins.patch
+
+    # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and
+    # elf32-littlearm-vxworks in favor of the first.
+    # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766
+    ./disambiguate-arm-targets.patch
   ];
 
   outputs = [ "out" "info" ];
@@ -76,7 +81,7 @@ stdenv.mkDerivation rec {
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
-  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
   configurePlatforms =
     # TODO(@Ericson2314): Figure out what's going wrong with Arm
     if hostPlatform == targetPlatform && targetPlatform.isArm
@@ -97,7 +102,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit prefix version;
+    inherit targetPrefix version;
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch b/pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch
new file mode 100644
index 000000000000..abbfa73da05d
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/disambiguate-arm-targets.patch
@@ -0,0 +1,23 @@
+diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
+index 9f956d3..f5b61f1 100644
+--- a/bfd/elf32-arm.c
++++ b/bfd/elf32-arm.c
+@@ -19585,7 +19585,10 @@ elf32_arm_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker)
+ #undef  ELF_MAXPAGESIZE
+ #define ELF_MAXPAGESIZE			0x1000
+ 
++/* Prioritize elf32-*arm (priority 1) over elf32-*arm-vxworks (priority 2) */
++#define elf_match_priority 2
+ #include "elf32-target.h"
++#undef  elf_match_priority
+ 
+ 
+ /* Merge backend specific data from an object file to the output
+@@ -19974,4 +19977,7 @@ elf32_arm_symbian_plt_sym_val (bfd_vma i, const asection *plt,
+ #undef  ELF_MAXPAGESIZE
+ #define ELF_MAXPAGESIZE			0x8000
+ 
++/* Prioritize elf32-*arm (priority 1) over elf32-*arm-symbian (priority 2) */
++#define elf_match_priority 2
+ #include "elf32-target.h"
++#undef  elf_match_priority
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 14a52f4e08a6..6006c83c0cd9 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,31 +1,22 @@
 { stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
-, pythonPackages, makeWrapper, gnome3, libwnck3 }:
+, python3Packages, wrapGAppsHook, gnome3, libwnck3 }:
 
 let
-  version = "${major}.12";
+  version = "${major}.13";
   major = "0.3";
-in pythonPackages.buildPythonApplication rec {
+in python3Packages.buildPythonApplication rec {
   name = "d-feet-${version}";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
-    sha256 = "054hl56rii9ff7rzl42h7993ywjbxmhlcd7bk8fi1c2bx98c6s68";
+    sha256 = "1md3lzs55sg04ds69dbginpxqvgg3qnf1lfx3vmsxph6bbd2y6ll";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxml2 itstool intltool glib gtk3
-    gnome3.defaultIconTheme makeWrapper libwnck3
-  ];
+  nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook libxml2 ];
+  buildInputs = [ glib gtk3 gnome3.defaultIconTheme libwnck3 ];
 
-  propagatedBuildInputs = with pythonPackages; [ pygobject3 pep8 ];
-
-  preFixup =
-    ''
-      wrapProgram $out/bin/d-feet \
-        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
-    '';
+  propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
 
   meta = {
     description = "D-Feet is an easy to use D-Bus debugger";
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
new file mode 100644
index 000000000000..0e6cba37cfc8
--- /dev/null
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, python27Packages, gdb, pkgs }:
+let
+  deps = import ./requirements.nix { inherit pkgs; };
+in
+python27Packages.buildPythonApplication rec {
+    name = "${pname}-${version}";
+    pname = "gdbgui";
+    version = "0.9.0.1";
+
+    buildInputs = [ gdb ];
+    propagatedBuildInputs = builtins.attrValues deps.packages;
+
+    src = python27Packages.fetchPypi {
+      inherit pname version;
+      sha256 = "1gjc7dycrc4zafhrd9yib7qnh4agh7cpa6rlw4p5405rlmwmsbj3";
+    };
+
+    postInstall = ''
+      wrapProgram $out/bin/gdbgui \
+                  --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
+    '';
+
+    # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
+    preCheck = stdenv.lib.optionalString stdenv.isLinux ''
+      export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
+             LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
+    '';
+
+    postCheck = stdenv.lib.optionalString stdenv.isLinux ''
+      unset NIX_REDIRECTS LD_PRELOAD
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A browser-based frontend for GDB";
+      license = licenses.gpl3;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ yrashk ];
+    };
+
+  }
diff --git a/pkgs/development/tools/misc/gdbgui/requirements.nix b/pkgs/development/tools/misc/gdbgui/requirements.nix
new file mode 100644
index 000000000000..d3c7f31eaebf
--- /dev/null
+++ b/pkgs/development/tools/misc/gdbgui/requirements.nix
@@ -0,0 +1,404 @@
+# generated using pypi2nix tool (version: 1.8.1)
+# See more at: https://github.com/garbas/pypi2nix
+#
+# COMMAND:
+#   pypi2nix -V 2.7 -r requirements.txt
+#
+
+{ pkgs ? import <nixpkgs> {}
+}:
+
+let
+
+  inherit (pkgs) makeWrapper;
+  inherit (pkgs.stdenv.lib) fix' extends inNixShell;
+
+  pythonPackages =
+  import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
+    inherit pkgs;
+    inherit (pkgs) stdenv;
+    python = pkgs.python27Full;
+    # patching pip so it does not try to remove files when running nix-shell
+    overrides =
+      self: super: {
+        bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: {
+          patchPhase = old.patchPhase + ''
+            sed -i               -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|"                -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|"                  $out/${pkgs.python35.sitePackages}/pip/req/req_install.py
+          '';
+        });
+      };
+  };
+
+  commonBuildInputs = [];
+  commonDoCheck = false;
+
+  withPackages = pkgs':
+    let
+      pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
+      interpreter = pythonPackages.buildPythonPackage {
+        name = "python27Full-interpreter";
+        buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
+        buildCommand = ''
+          mkdir -p $out/bin
+          ln -s ${pythonPackages.python.interpreter}               $out/bin/${pythonPackages.python.executable}
+          for dep in ${builtins.concatStringsSep " "               (builtins.attrValues pkgs)}; do
+            if [ -d "$dep/bin" ]; then
+              for prog in "$dep/bin/"*; do
+                if [ -f $prog ]; then
+                  ln -s $prog $out/bin/`basename $prog`
+                fi
+              done
+            fi
+          done
+          for prog in "$out/bin/"*; do
+            wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
+          done
+          pushd $out/bin
+          ln -s ${pythonPackages.python.executable} python
+          ln -s ${pythonPackages.python.executable}               python2
+          popd
+        '';
+        passthru.interpreter = pythonPackages.python;
+      };
+    in {
+      __old = pythonPackages;
+      inherit interpreter;
+      mkDerivation = pythonPackages.buildPythonPackage;
+      packages = pkgs;
+      overrideDerivation = drv: f:
+        pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs //                                            { meta = drv.meta; });
+      withPackages = pkgs'':
+        withPackages (pkgs // pkgs'');
+    };
+
+  python = withPackages {};
+
+  generated = self: {
+
+    "Flask" = python.mkDerivation {
+      name = "Flask-0.12.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/Flask-0.12.2.tar.gz"; sha256 = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Jinja2"
+      self."Werkzeug"
+      self."click"
+      self."itsdangerous"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/pallets/flask/";
+        license = licenses.bsdOriginal;
+        description = "A microframework based on Werkzeug, Jinja2 and good intentions";
+      };
+    };
+
+
+
+    "Flask-Compress" = python.mkDerivation {
+      name = "Flask-Compress-1.4.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/0e/2a/378bd072928f6d92fd8c417d66b00c757dc361c0405a46a0134de6fd323d/Flask-Compress-1.4.0.tar.gz"; sha256 = "468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Flask"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://libwilliam.github.io/flask-compress/";
+        license = licenses.mit;
+        description = "Compress responses in your Flask app with gzip.";
+      };
+    };
+
+
+
+    "Flask-SocketIO" = python.mkDerivation {
+      name = "Flask-SocketIO-2.9.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Flask"
+      self."python-engineio"
+      self."python-socketio"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/Flask-SocketIO/";
+        license = licenses.mit;
+        description = "Socket.IO integration for Flask applications";
+      };
+    };
+
+
+
+    "Jinja2" = python.mkDerivation {
+      name = "Jinja2-2.10";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."MarkupSafe"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://jinja.pocoo.org/";
+        license = licenses.bsdOriginal;
+        description = "A small but fast and easy to use stand-alone template engine written in pure python.";
+      };
+    };
+
+
+
+    "MarkupSafe" = python.mkDerivation {
+      name = "MarkupSafe-1.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/pallets/markupsafe";
+        license = licenses.bsdOriginal;
+        description = "Implements a XML/HTML/XHTML Markup safe string for Python";
+      };
+    };
+
+
+
+    "Pygments" = python.mkDerivation {
+      name = "Pygments-2.2.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://pygments.org/";
+        license = licenses.bsdOriginal;
+        description = "Pygments is a syntax highlighting package written in Python.";
+      };
+    };
+
+
+
+    "Werkzeug" = python.mkDerivation {
+      name = "Werkzeug-0.12.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://werkzeug.pocoo.org/";
+        license = licenses.bsdOriginal;
+        description = "The Swiss Army knife of Python web development";
+      };
+    };
+
+
+
+    "click" = python.mkDerivation {
+      name = "click-6.7";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz"; sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/mitsuhiko/click";
+        license = licenses.bsdOriginal;
+        description = "A simple wrapper around optparse for powerful command line utilities.";
+      };
+    };
+
+
+
+    "enum-compat" = python.mkDerivation {
+      name = "enum-compat-0.0.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."enum34"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/jstasiak/enum-compat";
+        license = licenses.mit;
+        description = "enum/enum34 compatibility package";
+      };
+    };
+
+
+
+    "enum34" = python.mkDerivation {
+      name = "enum34-1.1.6";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://bitbucket.org/stoneleaf/enum34";
+        license = licenses.bsdOriginal;
+        description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
+      };
+    };
+
+
+
+    "eventlet" = python.mkDerivation {
+      name = "eventlet-0.21.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."enum-compat"
+      self."greenlet"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://eventlet.net";
+        license = licenses.mit;
+        description = "Highly concurrent networking library";
+      };
+    };
+
+
+
+    "gevent" = python.mkDerivation {
+      name = "gevent-1.2.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."greenlet"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://www.gevent.org/";
+        license = licenses.mit;
+        description = "Coroutine-based network library";
+      };
+    };
+
+
+
+    "greenlet" = python.mkDerivation {
+      name = "greenlet-0.4.12";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/be/76/82af375d98724054b7e273b5d9369346937324f9bcc20980b45b068ef0b0/greenlet-0.4.12.tar.gz"; sha256 = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/python-greenlet/greenlet";
+        license = licenses.mit;
+        description = "Lightweight in-process concurrent programming";
+      };
+    };
+
+
+
+    "itsdangerous" = python.mkDerivation {
+      name = "itsdangerous-0.24";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/mitsuhiko/itsdangerous";
+        license = licenses.bsdOriginal;
+        description = "Various helpers to pass trusted data to untrusted environments and back.";
+      };
+    };
+
+
+
+    "pygdbmi" = python.mkDerivation {
+      name = "pygdbmi-0.7.4.4";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/cs01/pygdbmi";
+        license = licenses.mit;
+        description = "Parse gdb machine interface output with Python";
+      };
+    };
+
+
+
+    "pypugjs" = python.mkDerivation {
+      name = "pypugjs-4.2.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/matannoam/pypugjs";
+        license = licenses.mit;
+        description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed";
+      };
+    };
+
+
+
+    "python-engineio" = python.mkDerivation {
+      name = "python-engineio-2.0.1";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/python-engineio/";
+        license = licenses.mit;
+        description = "Engine.IO server";
+      };
+    };
+
+
+
+    "python-socketio" = python.mkDerivation {
+      name = "python-socketio-1.8.3";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."python-engineio"
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/python-socketio/";
+        license = licenses.mit;
+        description = "Socket.IO server";
+      };
+    };
+
+
+
+    "six" = python.mkDerivation {
+      name = "six-1.11.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://pypi.python.org/pypi/six/";
+        license = licenses.mit;
+        description = "Python 2 and 3 compatibility utilities";
+      };
+    };
+
+  };
+  localOverridesFile = ./requirements_override.nix;
+  overrides = import localOverridesFile { inherit pkgs python; };
+  commonOverrides = [
+
+  ];
+  allOverrides =
+    (if (builtins.pathExists localOverridesFile)
+     then [overrides] else [] ) ++ commonOverrides;
+
+in python.withPackages
+   (fix' (pkgs.lib.fold
+            extends
+            generated
+            allOverrides
+         )
+   )
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 2ac7ef4593c1..613a4fec8530 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-11-21";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "b828224fee451ad26e87cfe4eeb9c0704ee1062b";
-    sha256 = "05xv10ldsa1rahxbbgh5kwvl1dv4yvc8idczpifgb55fgqj8zazm";
+    rev = "b7bc4384b7b471d1ddf892cb03f16189a66d5a0d";
+    sha256 = "05g37z3ilazzqa5rqj5zljndwxjbvpc18xibh6jlwjwpvg3kpbbh";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/misc/iozone/default.nix b/pkgs/development/tools/misc/iozone/default.nix
index 4bcf5f1599a6..0bbab096c73f 100644
--- a/pkgs/development/tools/misc/iozone/default.nix
+++ b/pkgs/development/tools/misc/iozone/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "iozone-3.434";
+  name = "iozone-3.471";
 
   src = fetchurl {
-    url = http://www.iozone.org/src/current/iozone3_434.tar;
-    sha256 = "0aj63mlb91aivz3z71zn8nbwci1pi18qk8zc65dm19cknffqsf1c";
+    url = http://www.iozone.org/src/current/iozone3_471.tar;
+    sha256 = "0w63b3d4ws1sm52lpdd08sl7n4ay438dl3wy0q9la12iq81rglid";
   };
 
   license = fetchurl {
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 f81b327d8428..3da98f38ebc7 100644
--- a/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip }:
 
-stdenv.mkDerivation {
-  name = "stm32flash-1.0";
+stdenv.mkDerivation rec {
+  name = "stm32flash-0.5";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/stm32flash/stm32flash.tar.gz";
-    sha256 = "04k631g9lzvp9xr4sw51xpq1g542np61s1l8fpwx9rbsc8m5l0i6";
+    url = "mirror://sourceforge/stm32flash/${name}.tar.gz";
+    sha256 = "01p396daqw3zh6nijffbfbwyqza33bi2k4q3m5yjzs02xwi99alp";
   };
 
   buildFlags = [ "CC=cc" ];
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
     homepage = https://sourceforge.net/projects/stm32flash/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all; # Should work on all platforms
-    maintainers = [ maintainers.the-kenny ];
+    maintainers = with maintainers; [ the-kenny elitak ];
   };
 }
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 9702534b5ccb..eff849744ac4 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "strace-${version}";
-  version = "4.19";
+  version = "4.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/strace/${name}.tar.xz";
-    sha256 = "10bjh2mrkvx41fk60b2iqv5b5k4r7a3qdsx04iyg904jqb3fp4vw";
+    sha256 = "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
index 889595ab743a..8212eccc6d13 100644
--- a/pkgs/development/tools/misc/uhd/default.nix
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://uhd.ettus.com/;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor fpletz ];
   };
 }
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index 57c57969a88b..6c27ad408603 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -3,17 +3,19 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "uncrustify";
-  version = "0.64";
+  version = "0.66";
 
   src = fetchFromGitHub {
     owner = product;
     repo = product;
     rev = name;
-    sha256 = "0gvgv44aqrh7cmj4ji8dpbhp47cklvajlc3s9d9z24x96dhp2v97";
+    sha256 = "156y71yf2xxskvikbn6yjfv8xgnsrrjij08irv21z0n7nx35jgmm";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA";
     homepage = http://uncrustify.sourceforge.net/;
diff --git a/pkgs/development/tools/misc/xxdiff/tip.nix b/pkgs/development/tools/misc/xxdiff/tip.nix
index f05988e70264..d3b69901ed8a 100644
--- a/pkgs/development/tools/misc/xxdiff/tip.nix
+++ b/pkgs/development/tools/misc/xxdiff/tip.nix
@@ -15,16 +15,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase ];
 
   preConfigure = ''
-    ln -s ${qtbase.dev}/mkspecs/* ../__nix_qt*__/mkspecs
-    ln -s ${qtbase.dev}/bin/* ../__nix_qt*__/bin || true
+    cd src
+    make -f Makefile.bootstrap
   '';
 
-  NIX_CFLAGS_COMPILE="-I${qtbase.dev}/include/QtCore -I${qtbase.dev}/include/QtGui -I${qtbase.dev}/include/QtWidgets";
-  
-  configurePhase = "${preConfigure} cd src; make -f Makefile.bootstrap";
-
-  installPhase = "mkdir -pv $out/bin; cp -v ../bin/xxdiff $out/bin";
-
+  postInstall = ''
+    install -D ../bin/xxdiff $out/bin/xxdiff
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://furius.ca/xxdiff/;
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/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/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/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/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index e0aac84abb70..9dfd3b7e7289 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -2,11 +2,11 @@
 
 let
   name = "wp-cli-${version}";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "0rav5a6znx81gwaxin1ib10sbfg16bgdnnyv1zn5sjify3f1wpqj";
+    sha256 = "0fyfwpsbm9s3khxq8876ah85vjwfd5r4a59aix3zjmhq2v7j8n9j";
   };
 
   completion = fetchurl {
diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix
new file mode 100644
index 000000000000..6ddea86f1a7c
--- /dev/null
+++ b/pkgs/development/tools/yq/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, jq }:
+
+buildPythonApplication rec {
+
+  name = "${pname}-${version}";
+  pname = "yq";
+  version = "2.3.3";
+
+  propagatedBuildInputs = [ pyyaml jq ];
+
+  # ValueError: underlying buffer has been detached
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14ywdi464z68qclsqzb8r50rzmypknaz74zmpppkahjigfcfppm3";
+  };
+
+  meta = with lib; {
+    description = "Command-line YAML processor - jq wrapper for YAML documents.";
+    homepage = https://pypi.python.org/pypi/yq;
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.womfoo ];
+  };
+
+}
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/nodejs/v9.nix b/pkgs/development/web/nodejs/v9.nix
index aa51421253fb..8a1cd2d148d1 100644
--- a/pkgs/development/web/nodejs/v9.nix
+++ b/pkgs/development/web/nodejs/v9.nix
@@ -5,7 +5,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "9.0.0";
-    sha256 = "19az7mxcb3d1aj0f7gvhriyyghn1rwn0425924pa84d6j1mbsljv";
+    version = "9.2.0";
+    sha256 = "1hmvwfbavk2axqz9kin8b5zsld25gznhvlz55h3yl6nwx9iz5jk4";
     patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
   }
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 e87e59637edd..0208739706d7 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -1,18 +1,36 @@
-{ 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.47";
-    inherit (python2Packages) python wrapPython sqlalchemy pyaudio beautifulsoup4 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"
@@ -22,12 +40,12 @@ stdenv.mkDerivation rec {
       sha256 = "067bsidqzy1zc301i2pk4biwp2kwvgk4kydp5z5s551acinkbdgv";
     };
 
-    pythonPath = [ pyqt4 sqlalchemy pyaudio beautifulsoup4 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/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 a968526e5cd3..d60c4c7d0dea 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -37,6 +37,8 @@ stdenv.mkDerivation {
     ++ optional (!gtkClient) "--enable-fcmp=cli"
     ++ optional (!server) "--disable-server";
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Multiplayer (or single player), turn-based strategy game";
 
diff --git a/pkgs/games/freedink/default.nix b/pkgs/games/freedink/default.nix
index 94451ef8930d..c1bfda9e2f2f 100644
--- a/pkgs/games/freedink/default.nix
+++ b/pkgs/games/freedink/default.nix
@@ -28,11 +28,18 @@ in stdenv.mkDerivation rec {
     pkgconfig intltool fontconfig libzip zip zlib
   ];
 
+  preConfigure = ''
+    # Build fails on Linux with windres.
+    export ac_cv_prog_ac_ct_WINDRES=
+  '';
+
   postInstall = ''
     mkdir -p "$out/share/"
     ln -s ${freedink_data}/share/dink "$out/share/"
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "A free, portable and enhanced version of the Dink Smallwood game engine";
 
diff --git a/pkgs/games/freesweep/default.nix b/pkgs/games/freesweep/default.nix
new file mode 100644
index 000000000000..9d07eda74b81
--- /dev/null
+++ b/pkgs/games/freesweep/default.nix
@@ -0,0 +1,35 @@
+{ fetchurl, ncurses, stdenv,
+  updateAutotoolsGnuConfigScriptsHook }:
+
+stdenv.mkDerivation rec {
+  name = "freesweep-${version}";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/rwestlund/freesweep/archive/v${version}.tar.gz";
+    sha256 = "0l2kf14558lsq9qd2hs0kcyn9bbl1jdbzwrvcs6mnyjl7zpizcpj";
+  };
+
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
+  buildInputs = [ ncurses ];
+
+  preConfigure = ''
+    configureFlags="$configureFlags --with-prefsdir=$out/share"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D -m 0555 freesweep $out/bin/freesweep
+    install -D -m 0444 sweeprc $out/share/sweeprc
+    install -D -m 0444 freesweep.6 $out/share/man/man6/freesweep.6
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A console minesweeper-style game written in C for Unix-like systems";
+    homepage = https://github.com/rwestlund/freesweep;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ kierdavis ];
+    platforms = platforms.unix;
+  };
+}
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/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 8aba24dd3468..2145ee013561 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -1,25 +1,25 @@
-{ SDL_image, SDL_ttf, SDL_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
-, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL, SDL_mixer
+{ SDL2_image, SDL2_ttf, SDL2_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
+, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
 , zlib, libpng, mesa, physfs
 }:
 
 let
   ghc = ghcWithPackages (pkgs: with pkgs; [
           network vector utf8-string bytestring-show random hslogger
-          dataenc SHA entropy pkgs.zlib
+          SHA entropy pkgs.zlib sandi regex-tdfa
         ]);
 in
 stdenv.mkDerivation rec {
-  version = "0.9.22";
+  version = "0.9.23";
   name = "hedgewars-${version}";
   src = fetchurl {
-    url = "http://download.gna.org/hedgewars/hedgewars-src-${version}.tar.bz2";
-    sha256 = "14i1wvqbqib9h9092z10g4g0y14r5sp2fdaksvnw687l3ybwi6dn";
+    url = "http://www.hedgewars.org/download/releases/hedgewars-src-${version}.tar.bz2";
+    sha256 = "12df5ar3zk186ah51c3myr4hlzyybcshmf1w1wf6vr9b0h44jbns";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL_ttf SDL_net cmake lua5_1 SDL SDL_mixer SDL_image fpc
+    SDL2_ttf SDL2_net cmake lua5_1 SDL2 SDL2_mixer SDL2_image fpc
     qt4 ghc ffmpeg freeglut makeWrapper physfs
   ];
 
@@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL_image}/lib
-                                     -rpath ${SDL_mixer}/lib
-                                     -rpath ${SDL_net}/lib
-                                     -rpath ${SDL_ttf}/lib
-                                     -rpath ${SDL.out}/lib
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL2_image}/lib
+                                     -rpath ${SDL2_mixer}/lib
+                                     -rpath ${SDL2_net}/lib
+                                     -rpath ${SDL2_ttf}/lib
+                                     -rpath ${SDL2.out}/lib
                                      -rpath ${libpng.out}/lib
                                      -rpath ${lua5_1}/lib
                                      -rpath ${mesa}/lib
diff --git a/pkgs/games/macopix/default.nix b/pkgs/games/macopix/default.nix
index 72b0b0d00cdd..b490231442e3 100644
--- a/pkgs/games/macopix/default.nix
+++ b/pkgs/games/macopix/default.nix
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk openssl ];
 
+  preConfigure = ''
+    # Build fails on Linux with windres.
+    export ac_cv_prog_WINDRES=
+  '';
+
+  enableParallelBuilding = true;
+
   meta = {
     description = "Mascot Constructive Pilot for X";
     homepage = http://rosegray.sakura.ne.jp/macopix/index-e.html;
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index 078075931dae..673efb0e118d 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     cp -r mudlet-lua $out
 
     makeWrapper $out/mudlet $out/bin/mudlet \
-      --set LUA_CPATH "\"${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}\"" \
+      --set LUA_CPATH "${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}" \
       --run "cd $out";
   '';
 
diff --git a/pkgs/games/pysolfc/default.nix b/pkgs/games/pysolfc/default.nix
new file mode 100644
index 000000000000..85424ebea9ba
--- /dev/null
+++ b/pkgs/games/pysolfc/default.nix
@@ -0,0 +1,39 @@
+{ fetchurl, python2, stdenv }:
+
+with python2.pkgs;
+
+buildPythonApplication rec {
+  pname = "PySolFC";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2";
+    sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv";
+  };
+
+  patches = [
+    ./pysolfc-datadir.patch
+  ];
+
+  propagatedBuildInputs = [
+    tkinter
+  ];
+
+  # No tests in archive
+  doCheck = false;
+
+  postInstall = ''
+    # executables should not have an extension
+    pushd $out/bin
+    mv pysol.py pysol
+    rm pysol.pyc
+    popd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A collection of more than 1000 solitaire card games";
+    homepage = http://pysolfc.sourceforge.net/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ kierdavis ];
+  };
+}
diff --git a/pkgs/games/pysolfc/pysolfc-datadir.patch b/pkgs/games/pysolfc/pysolfc-datadir.patch
new file mode 100644
index 000000000000..d9f1cf4e09f5
--- /dev/null
+++ b/pkgs/games/pysolfc/pysolfc-datadir.patch
@@ -0,0 +1,19 @@
+diff --git a/pysollib/util.py b/pysollib/util.py
+index 8de3f00..26f4bc7 100644
+--- a/pysollib/util.py
++++ b/pysollib/util.py
+@@ -110,13 +110,7 @@ class DataLoader:
+         head, tail = os.path.split(argv0)
+         if not head:
+             head = os.curdir
+-        # dir where placed startup script
+-        path.append(head)
+-        path.append(os.path.join(head, "data"))
+-        path.append(os.path.join(head, os.pardir, "data"))
+-        # dir where placed pysol package
+-        path.append(os.path.join(sys.path[0], "data"))
+-        path.append(os.path.join(sys.path[0], "pysollib", "data"))
++        path.append(os.path.join(head, "..", "share", "PySolFC"))
+         # from settings.py
+         path.extend(DATA_DIRS)
+         # check path for valid directories
diff --git a/pkgs/games/solarus/default.nix b/pkgs/games/solarus/default.nix
index 32142a2834e3..6f7876e48723 100644
--- a/pkgs/games/solarus/default.nix
+++ b/pkgs/games/solarus/default.nix
@@ -5,18 +5,20 @@
 stdenv.mkDerivation rec {
   name = "solarus-${version}";
   version = "1.4.5";
-    
+
   src = fetchFromGitHub {
     owner = "christopho";
     repo = "solarus";
     rev = "d9fdb9fdb4e1b9fc384730a9279d134ae9f2c70e";
     sha256 = "0xjx789d6crm322wmkqyq9r288vddsha59yavhy78c4r01gs1p5v";
   };
-  
+
   buildInputs = [ cmake luajit SDL2
     SDL2_image SDL2_ttf physfs
     openal libmodplug libvorbis ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A Zelda-like ARPG game engine";
     longDescription = ''
@@ -28,5 +30,5 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.Nate-Devv ];
     platforms = platforms.linux;
   };
-  
+
 }
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 14b9b424345d..159f1faf096b 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -7,11 +7,11 @@ in
 
 stdenv.mkDerivation rec {
 
-  name = "stockfish-7";
+  name = "stockfish-8";
 
   src = fetchurl {
     url = "https://stockfish.s3.amazonaws.com/${name}-src.zip";
-    sha256 = "0djzg3h5d9qs27snf0rr6zl6iaki1jb84v8m8k3c2lcjbj2vpwc9";
+    sha256 = "1sachz41kbni88yjxwv5y4vl0gjbnyqvp1kpdm7v56k43zr3dbbv";
   };
 
   buildInputs = [ unzip ];
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/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index 66833ceb2104..d3128210a1be 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.wesnoth.org/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ kkallio abbradar ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index 3577f5b38b0a..2634b7128719 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
         --replace /usr/include/libusb-1.0 \
                   ${libusb.dev}/include/libusb-1.0
       ./autogen.sh --prefix=$out --enable-progpath=$out/bin \
+                   --datadir=$out/share \
                    --enable-libdir=/var/cache/cups
       make
     )
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
new file mode 100644
index 000000000000..2856aee4a5d2
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
@@ -0,0 +1,150 @@
+{ stdenv, lib, fetchzip,
+  autoconf, automake, libtool,
+  cups, popt, libtiff, libpng,
+  ghostscript, glib, libusb, libxml2 }:
+
+/* this derivation is basically just a transcription of the rpm .spec
+   file included in the tarball */
+
+let arch = 
+  if stdenv.system == "x86_64-linux" then "64"
+    else if stdenv.system == "i686-linux" then "32"
+    else abort "Unsupported architecture";
+
+in stdenv.mkDerivation rec {
+  name = "cnijfilter-${version}";
+
+  /* important note about versions: cnijfilter packages seem to use
+     versions in a non-standard way.  the version indicates which
+     printers are supported in the package.  so this package should
+     not be "upgraded" in the usual way.
+
+     instead, if you want to include another version supporting your
+     printer, you should try to abstract out the common things (which
+     should be pretty much everything except the version and the 'pr'
+     and 'pr_id' values to loop over). */
+  version = "4.00";
+
+  src = fetchzip {
+    url = "http://gdlp01.c-wss.com/gds/5/0100005515/01/cnijfilter-source-4.00-1.tar.gz";
+    sha256 = "1f6vpx1z3qa88590i5m0s49j9n90vpk81xmw6pvj0nfd3qbvzkya";
+  };
+
+  buildInputs = [ autoconf libtool automake
+                  cups popt libtiff libpng
+                  ghostscript glib libusb libxml2 ];
+
+  # patches from https://github.com/tokiclover/bar-overlay/tree/master/net-print/cnijfilter
+  patches = [
+    ./patches/cnijfilter-3.80-1-cups-1.6.patch
+    ./patches/cnijfilter-3.80-6-cups-1.6.patch
+    ./patches/cnijfilter-4.00-4-ppd.patch
+    ./patches/cnijfilter-4.00-5-abi_x86_32.patch
+    ./patches/cnijfilter-4.00-6-headers.patch
+  ];
+
+  postPatch = ''
+    sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backend/src/Makefile.am;
+    sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backendnet/backend/Makefile.am;
+    sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" cnijbe/src/Makefile.am;
+    sed -i "s|/usr|$out|" backend/src/cnij_backend_common.c;
+    sed -i "s|/usr/bin|${ghostscript}/bin|" pstocanonij/filter/pstocanonij.c;
+  '';
+
+  configurePhase = ''
+    cd libs
+    ./autogen.sh --prefix=$out 
+
+    cd ../bscc2sts
+    ./autogen.sh 
+
+    cd ../cnijnpr
+    ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib
+
+    cd ../cngpij
+    ./autogen.sh --prefix=$out --enable-progpath=$out/bin
+
+    cd ../cngpijmnt
+    ./autogen.sh --prefix=$out --enable-progpath=$out/bin
+
+    cd ../pstocanonij
+    ./autogen.sh --prefix=$out --enable-progpath=$out/bin 
+
+    cd ../backend
+    ./autogen.sh --prefix=$out
+
+    cd ../backendnet
+    ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib --enable-progpath=$out/bin 
+
+    cd ../cmdtocanonij
+    ./autogen.sh --prefix=$out --datadir=$out/share
+
+    cd ../cnijbe
+    ./autogen.sh --prefix=$out --enable-progpath=$out/bin 
+
+    cd ../lgmon2
+    substituteInPlace src/Makefile.am \
+        --replace /usr/include/libusb-1.0 \
+                  ${libusb.dev}/include/libusb-1.0
+    ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib --enable-progpath=$out/bin 
+
+    cd ..;
+
+    sed -e "s,cnijlgmon2_LDADD =,cnijlgmon2_LDADD = -L../../com/libs_bin${arch}," \
+    -i lgmon2/src/Makefile.am || die
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin $out/lib/cups/filter $out/share/cups/model;
+  '';
+
+  postInstall = ''
+    set -o xtrace
+    for pr in mg2400 mg2500 mg3500 mg5500 mg6400 mg6500 mg7100 p200; do
+      cd ppd;
+      ./autogen.sh --prefix=$out --program-suffix=$pr
+      make clean;
+      make;
+      make install;
+
+      cd ../cnijfilter;
+      ./autogen.sh --prefix=$out --program-suffix=$pr --enable-libpath=/var/lib/cups/path/lib/bjlib --enable-binpath=$out/bin;
+      make clean;
+      make;
+      make install;
+
+      cd ..;
+    done;
+
+    mkdir -p $out/lib/bjlib;
+    for pr_id in 423 424 425 426 427 428 429 430; do
+      install -c -m 755 $pr_id/database/* $out/lib/bjlib;
+      install -c -s -m 755 $pr_id/libs_bin${arch}/*.so.* $out/lib;
+    done;
+
+    pushd $out/lib;
+    for so_file in *.so.*; do
+      ln -s $so_file ''${so_file/.so.*/}.so;
+      patchelf --set-rpath $out/lib $so_file;
+    done;
+    popd;
+  '';
+
+  /* the tarball includes some pre-built shared libraries.  we run
+     'patchelf --set-rpath' on them just a few lines above, so that
+     they can find each other.  but that's not quite enough.  some of
+     those libraries load each other in non-standard ways -- they
+     don't list each other in the DT_NEEDED section.  so, if the
+     standard 'patchelf --shrink-rpath' (from
+     pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on
+     them, it undoes the --set-rpath.  this prevents that. */
+  dontPatchELF = true;
+
+  meta = with lib; {
+    description = "Canon InkJet printer drivers for the MG2400 MG2500 MG3500 MG5500 MG6400 MG6500 MG7100 and P200 series.";
+    homepage = https://www.canon-europe.com/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_mg_series/pixma_mg5550.aspx?type=drivers&driverdetailid=tcm:13-1094072;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ chpatrick ];
+  };
+}
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch
new file mode 100644
index 000000000000..dfc0bb2268cb
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch
@@ -0,0 +1,62 @@
+--- a/cngpij/cngpij/bjcups.c
++++ a/cngpij/cngpij/bjcups.c
+@@ -698,8 +719,8 @@
+ 	else {
+ 		pRequest = ippNew();
+ 		
+-		pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
+-		pRequest->request.op.request_id   = 1;
++		ippSetOperation(pRequest, CUPS_GET_PRINTERS);
++		ippSetRequestId(pRequest, 1);
+ 		
+ 		pLanguage = bjcupsLangDefault();	// cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19
+ 		
+@@ -708,29 +729,29 @@
+ 		ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL);
+ 		
+ 		if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) {
+-			if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
++			if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) {
+ 				fputs("ERROR: IPP ERROR\n", stderr);
+ 				goto onErr;
+ 			}
+ 			else {
+-				pAttribute = pResponse->attrs;
++				pAttribute = ippFirstAttribute(pResponse);
+ 
+ 				while (pAttribute != NULL) {
+-					while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
+-						pAttribute = pAttribute->next;
++					while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) {
++						pAttribute = ippNextAttribute(pResponse);
+ 					}
+ 					if (pAttribute == NULL) {
+ 						break;
+ 					}
+ 					
+-					while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
+-						if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
+-							pPrinter = pAttribute->values[0].string.text;
++					while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) {
++						if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) {
++							pPrinter = ippGetString(pAttribute, 0, NULL);
+ 						}
+-						if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
+-							pDUri = pAttribute->values[0].string.text;
++						if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) {
++							pDUri = ippGetString(pAttribute, 0, NULL);
+ 						}
+-						pAttribute = pAttribute->next;
++						pAttribute = ippNextAttribute(pResponse);
+ 					}
+ 
+ 					if (strcasecmp(pDestName, pPrinter) == 0) {
+@@ -739,7 +760,7 @@
+ 					}
+ 					
+ 					if (pAttribute != NULL)
+-						 pAttribute = pAttribute->next;
++						pAttribute = ippNextAttribute(pResponse);
+ 				}
+ 			}
+
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch
new file mode 100644
index 000000000000..6b51d4837d45
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch
@@ -0,0 +1,87 @@
+diff --git a/cngpijmnt/src/getipc.c b/cngpijmnt/src/getipc.c
+index 8688032..54c7933 100755
+--- a/cngpijmnt/src/getipc.c
++++ b/cngpijmnt/src/getipc.c
+@@ -42,7 +42,7 @@ int GetIPCData(LPIPCU pipc, char *sname)
+ 	int server_fd;
+ 	int client_fd;
+ 	char buf[128];
+-	size_t len;
++	socklen_t len;
+ 	short ret = RET_ERROR;
+ 
+ 	if( (server_fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0 )
+
+--- a/cngpijmnt/src/main.c	2016-11-12 23:39:03.534855723 +0100
++++ b/cngpijmnt/src/main.c	2016-11-12 23:47:02.521847145 +0100
+@@ -308,8 +308,8 @@
+ 					*pResponse;					// Pointer to CUPS IPP response.
+ 	ipp_attribute_t	*pAttribute;				// Pointer to CUPS attributes.
+ 	cups_lang_t		*pLanguage;					// Pointer to language.
+-	char			*pPrinter = NULL;			// Pointer to printer name.
+-	char			*pDUri = NULL;				// Pointer to Device uri.
++	const char			*pPrinter = NULL;			// Pointer to printer name.
++	const char			*pDUri = NULL;				// Pointer to Device uri.
+ 	short			retVal = -1;	// Return value.
+ /*** Parameters end ***/
+ 	
+@@ -321,8 +321,8 @@
+ 	else {
+ 		pRequest = ippNew();
+ 		
+-		pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
+-		pRequest->request.op.request_id   = 1;
++		ippSetOperation(pRequest, CUPS_GET_PRINTERS);
++		ippSetRequestId(pRequest, 1);
+ 		
+ 		pLanguage = bjcupsLangDefault();	// cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19
+ 		
+@@ -331,29 +331,29 @@
+ 		ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL);
+ 		
+ 		if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) {
+-			if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
++			if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) {
+ 				fputs("ERROR: IPP ERROR\n", stderr);
+ 				goto onErr;
+ 			}
+ 			else {
+-				pAttribute = pResponse->attrs;
++				pAttribute = ippFirstAttribute(pResponse);
+ 
+ 				while (pAttribute != NULL) {
+-					while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
+-						pAttribute = pAttribute->next;
++					while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) {
++						pAttribute = ippNextAttribute(pResponse);
+ 					}
+ 					if (pAttribute == NULL) {
+ 						break;
+ 					}
+ 					
+-					while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
+-						if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
+-							pPrinter = pAttribute->values[0].string.text;
++					while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) {
++						if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) {
++							pPrinter = ippGetString(pAttribute, 0, NULL);
+ 						}
+-						if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
+-							pDUri = pAttribute->values[0].string.text;
++						if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) {
++							pDUri = ippGetString(pAttribute, 0, NULL);
+ 						}
+-						pAttribute = pAttribute->next;
++						pAttribute = ippNextAttribute(pResponse);
+ 					}
+ 
+ 					if (strcasecmp(pDestName, pPrinter) == 0) {
+@@ -362,7 +362,7 @@
+ 					}
+ 					
+ 					if (pAttribute != NULL)
+-						 pAttribute = pAttribute->next;
++						 pAttribute = ippNextAttribute(pResponse);
+ 				}
+ 			}
+ 			
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch
new file mode 100644
index 000000000000..92bef72ba056
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch
@@ -0,0 +1,10 @@
+--- a/backend/src/cnij_backend_common.c	2016-11-13 00:08:34.600824006 +0100
++++ a/backend/src/cnij_backend_common.c	2016-11-13 00:08:52.037823694 +0100
+@@ -37,6 +37,7 @@
+ // CUPS Header
+ #include <cups/cups.h>
+ #include <cups/ipp.h>
++#include <cups/ppd.h>
+ 
+ // Header file for CANON
+ #include "cnij_backend_common.h"
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch
new file mode 100644
index 000000000000..dc85801a256b
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch
@@ -0,0 +1,45 @@
+--- a/backendnet/configure.in	2014-08-11 08:38:46.034984462 +0200
++++ a/backendnet/configure.in	2014-08-11 08:35:42.902985813 +0200
+@@ -19,7 +19,11 @@
+ AC_DEFINE_UNQUOTED(BJLIB_PATH, "$enable_libpath")
+ AC_SUBST(BJLIB_PATH)
+ 
+-ARC=`getconf LONG_BIT`
++case "$ABI" in
++    x86) ARC=32;;
++    amd64) ARC=64;;
++    *) ARC=`getconf LONG_BIT`;;
++esac
+ AC_SUBST(ARC)
+ 
+ # Checks for programs.
+--- a/cnijfilter/configure.in	2014-08-11 08:39:44.426984031 +0200
++++ a/cnijfilter/configure.in	2014-08-11 08:35:19.788985984 +0200
+@@ -43,7 +43,11 @@
+ esac
+ AC_SUBST(CNCL_LIB_ID)
+ 
+-ARC=`getconf LONG_BIT`
++case "$ABI" in
++    x86) ARC=32;;
++    amd64) ARC=64;;
++    *) ARC=`getconf LONG_BIT`;;
++esac
+ AC_SUBST(ARC)
+ 
+ AC_PROG_CC
+--- a/cnijnpr/configure.in	2014-08-11 08:41:12.712983380 +0200
++++ a/cnijnpr/configure.in	2014-08-11 08:40:44.354983589 +0200
+@@ -37,7 +37,11 @@
+ 
+ CFLAGS="-O2"
+ 
+-ARC=`getconf LONG_BIT`
++case "$ABI" in
++    x86) ARC=32;;
++    amd64) ARC=64;;
++    *) ARC=`getconf LONG_BIT`;;
++esac
+ AC_SUBST(ARC)
+ 
+ AC_OUTPUT(Makefile
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch
new file mode 100644
index 000000000000..7dba79995114
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch
@@ -0,0 +1,11 @@
+--- a/cnijnpr/src/cnijnpr.c	2016-11-13 21:51:33.844977618 +0100
++++ a/cnijnpr/src/cnijnpr.c	2016-11-13 21:52:03.129977094 +0100
+@@ -34,6 +34,8 @@
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+ #include <sys/sysctl.h>
++#include <sys/types.h>
++#include <unistd.h>
+ #include <config.h>
+ #include <fcntl.h>
+ 
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 7917d1e36160..3a46414512cf 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -1,6 +1,6 @@
 # this package was called gimp-print in the past
-{ stdenv, lib, fetchurl, pkgconfig
-, ijs, makeWrapper
+{ stdenv, lib, fetchurl, makeWrapper, pkgconfig
+, ijs, zlib
 , gimp2Support ? false, gimp
 , cupsSupport ? true, cups, libusb, perl
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs =
-    [ ijs ]
+    [ ijs zlib ]
     ++ lib.optionals gimp2Support [ gimp.gtk gimp ]
     ++ lib.optionals cupsSupport [ cups libusb perl ];
 
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/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index 75331e0e09a2..87e619358c8c 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -10,12 +10,12 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "higan-${version}";
-  version = "105";
+  version = "106";
   sourceName = "higan_v${version}-source";
 
   src = fetchurl {
     urls = [ "http://download.byuu.org/${sourceName}.7z" ];
-    sha256 = "1lpj345vlnwcywhzq1fzxwl08zc2x4d103rgyyp7yw8m0f8f9sdl";
+    sha256 = "063dzp9wrdnbvagraxi31xg0154y2gf67rrd0mnc8h104cgzjr35";
     curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
   };
 
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
           Game Boy, Game Boy Color, Game Boy Advance;
         - Sega's Master System, Game Gear, Mega Drive;
         - NEC's PC Engine, SuperGrafx;
-        - Bandai' WonderSwan, WonderSwan Color.
+        - Bandai's WonderSwan, WonderSwan Color.
     '';
     homepage = https://byuu.org/higan/;
     license = licenses.gpl3Plus;
diff --git a/pkgs/misc/emulators/openmsx/custom-nixos.mk b/pkgs/misc/emulators/openmsx/custom-nixos.mk
new file mode 100644
index 000000000000..9098762e40d5
--- /dev/null
+++ b/pkgs/misc/emulators/openmsx/custom-nixos.mk
@@ -0,0 +1,9 @@
+# This file substitutes $sourceRoot/build/custom.mk
+
+VERSION_EXEC:=false
+SYMLINK_FOR_BINARY:=false
+INSTALL_CONTRIB:=true
+INSTALL_BASE:=${out}
+INSTALL_DOC_DIR:=${INSTALL_BASE}/share/doc/openmsx
+INSTALL_SHARE_DIR:=${INSTALL_BASE}/share/openmsx
+INSTALL_BINARY_DIR:=${INSTALL_BASE}/bin
diff --git a/pkgs/misc/emulators/openmsx/default.nix b/pkgs/misc/emulators/openmsx/default.nix
new file mode 100644
index 000000000000..bb954582de5d
--- /dev/null
+++ b/pkgs/misc/emulators/openmsx/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, pkgconfig
+, python
+, alsaLib, glew, mesa_noglu, libpng
+, libogg, libtheora, libvorbis
+, SDL, SDL_image, SDL_ttf
+, freetype, tcl, zlib
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "openmsx-${version}";
+  version = "git-2017-11-02";
+
+  src = fetchFromGitHub {
+    owner = "openMSX";
+    repo = "openMSX";
+    rev = "eeb74206ae347a3b17e9b99f91f2b4682c5db22c";
+    sha256 = "170amj7k6wjhwx6psbplqljvckvhxxbv3aw72jrdxl1fb8zlnq3s";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig python ];
+
+  buildInputs = [ alsaLib glew mesa_noglu libpng
+    libogg libtheora libvorbis freetype
+    SDL SDL_image SDL_ttf tcl zlib ];
+
+  postPatch = ''
+    cp ${./custom-nixos.mk} build/custom.mk
+  '';
+
+  dontAddPrefix = true;
+
+  # Many thanks @mthuurne from OpenMSX project
+  # for providing support to Nixpkgs :)
+  TCL_CONFIG="${tcl}/lib/";
+
+  meta = with stdenv.lib; {
+    description = "A MSX emulator";
+    longDescription = ''
+      OpenMSX is an emulator for the MSX home computer system. Its goal is
+      to emulate all aspects of the MSX with 100% accuracy.
+    '';
+    homepage = https://openmsx.org;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index c2ec16081e86..605cb7261a2e 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -16,7 +16,8 @@ let
 
     buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
 
-    buildPhase = "make -f Makefile.libretro";
+    makefile = "Makefile.libretro";
+
     installPhase = ''
       COREDIR="$out/lib/retroarch/cores"
       mkdir -p $out/bin
@@ -26,6 +27,8 @@ let
         --add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
     '';
 
+    enableParallelBuilding = true;
+
     passthru = {
       core = core;
       libretroCore = "/lib/retroarch/cores";
@@ -201,7 +204,7 @@ in
     description = "Enhanced Genesis Plus libretro port";
   };
 
-  mame = mkLibRetroCore {
+  mame = (mkLibRetroCore {
     core = "mame";
     src = fetchRetro {
       repo = "mame";
@@ -211,6 +214,12 @@ in
     description = "Port of MAME to libretro";
 
     extraBuildInputs = [ alsaLib mesa portaudio python27 xorg.libX11 ];
+  }).override {
+    postPatch = ''
+      # Prevent the failure during the parallel building of:
+      # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
+      mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
+    '';
   };
 
   mgba = mkLibRetroCore rec {
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/misc/emulators/retrofe/default.nix
index 5f921c5a9231..ffc494dad4ca 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/misc/emulators/retrofe/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram "$out/bin/retrofe" \
       --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --set    RETROFE_PATH      "\''${RETROFE_PATH:-\$PWD}"
+      --run 'export RETROFE_PATH=''${RETROFE_PATH:-$PWD}'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 2eb7b722e827..39bd26714e78 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -32,15 +32,15 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "2.19";
+    version = "2.21";
     url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
-    sha256 = "15b0lvs456zjh5wwkhs9wh1ycih12ragk6170hnrrbkmk3k32wa8";
+    sha256 = "1vxbnikdpsmca3nx064mqrm83xpjsfshy25mdfxmyg5vrzl09yms";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "16jps0x4srxnpdy3vxygvspz7qpd09i83c6j6kg8vv4qkna2lswi";
+    sha256 = "1qznp4kgss4mhk1vvr91jmszsi47xg312r64l76jkgwijhypmvb7";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
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/uboot/default.nix b/pkgs/misc/uboot/default.nix
index a69bf2ceac7b..199e4bd896d7 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bc, dtc, python2
+{ stdenv, fetchurl, fetchpatch, bc, dtc, python2
 , hostPlatform
 }:
 
@@ -12,21 +12,38 @@ let
            stdenv.mkDerivation (rec {
 
     name = "uboot-${defconfig}-${version}";
-    version = "2017.03";
+    version = "2017.11";
 
     src = fetchurl {
       url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "0gqihplap05dlpwdb971wsqyv01nz2vabwq5g5649gr5jczsyjzm";
+      sha256 = "01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba";
     };
 
-    nativeBuildInputs = [ bc dtc python2 ];
-
-    hardeningDisable = [ "all" ];
+    patches = [
+      (fetchpatch {
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch1.patch;
+        sha256 = "067yq55vv1slv4xy346px7h329pi14abdn04chg6s1s6hmf6c1x9";
+      })
+      (fetchpatch {
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch2.patch;
+        sha256 = "0bbw0q027xvzvdxxvpzjajg4rm30a8mb7z74b6ma9q0l7y7bi0c4";
+      })
+      (fetchpatch {
+        url = https://github.com/dezgeg/u-boot/commit/pythonpath-2017-11.patch;
+        sha256 = "162b2lglp307pzxsf9m7nnmzwxqd7xkwp5j85bm6bg1a38ngpl9v";
+      })
+    ];
 
     postPatch = ''
       patchShebangs tools
     '';
 
+    nativeBuildInputs = [ bc dtc python2 ];
+
+    hardeningDisable = [ "all" ];
+
+    makeFlags = [ "DTC=dtc" ];
+
     configurePhase = ''
       make ${defconfig}
     '';
@@ -46,7 +63,7 @@ let
     crossAttrs = {
       makeFlags = [
         "ARCH=${hostPlatform.platform.kernelArch}"
-        "CROSS_COMPILE=${stdenv.cc.prefix}"
+        "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
       ];
     };
 
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index a9468e5356df..ffe77f14fcd7 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -5,6 +5,8 @@
 , python3, boost, icu
 , ycmd, makeWrapper, rake
 , pythonPackages, python3Packages
+, substituteAll
+, languagetool
 , Cocoa ? null, git
 }:
 
@@ -1405,7 +1407,16 @@ rec {
       sha256 = "1mm8hd39q2sl4hi83c4zvrl27a8djr1pv35ch0pivg84ad9p7qq5";
     };
     dependencies = [];
-
+    # use `:GrammarousCheck` to initialize checking
+    # In neovim, you also want to use set
+    #   let g:grammarous#show_first_error = 1
+    # see https://github.com/rhysd/vim-grammarous/issues/39
+    patches = [
+      (substituteAll {
+        src = ./patches/vim-grammarous/set_default_languagetool.patch;
+        inherit languagetool;
+      })
+    ];
   };
 
   vim-puppet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
diff --git a/pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch b/pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch
new file mode 100644
index 000000000000..72c928d1a971
--- /dev/null
+++ b/pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch
@@ -0,0 +1,11 @@
+--- vim-grammarous-51ef519.org/autoload/grammarous.vim	1970-01-01 01:00:01.000000000 +0100
++++ vim-grammarous-51ef519/autoload/grammarous.vim	2017-11-21 16:33:27.473403322 +0000
+@@ -22,7 +22,7 @@
+ let g:grammarous#enable_spell_check              = get(g:, 'grammarous#enable_spell_check', 0)
+ let g:grammarous#move_to_first_error             = get(g:, 'grammarous#move_to_first_error', 1)
+ let g:grammarous#hooks                           = get(g:, 'grammarous#hooks', {})
+-let g:grammarous#languagetool_cmd                = get(g:, 'grammarous#languagetool_cmd', '')
++let g:grammarous#languagetool_cmd                = get(g:, 'grammarous#languagetool_cmd', '@languagetool@/bin/languagetool-commandline')
+ let g:grammarous#show_first_error                = get(g:, 'grammarous#show_first_error', 0)
+ 
+ highlight default link GrammarousError SpellBad
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/vim-grammarous b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/vim-grammarous
new file mode 100644
index 000000000000..66a91b619d16
--- /dev/null
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/vim-grammarous
@@ -0,0 +1,10 @@
+    # use `:GrammarousCheck` to initialize checking
+    # In neovim, you also want to use set
+    #   let g:grammarous#show_first_error = 1
+    # see https://github.com/rhysd/vim-grammarous/issues/39
+    patches = [
+      (substituteAll {
+        src = ./patches/vim-grammarous/set_default_languagetool.patch;
+        inherit languagetool;
+      })
+    ];
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 9a6624104f45..5a58410ae926 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -198,23 +198,29 @@ in rec {
   };
 
   overrides = super: {
-    QuartzCore = stdenv.lib.overrideDerivation super.QuartzCore (drv: {
-      installPhase = drv.installPhase + ''
-        f="$out/Library/Frameworks/QuartzCore.framework/Headers/CoreImage.h"
-        substituteInPlace "$f" \
-          --replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage"
-      '';
+    AppKit = stdenv.lib.overrideDerivation super.AppKit (drv: {
+      __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [
+        "/System/Library/PrivateFrameworks/"
+      ];
     });
 
-    CoreServices = stdenv.lib.overrideDerivation super.CoreServices (drv: {
-      __propagatedSandboxProfile = drv.__propagatedSandboxProfile ++ [''
-        (allow mach-lookup (global-name "com.apple.CoreServices.coreservicesd"))
-      ''];
+    CoreMedia = stdenv.lib.overrideDerivation super.CoreMedia (drv: {
+      __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [
+        "/System/Library/Frameworks/CoreImage.framework"
+      ];
     });
 
     Security = stdenv.lib.overrideDerivation super.Security (drv: {
       setupHook = ./security-setup-hook.sh;
     });
+
+    QuartzCore = stdenv.lib.overrideDerivation super.QuartzCore (drv: {
+      installPhase = drv.installPhase + ''
+        f="$out/Library/Frameworks/QuartzCore.framework/Headers/CoreImage.h"
+        substituteInPlace "$f" \
+          --replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage"
+      '';
+    });
   };
 
   bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix {
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix
index 8dcf28a59094..7fd32a64fe57 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix
@@ -1,25 +1,23 @@
 { stdenv, appleDerivation }:
 
 appleDerivation {
-  postUnpack = ''
-    substituteInPlace $sourceRoot/Makefile \
-      --replace "/usr/lib" "/lib" \
-      --replace "/usr/local/lib" "/lib" \
-      --replace "/usr/bin" "" \
-      --replace "/bin/" "" \
+  prePatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/lib /lib \
+      --replace /usr/local/lib /lib \
+      --replace /usr/bin "" \
+      --replace /bin/ "" \
       --replace "CC = " "CC = cc #" \
-      --replace "SDK_DIR = " "SDK_DIR = . #"
-  '';
-
-  # Mac OS didn't support rpaths back before 10.5, and this package intentionally builds stubs targeting versions prior to that
-  NIX_DONT_SET_RPATH = "1";
-  NIX_NO_SELF_RPATH  = "1";
+      --replace "SDK_DIR = " "SDK_DIR = . #" \
 
-  installPhase = ''
-    export DSTROOT=$out
-    make install
+    # Mac OS didn't support rpaths back before 10.5, but we don't care about it.
+    substituteInPlace Makefile \
+      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.6 \
+      --replace -mmacosx-version-min=10.5 -mmacosx-version-min=10.6
   '';
 
+  installFlags = [ "DSTROOT=$(out)" ];
+
   meta = with stdenv.lib; {
     description = "Apple's common startup stubs for darwin";
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index 3d7e59f15547..28406c9751dc 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -23,7 +23,7 @@ appleDerivation rec {
       (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
     done
 
-    (cd ${cctools}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
+    (cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
 
     cat <<EOF > $out/include/TargetConditionals.h
     #ifndef __TARGETCONDITIONALS__
diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
index 2b31b0420402..20168d24dd71 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
@@ -8,10 +8,6 @@ appleDerivation {
 
   propagatedBuildInputs = [ Security ];
 
-  propagatedSandboxProfile = ''
-    (allow mach-lookup (global-name "com.apple.SystemConfiguration.configd"))
-  '';
-
   patchPhase = ''
     HACK=$PWD/hack
     mkdir $HACK
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 965632b5788d..478f9e7e303f 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -42,6 +42,7 @@ let
       adv_cmds      = "163";
       file_cmds     = "264.1.1";
       shell_cmds    = "187";
+      system_cmds   = "550.6";
     };
     "osx-10.11.5" = {
       Libc          = "1082.50.1"; # 10.11.6 still unreleased :/
@@ -240,6 +241,7 @@ let
     network_cmds    = applePackage "network_cmds"      "osx-10.11.6"     "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {};
     file_cmds       = applePackage "file_cmds"         "osx-10.11.6"     "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {};
     shell_cmds      = applePackage "shell_cmds"        "osx-10.11.6"     "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {};
+    system_cmds     = applePackage "system_cmds"       "osx-10.11.6"     "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {};
 
     libsecurity_apple_csp      = libsecPackage "libsecurity_apple_csp"      "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {};
     libsecurity_apple_cspdl    = libsecPackage "libsecurity_apple_cspdl"    "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix
new file mode 100644
index 000000000000..2247ef3ddd2f
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, appleDerivation, xcbuild }:
+
+appleDerivation rec {
+  # xcbuild fails with:
+  # /nix/store/fc0rz62dh8vr648qi7hnqyik6zi5sqx8-xcbuild-wrapper/nix-support/setup-hook: line 1:  9083 Segmentation fault: 11  xcodebuild OTHER_CFLAGS="$NIX_CFLAGS_COMPILE" OTHER_CPLUSPLUSFLAGS="$NIX_CFLAGS_COMPILE" OTHER_LDFLAGS="$NIX_LDFLAGS" build
+  # buildInputs = [ xcbuild ];
+
+  # # temporary install phase until xcodebuild has "install" support
+  # installPhase = ''
+  #   mkdir -p $out/bin/
+  #   install system_cmds-*/Build/Products/Release/* $out/bin/
+
+  #   for n in 1 5 8; do
+  #     mkdir -p $out/share/man/man$n
+  #     install */*.$n $out/share/man/man$n
+  #   done
+  # '';
+
+  # For now we just build sysctl because that's all I need... Please open a
+  # PR if you need any other utils before we fix the xcodebuild.
+  buildPhase = "cc sysctl.tproj/sysctl.c -o sysctl";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      install sysctl $out/bin
+      for n in 5 8; do
+        mkdir -p $out/share/man/man$n
+        install sysctl.tproj/*.$n $out/share/man/man$n
+      done
+    '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ shlevy ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
index 0ce9c54e48c4..2c7da5be6e4c 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl }:
+{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl, python }:
 
 appleDerivation {
   phases = [ "unpackPhase" "patchPhase" "installPhase" ];
 
-  buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl ];
+  buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ];
 
   patchPhase = ''
     substituteInPlace Makefile \
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 5fc0db44f860..613606b50358 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -3,24 +3,24 @@
 }:
 
 # Make sure both underlying packages claim to have prepended their binaries
-# with the same prefix.
-assert binutils-raw.prefix == cctools.prefix;
+# with the same targetPrefix.
+assert binutils-raw.targetPrefix == cctools.targetPrefix;
 
 let
-  inherit (binutils-raw) prefix;
+  inherit (binutils-raw) targetPrefix;
   cmds = [
     "ar" "ranlib" "as" "dsymutil" "install_name_tool"
     "ld" "strip" "otool" "lipo" "nm" "strings" "size"
   ];
 in
 
-# TODO loop over prefixed binaries too
+# TODO loop over targetPrefixed binaries too
 stdenv.mkDerivation {
-  name = "${prefix}cctools-binutils-darwin";
+  name = "${targetPrefix}cctools-binutils-darwin";
   buildCommand = ''
     mkdir -p $out/bin $out/include
 
-    ln -s ${binutils-raw.out}/bin/${prefix}c++filt $out/bin/${prefix}c++filt
+    ln -s ${binutils-raw.out}/bin/${targetPrefix}c++filt $out/bin/${targetPrefix}c++filt
 
     # We specifically need:
     # - ld: binutils doesn't provide it on darwin
@@ -33,26 +33,17 @@ stdenv.mkDerivation {
     # - strip: the binutils one seems to break mach-o files
     # - lipo: gcc build assumes it exists
     # - nm: the gnu one doesn't understand many new load commands
-    for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: prefix + e) cmds)}; do
+    for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: targetPrefix + e) cmds)}; do
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
-    for i in ${stdenv.lib.getDev binutils-raw}/include/*.h; do
-      ln -s "$i" "$out/include/$(basename $i)"
-    done
-
-    for i in ${cctools}/include/*; do
-      ln -s "$i" "$out/include/$(basename $i)"
-    done
-
     # FIXME: this will give us incorrect man pages for bits of cctools
     ln -s ${binutils-raw.out}/share $out/share
-    ln -s ${binutils-raw.out}/lib $out/lib
 
     ln -s ${cctools}/libexec $out/libexec
   '';
 
   passthru = {
-    inherit prefix;
+    inherit targetPrefix;
   };
 }
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index 1f2e7c143780..bcca11d66b19 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -5,9 +5,9 @@
 }:
 
 let
-  # The prefix prepended to binary names to allow multiple binuntils on the
+  # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
-  prefix = stdenv.lib.optionalString
+  targetPrefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
 in
@@ -19,7 +19,7 @@ assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
 
 let
   baseParams = rec {
-    name = "${prefix}cctools-port-${version}";
+    name = "${targetPrefix}cctools-port-${version}";
     version = "895";
 
     src = fetchFromGitHub {
@@ -29,6 +29,8 @@ let
       sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52";
     };
 
+    outputs = [ "out" "dev" ];
+
     nativeBuildInputs = [ autoconf automake libtool_2 ];
     buildInputs = [ libuuid ] ++
       # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
@@ -39,9 +41,15 @@ let
       ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch
     ];
 
+    __propagatedImpureHostDeps = [
+      # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
+      "/usr/lib/libobjc.A.dylib"
+      "/usr/lib/libobjc.dylib"
+    ];
+
     enableParallelBuilding = true;
 
-    # TODO(@Ericson2314): Always pass "--target" and always prefix.
+    # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
     configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
     configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [
       "CXXFLAGS=-I${libcxx}/include/c++/v1"
@@ -105,7 +113,7 @@ let
       '';
 
     passthru = {
-      inherit prefix;
+      inherit targetPrefix;
     };
 
     meta = {
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 8a6eb77e6b1e..5b0d404faaf0 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.1.4.1";
+  name = "alsa-lib-1.1.5";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi";
+    sha256 = "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index ae0aaa3cb638..dc11d21ff1cb 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, lib, pkgconfig, alsaLib, libogg, libpulseaudio ? null, libjack2 ? null }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-plugins-1.1.4";
+  name = "alsa-plugins-1.1.5";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"
       "http://alsa.cybermirror.org/plugins/${name}.tar.bz2"
     ];
-    sha256 = "12hsvm6rpinjkg06pa9hzndkdrbfw6wk6yk00cm8y1gbv8xiq3ak";
+    sha256 = "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr";
   };
 
   # ToDo: a52, etc.?
diff --git a/pkgs/os-specific/linux/alsa-tools/default.nix b/pkgs/os-specific/linux/alsa-tools/default.nix
index 940dde1f75dd..d1cae06d7fff 100644
--- a/pkgs/os-specific/linux/alsa-tools/default.nix
+++ b/pkgs/os-specific/linux/alsa-tools/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "alsa-tools-${version}";
-  version = "1.1.3";
+  version = "1.1.5";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/tools/${name}.tar.bz2"
       "http://alsa.cybermirror.org/tools/${name}.tar.bz2"
     ];
-    sha256 = "02b75fyfmm9m2iz59d3xa97cas4f697a4pzdxn1i64kjd36iv3yq";
+    sha256 = "0d6m5dm5yskfr6q42cv1ihp5lfgv4a67nj39gpp26ll3vrknag5w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index 4cb4af5ca724..c9b5b0d2e2dc 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "alsa-utils-${version}";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"
       "http://alsa.cybermirror.org/utils/${name}.tar.bz2"
     ];
-    sha256 = "17cxih9ibjp1193dyd79j50pyfa9dvrs6r9kpwrvzicjvr2110x7";
+    sha256 = "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index ffc723e55d26..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 = "20171107";
+  version = "20171113";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "17al46an6yhjdpz9gxcxzv3zgzjy5c8yn89jwnjdhbq0gkw28nsy";
+    sha256 = "11gcnk6wjc2sw05hwi4xphvx9ksmkpvsdziaczymqxkaads3f1dy";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 0030f60000d2..03b30af6c3e1 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
     CONFIG_DEFAULT_SETFONT_DIR "/etc/kbd"
 
     ${extraConfig}
-    CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.prefix}"
+    CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.targetPrefix}"
     EOF
 
     make oldconfig
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
   '';
 
   postConfigure = lib.optionalString useMusl ''
-    makeFlagsArray+=("CC=${stdenv.cc.prefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
+    makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
   '';
 
   nativeBuildInputs = lib.optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc;
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index 8aa1cec9e12f..fd585515cf02 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, cmake
 
 # dependencies
 , glib, libXinerama
@@ -73,6 +73,16 @@ stdenv.mkDerivation rec {
     sha256 = "15j8h251v9jpdg6h6wn1vb45pkk806pf9s5n3rdrps9r185w8hn8";
   };
 
+  patches = [
+    # Patch to fix compilation on gcc-7 from conky PR
+    # https://github.com/brndnmtthws/conky/pull/402
+    (fetchpatch {
+      name = "gcc7.patch";
+      url = "https://github.com/brndnmtthws/conky/commit/6140122b82d50acc333e5d2a813cc1933ecc6d21.patch";
+      sha256 = "1fblfj1w2kc0gshc2pq9lc1pxxsgmgh8byb1xs2v6amx15kj11k7";
+    })
+  ];
+
   postPatch = ''
     sed -i -e '/include.*CheckIncludeFile)/i include(CheckIncludeFiles)' \
       cmake/ConkyPlatformChecks.cmake
diff --git a/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch b/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch
new file mode 100644
index 000000000000..916161e35a49
--- /dev/null
+++ b/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch
@@ -0,0 +1,13 @@
+--- a/criu/cr-restore.c
++++ b/criu/cr-restore.c
+@@ -650,3 +650,2 @@ static void zombie_prepare_signals(void)
+ 		(1 << SIGSYS)	|\
+-		(1 << SIGUNUSED)|\
+ 		(1 << SIGSTKFLT)|\
+--- a/test/zdtm/static/pthread01.c
++++ b/test/zdtm/static/pthread01.c
+@@ -45,3 +45,3 @@ static char *decode_signal(const sigset_t *s, char *buf)
+ 	COLLECT(SIGXFSZ); COLLECT(SIGVTALRM); COLLECT(SIGPROF); COLLECT(SIGWINCH); COLLECT(SIGIO);
+-	COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS); COLLECT(SIGUNUSED);
++	COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS);
+ #undef COLLECT
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
index 23d1c4821b87..4ceb397d9f82 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -11,11 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "18m0sjgcfvzc86w49fd3kxw145nmrsvc5w7zf42nxdiklmszbr1k";
   };
 
+  patches = [ ./criu-2.12.1-glibc-2.26.patch ];
+
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig docbook_xsl ];
   buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet python ];
 
-  patchPhase = ''
+  postPatch = ''
     chmod +w ./scripts/gen-offsets.sh
     substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump
     substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" ""
diff --git a/pkgs/os-specific/linux/dbus-broker/default.nix b/pkgs/os-specific/linux/dbus-broker/default.nix
index 7caf5e359d03..d2b3f6005b23 100644
--- a/pkgs/os-specific/linux/dbus-broker/default.nix
+++ b/pkgs/os-specific/linux/dbus-broker/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, fetchgit, fetchFromGitHub, meson, ninja, pkgconfig
+{ stdenv, fetchgit, fetchFromGitHub, docutils, meson, ninja, pkgconfig
 , dbus, glib, systemd }:
 
 stdenv.mkDerivation rec {
   name = "dbus-broker-${version}";
-  version = "3";
+  version = "8";
 
   src = fetchFromGitHub {
     owner           = "bus1";
     repo            = "dbus-broker";
     rev             = "v${version}";
-    sha256          = "1f2vw5b2cbdgd3g7vnzwr9lsw9v4xc5nc0nf9xc3qb5xqzsq7v7i";
+    sha256          = "07k8y6pcx58dfd0vvxcbz352v4apajs5lf0chv6fdp7xf7wbbcwb";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig ];
+  nativeBuildInputs = [ docutils meson ninja pkgconfig ];
+
   buildInputs = [ dbus glib systemd ];
 
+  enableParallelBuilding = true;
+
   prePatch = ''
     substituteInPlace meson.build \
       --replace "dep_systemd.get_pkgconfig_variable('systemdsystemunitdir')" "'$out/lib/systemd/system'" \
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/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/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 09ca05484f7f..988f4efb9cdb 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -1,31 +1,56 @@
 { stdenv, fetchurl, gtk_doc, pkgconfig, gobjectIntrospection, intltool
-, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive
-, libsoup, docbook2x, gpgme, libxslt, libelf, libsmbios, efivar
-, fwupdate, libyaml, valgrind, meson, libuuid, pygobject3
-, pillow, ninja, gcab
+, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib_networking
+, libsoup, docbook2x, gpgme, libxslt, libelf, libsmbios, efivar, glibcLocales
+, fwupdate, libyaml, valgrind, meson, libuuid, pygobject3, colord
+, pillow, ninja, gcab, gnutls, python3Packages, wrapGAppsHook
 }:
-let version = "0.9.6";
-in
-  stdenv.mkDerivation
-    { name = "fwupd-${version}";
-      src = fetchurl
-        { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-          sha256 = "0h3y4ygckvkjdx7yxwbm273iv84yk37ivlcf4xvq95g64vs8gfhf";
-        };
-      buildInputs =
-        [ gtk_doc pkgconfig gobjectIntrospection intltool libgudev
-          polkit appstream-glib gusb sqlite libarchive libsoup
-          docbook2x libxslt libelf libsmbios fwupdate libyaml valgrind
-          meson gpgme libuuid pygobject3 pillow ninja gcab
-        ];
-      patches = [ ./fix-missing-deps.patch ];
-      preConfigure = ''
-        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${efivar}/include/efivar"
-      '';
-      mesonFlags = [ "-Denable-colorhug=false" "-Denable-man=false" "-Denable-tests=false" "--localstatedir=/var" "-Denable-doc=false" "-Dwith-bootdir=/boot" ];
-      enableParallelBuilding = true;
-      meta =
-        { license = [ stdenv.lib.licenses.gpl2 ];
-          platforms = stdenv.lib.platforms.linux;
-        };
-    }
+let
+  version = "1.0.1";
+in stdenv.mkDerivation {
+  name = "fwupd-${version}";
+  src = fetchurl {
+    url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
+    sha256 = "1k627rja7df51dkzqvkzgbwrrj4049k6408d01m34n66zwr2fp59";
+  };
+
+  nativeBuildInputs = [
+    meson ninja gtk_doc pkgconfig gobjectIntrospection intltool glibcLocales
+    valgrind gcab docbook2x libxslt pygobject3 python3Packages.pycairo wrapGAppsHook
+  ];
+  buildInputs = [
+    polkit appstream-glib gusb sqlite libarchive libsoup libelf libsmbios fwupdate libyaml
+    libgudev colord gpgme libuuid pillow gnutls glib_networking
+  ];
+
+  LC_ALL = "en_US.UTF-8"; # For po/make-images
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${efivar}/include/efivar"
+    # warning: "__LIBELF_INTERNAL__" is not defined
+    "-Wno-error=undef"
+  ];
+
+  patches = [
+    ./fix-missing-deps.patch
+  ];
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  mesonFlags = [
+    "-Denable-man=false"
+    "-Denable-tests=false"
+    "-Denable-doc=false"
+    "-Dwith-bootdir=/boot"
+    "-Dwith-udevdir=lib/udev"
+    "-Dwith-systemdunitdir=lib/systemd/system"
+    "--localstatedir=/var"
+  ];
+
+  enableParallelBuilding = true;
+  meta = {
+    homepage = https://fwupd.org/;
+    license = [ stdenv.lib.licenses.gpl2 ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch
index be199227f3f8..46e11952afe0 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch
@@ -1,86 +1,99 @@
-diff -Naur fwupd-0.9.6-orig/data/meson.build fwupd-0.9.6/data/meson.build
---- fwupd-0.9.6-orig/data/meson.build	2017-08-03 05:45:02.000000000 -0400
-+++ fwupd-0.9.6/data/meson.build	2017-09-02 19:58:37.324596487 -0400
-@@ -20,7 +20,7 @@
+--- a/data/builder/meson.build
++++ b/data/builder/meson.build
+@@ -1,3 +0,0 @@
+-install_data('README.md',
+-  install_dir : join_paths(get_option('localstatedir'), 'lib', 'fwupd', 'builder')
+-)
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -7,16 +7,12 @@
+   subdir('installed-tests')
+ endif
+ 
+-install_data(['daemon.conf'],
+-  install_dir : join_paths(get_option('sysconfdir'), 'fwupd')
+-)
+-
+ install_data(['org.freedesktop.fwupd.metainfo.xml'],
+   install_dir: join_paths(get_option('datadir'), 'metainfo')
  )
  
- install_data(['90-fwupd-devices.rules'],
--  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
-+  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
+ install_data(['org.freedesktop.fwupd.conf'],
+-  install_dir : join_paths(get_option('sysconfdir'), 'dbus-1', 'system.d')
++  install_dir : join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d')
  )
  
- con2 = configuration_data()
-@@ -52,7 +52,7 @@
-     output : 'fwupd-offline-update.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'),
+ install_data(['metadata.xml'],
+--- a/data/pki/meson.build
++++ b/data/pki/meson.build
+@@ -3,13 +3,13 @@
+       'GPG-KEY-Hughski-Limited',
+       'GPG-KEY-Linux-Vendor-Firmware-Service',
+     ],
+-    install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd')
++    install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd')
    )
- endif
  
-@@ -63,6 +63,6 @@
-     output : 'fwupd.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'),
+   install_data([
+       'GPG-KEY-Linux-Vendor-Firmware-Service',
+     ],
+-    install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd-metadata')
++    install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd-metadata')
    )
  endif
-diff -Naur fwupd-0.9.6-orig/libdfu/meson.build fwupd-0.9.6/libdfu/meson.build
---- fwupd-0.9.6-orig/libdfu/meson.build	2017-08-03 05:45:02.000000000 -0400
-+++ fwupd-0.9.6/libdfu/meson.build	2017-09-02 19:58:37.325596508 -0400
-@@ -23,6 +23,10 @@
-   giounix,
-   libm,
-   gusb,
-+  uuid,
-+  libarchive,
-+  soup,
-+  libgcab
- ]
  
- if get_option('enable-libelf')
-diff -Naur fwupd-0.9.6-orig/meson.build fwupd-0.9.6/meson.build
---- fwupd-0.9.6-orig/meson.build	2017-08-03 05:45:02.000000000 -0400
-+++ fwupd-0.9.6/meson.build	2017-09-02 19:59:07.406216716 -0400
-@@ -124,6 +124,7 @@
- if polkit.version().version_compare('>= 0.114')
-   conf.set('HAVE_POLKIT_0_114', '1')
+@@ -17,12 +17,12 @@
+   install_data([
+       'LVFS-CA.pem',
+     ],
+-    install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd')
++    install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd')
+   )
+   install_data([
+       'LVFS-CA.pem',
+     ],
+-    install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd-metadata')
++    install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd-metadata')
+   )
  endif
-+libgcab = dependency('libgcab-1.0')
- gudev = dependency('gudev-1.0')
- appstream_glib = dependency('appstream-glib', version : '>= 0.6.9')
- gusb = dependency('gusb', version : '>= 0.2.9')
-@@ -200,7 +201,7 @@
-                         'fwupd-plugins-2')
- conf.set_quoted('PLUGINDIR', plugin_dir)
  
--conf.set_quoted('SYSCONFDIR', get_option('sysconfdir'))
-+conf.set_quoted('SYSCONFDIR', '/etc')
- conf.set_quoted('BINDIR',
-                 join_paths(get_option('prefix'),
-                            get_option('bindir')))
-@@ -227,6 +228,9 @@
- plugin_deps += gmodule
- plugin_deps += gusb
- plugin_deps += soup
-+plugin_deps += libarchive
-+plugin_deps += uuid
-+plugin_deps += libgcab
- 
- subdir('data')
- subdir('docs')
-@@ -255,6 +259,3 @@
-   endif
+--- a/data/remotes.d/meson.build
++++ b/data/remotes.d/meson.build
+@@ -3,7 +3,7 @@
+       'lvfs.conf',
+       'lvfs-testing.conf',
+     ],
+-    install_dir : join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d')
++    install_dir : join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d')
+   )
  endif
  
--if get_option('enable-systemd')
--  meson.add_install_script('meson_post_install.sh', systemd.get_pkgconfig_variable('systemdsystemunitdir'), localstatedir)
--endif
-diff -Naur fwupd-0.9.6-orig/po/make-images.sh fwupd-0.9.6/po/make-images.sh
---- fwupd-0.9.6-orig/po/make-images.sh	2017-08-03 05:45:02.000000000 -0400
-+++ fwupd-0.9.6/po/make-images.sh	2017-09-02 19:58:37.328596570 -0400
+@@ -19,12 +19,12 @@
+   output : 'fwupd.conf',
+   configuration : con2,
+   install: true,
+-  install_dir: join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d'),
++  install_dir: join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d'),
+ )
+ configure_file(
+   input : 'vendor.conf',
+   output : 'vendor.conf',
+   configuration : con2,
+   install: true,
+-  install_dir: join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d'),
++  install_dir: join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d'),
+ )
+--- a/meson_post_install.sh
++++ b/meson_post_install.sh
+@@ -11,6 +11,4 @@
+     echo 'Updating systemd deps'
+     mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants
+     ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service
+-    echo 'Creating stateful directory'
+-    mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd
+ #fi
+--- a/po/make-images.sh
++++ b/po/make-images.sh
 @@ -7,6 +7,7 @@
  #
  install -m 0755 -d ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/
@@ -89,26 +102,3 @@ diff -Naur fwupd-0.9.6-orig/po/make-images.sh fwupd-0.9.6/po/make-images.sh
  for x in ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/*/LC_IMAGES/*.bmp ; do
      gzip -f ${x}
  done
-diff -Naur fwupd-0.9.6-orig/src/meson.build fwupd-0.9.6/src/meson.build
---- fwupd-0.9.6-orig/src/meson.build	2017-08-03 05:45:02.000000000 -0400
-+++ fwupd-0.9.6/src/meson.build	2017-09-02 19:58:37.329596590 -0400
-@@ -24,6 +24,9 @@
-     polkit,
-     soup,
-     sqlite,
-+    uuid,
-+    libarchive,
-+    libgcab
-   ],
-   link_with : fwupd,
-   c_args : [
-@@ -73,6 +76,9 @@
-     gpgme,
-     gpgerror,
-     valgrind,
-+    uuid,
-+    libarchive,
-+    libgcab
-   ],
-   link_with : fwupd,
-   c_args : [
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/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index b64278ae4ba0..be9be49208a4 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iproute2-${version}";
-  version = "4.13.0";
+  version = "4.14.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0l2w84cwr54gaw3cbxijf614l76hx8mgcz57v81rwl68z3nq3yww";
+    sha256 = "0rq0n7yxb0hmk0s6wx5awzjgf7ikjbibd0a5ix20ldfcmxlc0fnl";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 93a0f8a4c290..6039ada44e24 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-6.27";
+  name = "ipset-6.34";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "0ddj66wr0xh9v6ks430l8r80lj2s9qc44d9c2ik48lwm0fl9fj3j";
+    sha256 = "106nv1ngcvap0mqmb6jm07lc1q3w796rkzc1vrfs4yhbcwdq63np";
   };
 
   nativeBuildInputs = [ pkgconfig ];
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/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 0f7ad055af86..64f8163369bb 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -571,6 +571,7 @@ with stdenv.lib;
   ${optionalString (versionOlder version "4.14") ''
     MEDIA_RC_SUPPORT y
   ''}
+  MEDIA_CONTROLLER y
   MEDIA_USB_SUPPORT y
   MEDIA_PCI_SUPPORT y
   MEDIA_ANALOG_TV_SUPPORT y
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 d21442258331..72ae02bbecde 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.12";
+  version = "4.13.16";
   extraMeta.branch = "4.13";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0x6yz5yb25789ky6hm55abja9374gcaqz06hg7rmmap3y1dhd65z";
+    sha256 = "0cf7prqzl1ajbgl98w0symdyn0k5wl5xaf1l5ldgy6l083yg69dh";
   };
 } // (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..127a65b715c2
--- /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.2";
+
+  # 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 = "0k264zxibhldgi9fcax11bjdv89jkdn1nbvvng312j2f19i909p9";
+  };
+} // (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 324d2e8291e8..11809364d96c 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.97";
+  version = "4.4.102";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "03hnm66nv7l1f21z893rghgpgghs1i2pxzhcahpi7d6nsm5mwqgq";
+    sha256 = "1zmaispqs9lw1kyalhln2l53hsg99riisgnmc50qj7cyalmc5qpd";
   };
 } // (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 86108f553b8a..3e3626cb39d4 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.61";
+  version = "4.9.65";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "17ni4skllgd24ddg1ifj1s9b5mqx38filrabgmlw7w4ff9src8z0";
+    sha256 = "15a8a7p6i2dgiglps22cwsy5gsfkc39fy4jzvhjwz8s9fn3p1fi4";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
index b0d9f04efc84..33885a082d63 100644
--- a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
+++ b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
@@ -1,8 +1,8 @@
 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 let
-  modDirVersion = "4.9.59";
-  tag = "r73";
+  modDirVersion = "4.9.61";
+  tag = "r76";
 in
 import ./generic.nix (args // rec {
   version = "${modDirVersion}-ti-${tag}";
@@ -12,7 +12,7 @@ import ./generic.nix (args // rec {
     owner = "beagleboard";
     repo = "linux";
     rev = "${version}";
-    sha256 = "1kzbbaqmzgvfls1v9jir2ck9vcdd774mq474vhr5x6dqjnnb5kg9";
+    sha256 = "0hcz4fwjyic42mrn8qsvzm4jq1g5k51awjj3d2das7k8frjalaby";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
index 55b40c9cd7da..863b6dcae782 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.12";
+  version = "4.14.2";
   revision = "a";
-  sha256 = "10zfdv0s5jdpp9nqbxi34wwf1pqh3fjflgcd60f7cbr95ivvkl9r";
+  sha256 = "0bpkff1phc68shw6spkhd6zbxgjkgvdglym8b2hp383h14845qhb";
 
   # 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 c7e9859ded79..92b202100a63 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -1,6 +1,6 @@
 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
+import ./generic.nix (rec {
   mptcpVersion = "0.93";
   modDirVersion = "4.9.60";
   version = "${modDirVersion}-mptcp_v${mptcpVersion}";
@@ -43,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-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 54e37e721303..3fe9ff8e2870 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:
+{ stdenv, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.14-rc8";
-  modDirVersion = "4.14.0-rc8";
-  extraMeta.branch = "4.14";
+  version = "4.15-rc1";
+  modDirVersion = "4.15.0-rc1";
+  extraMeta.branch = "4.15";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0ir2ggflm1xjnn1kvv2c99m5zni5kg0ygzlpm588wnhkzd93nqjh";
+    sha256 = "1l7c132qb5qjd80hga03ivssfq65brqyd95sb4rd065dqrixp20n";
   };
 
   # 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 28ad5aeca35f..b4ee23079d93 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,4 +1,6 @@
 { runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl
+, libelf ? null
+, utillinux ? null
 , writeTextFile, ubootTools
 , hostPlatform
 }:
@@ -110,7 +112,7 @@ let
         make $makeFlags prepare
         actualModDirVersion="$(cat $buildRoot/include/config/kernel.release)"
         if [ "$actualModDirVersion" != "${modDirVersion}" ]; then
-          echo "Error: modDirVersion specified in the Nix expression is wrong, it should be: $actualModDirVersion"
+          echo "Error: modDirVersion ${modDirVersion} specified in the Nix expression is wrong, it should be: $actualModDirVersion"
           exit 1
         fi
 
@@ -158,6 +160,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 +174,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 +189,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*
@@ -219,13 +232,18 @@ let
     };
 in
 
+assert stdenv.lib.versionAtLeast version "4.15" -> libelf != null;
+assert stdenv.lib.versionAtLeast version "4.15" -> utillinux != null;
 stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // {
   name = "linux-${version}";
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ]
-    ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools;
+      ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools
+      ++ optional (stdenv.lib.versionAtLeast version "4.15") libelf
+      ++ optional (stdenv.lib.versionAtLeast version "4.15") utillinux
+      ;
 
   hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" ];
 
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/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index b64242e911db..4bcf6e037e0f 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     /* I don't want cross-python or cross-perl -
        I don't know if cross-python even works */
     propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ];
-    makeFlags = "CROSS_COMPILE=${stdenv.cc.prefix}";
+    makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
     elfutils = elfutils.crossDrv;
     inherit (kernel.crossDrv) src patches;
   };
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index 92ac1a77898c..c503b982aa29 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   ] # TODO(@Ericson2314): We now can get the ABI from
     # `hostPlatform.parsed.abi`, is this still a good idea?
     ++ stdenv.lib.optional (hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y"
-    ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.prefix}";
+    ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
 
   # Install static binaries as well.
   postInstall = ''
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/libsmbios/default.nix b/pkgs/os-specific/linux/libsmbios/default.nix
index 98ec778e2c26..5d3e0dc8c975 100644
--- a/pkgs/os-specific/linux/libsmbios/default.nix
+++ b/pkgs/os-specific/linux/libsmbios/default.nix
@@ -1,36 +1,38 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, perl, autoreconfHook, doxygen }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, libtool, gettext
+, libxml2, perl, doxygen }:
 
-let
-  version = "2.3.2";
-in
-stdenv.mkDerivation {
+
+stdenv.mkDerivation rec {
   name = "libsmbios-${version}";
+  version = "2.3.3";
 
-  src = fetchurl {
-    url = "https://github.com/dell/libsmbios/archive/v${version}.tar.gz";
-    sha256 = "0kvi36jrvhspyyq0pjfdyvzvimdn27fvbdpf429qm3xdmfi78y2j";
+  src = fetchFromGitHub {
+    owner = "dell";
+    repo = "libsmbios";
+    rev = "v${version}";
+    sha256 = "1cl5nb6qk8ki87hwqf9n1dd9nlhkjnlpdxlhzvm82za16gs7apkl";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ libxml2 perl doxygen ];
+  nativeBuildInputs = [ autoreconfHook doxygen gettext libtool perl pkgconfig ];
+  buildInputs = [ libxml2 ];
+
+  configureFlags = [ "--disable-python" "--disable-graphviz" ];
 
-  # It tries to install some Python stuff even when Python is disabled.
-  installFlags = "pkgpythondir=$(TMPDIR)/python";
+  enableParallelBuilding = true;
 
   postInstall =
     ''
       mkdir -p $out/include
-      cp -va "src/include/"* "$out/include/"
-      cp -va "out/public-include/"* "$out/include/"
+      cp -a src/include/smbios_c $out/include/
+      cp -a out/public-include/smbios_c $out/include/
     '';
 
-  # Hack to avoid TMPDIR in RPATHs.
-  preFixup = ''rm -rf "$(pwd)" '';
+  preFixup = ''rm -rf "$(pwd)" ''; # Hack to avoid TMPDIR in RPATHs
 
   meta = {
-    homepage = http://linux.dell.com/libsmbios/main;
+    homepage = https://github.com/dell/libsmbios;
     description = "A library to obtain BIOS information";
-    license = stdenv.lib.licenses.gpl2Plus; # alternatively, under the Open Software License version 2.1
+    license = with stdenv.lib.licenses; [ osl21 gpl2Plus ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/os-specific/linux/libwebcam/default.nix b/pkgs/os-specific/linux/libwebcam/default.nix
new file mode 100644
index 000000000000..aadecfdc8b5e
--- /dev/null
+++ b/pkgs/os-specific/linux/libwebcam/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, pkgconfig
+, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libwebcam";
+  version = "0.2.5";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${pname}/source/${pname}-src-${version}.tar.gz";
+    sha256 = "0hcxv8di83fk41zjh0v592qm7c0v37a3m3n3lxavd643gff1k99w";
+  };
+
+  patches = [
+    ./uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch
+  ];
+
+  buildInputs = [
+    cmake
+    pkgconfig
+    libxml2
+  ];
+
+  postPatch = ''
+    substituteInPlace ./uvcdynctrl/CMakeLists.txt \
+      --replace "/lib/udev" "$out/lib/udev"
+
+    substituteInPlace ./uvcdynctrl/udev/scripts/uvcdynctrl \
+      --replace 'debug=0' 'debug=''${NIX_UVCDYNCTRL_UDEV_DEBUG:-0}' \
+      --replace 'uvcdynctrlpath=uvcdynctrl' "uvcdynctrlpath=$out/bin/uvcdynctrl"
+
+    substituteInPlace ./uvcdynctrl/udev/rules/80-uvcdynctrl.rules \
+      --replace "/lib/udev" "$out/lib/udev"
+  '';
+
+
+  preConfigure = ''
+    cmakeFlagsArray=(
+      $cmakeFlagsArray
+      "-DCMAKE_INSTALL_PREFIX=$out"
+    )
+  '';
+
+  meta = with lib; {
+    description = "The webcam-tools package";
+    platforms = platforms.linux;
+    licenses = with licenses; [ lgpl3 ];
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch b/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch
new file mode 100644
index 000000000000..07e5f0bf852b
--- /dev/null
+++ b/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch
@@ -0,0 +1,65 @@
+diff --git a/uvcdynctrl/main.c b/uvcdynctrl/main.c
+index b7befd1..f3a768c 100644
+--- a/uvcdynctrl/main.c
++++ b/uvcdynctrl/main.c
+@@ -674,27 +674,31 @@ get_filename (const char *dir_path, const char *vid)
+ 	printf ( "checking dir: %s \n", dir_path);
+ 	while ((dp = readdir(dir)) != NULL) 
+ 	{
+-		if((dp->d_type == DT_DIR) && (fnmatch("[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]", dp->d_name, 0) == 0))
++		if((dp->d_type == DT_DIR || dp->d_type == DT_LNK ) && (fnmatch("[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]", dp->d_name, 0) == 0))
+ 		{
+ 			if( strcasecmp(vid, dp->d_name) != 0)
+ 			{
+ 				/*doesn't match - clean up and move to the next entry*/
+ 				continue;
+ 			}
+-			
++
+ 			char *tmp = path_cat (dir_path, dp->d_name);
+-			printf("found dir: %s \n", dp->d_name);
++
+ 			DIR * subdir = opendir(tmp);
+-			while ((sdp = readdir(subdir)) != NULL) 
++			if ( subdir != NULL )
+ 			{
+-				if( fnmatch("*.xml", sdp->d_name, 0) == 0 )
++				printf("found dir: %s \n", dp->d_name);
++				while ((sdp = readdir(subdir)) != NULL) 
+ 				{
+-					file_list[nf-1] = path_cat (tmp, sdp->d_name);
+-					printf("found: %s \n", file_list[nf-1]);
+-					nf++;
+-					file_list = realloc(file_list,nf*sizeof(file_list));
+-					file_list[nf-1] = NULL;   
+-				} 
++					if( fnmatch("*.xml", sdp->d_name, 0) == 0 )
++					{
++						file_list[nf-1] = path_cat (tmp, sdp->d_name);
++						printf("found: %s \n", file_list[nf-1]);
++						nf++;
++						file_list = realloc(file_list,nf*sizeof(file_list));
++						file_list[nf-1] = NULL;   
++					} 
++				}
+ 			}
+ 			closedir(subdir);
+ 			free (tmp);
+@@ -869,9 +873,15 @@ main (int argc, char **argv)
+ 			pid_set = 1; /*flag pid.xml check*/
+ 			//printf("vid:%s pid:%s\n", vid, pid);
+ 		}
+-		
++
++		const char* dataDir = getenv( "NIX_UVCDYNCTRL_DATA_DIR" );
++		// When unavailable, fallback on data dir specified at build time.
++		if ( !dataDir ) {
++			dataDir = DATA_DIR;
++		}
++
+ 		/* get xml file list from DATA_DIR/vid/ */ 
+-		char **xml_files = get_filename (DATA_DIR, vid);
++		char **xml_files = get_filename (dataDir, vid);
+  
+ 		/*check for pid.xml*/
+ 		char fname[9];
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 6382b90f1683..e6d5c10341b4 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -2,7 +2,7 @@
 , thin-provisioning-tools, enable_dmeventd ? false }:
 
 let
-  version = "2.02.175";
+  version = "2.02.176";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
-    sha256 = "0n95cc2b0jb0fh2pd9jyg9ww7lyzpia9n9sryw9f4aq8dpna7dsd";
+    sha256 = "0wx4rvy4frdmb66znh2xms2j2n06sm361ki6l5ks4y1ciii87kny";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/mdadm/4.nix b/pkgs/os-specific/linux/mdadm/4.nix
index 5511d72884a5..f9c2a5e09af6 100644
--- a/pkgs/os-specific/linux/mdadm/4.nix
+++ b/pkgs/os-specific/linux/mdadm/4.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
     "STRIP="
   ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.prefix}"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
   nativeBuildInputs = [ groff ];
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 0929bae991dd..1e2c1dafb2db 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
     "STRIP="
   ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.prefix}"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
   nativeBuildInputs = [ groff ];
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 19425f810d0a..97843b2253fc 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "microcode-intel-${version}";
-  version = "20170707";
+  version = "20171117";
 
   src = fetchurl {
-    url = "https://downloadmirror.intel.com/26925/eng/microcode-${version}.tgz";
-    sha256 = "14zf7fbhg0msa3bm0kl139pclmkfm83s6l86x48sr9sjpxllgm2g";
+    url = "https://downloadmirror.intel.com/27337/eng/microcode-${version}.tgz";
+    sha256 = "1p14ypbg28bdkbza6dx6dpjrdr5p13vmgrh2cw0y1v2qzalivgck";
   };
 
   buildInputs = [ libarchive ];
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/numactl/default.nix b/pkgs/os-specific/linux/numactl/default.nix
index 389e9514d703..a5ed242e3230 100644
--- a/pkgs/os-specific/linux/numactl/default.nix
+++ b/pkgs/os-specific/linux/numactl/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     description = "Library and tools for non-uniform memory access (NUMA) machines";
     homepage = http://oss.sgi.com/projects/libnuma/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index ba9b332e6d71..154fcbb6b844 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -6,11 +6,11 @@ in
 {
   # Policy: use the highest stable version as the default (on our master).
   stable = generic {
-    version = "384.90";
-    sha256_32bit = "0mq0h7g56m9zvr42ipy2664ph922754l0pdp8wpsmzfpkzg6g9lp";
-    sha256_64bit = "1ggylpzw1j217w64rspw4fhvq25wz0la0hhy0b1kxjpwy8h6ipqd";
-    settingsSha256 = "023jfbsxsbkjk78i9i6wd0sybv5hib2d7mfvy635w3anjcrsk5il";
-    persistencedSha256 = "166ya8pnv4frvrsp0x5zkg8li85vipags03wy6dlf8s940al92z2";
+    version = "387.22";
+    sha256_32bit = "16v4ljq07hs1xw6amc7cmddvmmmd3swli3b617xs8f3qcw54ym1r";
+    sha256_64bit = "1i0fmzsv4bkfxaw2wnnhj2z64gdyqd6xvxrsq7zj7gq7crcd6sma";
+    settingsSha256 = "0wszyfj9hcib7dcfin22nsrfsm1mb4rq6ha5fma7sq68p175j1yk";
+    persistencedSha256 = "0wrkmw8gw780vcl0s0d0vd8niaf741ji5sggxxqb1aa1w61rjf0d";
   };
 
   beta = generic {
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index e272ac14de0f..acdc44c702f3 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -44,7 +44,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 dbus ]
              ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
 
-  NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ];
+# This next line makes the nvidia-settings binary fail to compile as of version 387.22
+# NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ];
 
   makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 9ca48ccaf057..9fe331e6cb12 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip
 , gawk, utillinux, xorg, glib, dbus_glib, zlib
 , kernel ? null, libsOnly ? false
+, undmg, fetchurl
 }:
 
 assert (!libsOnly) -> kernel != null;
@@ -10,57 +11,35 @@ let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
     x64 = if stdenv.system == "x86_64-linux" then true
           else if stdenv.system == "i686-linux" then false
           else abort "Parallels Tools for Linux only support {x86-64,i686}-linux targets";
-    # We autostart user services by ourselves, because prlcc uses hardcoded paths.
-    autostart = [ { exec = "prlcc";
-                    description = "Parallels Control Center";
-                  }
-                  { exec = "prldhd";
-                    description = "Parallels Control Center"; # not a mistake
-                  }
-                  { exec = "prl_wmouse_d";
-                    description = "Parallels Walking Mouse Daemon";
-                  }
-                  { exec = "prlcp";
-                    description = "Parallels CopyPaste Tool";
-                  }
-                  { exec = "prlsga";
-                    description = "Parallels Shared Guest Applications Tool";
-                  }
-                  { exec = "prlshprof";
-                    description = "Parallels Shared Profile Tool";
-                  }
-                ];
 in
 stdenv.mkDerivation rec {
-  version = "10.0.2.27712";
+  version = "${prl_major}.2.1-41615";
+  prl_major = "12";
   name = "prl-tools-${version}";
 
-  src = requireFile rec {
-    name = "prl-tools-lin.iso";
-    sha256 = "07960jvyv7gihjlg922znjm6db6l6bd23x9mg6ympwibzf2mylmx";
-    message = ''
-      Please, place Parallels Tools for Linux image into Nix store
-      using either
-        nix-store --add-fixed sha256 ${name}
-      or
-        nix-prefetch-url file://path/to/${name}
-    '';
+  # We download the full distribution to extract prl-tools-lin.iso from
+  # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
+  src = fetchurl {
+    url =  "https://download.parallels.com/desktop/v${prl_major}/${version}/ParallelsDesktop-${version}.dmg";
+    sha256 = "1jwzwif69qlhmfky9kigjaxpxfj0lyrl1iyrpqy4iwqvajdgbbym";
   };
 
-  hardeningDisable = [ "pic" ];
+  hardeningDisable = [ "pic" "format" ];
 
   # also maybe python2 to generate xorg.conf
-  nativeBuildInputs = [ p7zip ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
+  nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
 
   inherit libsOnly;
 
   unpackPhase = ''
-    7z x $src
-    export sourceRoot=.
+    undmg < "${src}"
+
+    export sourceRoot=prl-tools-build
+    7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso" -o$sourceRoot
     if test -z "$libsOnly"; then
-      ( cd kmods; tar -xaf prl_mod.tar.gz )
+      ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz )
     fi
-    ( cd tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
+    ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
   '';
 
   kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
@@ -88,11 +67,6 @@ stdenv.mkDerivation rec {
             stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
             ++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]);
 
-  desktops = map (x: substituteAll ({
-               src = ./autostart.desktop;
-               name = x.exec + ".desktop";
-               version = version;
-             } // x)) autostart;
 
   installPhase = ''
     if test -z "$libsOnly"; then
@@ -124,7 +98,7 @@ stdenv.mkDerivation rec {
           patchelf \
             --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
             --set-rpath "$out/lib:$libPath" \
-            $i
+            $i || true
         done
 
         mkdir -p $out/bin
@@ -145,11 +119,6 @@ stdenv.mkDerivation rec {
           sed 's,/bin/bash,${stdenv.shell},g' $i > $out/lib/udev/rules.d/$i
         done
 
-        mkdir -p $out/share/autostart
-        for i in $desktops; do
-          cat $i | sed "s,^Exec=,Exec=$out/bin/," > $out/share/autostart/$(basename $i)
-        done
-
         (
           cd xorg.${xorgVer}
           # Install the X modules.
@@ -189,8 +158,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Parallels Tools for Linux guests";
-    homepage = http://parallels.com;
-    platforms = platforms.linux;
+    homepage = https://parallels.com;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.unfree;
     # I was making this package blindly and requesting testing from the real user,
     # so I can't even test it by myself and won't provide future updates.
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/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index b29573179f85..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;
@@ -65,11 +68,13 @@ in
     splStable = common {
       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/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 7c8ffef86eec..aeda85584e79 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "nixos";
     repo = "systemd";
-    rev = "ba777535a890c2a2b7677dfacc63e12c578b9b3f";
-    sha256 = "1vb45fbqkrgczfwkb0y07ldnwhjqk2sh446hzfkdn8hrwl1lifg5";
+    rev = "eef5613fda5";
+    sha256 = "0wgh5y319v56hcs82mhs58ipb100cz4x41vz3kh4bq1n7sx88cdz";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/os-specific/linux/usbip/default.nix b/pkgs/os-specific/linux/usbip/default.nix
new file mode 100644
index 000000000000..497b5c191669
--- /dev/null
+++ b/pkgs/os-specific/linux/usbip/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, kernel, udev, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "usbip-${kernel.name}";
+
+  src = kernel.src;
+
+  nativeBuildInputs = [ autoconf automake libtool ];
+  buildInputs = [ udev ];
+
+  preConfigure = ''
+    cd tools/usb/usbip
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/torvalds/linux/tree/master/tools/usb/usbip;
+    description = "allows to pass USB device from server to client over the network";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
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/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index cc1890438f96..e1decf1d13d1 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
 let
   name = "wireguard-${version}";
 
-  version = "0.0.20171101";
+  version = "0.0.20171111";
 
   src = fetchurl {
     url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "0983aivw7wc5qq8didh4bdbdxcmddbpganf0z1xnqmjyls168sq9";
+    sha256 = "0mqix3v4qqwwa7hcd0h5rcwhc7yvm9jcl8b3v1vc4sj0m637fd6r";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index ccec513a4704..e932f5163750 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -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/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
index b2b23f200455..8befa51566de 100644
--- a/pkgs/os-specific/windows/jom/default.nix
+++ b/pkgs/os-specific/windows/jom/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   QTDIR = qt48;
   
   crossAttrs = {
-    # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.prefix}windres";
+    # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres";
     QTDIR = qt48.crossDrv;
     preBuild = ''
       export NIX_CROSS_CFLAGS_COMPILE=-fpermissive
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 58141a4cf0ee..f9b7a24273ff 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/dict/default.nix b/pkgs/servers/dict/default.nix
index 0e6c39ec9245..2093d54b0656 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -13,7 +13,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ bison flex libtool which ];
 
-  enableParallelBuilding = true;
+  # Makefile(.in) contains "clientparse.c clientparse.h: clientparse.y" which
+  # causes bison to run twice, and break the build when this happens in
+  # parallel.  Test with "make -j clientparse.c clientparse.h".  The error
+  # message may be "mv: cannot move 'y.tab.c' to 'clientparse.c'".
+  enableParallelBuilding = false;
 
   patchPhase = "patch -p0 < ${./buildfix.diff}";
   configureFlags = [
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 9207ceb12f1a..8ed4541edd67 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -1,4 +1,4 @@
-{ 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
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   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 ad5c87de365e..d8aed9b3143f 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -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/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/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/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index 8958b51e873a..415b1fb48a2a 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -1,17 +1,28 @@
-{ stdenv, fetchurl, cmake, doxygen, zlib, openssl, bzip2, pkgconfig, libpthreadstubs }:
+{ stdenv
+, bzip2
+, cmake
+, doxygen
+, fetchurl
+, fuse
+, lzma
+, openssl
+, pkgconfig
+, systemd
+, tcp_wrappers
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   name = "apt-cacher-ng-${version}";
-  version = "0.9.1";
+  version = "3.1";
 
   src = fetchurl {
     url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
-    sha256 = "1d686knvig1niapc1ib2045f7jfad3m4jvz6gkwm276fqvm4p694";
+    sha256 = "0p8cdig70vz1dgw2v8brjin5wqrk8amncphyf11f53bza5grlc91";
   };
 
-  NIX_LDFLAGS = "-lpthread";
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
-  buildInputs = [ zlib openssl bzip2 libpthreadstubs ];
+  buildInputs = [ bzip2 fuse lzma openssl systemd tcp_wrappers zlib ];
 
   meta = with stdenv.lib; {
     description = "A caching proxy specialized for linux distribution files";
diff --git a/pkgs/servers/http/couchdb/2.0.0.nix b/pkgs/servers/http/couchdb/2.0.0.nix
index 1e56a2dac48d..f94ff56373d4 100644
--- a/pkgs/servers/http/couchdb/2.0.0.nix
+++ b/pkgs/servers/http/couchdb/2.0.0.nix
@@ -3,14 +3,15 @@
 
 stdenv.mkDerivation rec {
   name = "couchdb-${version}";
-  version = "2.0.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
-    sha256 = "1jkfx6g9anrgmkhrkcn50axcamragranwsciw1rhmi86rglkrbyc";
+    sha256 = "1k3v9v05417087b6fcj5yv03wl6i61xqrrhp0prl9b3ir2mmbwnm";
   };
 
-  buildInputs = [ erlang icu openssl spidermonkey makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ erlang icu openssl spidermonkey ];
 
   patches = [ ./jsapi.patch ];
   postPatch = ''
diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix
index 5a988d22ecb6..43334819dc56 100644
--- a/pkgs/servers/http/couchdb/default.nix
+++ b/pkgs/servers/http/couchdb/default.nix
@@ -3,30 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "couchdb-${version}";
-  version = "1.6.1";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
-    sha256 = "09w6ijj9l5jzh81nvc3hrlqp345ajg3haj353g9kxkik6wbinq2s";
+    sha256 = "1b9cbdrmh1i71mrwvhm17v4cf7lckpil1vvq7lpmxyn6zfk0l84i";
   };
 
-  buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which
-    file pkgconfig ];
-
-  /* This patch removes the `-Werror` flag as there are warnings due to
-   * _BSD_SOURCE being deprecated in glibc >= 2.20
-   */
-  patchPhase = ''
-    patch src/couchdb/priv/Makefile.in <<EOF
-    392c392
-    < couchjs_CFLAGS = -g -Wall -Werror -D_BSD_SOURCE \$(CURL_CFLAGS) \$(JS_CFLAGS)
-    ---
-    > couchjs_CFLAGS = -g -Wall -D_BSD_SOURCE \$(CURL_CFLAGS) \$(JS_CFLAGS)
-    EOF
-  '';
+  nativeBuildInputs = [ help2man which file pkgconfig sphinx ];
+  buildInputs = [ erlang icu openssl spidermonkey curl ];
 
   postInstall = ''
-    sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb
+    substituteInPlace $out/bin/couchdb --replace getopt "${getopt}/bin/getopt"
   '';
 
   /*
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 9f0f5ac4bb99..de6fd61ee813 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -5,10 +5,10 @@
     src = fetchFromGitHub {
       owner = "google";
       repo = "ngx_brotli";
-      rev = "788615eab7c5e0a984278113c55248305620df14";
-      sha256 = "02514bbjdhm9m38vljdh626d3c1783jxsxawv5c6bzblwmb8xgvf";
+      rev = "bfd2885b2da4d763fed18f49216bb935223cd34b";
+      sha256 = "04yx1n0wi3l2x37jd1ynl9951qxkn8xp42yv0mfp1qz9svips81n";
+      fetchSubmodules = true;
     };
-    inputs = [ pkgs.libbrotli ];
   };
 
   rtmp = {
@@ -47,6 +47,16 @@
     '';
   };
 
+  modsecurity-beta = {
+    src = fetchFromGitHub {
+      owner = "SpiderLabs";
+      repo = "ModSecurity-nginx";
+      rev = "abbf2c47f6f3205484a1a9db618e067dce213b89";
+      sha256 = "04ar51bnqjca6g4p2irymgdmc8rh5nsi8ml43srm4krllnkvw8qn";
+    };
+    inputs = [ pkgs.curl pkgs.geoip pkgs.libmodsecurity pkgs.libxml2 pkgs.lmdb pkgs.yajl ];
+  };
+
   echo = {
     src = fetchFromGitHub {
       owner = "openresty";
diff --git a/pkgs/servers/inginious/default.nix b/pkgs/servers/inginious/default.nix
index 0ffef616f370..fbe226d3e3d3 100644
--- a/pkgs/servers/inginious/default.nix
+++ b/pkgs/servers/inginious/default.nix
@@ -65,6 +65,7 @@ in pythonPackages.buildPythonApplication rec {
   '';
 
   meta = {
+    broken = true;
     description = "An intelligent grader that allows secured and automated testing of code made by students";
     homepage = https://github.com/UCL-INGI/INGInious;
     license = licenses.agpl3;
diff --git a/pkgs/servers/mail/exim/cve-2017-16943.patch b/pkgs/servers/mail/exim/cve-2017-16943.patch
new file mode 100644
index 000000000000..69ce9150723c
--- /dev/null
+++ b/pkgs/servers/mail/exim/cve-2017-16943.patch
@@ -0,0 +1,39 @@
+From 4e6ae6235c68de243b1c2419027472d7659aa2b4 Mon Sep 17 00:00:00 2001
+From: Jeremy Harris <jgh146exb@wizmail.org>
+Date: Fri, 24 Nov 2017 20:22:33 +0000
+Subject: [PATCH] Avoid release of store if there have been later allocations.
+ Bug 2199
+
+---
+ src/receive.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/receive.c b/src/receive.c
+index e7e518a..d9b5001 100644
+--- a/src/receive.c
++++ b/src/receive.c
+@@ -1810,8 +1810,8 @@ for (;;)
+   (and sometimes lunatic messages can have ones that are 100s of K long) we
+   call store_release() for strings that have been copied - if the string is at
+   the start of a block (and therefore the only thing in it, because we aren't
+-  doing any other gets), the block gets freed. We can only do this because we
+-  know there are no other calls to store_get() going on. */
++  doing any other gets), the block gets freed. We can only do this release if
++  there were no allocations since the once that we want to free. */
+
+   if (ptr >= header_size - 4)
+     {
+@@ -1820,9 +1820,10 @@ for (;;)
+     header_size *= 2;
+     if (!store_extend(next->text, oldsize, header_size))
+       {
++      BOOL release_ok = store_last_get[store_pool] == next->text;
+       uschar *newtext = store_get(header_size);
+       memcpy(newtext, next->text, ptr);
+-      store_release(next->text);
++      if (release_ok) store_release(next->text);
+       next->text = newtext;
+       }
+     }
+--
+1.9.1
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index b4cec18d030e..79623247e3f8 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
       url = "https://anonscm.debian.org/git/pkg-exim4/exim4.git/plain/debian/patches/79_CVE-2017-1000369.patch?h=4.89-2%2bdeb9u1";
       sha256 = "0v46zywgkv1rdqhybqqrd0rwkdaj6q1f4x0a3vm9p0wz8vad3023";
     })
+    ./cve-2017-16943.patch
   ];
 
   nativeBuildInputs = [ pkgconfig ];
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 73498e5b8844..99045570a718 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -24,13 +24,13 @@ let
   };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.24.1";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "08w8sawq0nj28dzi9wc4rsg9z2qv528djj4zbcs5c4yc3mylq1nq";
+    sha256 = "110558l147n1dqpylzrdzp8spj36nack88c5kknsxn69gr8yb7j2";
   };
 
   patches = [ ./matrix-synapse.patch ];
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 2bfe929784b8..bf2824688441 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -2,18 +2,18 @@
 
 buildGoPackage rec {
   name = "mattermost-${version}";
-  version = "4.3.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mattermost-server";
     rev = "v${version}";
-    sha256 = "05119h3x81p8plfjq99khfywc3plv2zynvf83vkhj48zqk61wvbq";
+    sha256 = "0imda96wgr2nkkxs2jfcqszx1fqgmbbrh7zqmgjh6ks3an1v4m3c";
   };
 
   webApp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz";
-    sha256 = "0d30zj036nz6vwpiv0mn656j5r4br6y4x8iqc5jn785fiwk2pdls";
+    sha256 = "1gnzv9xkqawi36z7v9xsy1gk16x71qf0kn8r059qvyarjlyp7888";
   };
 
   goPackagePath = "github.com/mattermost/mattermost-server";
@@ -38,7 +38,7 @@ buildGoPackage rec {
     description = "Open-Source, self-hosted Slack-alternative";
     homepage = https://www.mattermost.org;
     license = with licenses; [ agpl3 asl20 ];
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz ryantm ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/fusion-inventory/default.nix b/pkgs/servers/monitoring/fusion-inventory/default.nix
index 2e694ede497f..34b4e87bf65c 100644
--- a/pkgs/servers/monitoring/fusion-inventory/default.nix
+++ b/pkgs/servers/monitoring/fusion-inventory/default.nix
@@ -1,22 +1,44 @@
-{ stdenv, fetchurl, buildPerlPackage, perlPackages
+{ stdenv, lib, fetchurl, buildPerlPackage, perlPackages, gnused, nix, dmidecode, pciutils, usbutils, iproute, nettools
+, fetchFromGitHub, makeWrapper
 }:
 
 buildPerlPackage rec {
-  version = "2.3.18";
   name = "FusionInventory-Agent-${version}";
-  src = fetchurl {
-    url = "mirror://cpan/authors/id/G/GR/GROUSSE/${name}.tar.gz";
-    sha256 = "543d96fa61b8f2a2bc599fe9f694f19d1f2094dc5506bc514d00b8a445bc5401";
+  version = "2.3.21";
+
+  src = fetchFromGitHub {
+    owner = "fusioninventory";
+    repo = "fusioninventory-agent";
+    rev = version;
+    sha256 = "034clffcn0agx85macjgml4lyhvvck7idn94pqd2c77pk6crvw2y";
   };
 
-  patches = [ ./remove_software_test.patch ];
+  patches = [
+    ./remove_software_test.patch
+    # support for os-release file
+    (fetchurl {
+      url = https://github.com/fusioninventory/fusioninventory-agent/pull/396.diff;
+      sha256 = "0bxrjmff80ab01n23xggci32ajsah6zvcmz5x4hj6ayy6dzwi6jb";
+    })
+    # support for Nix software inventory
+    (fetchurl {
+      url = https://github.com/fusioninventory/fusioninventory-agent/pull/397.diff;
+      sha256 = "0pyf7mp0zsb3zcqb6yysr1zfp54p9ciwjn1pzayw6s9flmcgrmbw";
+    })
+    ];
 
   postPatch = ''
+
     patchShebangs bin
+
+    substituteInPlace "lib/FusionInventory/Agent/Tools/Linux.pm" \
+      --replace /sbin/ip ${iproute}/sbin/ip
+    substituteInPlace "lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm" \
+      --replace /sbin/ip ${iproute}/sbin/ip
   '';
 
   buildTools = [];
-  buildInputs = with perlPackages; [
+  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
     CGI
     DataStructureUtil
     FileCopyRecursive
@@ -28,6 +50,7 @@ buildPerlPackage rec {
     IPCRun
     JSON
     LWPProtocolhttps
+    ModuleInstall
     NetSNMP
     TestCompile
     TestDeep
@@ -35,7 +58,7 @@ buildPerlPackage rec {
     TestMockModule
     TestMockObject
     TestNoWarnings
-  ];
+  ]);
   propagatedBuildInputs = with perlPackages; [
     FileWhich
     LWP
@@ -52,7 +75,10 @@ buildPerlPackage rec {
     cp -r lib $out
 
     for cur in $out/bin/*; do
-      sed -e "s|./lib|$out/lib|" -i "$cur"
+      if [ -x "$cur" ]; then
+        sed -e "s|./lib|$out/lib|" -i "$cur"
+        wrapProgram "$cur" --prefix PATH : ${lib.makeBinPath [nix dmidecode pciutils usbutils nettools iproute]}
+      fi
     done
   '';
 
diff --git a/pkgs/servers/monitoring/fusion-inventory/remove_software_test.patch b/pkgs/servers/monitoring/fusion-inventory/remove_software_test.patch
index 5449f4d3740f..b360f418aa0b 100644
--- a/pkgs/servers/monitoring/fusion-inventory/remove_software_test.patch
+++ b/pkgs/servers/monitoring/fusion-inventory/remove_software_test.patch
@@ -28,7 +28,7 @@ index 8ee7ff02c..bd5551ab3 100755
  skip 'live SNMP test disabled', 6 unless $ENV{TEST_LIVE_SNMP};
  
 diff --git a/t/apps/agent.t b/t/apps/agent.t
-index f417b4106..12207f192 100755
+index c0f6fc52f..c83837d70 100755
 --- a/t/apps/agent.t
 +++ b/t/apps/agent.t
 @@ -12,7 +12,7 @@ use XML::TreePP;
@@ -40,15 +40,28 @@ index f417b4106..12207f192 100755
  
  my ($content, $out, $err, $rc);
  
-@@ -73,11 +73,6 @@ subtest "first inventory execution and content" => sub {
+@@ -71,11 +71,6 @@ subtest "first inventory execution and content" => sub {
+     check_content_ok($out);
  };
  
- ok(
+-ok(
 -    exists $content->{REQUEST}->{CONTENT}->{SOFTWARES},
 -    'inventory has software'
 -);
 -
--ok(
+ ok(
      exists $content->{REQUEST}->{CONTENT}->{ENVS},
      'inventory has environment variables'
- );
+diff --git a/t/tasks/inventory/linux/softwares.t b/t/tasks/inventory/linux/softwares.t
+index 72a0e578c..13944f34f 100755
+--- a/t/tasks/inventory/linux/softwares.t
++++ b/t/tasks/inventory/linux/softwares.t
+@@ -89,7 +89,7 @@ my $rpm_packages = [
+         PUBLISHER   => 'Mageia.Org',
+         NAME        => 'xfsprogs',
+         COMMENTS    => 'Utilities for managing the XFS filesystem',
+-        INSTALLDATE => '25/03/2012',
++        INSTALLDATE => '24/03/2012',
+         FILESIZE    => '3628382',
+         FROM        => 'rpm',
+         ARCH        => 'x86_64',
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index c186fc2835fd..fbe49dd634ec 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "4.6.1";
+  version = "4.6.2";
   name = "grafana-v${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1l606dbx3rfbqbr30iirsc2lkzqa2kc6160g2sn0205mdz8b31zj";
+    sha256 = "0awf00n3rrxjyiza3mga496k1k9c4fkg6rxn9azdab1qvdkzh513";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-x64.tar.gz";
-    sha256 = "04756ry3b8fyk91lzacsixha6l4q1g532krxz759d17sfrnbaz2q";
+    sha256 = "08svlg190h5nvv701lcl3a2iak2xdmslpdwjv2w5fcdfyp7bd6ld";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch b/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch
new file mode 100644
index 000000000000..6e14d6137034
--- /dev/null
+++ b/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch
@@ -0,0 +1,41 @@
+commit af5fa3623bb9a73052f9154be4a0f38c60ea42a2
+Author: Kjetil Orbekk <kjetil.orbekk@gmail.com>
+Date:   Thu Nov 23 21:21:36 2017 -0500
+
+    node: add --sconfdir to set plugin configuration dir
+
+diff --git a/node/sbin/munin-node b/node/sbin/munin-node
+index 909c8c4e..0ccf3941 100755
+--- a/node/sbin/munin-node
++++ b/node/sbin/munin-node
+@@ -100,9 +100,11 @@ sub parse_args
+     my @ORIG_ARGV  = @ARGV;
+ 
+     my $servicedir_cmdline;
++    my $sconfdir_cmdline;
+     print_usage_and_exit() unless GetOptions(
+         "config=s"     => \$conffile,
+         "servicedir=s" => \$servicedir_cmdline,
++        "sconfdir=s"   => \$sconfdir_cmdline,
+         "debug!"       => \$DEBUG,
+         "pidebug!"     => \$PIDEBUG,
+         "paranoia!"    => \$paranoia,
+@@ -112,6 +114,7 @@ sub parse_args
+ 
+     # We untaint the args brutally, since the sysadm should know what he does
+     $servicedir = $1 if defined $servicedir_cmdline && $servicedir_cmdline =~ m/(.*)/;
++    $sconfdir = $1 if defined $sconfdir_cmdline && $sconfdir_cmdline =~ m/(.*)/;
+ 
+     # Reset ARGV (for HUPing)
+     @ARGV = @ORIG_ARGV;
+@@ -175,6 +178,10 @@ Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin-node.conf]
+ 
+ Override plugin directory [@@CONFDIR@@/plugins/]
+ 
++=item B<< --sconfdir <dir> >>
++
++Override plugin configuration directory [@@CONFDIR@@/plugin-conf.d/]
++
+ =item B< --[no]paranoia >
+ 
+ Only run plugins owned by root. Check permissions as well. [--noparanoia]
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 7882572b6c88..98e86bf8e36f 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.33";
+  version = "2.0.34";
   name = "munin-${version}";
 
   src = fetchFromGitHub {
     owner = "munin-monitoring";
     repo = "munin";
     rev = version;
-    sha256 = "0rs05b7926mjd58sdry33i91m1h3v3svl0wg2gmhljl8wqidac5w";
+    sha256 = "0mb5m0nc3nr9781d3s99sjdssmvkv37gxyplzr6d73i4hi31m7fr";
   };
 
   buildInputs = [ 
@@ -67,6 +67,9 @@ stdenv.mkDerivation rec {
 
     # https://github.com/munin-monitoring/munin/pull/134
     ./adding_servicedir_munin-node.patch
+
+    ./adding_sconfdir_munin-node.patch
+    ./preserve_environment.patch
   ];
 
   preBuild = ''
@@ -102,8 +105,8 @@ stdenv.mkDerivation rec {
     find "$out/lib/plugins" -type f -print0 | xargs -0 -L1 \
         sed -i -e "s|/usr/bin/||g" -e "s|/usr/sbin/||g" -e "s|\<bc\>|${bc}/bin/bc|g"
 
-    if test -e $out/nix-support/propagated-native-build-inputs; then
-        ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
     fi
 
     for file in "$out"/bin/munindoc "$out"/sbin/munin-* "$out"/lib/munin-* "$out"/www/cgi/*; do
diff --git a/pkgs/servers/monitoring/munin/preserve_environment.patch b/pkgs/servers/monitoring/munin/preserve_environment.patch
new file mode 100644
index 000000000000..ef66f48ecb42
--- /dev/null
+++ b/pkgs/servers/monitoring/munin/preserve_environment.patch
@@ -0,0 +1,41 @@
+commit d94c29b7397362857b81d8c877a989fdb28490d8
+Author: Kjetil Orbekk <kjetil.orbekk@gmail.com>
+Date:   Tue Nov 21 15:37:42 2017 -0500
+
+    Keep environment variables instead of overwriting them.
+
+diff --git a/common/lib/Munin/Common/Defaults.pm b/common/lib/Munin/Common/Defaults.pm
+index 131f52c0..bbf42697 100644
+--- a/common/lib/Munin/Common/Defaults.pm
++++ b/common/lib/Munin/Common/Defaults.pm
+@@ -71,7 +71,7 @@ sub export_to_environment {
+ 
+     my %defaults = %{$class->get_defaults()};
+     while (my ($k, $v) = each %defaults) {
+-        $ENV{$k} = $v;
++        $ENV{$k} = $ENV{$k} || $v;
+     }
+ 
+     return
+diff --git a/node/lib/Munin/Node/Service.pm b/node/lib/Munin/Node/Service.pm
+index 1b4f6114..be58bd77 100644
+--- a/node/lib/Munin/Node/Service.pm
++++ b/node/lib/Munin/Node/Service.pm
+@@ -122,7 +122,7 @@ sub export_service_environment {
+     # We append the USER to the MUNIN_PLUGSTATE, to avoid CVE-2012-3512
+     my $uid = $self->_resolve_uid($service);
+     my $user = getpwuid($uid);
+-    $ENV{MUNIN_PLUGSTATE} = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/$user";
++    $ENV{MUNIN_PLUGSTATE} = "$ENV{MUNIN_PLUGSTATE}/$user";
+ 
+     # Provide a consistent default state-file.
+     $ENV{MUNIN_STATEFILE} = "$ENV{MUNIN_PLUGSTATE}/$service-$ENV{MUNIN_MASTER_IP}";
+@@ -243,7 +243,7 @@ sub exec_service
+ 
+     # XXX - Create the statedir for the user
+     my $uid = $self->_resolve_uid($service);
+-    Munin::Node::OS->mkdir_subdir("$Munin::Common::Defaults::MUNIN_PLUGSTATE", $uid);
++    Munin::Node::OS->mkdir_subdir("$ENV{MUNIN_PLUGSTATE}", $uid);
+ 
+     $self->change_real_and_effective_user_and_group($service);
+ 
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index afc6f4e31599..da2d1388c469 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -5,12 +5,12 @@ assert enableJabber -> minmay != null;
 
 let
 
-  version = "2.0.11";
+  version = "2.0.21";
   branch = "2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "1vqxlqwhnz02wrca08vrqbq8k19qp84hbdplmqk7d9699njim46i";
+    sha256 = "14g22x2zy5xqnh2xg23xy5gjd49d1i8pks7pkidwdwa9acwgfx71";
   };
 
   preConfigure =
diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
index e951d3706e9d..1cc604f6491b 100644
--- a/pkgs/servers/monitoring/zabbix/2.2.nix
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -10,12 +10,12 @@ assert enableJabber -> minmay != null;
 
 let
 
-  version = "2.2.16";
+  version = "2.2.20";
   branch = "2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "0hc0y3p8p6pxri7w3n311ry3m5hb440kgwwkiqlihbhsq73xiz1w";
+    sha256 = "00pfpyj3vydwx9dn0bklh1p5j0bp2awi4hvv4kgliyav8l0416hk";
   };
 
   preConfigure =
diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index 6b15c165dfdf..4f9b3a6b443c 100644
--- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     for i in "$out"/bin/*; do
       wrapProgram "$i" \
         --prefix "PATH" : "${java}/bin/" \
-        --set "FUSEKI_HOME" '"''${FUSEKI_HOME:-'"$out"'}"' \
+        --set-default "FUSEKI_HOME" "$out" \
         ;
     done
   '';
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index b2cc7afb8045..972bd53d95ee 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,15 +2,19 @@
 
 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";
   };
 
+  buildFlagsArray = [ ''-ldflags=
+    -X main.version=${version}
+  '' ];
+
   goPackagePath = "github.com/influxdata/influxdb";
 
   excludedPackages = "test";
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/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index d7ed2849d604..cb004e15cc7a 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -22,6 +22,18 @@ stdenv.mkDerivation rec {
       url = "http://git.openafs.org/?p=openafs.git;a=patch;h=c193e5cba18273a062d4162118c7055b54f7eb5e";
       sha256 = "1yc4gygcazwsslf6mzk1ai92as5jbsjv7212jcbb2dw83jydhc09";
     })
+    # linux 4.14
+    (fetchpatch {
+      name = "test-for-__vfs_write-rather-than-__vfs_read.patch";
+      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=929e77a886fc9853ee292ba1aa52a920c454e94b";
+      sha256 = "0g4jxqzvyrjy2q7mhxc5ikhypj3ljw1wri4lipzm66crsvycp9x5";
+    })
+    # linux 4.14
+    (fetchpatch {
+      name = "use-kernel_read-kernel_write-when-__vfs-variants-are-unavailable.patch";
+      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=5ee516b3789d3545f3d78fb3aba2480308359945";
+      sha256 = "1vx55qb120y857mn1l00i58fj9cckschp86ch3g6hqrdc5q5bxv2";
+    })
   ];
 
   preConfigure = ''
diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix
index c452ac869fce..f02e67740b62 100644
--- a/pkgs/servers/owncloud/default.nix
+++ b/pkgs/servers/owncloud/default.nix
@@ -32,11 +32,6 @@ let
 
 in {
 
-  owncloud705 = common {
-    versiona = "7.0.5";
-    sha256 = "1j21b7ljvbhni9l0b1cpzlhsjy36scyas1l1j222mqdg2srfsi9y";
-  };
-
   owncloud70 = common {
     versiona = "7.0.15";
     sha256 = "1b2a0fccxlkqyyzsymx7qw8qbhsks3i6h1ybvxv8nn8hgw33nqv7";
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/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 9e211b8df740..6b3d60bcaea1 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, libnsl, libtirpc
+{ fetchurl, stdenv, pkgconfig, libnsl, libtirpc, fetchpatch
 , useSystemd ? true, systemd }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sunrpc.patch
+    (fetchpatch {
+      name = "CVE-2017-8779.patch";
+      url = "https://raw.githubusercontent.com/guidovranken/rpcbomb/e6da9e489aa8ad000b0ad5ac9abc5b4eefc3a769/rpcbind_patch.txt";
+      sha256 = "0w231w8fxihgrn526np078j3vbj3ylvjvxjmfpjvqhga5zg821ab";
+    })
   ];
 
   buildInputs = [ libnsl libtirpc ]
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 8adb90496c31..7e1ae7f60326 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -19,11 +19,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.6.8";
+  version = "4.6.11";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0pap686cl0j5c9v1v09krpqdk416x3851fbcap5ysp1zajrfw7aq";
+    sha256 = "07gd41y4ajdiansfqa8c5wvrincgddfzyfgh1pf7g388zaq7l6q5";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/shairplay/default.nix b/pkgs/servers/shairplay/default.nix
new file mode 100644
index 000000000000..33e2f39280ad
--- /dev/null
+++ b/pkgs/servers/shairplay/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, avahi, libao }:
+
+stdenv.mkDerivation rec {
+  name = "shairplay-${version}";
+  version = "2016-01-01";
+
+  src = fetchFromGitHub {
+    owner  = "juhovh";
+    repo   = "shairplay";
+    rev    = "ce80e005908f41d0e6fde1c4a21e9cb8ee54007b";
+    sha256 = "10b4bmqgf4rf1wszvj066mc42p90968vqrmyqyrdal4k6f8by1r6";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ avahi libao ];
+
+  enableParallelBuilding = true;
+
+  # the build will fail without complaining about a reference to /tmp
+  preFixup = ''
+    patchelf \
+      --set-rpath "${stdenv.lib.makeLibraryPath buildInputs}:$out/lib" \
+      $out/bin/shairplay
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Apple airplay and raop protocol server";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms   = platforms.unix;
+  };
+}
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/cockroachdb/default.nix b/pkgs/servers/sql/cockroachdb/default.nix
index be9a02031ffe..e97b483fa062 100644
--- a/pkgs/servers/sql/cockroachdb/default.nix
+++ b/pkgs/servers/sql/cockroachdb/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "cockroach-${version}";
-  version = "1.1.1";
+  version = "1.1.2";
 
   goPackagePath = "github.com/cockroachdb/cockroach";
 
   src = fetchurl {
     url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
-    sha256 = "0d2nlm291k4x7hqi0kh76j6pj8b1dwbdww5f95brf0a9bl1n7qxr";
+    sha256 = "0h1fijzihp85a18flq4brdc3b38gj867kfkp31gncnmff0xb8kam";
   };
 
   nativeBuildInputs = [ cmake xz which autoconf ];
diff --git a/pkgs/servers/sql/oracle-xe/default.nix b/pkgs/servers/sql/oracle-xe/default.nix
index e86406cd469c..9068ca70cc6e 100644
--- a/pkgs/servers/sql/oracle-xe/default.nix
+++ b/pkgs/servers/sql/oracle-xe/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
       makeWrapper "$i" "$out/bin/''${i##*/}" \
         --set ORACLE_HOME "$out/libexec/oracle" \
         --set ORACLE_SID XE \
-        --set NLS_LANG '$("'"$out"'/libexec/oracle/bin/nls_lang.sh")' \
+        --run "export NLS_LANG=\$($out/libexec/oracle/bin/nls_lang.sh)" \
         --prefix PATH : "$out/libexec/oracle/bin"
     done
   '';
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/sqlite/jdbc/default.nix b/pkgs/servers/sql/sqlite/jdbc/default.nix
new file mode 100644
index 000000000000..5b0425c410fc
--- /dev/null
+++ b/pkgs/servers/sql/sqlite/jdbc/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.20.0";
+  pname = "sqlite-jdbc";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/xerial/${pname}/downloads/${name}.jar";
+    sha256 = "0wxfxnq2ghiwy2mwz3rljgmy1lciafhrw80lprvqz6iw8l51qfql";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    install -D "${src}" "$out/share/java/${name}.jar"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/xerial/sqlite-jdbc";
+    description = "SQLite JDBC Driver";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
+
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index f1fb1a34fc24..d0d0efa9aa6d 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, buildGoPackage, fetchurl, bash, go-bindata}:
+{ stdenv, buildGoPackage, fetchFromGitHub, bash, go-bindata}:
 
 buildGoPackage rec {
   name = "traefik-${version}";
-  version = "1.3.8";
+  version = "1.4.4";
 
   goPackagePath = "github.com/containous/traefik";
 
-  src = fetchurl {
-    url = "https://github.com/containous/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "6fce36dd30bb5ae5f91e69f2950f22fe7a74b920e80c6b441a0721122f6a6174";
+  src = fetchFromGitHub {
+    owner = "containous";
+    repo = "traefik";
+    rev = "v${version}";
+    sha256 = "114861v8kg77zwnf742n25h7c4fly3i52inqx1kcpqs074rqm1wn";
   };
 
   buildInputs = [ go-bindata bash ];
-  unpackPhase = ''
-    runHook preUnpack
-    mkdir traefik
-    tar -C traefik -xvzf $src
-    export sourceRoot="traefik"
-    runHook postUnpack
-  '';
 
   buildPhase = ''
     runHook preBuild
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/web-apps/restya-board/default.nix b/pkgs/servers/web-apps/restya-board/default.nix
new file mode 100644
index 000000000000..946606e37013
--- /dev/null
+++ b/pkgs/servers/web-apps/restya-board/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, unzip }:
+
+let
+
+  hide-card-id = fetchurl {
+    url = "https://github.com/RestyaPlatform/board-apps/releases/download/v2/r_hide_card_id-v0.1.2.zip";
+    sha256 = "1scm696rs8wx0z2y0g6r9vf01b0yay79azw8n785c6zdvrbqw7dp";
+  };
+
+  togetherjs = fetchurl {
+    url = "https://github.com/RestyaPlatform/board-apps/releases/download/v2/r_togetherjs-v0.1.2.zip";
+    sha256 = "1kms7z0ci15plwbs6nxvz15w0ym3in39msbncaj3cn0p72kvx5cm";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "rstya-board-${version}";
+  version = "0.6";
+
+  src = fetchurl {
+    url = "https://github.com/RestyaPlatform/board/releases/download/v${version}/board-v${version}.zip";
+    sha256 = "1js8c69qmga7bikp66fqhch3n2vw49918z32q88lz3havqzai8gd";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  buildCommand = ''
+    mkdir $out
+    unzip -d $out $src
+
+    cd $out
+    patch -p1 < ${./fix_request-uri.patch}
+
+    chmod +x $out/server/php/shell/*.sh
+
+    mkdir $out/client/apps
+    unzip -d $out/client/apps ${hide-card-id}
+    unzip -d $out/client/apps ${togetherjs}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Web-based kanban board";
+    license = licenses.osl3;
+    homepage = http://restya.com;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/servers/web-apps/restya-board/fix_request-uri.patch b/pkgs/servers/web-apps/restya-board/fix_request-uri.patch
new file mode 100644
index 000000000000..9b96756e8299
--- /dev/null
+++ b/pkgs/servers/web-apps/restya-board/fix_request-uri.patch
@@ -0,0 +1,12 @@
+diff --git a/server/php/R/r.php b/server/php/R/r.php
+--- a/server/php/R/r.php
++++ b/server/php/R/r.php
+@@ -18,7 +18,7 @@ $r_debug = '';
+ $authUser = $client = $form = array();
+ $_server_protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https' : 'http';
+ $_server_domain_url = $_server_protocol . '://' . $_SERVER['HTTP_HOST']; // http://localhost
+-header('x-response-url:' . $_SERVER[REQUEST_URI]);
++header('x-response-url:' . $_SERVER['REQUEST_URI']);
+ header('Access-Control-Allow-Origin: *');
+ header('Access-Control-Allow-Methods: *');
+ require_once '../config.inc.php';
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index bb07c42b872c..d8dde97a0969 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,8 +2,8 @@
 { fetchFromGitHub, lib } : fetchFromGitHub {
   owner = "WordPress";
   repo = "WordPress";
-  rev = "4.8.3";
-  sha256 = "077bdx22sj29v8q493b49xfzxpc38q45pjhmn4znw2fmkjilih5p";
+  rev = "4.9";
+  sha256 = "1qffh413k8c1mf3jj9hys3a7y1qfjcg2w96w4c9x3ida3lchg7ln";
   meta = {
     homepage = https://wordpress.org;
     description = "WordPress is open source software you can use to create a beautiful website, blog, or app.";
diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh
index fae8bf5a8ce5..bb3e5ac42832 100644
--- a/pkgs/servers/x11/xorg/builder.sh
+++ b/pkgs/servers/x11/xorg/builder.sh
@@ -16,22 +16,18 @@ postInstall() {
 
     echo "propagating requisites $requires"
 
+    if test -n "$crossConfig"; then
+        local pkgs=("${crossPkgs[@]}")
+    else
+        local pkgs=("${nativePkgs[@]}")
+    fi
     for r in $requires; do
-        if test -n "$crossConfig"; then
-            for p in "${crossPkgs[@]}"; do
-                if test -e $p/lib/pkgconfig/$r.pc; then
-                    echo "  found requisite $r in $p"
-                    propagatedBuildInputs="$propagatedBuildInputs $p"
-                fi
-            done
-        else
-            for p in "${nativePkgs[@]}"; do
-                if test -e $p/lib/pkgconfig/$r.pc; then
-                    echo "  found requisite $r in $p"
-                    propagatedNativeBuildInputs="$propagatedNativeBuildInputs $p"
-                fi
-            done
-        fi
+        for p in "${pkgs[@]}"; do
+            if test -e $p/lib/pkgconfig/$r.pc; then
+                echo "  found requisite $r in $p"
+                propagatedBuildInputs+=" $p"
+            fi
+        done
     done
 }
 
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 4161df6ae8b9..d1c7c81c101e 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -44,16 +44,16 @@ let
   }) // {inherit libX11 xproto libXt ;};
 
   bdftopcf = (mkDerivation "bdftopcf" {
-    name = "bdftopcf-1.0.5";
+    name = "bdftopcf-1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2;
-      sha256 = "09i03sk878cmx2i40lkpsysn7zqcvlczb30j7x3lryb11jz4gx1q";
+      url = mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2;
+      sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab";
     };
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libXfont ];
+    buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXfont ;};
+  }) // {inherit ;};
 
   bigreqsproto = (mkDerivation "bigreqsproto" {
     name = "bigreqsproto-1.1.2";
@@ -67,6 +67,18 @@ let
     meta.platforms = stdenv.lib.platforms.unix;
   }) // {inherit ;};
 
+  bitmap = (mkDerivation "bitmap" {
+    name = "bitmap-1.0.8";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/bitmap-1.0.8.tar.gz;
+      sha256 = "1z06a1sn3iq72rmh73f11xgb7n46bdav1fvpgczxjp6al88bsbqs";
+    };
+    nativeBuildInputs = [ pkgconfig ];
+    buildInputs = [ libX11 libXaw xbitmaps libXmu xproto libXt ];
+    meta.platforms = stdenv.lib.platforms.unix;
+  }) // {inherit libX11 libXaw xbitmaps libXmu xproto libXt ;};
+
   compositeproto = (mkDerivation "compositeproto" {
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
@@ -788,11 +800,11 @@ let
   }) // {inherit compositeproto libX11 libXfixes xproto ;};
 
   libXcursor = (mkDerivation "libXcursor" {
-    name = "libXcursor-1.1.14";
+    name = "libXcursor-1.1.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2;
-      sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv";
+      url = mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2;
+      sha256 = "0syzlfvh29037p0vnlc8f3jxz8nl55k65blswsakklkwsc6nfki9";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 libXfixes xproto libXrender ];
@@ -848,11 +860,11 @@ let
   }) // {inherit fixesproto libX11 xextproto xproto ;};
 
   libXfont = (mkDerivation "libXfont" {
-    name = "libXfont-1.5.3";
+    name = "libXfont-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.5.3.tar.bz2;
-      sha256 = "1l4k3i3xzqdmaszykh6bb2ah78p6c3z7fak7xzgq2d38s87w31db";
+      url = mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2;
+      sha256 = "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
@@ -860,11 +872,11 @@ let
   }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
 
   libXfont2 = (mkDerivation "libXfont2" {
-    name = "libXfont2-2.0.2";
+    name = "libXfont2-2.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont2-2.0.2.tar.bz2;
-      sha256 = "04f1lswh1ridkycgaivf1hrr77l5ap8smbfr2rqjrm7phwxqs24l";
+      url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2;
+      sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
@@ -1100,11 +1112,11 @@ let
   }) // {inherit xproto zlib ;};
 
   libpciaccess = (mkDerivation "libpciaccess" {
-    name = "libpciaccess-0.13.5";
+    name = "libpciaccess-0.14";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2;
-      sha256 = "16dr80rdw5bzdyhahvilfjrflj7scs2yl2mmghsb84f3nglm8b3m";
+      url = mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2;
+      sha256 = "197jbcpvp4z4x6j705mq2y4fsnnypy6f85y8xalgwhgx5bhl7x9x";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ zlib ];
@@ -1748,11 +1760,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
-    name = "xf86-input-libinput-0.25.0";
+    name = "xf86-input-libinput-0.26.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-libinput-0.25.0.tar.bz2;
-      sha256 = "0vsmijamfzf6vcljrr0am2qcz33zl2l0lj2mzmbwgrm7ixjx2zxv";
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2;
+      sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 87dfeb3cfa7f..20d57b32dd71 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -24,6 +24,25 @@ let
   compose = f: g: x: f (g x);
 in
 {
+  bdftopcf = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.fontsproto ];
+  };
+
+  bitmap = attrs: attrs // {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ makeWrapper ];
+    postInstall = ''
+      paths=(
+        "$out/share/X11/%T/%N"
+        "$out/include/X11/%T/%N"
+        "${xorg.xbitmaps}/include/X11/%T/%N"
+      )
+      wrapProgram "$out/bin/bitmap" \
+        --suffix XFILESEARCHPATH : $(IFS=:; echo "''${paths[*]}")
+      makeWrapper "$out/bin/bitmap" "$out/bin/bitmap-color" \
+        --suffix XFILESEARCHPATH : "$out/share/X11/%T/%N-color"
+    '';
+  };
+
   encodings = attrs: attrs // {
     buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
   };
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 526785ae8fba..4ea77fee4431 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -1,6 +1,7 @@
 mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2
-mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2
+mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
+mirror://xorg/individual/app/bitmap-1.0.8.tar.gz
 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2
@@ -56,20 +57,20 @@ mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
 mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2
 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.6.5.tar.bz2
 mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2
 mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
-mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
+mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2
 mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.2.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.5.3.tar.bz2
-mirror://xorg/individual/lib/libXfont2-2.0.2.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
+mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
@@ -122,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.25.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
diff --git a/pkgs/shells/antigen/default.nix b/pkgs/shells/antigen/default.nix
index b43f2d305701..fc3759803f62 100644
--- a/pkgs/shells/antigen/default.nix
+++ b/pkgs/shells/antigen/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.1";
+  version = "2.2.2";
   name = "antigen-${version}";
 
   src = fetchurl {
     url = "https://github.com/zsh-users/antigen/releases/download/v${version}/antigen.zsh";
-    sha256 = "0s32280ak0gd0rr66g5dj6r5px0si8w47bcxlqfpaijg7i8xk1i7";
+    sha256 = "0635dvnsqh7dpqdwx5qq3kx7m1cx2038zln6y9ycnbi3i0ilgj9z";
   };
+
   phases = "installPhase";
 
   installPhase = ''
     outdir=$out/share/antigen
-
     mkdir -p $outdir
     cp $src $outdir/antigen.zsh
   '';
diff --git a/pkgs/shells/dgsh/default.nix b/pkgs/shells/dgsh/default.nix
index 51319aef90aa..c3c2da329a9b 100644
--- a/pkgs/shells/dgsh/default.nix
+++ b/pkgs/shells/dgsh/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [ ./glibc-2.26.patch ];
+
   nativeBuildInputs = [ autoconf automake pkgconfig libtool check
     bison git gettext gperf perl texinfo help2man ncurses
   ];
@@ -31,6 +33,8 @@ stdenv.mkDerivation rec {
     make PREFIX=$out config
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "The Directed Graph Shell";
     homepage = http://www.dmst.aueb.gr/dds/sw/dgsh;
diff --git a/pkgs/shells/dgsh/glibc-2.26.patch b/pkgs/shells/dgsh/glibc-2.26.patch
new file mode 100644
index 000000000000..c66768151316
--- /dev/null
+++ b/pkgs/shells/dgsh/glibc-2.26.patch
@@ -0,0 +1,12 @@
+diff --git a/core-tools/src/dgsh-httpval.c b/core-tools/src/dgsh-httpval.c
+index 8b5dce3..7b43c3d 100644
+--- a/core-tools/src/dgsh-httpval.c
++++ b/core-tools/src/dgsh-httpval.c
+@@ -40,6 +40,7 @@
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
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/fish/default.nix b/pkgs/shells/fish/default.nix
index 5832c8ef8911..ec99f2bbf8de 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -35,11 +35,11 @@ let
     #     source both, but source the more global configuration files earlier
     #     than the more local ones, so that more local configurations inherit
     #     from but override the more global locations.
-    
+
     if test -f /etc/fish/config.fish
       source /etc/fish/config.fish
     end
-    
+
     #                                                                             #
     ############### ↑ Nix hook for sourcing /etc/fish/config.fish ↑ ###############
   '';
@@ -88,13 +88,15 @@ let
 
   fish = stdenv.mkDerivation rec {
     name = "fish-${version}";
-    version = "2.6.0";
+    version = "2.7.0";
 
     etcConfigAppendix = builtins.toFile "etc-config.appendix.fish" etcConfigAppendixText;
 
     src = fetchurl {
-      url = "http://fishshell.com/files/${version}/${name}.tar.gz";
-      sha256 = "1yzx73kg5ng5ivhi68756sl5hpb8869110l9fwim6gn7f7bbprby";
+      # There are differences between the release tarball and the tarball github packages from the tag
+      # Hence we cannot use fetchFromGithub
+      url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${name}.tar.gz";
+      sha256 = "1jvvm27hp46w0cia14lfz6161dkz8b935j1m7j38i7rgx75bfxis";
     };
 
     buildInputs = [ ncurses libiconv pcre2 ];
@@ -157,6 +159,8 @@ let
       tee -a $out/share/fish/__fish_build_paths.fish < ${(writeText "__fish_build_paths_suffix.fish" fishPreInitHooks)}
     '';
 
+    enableParallelBuilding = true;
+
     meta = with stdenv.lib; {
       description = "Smart and user-friendly command line shell";
       homepage = http://fishshell.com/;
diff --git a/pkgs/shells/nix-bash-completions/default.nix b/pkgs/shells/nix-bash-completions/default.nix
index cfe31e4c177c..58425ed63407 100644
--- a/pkgs/shells/nix-bash-completions/default.nix
+++ b/pkgs/shells/nix-bash-completions/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "0.2";
+  version = "0.5";
   name = "nix-bash-completions-${version}";
 
   src = fetchFromGitHub {
     owner = "hedning";
     repo = "nix-bash-completions";
     rev = "v${version}";
-    sha256 = "0clr3c0zf73pnabab4n5b5x8cd2yilksvvlp4i0rj0cfbr1pzxgr";
+    sha256 = "095dbbqssaxf0y85xw73gajif6lzy2aja4scg3plplng3k9zbldz";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/nix-zsh-completions/default.nix
index cd190e8cabe4..0fbef1fe0fb6 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.2";
+  version = "0.3.5";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "0i306k50g07n9smy68npma1k90sv173zy12jdi8wm7h1sj53m5rv";
+    sha256 = "1fp565qbzbbwj99rq3c28gpq8gcnlxb2glj05382zimas1dfd0y9";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 598e6dbd9460..d22a66eb93ae 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,39 +2,34 @@
 
 python3Packages.buildPythonApplication rec {
   name = "xonsh-${version}";
-  version = "0.4.3";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "scopatz";
     repo = "xonsh";
     rev = version;
-    sha256= "1lx95i468px908y18fa9fmfgmjsydhkpas89dxbwfnybqxxyd3ls";
+    sha256= "0hfsan22i81wffx2xbamm8wwkxgpv12z4kfl37p9m22vpqgg0fdg";
   };
 
-  ## The logo xonsh prints during build contains unicode characters, and this
-  ## fails because locales have not been set up in the build environment.
-  ## We can fix this on Linux by setting:
-  ##    export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
-  ## but this would not be a cross platform solution, so it's simpler to just
-  ## patch the setup.py script to not print the logo during build.
-  #prePatch = ''
-  #  substituteInPlace setup.py --replace "print(logo)" ""
-  #'';
-  patchPhase = ''
+  LC_ALL = "en_US.UTF-8";
+  postPatch = ''
     rm xonsh/winutils.py
-    sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" tests/test_execer.py
-    sed -ie 's|test_win_ipconfig|_test_win_ipconfig|g' tests/test_execer.py
-    sed -ie 's|test_ipconfig|_test_ipconfig|g' tests/test_execer.py
-    rm tests/test_main.py
-    rm tests/test_man.py
-    rm tests/test_replay.py
+
+    sed -ie "s|/bin/ls|${coreutils}/bin/ls|" tests/test_execer.py
+    sed -ie 's|/usr/bin/env|${coreutils}/bin/env|' scripts/xon.sh
+
+    patchShebangs .
   '';
 
   checkPhase = ''
-    HOME=$TMPDIR XONSH_INTERACTIVE=0 nosetests -x
+    HOME=$TMPDIR XONSH_INTERACTIVE=0 \
+      pytest \
+        -k 'not test_man_completion and not test_printfile and not test_sourcefile and not test_printname ' \
+        tests
   '';
 
-  buildInputs = with python3Packages; [ glibcLocales nose pytest ];
+  checkInputs = with python3Packages; [ pytest glibcLocales ];
+
   propagatedBuildInputs = with python3Packages; [ ply prompt_toolkit ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/shells/zsh-command-time/default.nix b/pkgs/shells/zsh-command-time/default.nix
new file mode 100644
index 000000000000..453a57744071
--- /dev/null
+++ b/pkgs/shells/zsh-command-time/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub }:
+
+# To make use of this plugin, need to add
+#   programs.zsh.interactiveShellInit = ''
+#     source ${pkgs.zsh-command-time}/share/zsh-command-time/command-time.plugin.zsh
+#     ZSH_COMMAND_TIME_MIN_SECONDS=3
+#     ZSH_COMMAND_TIME_ECHO=1
+#   '';
+
+stdenv.mkDerivation rec {
+  version = "2017-05-09";
+  name = "zsh-command-time-${version}";
+
+  src = fetchFromGitHub {
+    owner = "popstas";
+    repo = "zsh-command-time";
+    rev = "2111361cbc88c542c834fbab7802ae5ae8339824";
+    sha256 = "0hr9c7196wy9cg7vkmknszr2h446yvg9pqrq0rf3213kz074dhpg";
+  };
+
+  installPhase = ''
+    install -D $src/command-time.plugin.zsh --target-directory=$out/share/zsh-command-time
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Plugin that output time: xx after long commands";
+    homepage = https://github.com/popstas/zsh-command-time;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/shells/zsh-powerlevel9k/default.nix b/pkgs/shells/zsh-powerlevel9k/default.nix
new file mode 100644
index 000000000000..2babf35f2b68
--- /dev/null
+++ b/pkgs/shells/zsh-powerlevel9k/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, zsh }:
+
+# To make use of this derivation, use
+# `programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel9k}/share/zsh-powerlevel9k/powerlevel9k.zsh-theme";`
+
+stdenv.mkDerivation rec {
+  name = "powerlevel9k-${version}";
+  version = "2017-11-10";
+  src = fetchFromGitHub {
+    owner = "bhilburn";
+    repo = "powerlevel9k";
+    rev = "87acc51acab3ed4fd33cda2386abed6f98c80720";
+    sha256 = "0v1dqg9hvycdkcvklg2njff97xwr8rah0nyldv4xm39r77f4yfvq";
+  };
+
+  installPhase= ''
+    install -D powerlevel9k.zsh-theme --target-directory=$out/share/zsh-powerlevel9k
+    install -D functions/* --target-directory=$out/share/zsh-powerlevel9k/functions
+  '';
+
+  meta = {
+    description = "A beautiful theme for zsh";
+    homepage = https://github.com/bhilburn/powerlevel9k;
+    license = stdenv.lib.licenses.mit;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.pierrechevalier83 ];
+  };
+}
diff --git a/pkgs/shells/zsh-prezto/default.nix b/pkgs/shells/zsh-prezto/default.nix
index c5f404bbd3fd..c96de397294e 100644
--- a/pkgs/shells/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh-prezto/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, fetchFromGitHub }:
+{ stdenv, fetchpatch, fetchgit, fetchFromGitHub }:
 
 let
   # https://github.com/spwhitt/nix-zsh-completions/pull/2
@@ -18,9 +18,9 @@ in stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
   patches = [
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/sorin-ionescu/prezto/pull/1028.patch";
-      sha256 = "0n2s7kfp9ljrq8lw5iibv0vyv66awrkzkqbyvy7hlcl06d8aykjv";
+      sha256 = "0yrj72s1hiaq13374xa82hxdig4s0kvqjn9apkmw0h7kzggxjfn3";
     })
   ];
   buildPhase = ''
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index c1c9127636f1..89c903b04a04 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -4,15 +4,15 @@
 # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools
 , bootstrapFiles ? let
   fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
-    url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/10cbca5b30c6cb421ce15139f32ae3a4977292cf/${file}";
+    url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/d5bdfcbfe6346761a332918a267e82799ec954d2/${file}";
     inherit (localSystem) system;
     inherit sha256 executable;
   }; in {
-    sh      = fetch { file = "sh";    sha256 = "0s8a9vpzj6vadq4jmf4r8cargwnsf327hdjydxgqsfxb8y1q39w3"; };
-    bzip2   = fetch { file = "bzip2"; sha256 = "1jqljpjr8mkiv7g5rl5impqx3all8vn1mxxdwa004pr3h48c1zgg"; };
-    mkdir   = fetch { file = "mkdir"; sha256 = "17zsjiwnq07i5r85q1hg7f6cnkcgllwy2amz9klaqwjy4vzz4vwh"; };
-    cpio    = fetch { file = "cpio";  sha256 = "04hrair58dgja6syh442pswiga5an9nl58ls57yknkn2pq51nx9m"; };
-    tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "103833hrci0vwi1gi978hkp69rncicvpdszn87ffpf1cq0jzpa14"; executable = false; };
+    sh      = fetch { file = "sh";    sha256 = "07wm33f1yzfpcd3rh42f8g096k4cvv7g65p968j28agzmm2s7s8m"; };
+    bzip2   = fetch { file = "bzip2"; sha256 = "0y9ri2aprkrp2dkzm6229l0mw4rxr2jy7vvh3d8mxv2698v2kdbm"; };
+    mkdir   = fetch { file = "mkdir"; sha256 = "0sb07xpy66ws6f2jfnpjibyimzb71al8n8c6y4nr8h50al3g90nr"; };
+    cpio    = fetch { file = "cpio";  sha256 = "0r5c54hg678w7zydx27bzl9p3v9fs25y5ix6vdfi1ilqim7xh65n"; };
+    tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "18hp5w6klr8g307ap4368r255qpzg9r0vwg9vqvj8f2zy1xilcjf"; executable = false; };
   }
 }:
 
@@ -21,9 +21,11 @@ assert crossSystem == null;
 let
   inherit (localSystem) system platform;
 
-  libSystemProfile = ''
-    (import "${./standard-sandbox.sb}")
-  '';
+  commonImpureHostDeps = [
+    "/bin/sh"
+    "/usr/lib/libSystem.B.dylib"
+    "/usr/lib/system/libunc.dylib" # This dependency is "hidden", so our scanning code doesn't pick it up
+  ];
 in rec {
   commonPreHook = ''
     export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}"
@@ -37,11 +39,6 @@ in rec {
     export gl_cv_func_getcwd_abort_bug=no
   '';
 
-  # The one dependency of /bin/sh :(
-  binShClosure = ''
-    (allow file-read* (literal "/usr/lib/libncurses.5.4.dylib"))
-  '';
-
   bootstrapTools = derivation rec {
     inherit system;
 
@@ -53,7 +50,7 @@ in rec {
     reexportedLibrariesFile =
       ../../os-specific/darwin/apple-source-releases/Libsystem/reexported_libraries;
 
-    __sandboxProfile = binShClosure + libSystemProfile;
+    __impureHostDeps = commonImpureHostDeps;
   };
 
   stageFun = step: last: {shell             ? "${bootstrapTools}/bin/bash",
@@ -108,8 +105,8 @@ in rec {
         };
 
         # The stdenvs themselves don't use mkDerivation, so I need to specify this here
-        stdenvSandboxProfile = binShClosure + libSystemProfile;
-        extraSandboxProfile  = binShClosure + libSystemProfile;
+        __stdenvImpureHostDeps = commonImpureHostDeps;
+        __extraImpureHostDeps = commonImpureHostDeps;
 
         extraAttrs = {
           inherit platform;
@@ -167,7 +164,7 @@ in rec {
   };
 
   stage1 = prevStage: let
-    persistent = _: _: {};
+    persistent = _: super: { python = super.python.override { configd = null; }; };
   in with prevStage; stageFun 1 prevStage {
     extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\"";
     extraNativeBuildInputs = [];
@@ -317,8 +314,8 @@ in rec {
       export PATH_LOCALE=${pkgs.darwin.locale}/share/locale
     '';
 
-    stdenvSandboxProfile = binShClosure + libSystemProfile;
-    extraSandboxProfile  = binShClosure + libSystemProfile;
+    __stdenvImpureHostDeps = commonImpureHostDeps;
+    __extraImpureHostDeps = commonImpureHostDeps;
 
     initialPath = import ../common-path.nix { inherit pkgs; };
     shell       = "${pkgs.bash}/bin/bash";
@@ -364,6 +361,10 @@ in rec {
         clang = cc;
         llvmPackages = persistent'.llvmPackages // { clang = cc; };
         inherit cc;
+
+        darwin = super.darwin // {
+          xnu = super.darwin.xnu.override { python = super.python.override { configd = null; }; };
+        };
       };
   };
 
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/stdenv/darwin/standard-sandbox.sb b/pkgs/stdenv/darwin/standard-sandbox.sb
deleted file mode 100644
index b87be89f35f2..000000000000
--- a/pkgs/stdenv/darwin/standard-sandbox.sb
+++ /dev/null
@@ -1,72 +0,0 @@
-(define TMPDIR (param "_GLOBAL_TMP_DIR"))
-
-; obvious
-(allow process-fork)
-
-; allow reading system information like #CPUs, etc.
-(allow sysctl-read)
-
-; IPC
-(allow ipc-posix*)
-
-; Unix sockets
-(allow system-socket)
-
-; all runtime dependencies of libSystem.dylib
-(allow file-read*
-       (literal "/usr/lib/libSystem.dylib")
-       (literal "/usr/lib/libSystem.B.dylib")
-       (literal "/usr/lib/libobjc.A.dylib")
-       (literal "/usr/lib/libobjc.dylib")
-       (literal "/usr/lib/libauto.dylib")
-       (literal "/usr/lib/libc++abi.dylib")
-       (literal "/usr/lib/libc++.1.dylib")
-       (literal "/usr/lib/libDiagnosticMessagesClient.dylib")
-       (subpath "/usr/lib/system"))
-
-; tmp
-(allow file* process-exec (literal "/tmp") (subpath TMPDIR))
-
-; clang likes to read the system version
-(allow file-read* (literal "/System/Library/CoreServices/SystemVersion.plist"))
-
-; used for bootstrap builders
-(allow process-exec* (literal "/bin/sh"))
-
-; without this line clang cannot write to /dev/null, breaking some configure tests
-(allow file-read-metadata (literal "/dev"))
-
-; standard devices
-(allow file*
-       (literal "/dev/null")
-       (literal "/dev/random")
-       (literal "/dev/stdin")
-       (literal "/dev/stdout")
-       (literal "/dev/tty")
-       (literal "/dev/urandom")
-       (literal "/dev/zero")
-       (subpath "/dev/fd"))
-
-; does nothing, but reduces build noise
-(allow file* (literal "/dev/dtracehelper"))
-
-; ICU data and zoneinfo data are hardcoded
-; both are in libicucore and zoneinfo is in libsystem_c as well
-(allow file-read* (subpath "/usr/share/icu") (subpath "/usr/share/zoneinfo"))
-
-; no idea what this is
-(allow file-read-data (literal "/dev/autofs_nowait"))
-
-; lots of autoconf projects want to list this directory
-(allow file-read-metadata (literal "/var") (literal "/private/var/tmp"))
-
-; send signals
-(allow signal (target same-sandbox))
-
-; allow getpwuid (for git and other packages)
-(allow mach-lookup
-       (global-name "com.apple.system.notification_center")
-       (global-name "com.apple.system.opendirectoryd.libinfo"))
-
-; allow networking on localhost
-(allow network* (local ip) (remote unix-socket))
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 02da3829c5ae..686ed68cedeb 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -239,12 +239,12 @@ isScript() {
 
 # printf unfortunately will print a trailing newline regardless
 printLines() {
-    [[ "$#" -gt 0 ]] || return 0
+    (( "$#" > 0 )) || return 0
     printf '%s\n' "$@"
 }
 
 printWords() {
-    [[ "$#" -gt 0 ]] || return 0
+    (( "$#" > 0 )) || return 0
     printf '%s ' "$@"
 }
 
@@ -302,9 +302,9 @@ runHook addInputsHook
 
 # Recursively find all build inputs.
 findInputs() {
-    local pkg="$1"
-    local var="$2"
-    local propagatedBuildInputsFile="$3"
+    local pkg="$1"; shift
+    local var="$1"; shift
+    local propagatedBuildInputsFiles=("$@")
 
     # TODO(@Ericson2314): Restore using associative array once Darwin
     # nix-shell doesn't use impure bash. This should replace the O(n)
@@ -324,6 +324,22 @@ findInputs() {
         exit 1
     fi
 
+    local file
+    for file in "${propagatedBuildInputsFiles[@]}"; do
+        file="$pkg/nix-support/$file"
+        [[ -f "$file" ]] || continue
+
+        local pkgNext
+        for pkgNext in $(< "$file"); do
+            findInputs "$pkgNext" "$var" "${propagatedBuildInputsFiles[@]}"
+        done
+    done
+}
+
+# Add package to the future PATH and run setup hooks
+activatePackage() {
+    local pkg="$1"
+
     if [ -f "$pkg" ]; then
         local oldOpts="$(shopt -po nounset)"
         set +u
@@ -341,13 +357,6 @@ findInputs() {
         source "$pkg/nix-support/setup-hook"
         eval "$oldOpts"
     fi
-
-    if [ -f "$pkg/nix-support/$propagatedBuildInputsFile" ]; then
-        local pkgNext
-        for pkgNext in $(< "$pkg/nix-support/$propagatedBuildInputsFile"); do
-            findInputs "$pkgNext" "$var" "$propagatedBuildInputsFile"
-        done
-    fi
 }
 
 declare -a nativePkgs crossPkgs
@@ -357,19 +366,21 @@ if [ -z "${crossConfig:-}" ]; then
     for i in ${nativeBuildInputs:-} ${buildInputs:-} \
              ${defaultNativeBuildInputs:-} ${defaultBuildInputs:-} \
              ${propagatedNativeBuildInputs:-} ${propagatedBuildInputs:-}; do
-        findInputs "$i" nativePkgs propagated-native-build-inputs
+        findInputs "$i" nativePkgs propagated-native-build-inputs propagated-build-inputs
     done
 else
-    for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do
-        findInputs "$i" crossPkgs propagated-build-inputs
-    done
-
-    declare -a nativePkgs
     for i in ${nativeBuildInputs:-} ${defaultNativeBuildInputs:-} ${propagatedNativeBuildInputs:-}; do
         findInputs "$i" nativePkgs propagated-native-build-inputs
     done
+    for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do
+        findInputs "$i" crossPkgs propagated-build-inputs
+    done
 fi
 
+for i in ${nativePkgs+"${nativePkgs[@]}"} ${crossPkgs+"${crossPkgs[@]}"}; do
+    activatePackage "$i"
+done
+
 
 # Set the relevant environment variables to point to the build inputs
 # found above.
@@ -886,31 +897,19 @@ fixupPhase() {
 
     # Propagate build inputs and setup hook into the development output.
 
-    if [ -z "${crossConfig:-}" ]; then
-        # Not cross-compiling - propagatedBuildInputs are handled identically to propagatedNativeBuildInputs
-        local propagated="$propagatedNativeBuildInputs"
-        if [ -n "${propagatedBuildInputs:-}" ]; then
-            propagated+="${propagated:+ }$propagatedBuildInputs"
-        fi
-        if [ -n "${propagated:-}" ]; then
-            mkdir -p "${!outputDev}/nix-support"
-            # shellcheck disable=SC2086
-            printWords $propagated > "${!outputDev}/nix-support/propagated-native-build-inputs"
-        fi
-    else
-        if [ -n "${propagatedBuildInputs:-}" ]; then
-            mkdir -p "${!outputDev}/nix-support"
-            # shellcheck disable=SC2086
-            printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs"
-        fi
+    if [ -n "${propagatedBuildInputs:-}" ]; then
+        mkdir -p "${!outputDev}/nix-support"
+        # shellcheck disable=SC2086
+        printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs"
+    fi
 
-        if [ -n "${propagatedNativeBuildInputs:-}" ]; then
-            mkdir -p "${!outputDev}/nix-support"
-            # shellcheck disable=SC2086
-            printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs"
-        fi
+    if [ -n "${propagatedNativeBuildInputs:-}" ]; then
+        mkdir -p "${!outputDev}/nix-support"
+        # shellcheck disable=SC2086
+        printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs"
     fi
 
+
     if [ -n "${setupHook:-}" ]; then
         mkdir -p "${!outputDev}/nix-support"
         substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 8f5272cc96a9..52eea41bdbd7 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -215,7 +215,7 @@ rec {
       $CXX -v -o $out/bin/bar bar.cc
       $out/bin/bar
 
-      tar xvf ${hello.srcTarball}
+      tar xvf ${hello.src}
       cd hello-*
       ./configure --prefix=$out
       make
diff --git a/pkgs/tools/X11/go-sct/default.nix b/pkgs/tools/X11/go-sct/default.nix
index de51e1ad25f5..aeb4546ff4d3 100644
--- a/pkgs/tools/X11/go-sct/default.nix
+++ b/pkgs/tools/X11/go-sct/default.nix
@@ -21,6 +21,6 @@ buildGoPackage rec {
     description = "Color temperature setting library and CLI that operates in a similar way to f.lux and Redshift";
     license = licenses.mit;
     maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
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/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/fastlane/Gemfile.lock b/pkgs/tools/admin/fastlane/Gemfile.lock
index 30c75f19fbf8..dd88dd8c4ac2 100644
--- a/pkgs/tools/admin/fastlane/Gemfile.lock
+++ b/pkgs/tools/admin/fastlane/Gemfile.lock
@@ -24,7 +24,7 @@ GEM
     faraday_middleware (0.12.2)
       faraday (>= 0.7.4, < 1.0)
     fastimage (2.1.0)
-    fastlane (2.63.0)
+    fastlane (2.66.2)
       CFPropertyList (>= 2.3, < 3.0.0)
       addressable (>= 2.3, < 3.0.0)
       babosa (>= 1.0.2, < 2.0.0)
@@ -52,9 +52,9 @@ GEM
       slack-notifier (>= 1.3, < 2.0.0)
       terminal-notifier (>= 1.6.2, < 2.0.0)
       terminal-table (>= 1.4.5, < 2.0.0)
-      tty-screen (~> 0.5.0)
+      tty-screen (~> 0.6.2)
       word_wrap (~> 1.0.0)
-      xcodeproj (>= 1.5.0, < 2.0.0)
+      xcodeproj (>= 1.5.2, < 2.0.0)
       xcpretty (>= 0.2.4, < 1.0.0)
       xcpretty-travis-formatter (>= 0.0.3)
     gh_inspector (1.0.3)
@@ -65,7 +65,7 @@ GEM
       mime-types (~> 3.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    googleauth (0.6.1)
+    googleauth (0.6.2)
       faraday (~> 0.12)
       jwt (>= 1.4, < 3.0)
       logging (~> 2.0)
@@ -112,7 +112,7 @@ GEM
     terminal-notifier (1.8.0)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
-    tty-screen (0.5.1)
+    tty-screen (0.6.3)
     uber (0.1.0)
     unf (0.1.4)
       unf_ext
diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix
index 8dd51a5733e6..16179d9118b6 100644
--- a/pkgs/tools/admin/fastlane/gemset.nix
+++ b/pkgs/tools/admin/fastlane/gemset.nix
@@ -137,10 +137,10 @@
     dependencies = ["CFPropertyList" "addressable" "babosa" "colored" "commander-fastlane" "dotenv" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "highline" "json" "mini_magick" "multi_json" "multi_xml" "multipart-post" "plist" "public_suffix" "rubyzip" "security" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1al75bb3zq0y9r1ilrbhks198zmvwykmqnn2675jd9i2ijcbxv78";
+      sha256 = "12pwfz36l1ks84618g6y7l6s4pbb86ngr4fmg1dnxgj01h4m7dx6";
       type = "gem";
     };
-    version = "2.63.0";
+    version = "2.66.2";
   };
   gh_inspector = {
     source = {
@@ -163,10 +163,10 @@
     dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13laklpf99m3qzq9n3vnc9dblgw7q05n1r16jlxsh4lxlaijr0sf";
+      sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "0.6.2";
   };
   highline = {
     source = {
@@ -393,10 +393,10 @@
   tty-screen = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12qkjwpkgznvhwbywq2y7l5mcq2f4z404b0ip7xm4byg3827lh4h";
+      sha256 = "0582kwz0y0h5pn67gh36cds6b087i0jh622vw6f85gnqzmynilcv";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.3";
   };
   uber = {
     source = {
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 11072fc28dea..9f161ac7525a 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -18,10 +18,17 @@ stdenv.mkDerivation rec {
   # 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 = ''
-    substituteInPlace tests/shar-1 --replace '$''\{SHAR}' '$''\{SHAR} -s submitter'
-    substituteInPlace tests/shar-2 --replace '$''\{SHAR}' '$''\{SHAR} -s submitter'
-  '';
+
+  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;
 
diff --git a/pkgs/tools/archivers/wimlib/default.nix b/pkgs/tools/archivers/wimlib/default.nix
new file mode 100644
index 000000000000..dbf3d91f37aa
--- /dev/null
+++ b/pkgs/tools/archivers/wimlib/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, makeWrapper
+, pkgconfig, openssl, fuse, libxml2
+, cabextract ? null
+, cdrkit ? null
+, mtools ? null
+, ntfs3g ? null
+, syslinux ? null
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.12.0";
+  name = "wimlib-${version}";
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ openssl fuse libxml2 ntfs3g ];
+
+  src = fetchurl {
+    url = "https://wimlib.net/downloads/${name}.tar.gz";
+    sha256 = "852cf59d682a91974f715f09fa98cab621b740226adcfea7a42360be0f86464f";
+  };
+
+  preBuild = ''
+    substituteInPlace programs/mkwinpeimg.in \
+      --replace '/usr/lib/syslinux' "${syslinux}/share/syslinux"
+  '';
+
+  postInstall = let
+    path = stdenv.lib.makeBinPath  [ cabextract cdrkit mtools ntfs3g syslinux ];
+  in ''
+    for prog in $out/bin/*; do
+      wrapProgram $prog --prefix PATH : ${path}
+    done
+  '';
+
+  doCheck = true;
+
+  preCheck = ''
+    patchShebangs tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wimlib.net;
+    description = "A library and program to extract, create, and modify WIM files";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ andir ];
+    license = with licenses; [ gpl3 lgpl3 cc0 ];
+  };
+}
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 6fad1f755aa9..dd91c874736e 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.17";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "04j1s4ycd8siidj7xn7s0vwm5sj0qrhqr5qzpila2g8kjc4ldxml";
+    sha256 = "1niafqn3kzd3fpx2c7m0by8il52ird2hbhvr7l03l290vlpjw6zc";
   };
 
-  patchPhase = ''
+  prePatch = ''
     chmod +x configure
   '';
 
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/rdedup/default.nix b/pkgs/tools/backup/rdedup/default.nix
new file mode 100644
index 000000000000..2da943540192
--- /dev/null
+++ b/pkgs/tools/backup/rdedup/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, libsodium, lzma }:
+
+rustPlatform.buildRustPackage rec {
+  name = "rdedup-${version}";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "dpc";
+    repo = "rdedup";
+    rev = "v${version}";
+    sha256 = "14r6x1wi5mwadarm0vp6qnr5mykv4g0kxz9msq76fhwghwb9k1d9";
+  };
+
+  buildInputs = [ pkgconfig libsodium lzma ];
+
+  cargoSha256 = "0wyswc4b4hkiw20gz0w94vv1qgcb2zq0cdaj9zxvyr5l0abxip9w";
+
+  meta = with stdenv.lib; {
+    description = "Data deduplication with compression and public key encryption";
+    homepage = https://github.com/dpc/rdedup;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ dywedir ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index bc5755628d28..cad43773e16c 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "restic-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   goPackagePath = "github.com/restic/restic";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "07614wp0b6kjl8lq3qir271g0s2h8wvpdh43wsz1k6bip60nmqbf";
+    sha256 = "10r2p4mkspkkzmj41jskqii02qkliwz2zfhvsabkg8clr8lzfkv9";
   };
 
   buildPhase = ''
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/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index c900cfa79f78..bd33eb4d437a 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -4,19 +4,19 @@
 
 stdenv.mkDerivation rec {
   name = "brotli-${version}";
-  version = "0.6.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "brotli";
     rev = "v" + version;
-    sha256 = "1wapq5hzflbmrcqgz92iv79rm893bskh03kvqgnn33dzbz3slavs";
+    sha256 = "1rqgp8xi1k4sjy9sngg1vw0v8q2mm46dhyya4d35n3k6yk7pk0qv";
   };
 
   buildInputs = [ cmake ];
 
   # This breaks on Darwin because our cmake hook tries to make a build folder
-  # and the wonderful bazel BUILD file is already there (yay case-insensitivty?)
+  # and the wonderful bazel BUILD file is already there (yay case-insensitivity?)
   prePatch = "rm BUILD";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/compression/brotli/unstable.nix b/pkgs/tools/compression/brotli/unstable.nix
deleted file mode 100644
index 59eb1e1d469a..000000000000
--- a/pkgs/tools/compression/brotli/unstable.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-# ?TODO: there's also python lib in there
-
-stdenv.mkDerivation rec {
-  name = "brotli-20160112";
-  version = "bed93862";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "brotli";
-    rev = "bed93862608d4d232ebe6d229f04e48399775e8b";
-    sha256 = "0g94kqh984qkbqbj4fpkkyji9wnbrb9cs32r9d6niw1sqfnfkd6f";
-  };
-
-  preConfigure = "cd tools";
-
-  # Debian installs "brotli" instead of "bro" but let's keep upstream choice for now.
-  installPhase = ''
-    mkdir -p "$out/bin"
-    mv ./bro "$out/bin/"
-  '';
-
-  meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
-
-    description = "A generic-purpose lossless compression algorithm and tool";
-
-    longDescription =
-      ''  Brotli is a generic-purpose lossless compression algorithm that
-          compresses data using a combination of a modern variant of the LZ77
-          algorithm, Huffman coding and 2nd order context modeling, with a
-          compression ratio comparable to the best currently available
-          general-purpose compression methods. It is similar in speed with
-          deflate but offers more dense compression.
-
-          The specification of the Brotli Compressed Data Format is defined
-          in the following internet draft:
-          http://www.ietf.org/id/draft-alakuijala-brotli
-      '';
-
-    license = licenses.mit;
-    maintainers = [];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/filesystems/bonnie/default.nix b/pkgs/tools/filesystems/bonnie/default.nix
index 8fed366a3de9..55edf97d17bc 100644
--- a/pkgs/tools/filesystems/bonnie/default.nix
+++ b/pkgs/tools/filesystems/bonnie/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "bonnie++-1.97.3";
   src = fetchurl {
-    url = "http://www.coker.com.au/bonnie++/experimental/${name}.tgz";
+    url = "https://fossies.org/linux/privat/${name}.tgz";
     sha256 = "0vkl42rsrsy95fc1ykc6g8rsdbnpxayvdaihnnkly1fww1m3hyz2";
   };
 
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/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index 0af97dd3b540..ffcf20d1651b 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -227,9 +227,9 @@ stdenv.mkDerivation {
     wrapProgram $out/sbin/ceph-create-keys ${wrapArgs}
     wrapProgram $out/sbin/ceph-disk ${wrapArgs}
 
-    # Bring in lib as a native build input
+    # Bring in lib as a run-time dependency
     mkdir -p $out/nix-support
-    echo "$lib" > $out/nix-support/propagated-native-build-inputs
+    echo "$lib" > $out/nix-support/propagated-build-inputs
 
     # Fix the python library loading
     find $lib/lib -name \*.pyc -or -name \*.pyd -exec rm {} \;
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.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index dc15866f3cda..87356fd34838 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -15,10 +15,10 @@ let
     #       The command
     #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
     #       can help with finding new Python scripts.
-    version = "3.12.1";
+    version = "3.12.3";
     name="${baseName}-${version}";
     url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "14l6p2zyjsrnjvf0lipq32p517zk813nqv06pjq6kcqkmy038wdv";
+    sha256 = "16ra4qr4ds011mmxaqdhdj7slcx8yv0xh6ww7bwsz7f1gn9sr10h";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl ncurses readline
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index 7284ee95a909..42ca4cf2e270 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, boost
-, zlib, libpng, libjpeg, libtiff
+, zlib, libpng, libjpeg, libtiff, x11, SDL
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
 
-  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff ];
+  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff x11 SDL ];
 
   # the installPhase wants to put files into $HOME. I let it put the files
   # to $TMPDIR, so they don't get into the $out
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
                  sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
                '';
 
-  configureFlags = [ "COMPILED_BY='nix'" "--with-boost-thread=boost_thread" ];
+  configureFlags = [ "COMPILED_BY='nix'" "--with-boost-thread=boost_thread" "--with-x" ];
 
   enableParallelBuilding = true;
   
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index b513115c68fe..a4b380d7b7b7 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
       rev    = "fe194f9dac0b515757392a18f7fc9527c91d45ab"; # From git submodule spec in wkhtml repo.
       sha256 = "1j2ld2bfacnn3vm2l1870v55sj82bq4y8zkawmlx2y5j63d8vr23";
     };
+    postConfigure = ""; # The patch "parallel-build.patch" does not apply.
     configureFlags =
       ''
         -dbus-linked
diff --git a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
new file mode 100644
index 000000000000..cecacd4af954
--- /dev/null
+++ b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, skktools }:
+
+let
+  # kana to kanji
+  small = fetchurl {
+    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.S";
+    sha256 = "15kp4iwz58fp1zg0i13x7w9wwm15v8n2hhm0nf2zsl7az5mn5yi4";
+  };
+  medium = fetchurl {
+    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.M";
+    sha256 = "1vhagixhrp9lq5x7dldxcanhznawazp00xivpp1z52kx10lnkmv0";
+  };
+  large = fetchurl {
+    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.L";
+    sha256 = "07cv0j95iajkr48j4ln411vnhl3z93yx96zjc03bgs10dbpagaaz";
+  };
+
+  # english to japanese
+  edict = fetchurl {
+    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.edict";
+    sha256 = "18k8z1wkgwgfwbs6sylf39h1nc1p5l2b00h7mfjlb8p91plkb45w";
+  };
+  # misc
+  assoc = fetchurl {
+    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.assoc";
+    sha256 = "12d6xpp1bfin9nwl35ydl5yc6vx0qpwhxss0khi19n1nsbyqnixm";
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "skk-dicts-unstable-${version}";
+  version = "2017-10-26";
+  srcs = [ small medium large edict assoc ];
+  nativeBuildInputs = [ skktools ];
+
+  phases = [ "installPhase" ];
+  installPhase = ''
+    function dictname() {
+      src=$1
+      name=$(basename $src)          # remove dir name
+      dict=$(echo $name | cut -b34-) # remove sha256 prefix
+      echo $dict
+    }
+    mkdir -p $out/share
+
+    for src in $srcs; do
+      dst=$out/share/$(dictname $src)
+      echo ";;; -*- coding: utf-8 -*-" > $dst  # libskk requires this on the first line
+      iconv -f EUC-JP -t UTF-8 $src |\
+        ${skktools}/bin/skkdic-expr2 >> $dst
+    done
+
+    # combine .L .edict and .assoc for convenience
+    dst=$out/share/SKK-JISYO.combined
+    echo ";;; -*- coding: utf-8 -*-" > $dst
+    ${skktools}/bin/skkdic-expr2 \
+      $out/share/$(dictname ${large}) + \
+      $out/share/$(dictname ${edict}) + \
+      $out/share/$(dictname ${assoc}) >> $dst
+  '';
+
+  meta = {
+    description = "A collection of standard SKK dictionaries";
+    longDescription = ''
+      This package provides a collection of standard kana-to-kanji
+      dictionaries for the SKK Japanese input method.
+    '';
+    homepage = https://github.com/skk-dev/dict;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/ckb/ckb-animations-location.patch b/pkgs/tools/misc/ckb/ckb-animations-location.patch
index 07dcfab86be8..8e53685e76a6 100644
--- a/pkgs/tools/misc/ckb/ckb-animations-location.patch
+++ b/pkgs/tools/misc/ckb/ckb-animations-location.patch
@@ -1,12 +1,12 @@
 diff --git a/src/ckb/animscript.cpp b/src/ckb/animscript.cpp
-index d0b7f46..d7a3459 100644
+index f49a64c..d7a3459 100644
 --- a/src/ckb/animscript.cpp
 +++ b/src/ckb/animscript.cpp
 @@ -30,7 +30,7 @@ QString AnimScript::path(){
  #ifdef __APPLE__
      return QDir(QApplication::applicationDirPath() + "/../Resources").absoluteFilePath("ckb-animations");
  #else
--    return QDir(QApplication::applicationDirPath()).absoluteFilePath("ckb-animations");
+-    return QDir("/usr/lib").absoluteFilePath("ckb-animations");
 +    return QDir(QApplication::applicationDirPath() + "/../libexec").absoluteFilePath("ckb-animations");
  #endif
  }
diff --git a/pkgs/tools/misc/ckb/default.nix b/pkgs/tools/misc/ckb/default.nix
index 41116288e533..a0dbc6fd4fe9 100644
--- a/pkgs/tools/misc/ckb/default.nix
+++ b/pkgs/tools/misc/ckb/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, libudev, pkgconfig, qtbase, qmake, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.6";
-  name = "ckb-${version}";
+  version = "0.2.8";
+  name = "ckb-next-${version}";
 
   src = fetchFromGitHub {
-    owner = "ccMSC";
-    repo = "ckb";
+    owner = "mattanger";
+    repo = "ckb-next";
     rev = "v${version}";
-    sha256 = "04h50qdzsbi77mj62jghr52i35vxvmhnvsb7pdfdq95ryry8bnwm";
+    sha256 = "0b3h1d54mdyfcx46zvsd7dfqf2656h4jjkiw044170gnfdzxjb3w";
   };
 
   buildInputs = [
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Driver and configuration tool for Corsair keyboards and mice";
-    homepage = https://github.com/ccMSC/ckb;
+    homepage = https://github.com/mattanger/ckb-next;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ kierdavis ];
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 020599e17a81..9af7de8b35e4 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bash-completion
 , glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
 , gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_38
-, libgudev, sane-backends }:
+, libgudev, sane-backends, udev, gnome3, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "colord-1.4.1";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     ./fix-build-paths.patch
   ];
 
-  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
 
   buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus
                   bash-completion argyllcms libgudev sane-backends ];
@@ -36,6 +36,12 @@ stdenv.mkDerivation rec {
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  postFixup = ''
+    wrapProgram "$out/libexec/colord-session" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+  '';
+
   meta = {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
     homepage = https://www.freedesktop.org/software/colord/;
diff --git a/pkgs/tools/misc/colord/fix-build-paths.patch b/pkgs/tools/misc/colord/fix-build-paths.patch
index 7eb66a0b34be..d4bf0f36ad74 100644
--- a/pkgs/tools/misc/colord/fix-build-paths.patch
+++ b/pkgs/tools/misc/colord/fix-build-paths.patch
@@ -36,6 +36,13 @@
    )
  endif
  
+@@ -50,5 +50,5 @@
+   output : 'org.freedesktop.ColorManager.conf',
+   configuration : con2,
+   install: true,
+-  install_dir: join_paths(get_option('datadir'), 'dbus-1', 'system.d') ,
++  install_dir: join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d') ,
+ )
 --- a/meson.build
 +++ b/meson.build
 @@ -258,6 +258,3 @@
@@ -54,3 +61,14 @@
 -  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
 +  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
  )
+--- a/src/plugins/meson.build
++++ b/src/plugins/meson.build
+@@ -66,7 +66,7 @@
+     install_dir: join_paths(get_option('libdir'), 'colord-plugins'),
+     c_args : [
+       cargs,
+-      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('libexecdir'), 'colord-sane' + '"'),
++      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('prefix'), get_option('libexecdir'), 'colord-sane' + '"'),
+     ],
+     dependencies : [
+       gio,
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index f36a6d51b360..a8767a222821 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   name = "direnv-${version}";
-  version = "2.13.1";
+  version = "2.13.2";
   goPackagePath = "github.com/direnv/direnv";
 
   src = fetchFromGitHub {
     owner = "direnv";
     repo = "direnv";
     rev = "v${version}";
-    sha256 = "1j2jkxzd6rh4ms39izqfm4w8h12dg0ccvqsj0z1z4hb3f1jqcgbz";
+    sha256 = "1lvpfqaa7hv8mf7pkj0vnidq4c3zjxlz34pk3w4y3n0v0pwfpy9z";
   };
 
   postConfigure = ''
diff --git a/pkgs/tools/misc/docker-ls/default.nix b/pkgs/tools/misc/docker-ls/default.nix
new file mode 100644
index 000000000000..fdc1a8688346
--- /dev/null
+++ b/pkgs/tools/misc/docker-ls/default.nix
@@ -0,0 +1,29 @@
+{ buildGoPackage, fetchFromGitHub, stdenv, docker }:
+
+buildGoPackage rec {
+  name = "docker-ls-${version}";
+  version = "v0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "mayflower";
+    repo = "docker-ls";
+    rev = version;
+    sha256 = "1dhadi1s3nm3r8q5a0m59fy4jdya8p7zvm22ci7ifm3mmw960xly";
+  };
+
+  goPackagePath = "github.com/mayflower/docker-ls";
+
+  meta = with stdenv.lib; {
+    description = "Tools for browsing and manipulating docker registries";
+    longDescription = ''
+      Docker-ls is a set of CLI tools for browsing and manipulating docker registries.
+      In particular, docker-ls can handle authentication and display the sha256 content digests associated
+      with tags.
+    '';
+
+    homepage = https://github.com/mayflower/docker-ls;
+    maintainers = with maintainers; [ ma27 ];
+    platforms = docker.meta.platforms;
+    license = licenses.mit;
+  };
+}
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/filebench/default.nix b/pkgs/tools/misc/filebench/default.nix
index 1e8b5a493f5f..e934da76e6e5 100644
--- a/pkgs/tools/misc/filebench/default.nix
+++ b/pkgs/tools/misc/filebench/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, autoreconfHook, bison, flex }:
 
 stdenv.mkDerivation rec {
   name = "filebench-${version}";
@@ -6,9 +6,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/filebench/${name}.tar.gz";
-    sha256 = "0y06f9mp4xry6j1jamqprzn963l0krqayv14yv66pm51hdh53ld1";
+    sha256 = "13hmx67lsz367sn8lrvz1780mfczlbiz8v80gig9kpkpf009yksc";
   };
 
+  nativeBuildInputs = [ autoreconfHook bison flex ];
+
   meta = with stdenv.lib; {
     description = "File system and storage benchmark that can generate both micro and macro workloads";
     homepage = https://sourceforge.net/projects/filebench/;
diff --git a/pkgs/tools/misc/hdf5/1_8.nix b/pkgs/tools/misc/hdf5/1_8.nix
new file mode 100644
index 000000000000..14c8ca234331
--- /dev/null
+++ b/pkgs/tools/misc/hdf5/1_8.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, fetchurl
+, gcc
+, removeReferencesTo
+, cpp ? false
+, gfortran ? null
+, fortran2003 ? false
+, zlib ? null
+, szip ? null
+, mpi ? null
+, enableShared ? true
+}:
+
+# cpp and mpi options are mutually exclusive
+# (--enable-unsupported could be used to force the build)
+assert !cpp || mpi == null;
+
+# Need a Fortran compiler for Fortran2003 bindings
+assert fortran2003 -> gfortran != null;
+
+# No point splitting version 1.8.18 into multiple outputs.
+# The library /lib/libhdf5.so has a reference to gcc-wrapper
+
+let inherit (stdenv.lib) optional optionals; in
+
+stdenv.mkDerivation rec {
+  version = "1.8.19";
+  name = "hdf5-${version}";
+  src = fetchurl {
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/${name}/src/${name}.tar.bz2";
+    sha256 = "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r" ;
+ };
+
+  passthru = {
+    mpiSupport = (mpi != null);
+    inherit mpi;
+  };
+
+  nativeBuildInputs = [ removeReferencesTo ];
+
+  buildInputs = []
+    ++ optional (gfortran != null) gfortran
+    ++ optional (szip != null) szip;
+
+  propagatedBuildInputs = []
+    ++ optional (zlib != null) zlib
+    ++ optional (mpi != null) mpi;
+
+  configureFlags = []
+    ++ optional cpp "--enable-cxx"
+    ++ optional (gfortran != null) "--enable-fortran"
+    ++ optional fortran2003 "--enable-fortran2003"
+    ++ optional (szip != null) "--with-szlib=${szip}"
+    ++ optionals (mpi != null) ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
+    ++ optional enableShared "--enable-shared";
+
+  patches = [./bin-mv.patch];
+
+  postInstall = ''
+    find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+  '';
+
+  meta = {
+    description = "Data model, library, and file format for storing and managing data";
+    longDescription = ''
+      HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
+      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
+      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
+      applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
+    '';
+    license = stdenv.lib.licenses.free; # BSD-like
+    homepage = https://www.hdfgroup.org/HDF5/;
+    platforms = stdenv.lib.platforms.unix;
+    broken = (gfortran != null) && stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 1b979bae0900..2c1ba43a5587 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -14,17 +14,14 @@
 # (--enable-unsupported could be used to force the build)
 assert !cpp || mpi == null;
 
-# No point splitting version 1.8.18 into multiple outputs.
-# The library /lib/libhdf5.so has a reference to gcc-wrapper
-
 let inherit (stdenv.lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.8.18";
+  version = "1.10.1";
   name = "hdf5-${version}";
   src = fetchurl {
-    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/${name}/src/${name}.tar.bz2";
-    sha256 = "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1";
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2";
+    sha256 = "1wpbi15za7kbsvih88kfcxblw412pjndl16x88dgnqr47piy2p4w";
  };
 
   passthru = {
@@ -59,8 +56,8 @@ stdenv.mkDerivation rec {
     description = "Data model, library, and file format for storing and managing data";
     longDescription = ''
       HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
-      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing 
-      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and 
+      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
+      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
       applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
     '';
     license = stdenv.lib.licenses.free; # BSD-like
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/less/default.nix b/pkgs/tools/misc/less/default.nix
index 49796c5f2292..2907af43a296 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, lessSecure ? false }:
 
 stdenv.mkDerivation rec {
-  name = "less-520";
+  name = "less-529";
 
   src = fetchurl {
     url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
-    sha256 = "12wh0j07971j53v7irfcv0vkb7wpi7f83jll4mwjy92wc27fm2bv";
+    sha256 = "02wspzv90cki8936m50qxk0vrribvwwqlva21nyvfx41qga2r96v";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index f5a99ba1c71c..d0cb9a223366 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
     "--with-systemdtmpfilesdir=\${out}/lib/tmpfiles.d"
   ];
 
+  preConfigure = ''
+    configureFlagsArray+=("--with-sections=1 n l 8 3 0 2 5 4 9 6 7")
+  '';
+
   postInstall = ''
     # apropos/whatis uses program name to decide whether to act like apropos or whatis
     # (multi-call binary). `apropos` is actually just a symlink to whatis. So we need to
diff --git a/pkgs/tools/misc/mlocate/default.nix b/pkgs/tools/misc/mlocate/default.nix
index 4aef6114c57c..baf418ac9f04 100644
--- a/pkgs/tools/misc/mlocate/default.nix
+++ b/pkgs/tools/misc/mlocate/default.nix
@@ -7,7 +7,7 @@ in stdenv.mkDerivation rec {
   version = "0.26";
 
   src = fetchurl {
-    url = "http://fedorahosted.org/releases/m/l/mlocate/${name}.tar.xz";
+    url = "https://releases.pagure.org/mlocate/${name}.tar.xz";
     sha256 = "0gi6y52gkakhhlnzy0p6izc36nqhyfx5830qirhvk3qrzrwxyqrh";
   };
 
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Merging locate is an utility to index and quickly search for files";
-    homepage = https://fedorahosted.org/mlocate/;
+    homepage = https://pagure.io/mlocate;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/otfcc/default.nix b/pkgs/tools/misc/otfcc/default.nix
new file mode 100644
index 000000000000..f55f4e53296d
--- /dev/null
+++ b/pkgs/tools/misc/otfcc/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, premake5, hostPlatform }:
+
+stdenv.mkDerivation rec {
+  name = "otfcc-${version}";
+  version = "0.8.6";
+
+  src = fetchurl {
+    url = "https://github.com/caryll/otfcc/archive/v${version}.tar.gz";
+    sha256 = "0kap52bzrn21fmph8j2pc71f80f38ak1p2fcczzmrh0hb1r9c8dd";
+  };
+
+  nativeBuildInputs = [ premake5 ];
+
+  configurePhase = ''
+    premake5 gmake
+  '';
+
+  preBuild = "cd build/gmake";
+
+  makeFlags = ''config=release_${if hostPlatform.isi686 then "x86" else "x64"}'';
+
+  postBuild = "cd ../..";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/release-x*/otfcc* $out/bin/
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Optimized OpenType builder and inspector";
+    homepage = https://github.com/caryll/otfcc;
+    license = licenses.asl20;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ jfrankenau ttuegel ];
+  };
+
+}
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 9da2ebc07fc0..e8170edb7f22 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -4,24 +4,27 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   name = "qt5ct-${version}";
-  version = "0.33";
+  version = "0.34";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2";
-    sha256 = "0by0wz40rl9gxvwbd85j0y5xy9mjab1cya96rv48x677v95lhm9f";
+    url = "mirror://sourceforge/qt5ct/${name}.tar.bz2";
+    sha256 = "0aqbilz7acx077zg5rwf2909xabw16047yjdn9nx2gmhp31y00pl";
   };
 
-  propagatedBuildInputs = [ qtbase qtsvg qttools ];
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake qttools ];
 
-  buildInputs = [ qtbase qtsvg ];
+  buildInputs = [ qtbase ];
 
-  qmakeFlags = [ ''LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease'' ];
+  qmakeFlags = [
+    "LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease"
+  ];
 
   preConfigure = ''
-    qmakeFlags="$qmakeFlags PLUGINDIR=$out/$qtPluginPrefix"
+    qmakeFlags+=" PLUGINDIR=$out/$qtPluginPrefix"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Qt5 Configuration Tool";
     homepage = https://www.opendesktop.org/content/show.php?content=168066;
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/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/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 352fee14fa61..9ef0c9ebdf7d 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchFromGitHub, makeWrapper, coreutils, gawk, procps, gnused
+{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils, gawk, procps, gnused
 , bc, findutils, xdpyinfo, xprop, gnugrep, ncurses
+, darwin
 }:
 
 stdenv.mkDerivation {
@@ -21,13 +22,22 @@ stdenv.mkDerivation {
     # Fix all of the depedencies of screenfetch
     patchShebangs $out/bin/screenfetch
     wrapProgram "$out/bin/screenfetch" \
-      --set PATH ${stdenv.lib.makeBinPath [
-        coreutils gawk procps gnused findutils xdpyinfo
-        xprop gnugrep ncurses bc
-      ]}
+      --set PATH ${lib.makeBinPath ([
+        coreutils gawk gnused findutils
+        gnugrep ncurses bc
+      ] ++ lib.optionals stdenv.isLinux [
+        procps
+        xdpyinfo
+        xprop
+      ] ++ lib.optionals stdenv.isDarwin (with darwin; [
+        adv_cmds
+        DarwinTools
+        system_cmds
+        "/usr" # some commands like defaults is not available to us
+      ]))}
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Fetches system/theme information in terminal for Linux desktop screenshots";
     longDescription = ''
     screenFetch is a "Bash Screenshot Information Tool". This handy Bash
@@ -39,9 +49,9 @@ stdenv.mkDerivation {
     screenshot upon displaying info, and even customizing the screenshot
     command! This script is very easy to add to and can easily be extended.
     '';
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
     homepage = http://git.silverirc.com/cgit.cgi/screenfetch-dev.git/;
-    maintainers = with stdenv.lib.maintainers; [relrod];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [relrod];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index 72d45c90f106..11d61cfe30f3 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -28,8 +28,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ wrapGAppsHook ];
 
-  pythonPath = with pythonPackages;
-    [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
+  pythonPath = with pythonPackages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
 
   configureFlags =
     [ "--with-udev-rules"
diff --git a/pkgs/tools/misc/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix
index c302bd15c41e..5dcaea3ec1ea 100644
--- a/pkgs/tools/misc/ttfautohint/default.nix
+++ b/pkgs/tools/misc/ttfautohint/default.nix
@@ -1,16 +1,25 @@
-{ stdenv, fetchurl, harfbuzz, pkgconfig, qt4 }:
+{ stdenv, lib, fetchurl, pkgconfig, freetype, harfbuzz, libiconv, qtbase, enableGUI ? true }:
 
 stdenv.mkDerivation rec {
-  version = "1.6";
+  version = "1.7";
   name = "ttfautohint-${version}";
-  
+
   src = fetchurl {
     url = "mirror://savannah/freetype/${name}.tar.gz";
-    sha256 = "1r8vsznvh89ay35angxp3w1xljxjlpcv9wdjyn7m61n323vi6474";
+    sha256 = "1wh783pyg79ks5qbni61x7qngdhyfc33swrkcl5r1czdwhhlif9x";
   };
-  
+
+  postPatch = ''
+    substituteInPlace configure --replace "macx-g++" "macx-clang"
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ harfbuzz qt4 ];
+
+  buildInputs = [ freetype harfbuzz libiconv ] ++ lib.optional enableGUI qtbase;
+
+  configureFlags = lib.optional (!enableGUI) "--with-qt=no";
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "An automatic hinter for TrueType fonts";
@@ -23,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.freetype.org/ttfautohint;
     license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
     maintainers = with maintainers; [ goibhniu ndowens ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
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/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 7fc9589537fe..b7c9466f2251 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -2,16 +2,20 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "yle-dl-${version}";
-  version = "2.20";
+  version = "2.27";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "06wzv230hfh3w9gs245kff8666bsfbax3ibr5zxj3h5z4qhhf9if";
+    sha256 = "1wxl074vxy7dlnk3ykcgnk3ms7bwh0zs7b9pxwhx5hsd894c8fpg";
   };
 
-  pythonPath = [ rtmpdump php ] ++ (with pythonPackages; [ pycrypto ]);
+  propagatedBuildInputs = with pythonPackages; [ lxml pyamf pycrypto requests ];
+  pythonPath = [ rtmpdump php ];
+
+  doCheck = false; # tests require network access
+  checkInputs = with pythonPackages; [ pytest pytestrunner ];
 
   meta = with stdenv.lib; {
     description = "Downloads videos from Yle (Finnish Broadcasting Company) servers";
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/default.nix b/pkgs/tools/networking/curl/default.nix
index d67b34371fe2..7f8d50b6d89c 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -21,11 +21,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.56.1";
+  name = "curl-7.57.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "142zidvlmrz31yx480nrhh47hl01d7jbaagin23pspl7cw1ng515";
+    sha256 = "09j88lzqmi79rvvg2l7bjcs56330bq388f5p468hgblf6hdf6by9";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
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/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 47163b94dc52..f0bb4ab46fae 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=${stdenv.cc.bintools.prefix}strip"
+    "STRIP=${stdenv.cc.bintools.targetPrefix}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/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index a86e3e04530d..d69b52a50014 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-3.2";
+  name = "iperf-3.3";
 
   src = fetchurl {
     url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
-    sha256 = "07cwrl9q5pmfjlh6ilpk7hm25lpkcaf917zhpmfq918lhrpv61zj";
+    sha256 = "1n442bjkm1dvzmcj8z1i99yrmba489yz3f5v27ybymhh4mqn4nbg";
   };
 
+  buildInputs = [ openssl ];
+
   postInstall = ''
     ln -s iperf3 $out/bin/iperf
   '';
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index aea77f725120..b28ea0dbbe52 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipv6calc-${version}";
-  version = "0.99.2";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${name}.tar.gz";
-    sha256 = "1vs64v8v5g9rskg46baqrzyay86vs7ln3i5r5ippa9l6ildyrvpj";
+    sha256 = "1gcl8mqjdn5j1rcnv2gz2j0i8ayx747hwzjyiazl6j43c5g4bc3l";
   };
 
   buildInputs = [ geoip geolite-legacy getopt ip2location-c openssl ];
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/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/openvpn/openvpn-auth-ldap.nix b/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix
index 3d1055be02b8..35b577ac37ec 100644
--- a/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix
+++ b/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix
@@ -19,22 +19,22 @@ stdenv.mkDerivation rec {
   name = "${srcName}-${version}";
   version = "${srcVersion}+deb${debianRev}";
 
-  srcs = fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "threerings";
     repo = srcName;
-    rev = "auth-ldap-${version}";
+    rev = "auth-ldap-${srcVersion}";
     sha256 = "1v635ylzf5x3l3lirf3n6173q1w8g0ssjjkf27qqw98c3iqp63sq";
   };
 
   patches = map fetchPatchFromDebian [
     {patch = "STARTTLS_before_auth.patch";
-     sha256 = "14d2vy366rhzggxb1zb3ld00wmaqxi2gq885vxhlldnwpgig0jx0";}
+     sha256 = "02kky73mgx9jf16lpabppl271zyjn4a1160k8b6a0fax5ic8gbwk";}
     {patch = "gobjc_4.7_runtime.patch";
-     sha256 = "11hpmd4i1cm3m27x8c77d9jrwxpir4cy5d74k2kxq0q77rawnxcm";}
+     sha256 = "0ljmdn70g5xp4kjcv59wg2wnqaifjdfdv1wlj356d10a7fzvxc76";}
     {patch = "openvpn_ldap_simpler_add_handler_4";
-     sha256 = "0qj7v2w921489c18mfrs5bmipzn1mcjj9avyp15x4531ss0lyanb";}
+     sha256 = "0nha9mazp3dywbs1ywj8xi4ahzsjsasyrcic87v8c0x2nwl9kaa0";}
     {patch = "auth-ldap-gnustep.patch";
-     sha256 = "0cz3jgyzgzi2p9bavd4lh69pnlnf4s7n9ihwg6zmmh6vqsynqss3";}
+     sha256 = "053jni1s3pacpi2s43dkmk95j79ifh8rybjly13yy2dqffbasr31";}
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index 5633061c7212..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 = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pdsh/${name}.tar.bz2";
-    sha256 = "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p";
+    url = "https://github.com/chaos/pdsh/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0bwlkl9inj66iwvafg00pi3sk9n673phdi0kcc59y9nn55s0hs3k";
   };
 
   buildInputs = [perl readline ssh pam];
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/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index 3b405561ef93..f3baddd2653c 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -31,7 +31,9 @@ stdenv.mkDerivation rec {
     cp src/snabb $out/bin
   '';
 
-  enableParallelBuilding = true;
+  # Dependencies are underspecified: "make -C src obj/arch/sse2_c.o" fails with
+  # "Fatal error: can't create obj/arch/sse2_c.o: No such file or directory".
+  enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/SnabbCo/snabbswitch;
@@ -49,4 +51,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.lukego maintainers.domenkozar ];
   };
 }
-
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 89019986bca2..77409f6fc3e9 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "strongswan-${version}";
-  version = "5.6.0";
+  version = "5.6.1";
 
   src = fetchurl {
     url = "http://download.strongswan.org/${name}.tar.bz2";
-    sha256 = "04vvha2zgsg1cq05cnn6sf7a4hq9ndnsfxpw1drm5v9l4vcw0kd1";
+    sha256 = "0lxbyiary8iapx3ysw40czrmxf983fhfzs5mvz2hk1j1mpc85hp0";
   };
 
   dontPatchELF = true;
diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix
index 681cc3d883c8..8eaf20dc7724 100644
--- a/pkgs/tools/package-management/nixops/unstable.nix
+++ b/pkgs/tools/package-management/nixops/unstable.nix
@@ -1,10 +1,13 @@
 { callPackage, fetchurl }:
 
+# To upgrade pick the hydra job of the nixops revision that you want to upgrade
+# to from: https://hydra.nixos.org/job/nixops/master/tarball
+# Then copy the URL to the tarball.
+
 callPackage ./generic.nix (rec {
-  version = "2017-05-22";
+  version = "1.6pre2276_9203440";
   src = fetchurl {
-    # Sadly hydra doesn't offer download links
-    url = "https://static.domenkozar.com/nixops-1.5.1pre2169_8f4a67c.tar.bz2";
-    sha256 = "0rma5npgkhlknmvm8z0ps54dsr07za1f32p6d6na3nis784h0slw";
+    url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2";
+    sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x";
   };
 })
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/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/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index 83a2a1fd85ea..506d6fc3fce8 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
+{ stdenv, fetchurl, fetchpatch, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
 , libmilter, pcre }:
 
 stdenv.mkDerivation rec {
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0yh2q318bnmf2152g2h1yvzgqbswn0wvbzb8p4kf7v057shxcyqn";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2017-6420.patch";
+      url = "https://github.com/vrtadmin/clamav-devel/commit/dfc00cd3301a42b571454b51a6102eecf58407bc.patch";
+      sha256 = "08w3p3a4pmi0cmcmyxkagsbn3g0jgx1jqlc34pn141x0qzrlqr60";
+    })
+  ];
+
   # don't install sample config files into the absolute sysconfdir folder
   postPatch = ''
     substituteInPlace Makefile.in --replace ' etc ' ' '
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index c180ca6c7202..aade96ed3899 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
 
   preFixup = ''gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)'';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.libertyzero.com/GEncfsM/;
     downloadPage = https://launchpad.net/gencfsm/;
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 18d784a59bb7..0519902308af 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.3";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1yv2pwf3vhv9dpbf51fnm0wy03va1cg5r7qaz7rg75cwbgb0rmrl";
+    sha256 = "1d4482c4pbi0p1k8cc0f9c4q51k56v8navrbz5samxrrs42p3lyb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/opencryptoki/default.nix b/pkgs/tools/security/opencryptoki/default.nix
index 9ea9c2f4892b..f2929f3e22b4 100644
--- a/pkgs/tools/security/opencryptoki/default.nix
+++ b/pkgs/tools/security/opencryptoki/default.nix
@@ -1,38 +1,41 @@
-{ stdenv, fetchurl, openssl, trousers, automake, autoconf, libtool, bison, flex }:
+{ stdenv, fetchFromGitHub, openssl, trousers, autoreconfHook, libtool, bison, flex }:
 
 stdenv.mkDerivation rec {
-  version = "3.2";
   name = "opencryptoki-${version}";
+  version = "3.8.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/opencryptoki/opencryptoki/v${version}/opencryptoki-v${version}.tgz";
-    sha256 = "06r6zp299vxdspl6k65myzgjv0bihg7kc500v7s4jd3mcrkngd6h";
+  src = fetchFromGitHub {
+    owner = "opencryptoki";
+    repo = "opencryptoki";
+    rev = "v${version}";
+    sha256 = "1m618pjfzw18irmh6i4pfq1gvcxgyfh9ikjn33nrdj55v2l27g31";
   };
 
-  buildInputs = [ automake autoconf libtool openssl trousers bison flex ];
+  nativeBuildInputs = [ autoreconfHook libtool bison flex ];
+  buildInputs = [ openssl trousers ];
 
-  preConfigure = ''
-    substituteInPlace configure.in --replace "chown" "true"
-    substituteInPlace configure.in --replace "chgrp" "true"
-    sh bootstrap.sh --prefix=$out
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace "usermod" "true" \
+      --replace "groupadd" "true" \
+      --replace "chmod" "true" \
+      --replace "chgrp" "true"
+    substituteInPlace usr/lib/Makefile.am --replace "DESTDIR" "out"
   '';
 
-  configureFlags = [ "--disable-ccatok" "--disable-icatok" ];
+  configureFlags = [
+    "--prefix=$(out)"
+    "--disable-ccatok"
+    "--disable-icatok"
+  ];
 
-  makeFlags = "DESTDIR=$(out)";
-
-  # work around the build script of opencryptoki
-  postInstall = ''
-    cp -r $out/$out/* $out
-    rm -r $out/nix
-    '';
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "PKCS#11 implementation for Linux";
-    homepage    = http://opencryptoki.sourceforge.net/;
+    homepage    = https://github.com/opencryptoki/opencryptoki;
     license     = licenses.cpl10;
     maintainers = [ maintainers.tstrobel ];
     platforms   = platforms.unix;
   };
 }
-
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/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 5e0c87c2f7d5..908a47e6326f 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -1,29 +1,21 @@
-{ fetchurl, stdenv, python, gnupg }:
+{ fetchFromGitHub, stdenv, pythonPackages, gnupg }:
 
-let version = "2.0.11"; in
-stdenv.mkDerivation {
+let version = "2.2.4"; in
+pythonPackages.buildPythonApplication {
   name = "pius-${version}";
   namePrefix = "";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/pgpius/pius/${version}/pius-${version}.tar.bz2";
-    sha256 = "0pdbyqz6k0bm182cz81ss7yckmpms5qhrrw0wcr4a1srzcjyzf5f";
+  src = fetchFromGitHub {
+    owner = "jaymzh";
+    repo = "pius";
+    rev = "v${version}";
+    sha256 = "1yk6ngpk55yjdnzhm5sj675xbzwp7rir816a3aris647gsph1vlx";
   };
 
-  buildInputs = [ python ];
-
   patchPhase = ''
-    sed -i "pius" -e's|/usr/bin/gpg|${gnupg}/bin/gpg|g'
-  '';
-
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    cp -v pius "$out/bin"
-
-    mkdir -p "$out/doc/pius-${version}"
-    cp -v README "$out/doc/pius-${version}"
+    for file in libpius/constants.py pius-keyring-mgr; do
+      sed -i "$file" -E -e's|/usr/bin/gpg2?|${gnupg}/bin/gpg|g'
+    done
   '';
 
   meta = {
@@ -41,6 +33,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu kierdavis ];
   };
 }
diff --git a/pkgs/tools/security/simple-tpm-pk11/default.nix b/pkgs/tools/security/simple-tpm-pk11/default.nix
index 75886399fdc5..96565ec84b52 100644
--- a/pkgs/tools/security/simple-tpm-pk11/default.nix
+++ b/pkgs/tools/security/simple-tpm-pk11/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchgit, trousers, openssl, opencryptoki, automake, autoconf, libtool }:
+{ stdenv, fetchFromGitHub, trousers, openssl, opencryptoki, autoreconfHook, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "simple-tpm-pk11-2016-07-12";
+  name = "simple-tpm-pk11-${version}";
+  version = "0.06";
 
-  src = fetchgit {
-    url = "https://github.com/ThomasHabets/simple-tpm-pk11";
-    rev = "6f1f7a6b96ac82965e977cfecb88d930f1d70243";
-    sha256 = "06vf3djp29slh7hrh4hlh3npyl277fy7d77jv9mxa1sk1idjklxc";
+  src = fetchFromGitHub {
+    owner = "ThomasHabets";
+    repo = "simple-tpm-pk11";
+    rev = version;
+    sha256 = "0vpbaklr4r1a2am0pqcm6m41ph22mkcrq33y8ab5h8qkhkvhd6a6";
   };
 
-  buildInputs = [ trousers openssl opencryptoki automake autoconf libtool ];
+  nativeBuildInputs = [ autoreconfHook libtool ];
+  buildInputs = [ trousers openssl opencryptoki ];
 
-  preConfigure = "sh bootstrap.sh";
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Simple PKCS11 provider for TPM chips";
     longDescription = ''
       A simple library for using the TPM chip to secure SSH keys.
-      '';
+    '';
     homepage    = https://github.com/ThomasHabets/simple-tpm-pk11;
-    license     = stdenv.lib.licenses.asl20;
-    maintainers = with stdenv.lib; [ maintainers.tstrobel ];
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ tstrobel ];
     platforms   = platforms.unix;
   };
 }
-
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 1b32ad710071..26311cce73ce 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.20p2";
+  name = "sudo-1.8.21p2";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "1na5likm1srnd1g5sjx7b0543sczw0yppacyqsazfdg9b48awhmx";
+    sha256 = "0s33szq6q59v5s377l4v6ybsdy7pfq6sz7y364j4x09ssdn79ibl";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 7423c2d435bf..ee1b9d844706 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.3";
+  version = "3.7.0";
   name = "yara-${version}";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "13znbdwin9lvql43wpms5hh13h8rk5x5wajgmphz18rxwp8h7j78";
+    sha256 = "1giq5677j0vh5vw0nsv5qcqddcif6jckqaxyqg13j0j54n1p6xyj";
   };
 
   # FIXME: this is probably not the right way to make it work
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "The pattern matching swiss knife for malware researchers";
-    homepage    = http://plusvic.github.io/yara/;
+    homepage    = http://Virustotal.github.io/yara/;
     license     = licenses.asl20;
     platforms   = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 807169a58f02..963c383b66e9 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "3.1";
-  sha256 = "09rsfhzpi089cwpg07c8kgvs4d2n77a7mn1vj8iwjjzacs3fbllx";
+  version = "3.2";
+  sha256 = "1sp83lxhrwg4627bma3pkcfg8yd1w3r6p02rdldv083962ljkinm";
 in
 
 stdenv.mkDerivation rec {
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/lr/default.nix b/pkgs/tools/system/lr/default.nix
index d638a1c16b5d..0149f1d91b61 100644
--- a/pkgs/tools/system/lr/default.nix
+++ b/pkgs/tools/system/lr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lr-${version}";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "lr";
     rev = "v${version}";
-    sha256 = "171h353238s9wmhirvs2yc1151vds83a71p7wgn96wa3jpl248by";
+    sha256 = "1536d723dm50gxgpf8i9yij8mr0csh662ljhs5bmz0945jwfbx4n";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix
new file mode 100644
index 000000000000..c47d40cef2b2
--- /dev/null
+++ b/pkgs/tools/system/minijail/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, libcap }:
+
+stdenv.mkDerivation rec {
+  shortname = "minijail";
+  name = "${shortname}-${version}";
+  version = "android-8.0.0_r34";
+
+  src = fetchgit {
+    url = "https://android.googlesource.com/platform/external/minijail";
+    rev = version;
+    sha256 = "1d0q08cgks6h6ffsw3zw8dz4rm9y2djj2pwwy3xi6flx7vwy0psf";
+  };
+
+  buildInputs = [ libcap ];
+
+  makeFlags = [ "LIBDIR=$(out)/lib" ];
+
+  preConfigure = ''
+    substituteInPlace common.mk --replace /bin/echo echo
+    sed -i '/#include <asm\/siginfo.h>/ d' signal_handler.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v *.so $out/lib
+    mkdir -p $out/include
+    cp -v libminijail.h $out/include
+    mkdir -p $out/bin
+    cp minijail0 $out/bin
+  '';
+
+  meta = {
+    homepage = https://android.googlesource.com/platform/external/minijail/;
+    description = "Sandboxing library and application using Linux namespaces and capabilities";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [pcarrier];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 7508b4fc56c4..1139c49ddf80 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, zlib, kmod, which }:
 
 stdenv.mkDerivation rec {
-  name = "pciutils-3.5.5"; # with database from 2017-07
+  name = "pciutils-3.5.6"; # with database from 2017-07
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz";
-    sha256 = "1d62f8fa192f90e61c35a6fc15ff3cb9a7a792f782407acc42ef67817c5939f5";
+    sha256 = "08dvsk1b5m1r7qqzsm849h4glq67mngf8zw7bg0102ff1jwywipk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
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/text/bcat/Gemfile b/pkgs/tools/text/bcat/Gemfile
new file mode 100644
index 000000000000..f389866324dc
--- /dev/null
+++ b/pkgs/tools/text/bcat/Gemfile
@@ -0,0 +1,2 @@
+source 'http://rubygems.org'
+gem 'bcat'
diff --git a/pkgs/tools/text/bcat/Gemfile.lock b/pkgs/tools/text/bcat/Gemfile.lock
new file mode 100644
index 000000000000..c39ebc279109
--- /dev/null
+++ b/pkgs/tools/text/bcat/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: http://rubygems.org/
+  specs:
+    bcat (0.6.2)
+      rack (~> 1.0)
+    rack (1.6.8)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  bcat
+
+BUNDLED WITH
+   1.15.4
diff --git a/pkgs/tools/text/bcat/default.nix b/pkgs/tools/text/bcat/default.nix
new file mode 100644
index 000000000000..72fb8aa8e2ee
--- /dev/null
+++ b/pkgs/tools/text/bcat/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "bcat";
+  gemdir = ./.;
+  exes = [ "bcat" "btee" "a2h" ];
+
+  meta = with lib; {
+    description = "Pipe to browser utility";
+    homepage    = http://rtomayko.github.com/bcat/;
+    license     = licenses.mit;
+    maintainers = [ maintainers.jraygauthier ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/text/bcat/gemset.nix b/pkgs/tools/text/bcat/gemset.nix
new file mode 100644
index 000000000000..0654e35399d9
--- /dev/null
+++ b/pkgs/tools/text/bcat/gemset.nix
@@ -0,0 +1,19 @@
+{
+  bcat = {
+    dependencies = ["rack"];
+    source = {
+      remotes = ["http://rubygems.org"];
+      sha256 = "0w2wwlngcs7f4lmvifixrb89bjkw2lx8z0nn72w360hz394ic651";
+      type = "gem";
+    };
+    version = "0.6.2";
+  };
+  rack = {
+    source = {
+      remotes = ["http://rubygems.org"];
+      sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
+      type = "gem";
+    };
+    version = "1.6.8";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index 2f37f6394bac..b11f3cb4b8cd 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -5,14 +5,15 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "groff-1.22.3";
+  name = "groff-${version}";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "mirror://gnu/groff/${name}.tar.gz";
     sha256 = "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s";
   };
 
-  outputs = [ "out" "man" "doc" "info" ];
+  outputs = [ "out" "man" "doc" "info" "perl" ];
 
   enableParallelBuilding = false;
 
@@ -30,8 +31,7 @@ stdenv.mkDerivation rec {
       --replace "@PNMTOPS_NOSETPAGE@" "${netpbm}/bin/pnmtops -nosetpage"
   '';
 
-  buildInputs = [ ghostscript psutils netpbm ];
-  nativeBuildInputs = [ perl ];
+  buildInputs = [ ghostscript psutils netpbm perl ];
 
   # Builds running without a chroot environment may detect the presence
   # of /usr/X11 in the host system, leading to an impure build of the
@@ -62,6 +62,41 @@ stdenv.mkDerivation rec {
     for f in 'man.local' 'mdoc.local'; do
         cat '${./site.tmac}' >>"$out/share/groff/site-tmac/$f"
     done
+
+    moveToOutput bin/gropdf $perl
+    moveToOutput bin/pdfmom $perl
+    moveToOutput bin/roff2text $perl
+    moveToOutput bin/roff2pdf $perl
+    moveToOutput bin/roff2ps $perl
+    moveToOutput bin/roff2dvi $perl
+    moveToOutput bin/roff2ps $perl
+    moveToOutput bin/roff2html $perl
+    moveToOutput bin/glilypond $perl
+    moveToOutput bin/mmroff $perl
+    moveToOutput bin/roff2x $perl
+    moveToOutput bin/afmtodit $perl
+    moveToOutput bin/gperl $perl
+    moveToOutput bin/chem $perl
+    moveToOutput share/groff/${version}/font/devpdf $perl
+
+    # idk if this is needed, but Fedora does it
+    moveToOutput share/groff/${version}/tmac/pdf.tmac $perl
+
+    moveToOutput bin/gpinyin $perl
+    moveToOutput lib/groff/gpinyin $perl
+    substituteInPlace $perl/bin/gpinyin \
+      --replace $out/lib/groff/gpinyin $perl/lib/groff/gpinyin
+
+    moveToOutput bin/groffer $perl
+    moveToOutput lib/groff/groffer $perl
+    substituteInPlace $perl/bin/groffer \
+      --replace $out/lib/groff/groffer $perl/lib/groff/groffer
+
+    moveToOutput bin/grog $perl
+    moveToOutput lib/groff/grog $perl
+    substituteInPlace $perl/bin/grog \
+      --replace $out/lib/groff/grog $perl/lib/groff/grog
+
   '';
 
   meta = with stdenv.lib; {
@@ -82,5 +117,7 @@ stdenv.mkDerivation rec {
       version gxditview of the X11 xditview previewer, and an
       implementation of the -mm macros.
     '';
+
+    outputsToInstall = [ "out" "perl" ];
   };
 }
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 4f3f8af3256d..6fcfd6fff85f 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -1,30 +1,27 @@
-{ stdenv, lib, fetchurl, unzip, jdk }:
+{ stdenv, fetchzip, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  pname = "LanguageTool";
-  version = "3.7";
-  name = pname + "-" + version;
-  src = fetchurl {
+  name = "LanguageTool-${version}";
+  version = "3.9";
+
+  src = fetchzip {
     url = "https://www.languagetool.org/download/${name}.zip";
-    sha256 = "04i49z022k3nyyr8hnlxima9k5id8qvh2nr3dv8zgcqm5sin6xx9";
+    sha256 = "0hqb4hbl7iryw1xk8q1i606azzgzdr17sy6xfr1zpas4r2pnvhfq";
   };
-  buildInputs = [ unzip jdk ];
-  installPhase =
-  ''
-    mkdir -p $out/{bin,share}
-    mv * $out/share/.
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    mkdir -p $out/share
+    mv * $out/share/
+
     for lt in languagetool{,-commandline,-server};do
-    cat > $out/bin/$lt <<EXE
-    #!${stdenv.shell}
-    ${jdk}/bin/java -cp $out/share/ -jar $out/share/$lt.jar "\$@"
-    EXE
-    chmod +x $out/bin/$lt
+      makeWrapper ${jre}/bin/java $out/bin/$lt \
+        --add-flags "-cp $out/share/ -jar $out/share/$lt.jar"
     done
-    cat > $out/bin/languagetool-http-server <<EXE
-    #!${stdenv.shell}
-    ${jdk}/bin/java -cp $out/share/languagetool-server.jar org.languagetool.server.HTTPServer "\$@"
-    EXE
-    chmod +x $out/bin/languagetool-http-server
+
+    makeWrapper ${jre}/bin/java $out/bin/languagetool-http-server \
+      --add-flags "-cp $out/share/languagetool-server.jar org.languagetool.server.HTTPServer"
   '';
 
   meta = with stdenv.lib; {
@@ -34,6 +31,6 @@ stdenv.mkDerivation rec {
       edwtjo
       jgeerds
     ];
-    descrption = "A proofreading program for English, French German, Polish, and more";
+    description = "A proofreading program for English, French German, Polish, and more";
   };
 }
diff --git a/pkgs/tools/text/popfile/default.nix b/pkgs/tools/text/popfile/default.nix
index 10b82342051a..42befa2ce26b 100644
--- a/pkgs/tools/text/popfile/default.nix
+++ b/pkgs/tools/text/popfile/default.nix
@@ -44,8 +44,8 @@ stdenv.mkDerivation rec {
       wrapProgram "$path" \
         --prefix PERL5LIB : $PERL5LIB:$out/bin \
         --set POPFILE_ROOT $out/bin \
-        --set POPFILE_USER \$\{POPFILE_USER:-\$HOME/.popfile\} \
-        --run "test -d \$POPFILE_USER || mkdir -m 0700 -p \$POPFILE_USER"
+        --run 'export POPFILE_USER=''${POPFILE_USER:-$HOME/.popfile}' \
+        --run 'test -d "$POPFILE_USER" || mkdir -m 0700 -p "$POPFILE_USER"'
     done
   '';
 
diff --git a/pkgs/tools/text/ruby-zoom/Gemfile.lock b/pkgs/tools/text/ruby-zoom/Gemfile.lock
index 29d5fe1da5ba..107e896dd6d6 100644
--- a/pkgs/tools/text/ruby-zoom/Gemfile.lock
+++ b/pkgs/tools/text/ruby-zoom/Gemfile.lock
@@ -1,16 +1,15 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    djinni (2.0.1)
-      fagin (~> 0.1, >= 0.1.2)
-      ruby-terminfo (~> 0.1, >= 0.1.1)
-    fagin (0.1.2)
-    hilighter (0.1.7)
+    djinni (2.1.1)
+      fagin (~> 1.0, >= 1.0.0)
+    fagin (1.0.0)
+    hilighter (1.1.0)
     json_config (0.1.2)
-    ruby-terminfo (0.1.1)
-    ruby-zoom (4.1.0)
-      djinni (~> 2.0, >= 2.0.1)
-      hilighter (~> 0.1, >= 0.1.3)
+    ruby-zoom (5.0.1)
+      djinni (~> 2.1, >= 2.1.1)
+      fagin (~> 1.0, >= 1.0.0)
+      hilighter (~> 1.1, >= 1.1.0)
       json_config (~> 0.1, >= 0.1.2)
       scoobydoo (~> 0.1, >= 0.1.4)
     scoobydoo (0.1.4)
@@ -22,4 +21,4 @@ DEPENDENCIES
   ruby-zoom
 
 BUNDLED WITH
-   1.13.1
+   1.14.6
diff --git a/pkgs/tools/text/ruby-zoom/gemset.nix b/pkgs/tools/text/ruby-zoom/gemset.nix
index 7d3836a3c33a..36374e54e165 100644
--- a/pkgs/tools/text/ruby-zoom/gemset.nix
+++ b/pkgs/tools/text/ruby-zoom/gemset.nix
@@ -1,27 +1,28 @@
 {
   djinni = {
+    dependencies = ["fagin"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wl4q4qs1nyla5n2b2ys6n3i35gvli8xb8mxz2xv0ik306cikqm6";
+      sha256 = "00zfgd7zx2p9xjc64xm4iwdxq2bb6n1z09nw815c2f4lvlaq269f";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.1.1";
   };
   fagin = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17d419vkfr26gdbad97fg2ikskhn82vs3bnxlzd27w6lwyf13qxk";
+      sha256 = "0jryqrgb5jvz0m7p91c2bhn6gdwxn9jfdaq3cfkirc3y7yfzv131";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.0.0";
   };
   hilighter = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a9a9clgd6kx63a82msjzi6abznfqivsgmds7qaqwb1dsl1nznbh";
+      sha256 = "0sy59nfcfk4p1fnrdkipi0mvsj9db17chrx7lb2jg3majbr1wz59";
       type = "gem";
     };
-    version = "0.1.7";
+    version = "1.1.0";
   };
   json_config = {
     source = {
@@ -31,21 +32,14 @@
     };
     version = "0.1.2";
   };
-  ruby-terminfo = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rl4ic5pzvrpgd42z0c1s2n3j39c9znksblxxvmhkzrc0ckyg2cm";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
   ruby-zoom = {
+    dependencies = ["djinni" "fagin" "hilighter" "json_config" "scoobydoo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "132pk0zp3rayvvbccfs5ksigg9zpflp9734b4r0jz5aimmv2qpvp";
+      sha256 = "0115kbz6l8srzizs77k9l0585lg93x90kg49jjpan7ssm786q05j";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.0.1";
   };
   scoobydoo = {
     source = {
diff --git a/pkgs/tools/text/silver-searcher/bash-completion.patch b/pkgs/tools/text/silver-searcher/bash-completion.patch
new file mode 100644
index 000000000000..30e8c72389b7
--- /dev/null
+++ b/pkgs/tools/text/silver-searcher/bash-completion.patch
@@ -0,0 +1,5 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9 +9 @@
+-bashcompdir = $(pkgdatadir)/completions
++bashcompdir = $(datadir)/bash-completion/completions
diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix
index 156a8bd8f646..fe890c2916d0 100644
--- a/pkgs/tools/text/silver-searcher/default.nix
+++ b/pkgs/tools/text/silver-searcher/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0wcw4kyivb10m9b173183jrj46a0gisd35yqxi1mr9hw5l5dhkpa";
   };
 
+  patches = [ ./bash-completion.patch ];
+
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
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/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index e4613802892e..847477809406 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -15,8 +15,13 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     sed -i 's#\$djvulibre_bin_path#${djvulibre.bin}/bin#g' configure
+
+    # Configure skips the failing check for usability of windres when it is nonempty.
+    unset WINDRES
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Creates djvu files from PDF files";
     homepage = https://jwilk.net/software/pdf2djvu;
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 19bb99d20a87..253248f4cad1 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -47,6 +47,7 @@ mapAliases (rec {
   cv = progress; # added 2015-09-06
   debian_devscripts = debian-devscripts; # added 2016-03-23
   digikam5 = digikam; # added 2017-02-18
+  double_conversion = double-conversion; # 2017-11-22
   dwarf_fortress = dwarf-fortress; # added 2016-01-23
   dwbWrapper = dwb; # added 2015-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4e31727849ce..d947009defb1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -114,6 +114,8 @@ with pkgs;
 
   docker_compose = pythonPackages.docker_compose;
 
+  docker-ls = callPackage ../tools/misc/docker-ls { };
+
   dotfiles = callPackage ../applications/misc/dotfiles { };
 
   dotnetenv = callPackage ../build-support/dotnetenv {
@@ -515,6 +517,8 @@ with pkgs;
     python3Packages = python34Packages;
   };
 
+  autoflake = callPackage ../development/tools/analysis/autoflake { };
+
   avfs = callPackage ../tools/filesystems/avfs { };
 
   awscli = pythonPackages.callPackage ../tools/admin/awscli { };
@@ -713,6 +717,8 @@ with pkgs;
 
   bdf2psf = callPackage ../tools/misc/bdf2psf { };
 
+  bcat = callPackage ../tools/text/bcat {};
+
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
@@ -739,6 +745,8 @@ with pkgs;
 
   blink = callPackage ../applications/networking/instant-messengers/blink { };
 
+  libqmatrixclient = libsForQt5.callPackage ../development/libraries/libqmatrixclient { };
+
   quaternion = libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { };
 
   tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { };
@@ -1092,7 +1100,9 @@ with pkgs;
 
   geekbench = callPackage ../tools/misc/geekbench { };
 
-  gencfsm = callPackage ../tools/security/gencfsm { };
+  gencfsm = callPackage ../tools/security/gencfsm {
+    vala = vala_0_34;
+  };
 
   genromfs = callPackage ../tools/filesystems/genromfs { };
 
@@ -1100,6 +1110,8 @@ with pkgs;
 
   gist = callPackage ../tools/text/gist { };
 
+  gixy = callPackage ../tools/admin/gixy { };
+
   glide = callPackage ../development/tools/glide { };
 
   glock = callPackage ../development/tools/glock { };
@@ -1412,7 +1424,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 ];
   };
@@ -1485,11 +1496,17 @@ with pkgs;
 
   libpinyin = callPackage ../development/libraries/libpinyin { };
 
+  libskk = callPackage ../development/libraries/libskk {
+    gnome_common = gnome3.gnome_common;
+    vala = vala_0_34;
+  };
+
   m17n_db = callPackage ../tools/inputmethods/m17n-db { };
 
   m17n_lib = callPackage ../tools/inputmethods/m17n-lib { };
 
   skktools = callPackage ../tools/inputmethods/skk/skktools { };
+  skk-dicts = callPackage ../tools/inputmethods/skk/skk-dicts { };
 
   ibus = callPackage ../tools/inputmethods/ibus {
     inherit (gnome3) dconf glib;
@@ -1536,10 +1553,6 @@ with pkgs;
 
   brotli = callPackage ../tools/compression/brotli { };
 
-  brotliUnstable = callPackage ../tools/compression/brotli/unstable.nix { };
-
-  libbrotli = callPackage ../development/libraries/libbrotli { };
-
   biosdevname = callPackage ../tools/networking/biosdevname { };
 
   c14 = callPackage ../applications/networking/c14 { };
@@ -1753,6 +1766,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
@@ -2146,8 +2167,6 @@ with pkgs;
 
   ftgl = callPackage ../development/libraries/ftgl { };
 
-  ftgl212 = callPackage ../development/libraries/ftgl/2.1.2.nix { };
-
   ftop = callPackage ../os-specific/linux/ftop { };
 
   fsfs = callPackage ../tools/filesystems/fsfs { };
@@ -2360,6 +2379,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 { };
 
@@ -2500,6 +2520,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 {};
@@ -2572,6 +2594,12 @@ with pkgs;
     mpi = null;
   };
 
+  hdf5_1_8 = callPackage ../tools/misc/hdf5/1_8.nix {
+    gfortran = null;
+    szip = null;
+    mpi = null;
+  };
+
   hdf5-mpi = appendToName "mpi" (hdf5.override {
     szip = null;
     mpi = pkgs.openmpi;
@@ -2603,6 +2631,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 { };
@@ -2699,7 +2730,7 @@ with pkgs;
 
 
   ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
-    inherit (haskellPackages) ihaskell ghcWithPackages;
+    inherit (haskellPackages) ghcWithPackages;
 
     jupyter = python3.withPackages (ps: [ ps.jupyter ps.notebook ]);
 
@@ -2787,10 +2818,14 @@ with pkgs;
 
   jaaa = callPackage ../applications/audio/jaaa { };
 
-  jackett = callPackage ../servers/jackett { };
+  jackett = callPackage ../servers/jackett {
+    mono = mono50;
+  };
 
   jade = callPackage ../tools/text/sgml/jade { };
 
+  jazzy = callPackage ../development/tools/jazzy { };
+
   jd = callPackage ../development/tools/jd { };
 
   jd-gui = callPackage_i686 ../tools/security/jd-gui { };
@@ -3158,6 +3193,8 @@ with pkgs;
 
   libxcomp = callPackage ../development/libraries/libxcomp { };
 
+  libxl = callPackage ../development/libraries/libxl {};
+
   libx86emu = callPackage ../development/libraries/libx86emu { };
 
   libzmf = callPackage ../development/libraries/libzmf {};
@@ -3351,6 +3388,8 @@ with pkgs;
 
   miniball = callPackage ../development/libraries/miniball { };
 
+  minijail = callPackage ../tools/system/minijail { };
+
   minixml = callPackage ../development/libraries/minixml { };
 
   mir-qualia = callPackage ../tools/text/mir-qualia {
@@ -3544,7 +3583,7 @@ with pkgs;
 
   nextcloud = callPackage ../servers/nextcloud { };
 
-  nextcloud-client = libsForQt56.callPackage ../applications/networking/nextcloud-client { };
+  nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
 
   nextcloud-news-updater = callPackage ../servers/nextcloud/news-updater.nix { };
 
@@ -3761,12 +3800,13 @@ with pkgs;
 
   ostree = callPackage ../tools/misc/ostree { };
 
+  otfcc = callPackage ../tools/misc/otfcc { };
+
   otpw = callPackage ../os-specific/linux/otpw { };
 
   owncloud = owncloud70;
 
   inherit (callPackages ../servers/owncloud { })
-    owncloud705
     owncloud70
     owncloud80
     owncloud81
@@ -4381,7 +4421,7 @@ with pkgs;
 
   shotwell = callPackage ../applications/graphics/shotwell { };
 
-  shout = callPackage ../applications/networking/irc/shout { };
+  shout = nodePackages.shout;
 
   shellinabox = callPackage ../servers/shellinabox { };
 
@@ -4768,7 +4808,8 @@ with pkgs;
 
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
-  ttfautohint = callPackage ../tools/misc/ttfautohint { };
+  ttfautohint = libsForQt5.callPackage ../tools/misc/ttfautohint { };
+  ttfautohint-nox = ttfautohint.override { enableGUI = false; };
 
   tty-clock = callPackage ../tools/misc/tty-clock { };
 
@@ -4833,6 +4874,8 @@ with pkgs;
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
 
+  usync = callPackage ../applications/misc/usync { };
+
   uwsgi = callPackage ../servers/uwsgi {
     plugins = [];
     withPAM = stdenv.isLinux;
@@ -4849,6 +4892,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;
   };
@@ -5126,6 +5171,8 @@ with pkgs;
 
   wicd = callPackage ../tools/networking/wicd { };
 
+  wimlib = callPackage ../tools/archivers/wimlib { };
+
   wipe = callPackage ../tools/security/wipe { };
 
   wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf {
@@ -5155,7 +5202,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 +5344,10 @@ with pkgs;
 
   zsh-autosuggestions = callPackage ../shells/zsh-autosuggestions { };
 
+  zsh-powerlevel9k = callPackage ../shells/zsh-powerlevel9k { };
+
+  zsh-command-time = callPackage ../shells/zsh-command-time { };
+
   zstd = callPackage ../tools/compression/zstd { };
   zstdmt = callPackage ../tools/compression/zstdmt { };
 
@@ -5480,6 +5531,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 { };
@@ -5818,9 +5871,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 { };
 
@@ -6162,6 +6213,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;
@@ -6238,13 +6294,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 { };
@@ -6397,13 +6449,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 { };
@@ -6474,6 +6519,8 @@ with pkgs;
     gtk2 = gtk2-x11;
   };
 
+  lxtask = callPackage ../desktops/lxde/core/lxtask { };
+
   kona = callPackage ../development/interpreters/kona {};
 
   lolcode = callPackage ../development/interpreters/lolcode { };
@@ -6567,6 +6614,7 @@ with pkgs;
   octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
     qt = qt4;
     overridePlatforms = ["x86_64-linux" "x86_64-darwin"];
+    openblas = if stdenv.isDarwin then openblasCompat else openblas;
   }));
 
   ocropus = callPackage ../applications/misc/ocropus { };
@@ -6619,6 +6667,7 @@ with pkgs;
 
   # Python interpreters. All standard library modules are included except for tkinter, which is
   # available as `pythonPackages.tkinter` and can be used as any other Python package.
+  # When switching these sets, please update docs at ../../doc/languages-frameworks/python.md
   python = python2;
   python2 = python27;
   python3 = python36;
@@ -6750,9 +6799,9 @@ 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 { };
@@ -7030,9 +7079,7 @@ with pkgs;
 
   cheat = callPackage ../applications/misc/cheat { };
 
-  chefdk = callPackage ../development/tools/chefdk {
-    ruby = ruby_2_0;
-  };
+  chefdk = callPackage ../development/tools/chefdk { };
 
   matter-compiler = callPackage ../development/compilers/matter-compiler {};
 
@@ -7050,13 +7097,15 @@ with pkgs;
 
   "cl-launch" = callPackage ../development/tools/misc/cl-launch {};
 
+  cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { };
+
   coan = callPackage ../development/tools/analysis/coan { };
 
   compile-daemon = callPackage ../development/tools/compile-daemon { };
 
   complexity = callPackage ../development/tools/misc/complexity { };
 
-  conan = callPackage ../development/tools/build-managers/conan { };
+  conan = pythonPackages.callPackage ../development/tools/build-managers/conan { };
 
   cookiecutter = pythonPackages.cookiecutter;
 
@@ -7222,9 +7271,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 { };
 
@@ -7234,6 +7281,8 @@ with pkgs;
 
   gede = callPackage ../development/tools/misc/gede { };
 
+  gdbgui = callPackage ../development/tools/misc/gdbgui { };
+
   pmd = callPackage ../development/tools/analysis/pmd { };
 
   jdepend = callPackage ../development/tools/analysis/jdepend { };
@@ -7567,7 +7616,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 { };
@@ -7582,6 +7631,8 @@ with pkgs;
 
   shellcheck = haskell.lib.justStaticExecutables haskellPackages.ShellCheck;
 
+  schemaspy = callPackage ../development/tools/database/schemaspy { };
+
   shncpd = callPackage ../tools/networking/shncpd { };
 
   sigrok-cli = callPackage ../development/tools/sigrok-cli { };
@@ -7725,12 +7776,16 @@ with pkgs;
 
   ycmd = callPackage ../development/tools/misc/ycmd {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
-    llvmPackages = llvmPackages_4;
+    llvmPackages = llvmPackages_5;
     python = python2;
   };
 
   yodl = callPackage ../development/tools/misc/yodl { };
 
+  yq = callPackage ../development/tools/yq {
+    inherit (python3Packages) buildPythonApplication fetchPypi pyyaml;
+  };
+
   winpdb = callPackage ../development/tools/winpdb { };
 
   grabserial = callPackage ../development/tools/grabserial { };
@@ -7863,8 +7918,6 @@ with pkgs;
 
   box2d = callPackage ../development/libraries/box2d { };
 
-  breakpad = callPackage ../development/libraries/breakpad { };
-
   buddy = callPackage ../development/libraries/buddy { };
 
   bwidget = callPackage ../development/libraries/bwidget { };
@@ -8041,7 +8094,7 @@ with pkgs;
 
   dhex = callPackage ../applications/editors/dhex { };
 
-  double_conversion = callPackage ../development/libraries/double-conversion { };
+  double-conversion = callPackage ../development/libraries/double-conversion { };
 
   dclib = callPackage ../development/libraries/dclib { };
 
@@ -8497,14 +8550,12 @@ with pkgs;
 
   gnu-efi = callPackage ../development/libraries/gnu-efi { };
 
-  gnutls = gnutls35;
-
-  gnutls35 = callPackage
+  gnutls = callPackage
     (if stdenv.isDarwin
       # Avoid > 3.5.10 due to frameworks for now; see discussion on:
       # https://github.com/NixOS/nixpkgs/commit/d6454e6a1
       then ../development/libraries/gnutls/3.5.10.nix
-      else ../development/libraries/gnutls/3.5.nix)
+      else ../development/libraries/gnutls/3.6.nix)
     {
       guileBindings = config.gnutls.guile or false;
     };
@@ -8870,6 +8921,8 @@ with pkgs;
 
   libabw = callPackage ../development/libraries/libabw { };
 
+  libamqpcpp = callPackage ../development/libraries/libamqpcpp { };
+
   libantlr3c = callPackage ../development/libraries/libantlr3c {};
 
   libappindicator-gtk2 = callPackage ../development/libraries/libappindicator { gtkVersion = "2"; };
@@ -9193,6 +9246,8 @@ with pkgs;
     monoSupport = false;
   };
 
+  libgssglue = callPackage ../development/libraries/libgssglue { };
+
   libgsystem = callPackage ../development/libraries/libgsystem { };
 
   libgudev = callPackage ../development/libraries/libgudev { };
@@ -9262,8 +9317,6 @@ with pkgs;
   libmtp = callPackage ../development/libraries/libmtp { };
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
-  libmsgpack_2_0 = callPackage ../development/libraries/libmsgpack/2.0.nix { };
-  libmsgpack_1_4 = callPackage ../development/libraries/libmsgpack/1.4.nix { };
 
   libmysqlconnectorcpp = callPackage ../development/libraries/libmysqlconnectorcpp {
     mysql = mysql57;
@@ -9559,9 +9612,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;
   };
@@ -9648,7 +9698,6 @@ with pkgs;
 
   giflib = giflib_5_1;
   giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
-  giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { };
   giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { };
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
@@ -9711,6 +9760,8 @@ with pkgs;
 
   libvorbis = callPackage ../development/libraries/libvorbis { };
 
+  libwebcam = callPackage ../os-specific/linux/libwebcam { };
+
   libwebp = callPackage ../development/libraries/libwebp { };
 
   libwmf = callPackage ../development/libraries/libwmf { };
@@ -9748,7 +9799,7 @@ with pkgs;
     # the hook to find catalogs is hidden by buildEnv
     postBuild = ''
       mkdir "$out/nix-support"
-      cp '${libxml2.dev}/nix-support/propagated-native-build-inputs' "$out/nix-support/"
+      cp '${libxml2.dev}/nix-support/propagated-build-inputs' "$out/nix-support/"
     '';
   };
 
@@ -9870,8 +9921,7 @@ with pkgs;
     # through /run/opengl-driver*, which is overriden according to config.grsecurity
     # grsecEnabled = true; # no more support in nixpkgs ATM
 
-    # llvm-4.0.0 and 5.0.0 won't pass tests on aarch64
-    llvmPackages = if system == "aarch64-linux" then llvmPackages_39 else llvmPackages_5;
+    llvmPackages = llvmPackages_5;
   });
 
   mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
@@ -10040,6 +10090,8 @@ with pkgs;
 
   olm = callPackage ../development/libraries/olm { };
 
+  oneko = callPackage ../applications/misc/oneko { };
+
   oniguruma = callPackage ../development/libraries/oniguruma { };
 
   openal = self.openalSoft;
@@ -10493,7 +10545,9 @@ with pkgs;
 
   qwt = callPackage ../development/libraries/qwt {};
 
-  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix { };
+  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix {
+    inherit (darwin.apple_sdk.frameworks) AGL;
+  };
 
   qxt = callPackage ../development/libraries/qxt {};
 
@@ -10618,7 +10672,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL;
   };
 
-  SDL2_image = callPackage ../development/libraries/SDL2_image { };
+  SDL2_image = callPackage ../development/libraries/SDL2_image {
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  };
 
   SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { };
 
@@ -10732,6 +10788,8 @@ with pkgs;
 
   sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }).bin;
 
+  sqlite-jdbc = callPackage ../servers/sql/sqlite/jdbc { };
+
   sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher {
     readline = null;
     ncurses = null;
@@ -11476,9 +11534,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;
@@ -11922,6 +11978,8 @@ with pkgs;
 
   restic = callPackage ../tools/backup/restic { };
 
+  restya-board = callPackage ../servers/web-apps/restya-board { };
+
   rethinkdb = callPackage ../servers/nosql/rethinkdb {
     libtool = darwin.cctools;
   };
@@ -11980,6 +12038,8 @@ with pkgs;
 
   sambaFull = samba4Full;
 
+  shairplay = callPackage ../servers/shairplay { };
+
   shairport-sync = callPackage ../servers/shairport-sync { };
 
   serfdom = callPackage ../servers/serf { };
@@ -12521,10 +12581,28 @@ 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
-      kernelPatches.p9_fixes
       kernelPatches.modinst_arg_list_too_long
     ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [
       kernelPatches.mips_fpureg_emu
@@ -12677,6 +12755,8 @@ with pkgs;
 
     tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
+    usbip = callPackage ../os-specific/linux/usbip { };
+
     v86d = callPackage ../os-specific/linux/v86d { };
 
     vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
@@ -12706,7 +12786,7 @@ 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.
@@ -12717,6 +12797,7 @@ with pkgs;
   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.
@@ -12793,8 +12874,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 { };
@@ -12935,16 +13014,16 @@ with pkgs;
 
   watch = callPackage ../os-specific/linux/procps/watch.nix { };
 
-  qemu_kvm = lowPrio (qemu.override { x86Only = true; });
+  qemu_kvm = lowPrio (qemu.override { hostCpuOnly = true; });
 
   # See `xenPackages` source for explanations.
   # Building with `xen` instead of `xen-slim` is possible, but makes no sense.
-  qemu_xen = lowPrio (qemu.override { x86Only = true; xenSupport = true; xen = xen-slim; });
-  qemu_xen-light = lowPrio (qemu.override { x86Only = true; xenSupport = true; xen = xen-light; });
-  qemu_xen_4_8 = lowPrio (qemu.override { x86Only = true; xenSupport = true; xen = xen_4_8-slim; });
-  qemu_xen_4_8-light = lowPrio (qemu.override { x86Only = true; xenSupport = true; xen = xen_4_8-light; });
+  qemu_xen = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-slim; });
+  qemu_xen-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-light; });
+  qemu_xen_4_8 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_8-slim; });
+  qemu_xen_4_8-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_8-light; });
 
-  qemu_test = lowPrio (qemu.override { x86Only = true; nixosTestRunner = true; });
+  qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; });
 
   firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { };
 
@@ -13372,7 +13451,10 @@ with pkgs;
 
   input-fonts = callPackage ../data/fonts/input-fonts { };
 
-  iosevka = callPackage ../data/fonts/iosevka { };
+  iosevka = callPackage ../data/fonts/iosevka {
+    nodejs = nodejs-8_x;
+  };
+  iosevka-bin = callPackage ../data/fonts/iosevka/bin.nix {};
 
   ipafont = callPackage ../data/fonts/ipafont {};
   ipaexfont = callPackage ../data/fonts/ipaexfont {};
@@ -13439,6 +13521,10 @@ with pkgs;
 
   meslo-lg = callPackage ../data/fonts/meslo-lg {};
 
+  migmix = callPackage ../data/fonts/migmix {};
+
+  migu = callPackage ../data/fonts/migu {};
+
   miscfiles = callPackage ../data/misc/miscfiles { };
 
   media-player-info = callPackage ../data/misc/media-player-info {};
@@ -13516,6 +13602,8 @@ with pkgs;
 
   shaderc = callPackage ../development/compilers/shaderc { };
 
+  mime-types = callPackage ../data/misc/mime-types { };
+
   shared_mime_info = callPackage ../data/misc/shared-mime-info { };
 
   shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { };
@@ -13628,8 +13716,12 @@ with pkgs;
 
   vanilla-dmz = callPackage ../data/icons/vanilla-dmz { };
 
+  vdrsymbols = callPackage ../data/fonts/vdrsymbols { };
+
   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 { };
@@ -13737,6 +13829,8 @@ 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 { };
@@ -13778,6 +13872,7 @@ with pkgs;
   atom-beta = callPackage ../applications/editors/atom/beta.nix { };
 
   aseprite = callPackage ../applications/editors/aseprite { };
+  aseprite-unfree = aseprite.override { unfree = true; };
 
   astah-community = callPackage ../applications/graphics/astah-community { };
 
@@ -14201,10 +14296,10 @@ with pkgs;
 
   inherit (callPackage ../applications/virtualization/docker { })
     docker_17_09
-    docker_17_10;
+    docker_17_11;
 
   docker = docker_17_09;
-  docker-edge = docker_17_10;
+  docker-edge = docker_17_11;
 
   docker-proxy = callPackage ../applications/virtualization/docker/proxy.nix { };
 
@@ -14212,6 +14307,9 @@ with pkgs;
 
   docker-machine = callPackage ../applications/networking/cluster/docker-machine { };
   docker-machine-kvm = callPackage ../applications/networking/cluster/docker-machine/kvm.nix { };
+  docker-machine-xhyve = callPackage ../applications/networking/cluster/docker-machine/xhyve.nix {
+    inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
+  };
 
   docker-distribution = callPackage ../applications/virtualization/docker-distribution { };
 
@@ -14601,7 +14699,9 @@ with pkgs;
 
   gnuradio = callPackage ../applications/misc/gnuradio {
     inherit (python2Packages) cheetah lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython pygtk;
+    inherit (darwin.apple_sdk.frameworks) CoreAudio;
     fftw = fftwFloat;
+    qwt = qwt6_qt4;
   };
 
   gnuradio-with-packages = callPackage ../applications/misc/gnuradio/wrapper.nix {
@@ -14790,9 +14890,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 { };
 
@@ -15151,6 +15249,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 {};
@@ -15286,8 +15386,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 { };
@@ -15307,7 +15411,6 @@ with pkgs;
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
-    boost = boost155;
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -15629,7 +15732,9 @@ with pkgs;
 
   minidjvu = callPackage ../applications/graphics/minidjvu { };
 
-  minikube = callPackage ../applications/networking/cluster/minikube { };
+  minikube = callPackage ../applications/networking/cluster/minikube {
+    inherit (darwin.apple_sdk.frameworks) vmnet;
+  };
 
   minitube = callPackage ../applications/video/minitube { };
 
@@ -16086,9 +16191,11 @@ with pkgs;
     inherit (gst_all_1) gstreamer gst-plugins-base;
   };
 
+  peek = callPackage ../applications/video/peek { };
+
   pflask = callPackage ../os-specific/linux/pflask {};
 
-  photoqt = libsForQt56.callPackage ../applications/graphics/photoqt { };
+  photoqt = libsForQt5.callPackage ../applications/graphics/photoqt { };
 
   phototonic = libsForQt5.callPackage ../applications/graphics/phototonic { };
 
@@ -16219,7 +16326,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; };
@@ -16233,7 +16340,6 @@ with pkgs;
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent {
-    boost = boost;
     libtorrentRasterbar = libtorrentRasterbar_1_0;
   };
 
@@ -16316,7 +16422,7 @@ with pkgs;
     withKDE = false;
   };
 
-  quassel-webserver = callPackage ../applications/networking/irc/quassel-webserver { };
+  quassel-webserver = nodePackages.quassel-webserver;
 
   quirc = callPackage ../tools/graphics/quirc {};
 
@@ -16401,6 +16507,8 @@ with pkgs;
 
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
 
+  rdedup = callPackage ../tools/backup/rdedup { };
+
   rdup = callPackage ../tools/backup/rdup { };
 
   realpine = callPackage ../applications/networking/mailreaders/realpine {
@@ -16486,9 +16594,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 { };
 
@@ -16823,9 +16929,9 @@ with pkgs;
   };
 
   deepin-terminal = callPackage ../applications/misc/deepin-terminal {
-    vte = gnome3.vte;
+    inherit (gnome3) libgee vte;
     wnck = libwnck3;
-    gee = libgee_0_8;
+    vala = vala_0_34;
   };
 
   termite = callPackage ../applications/misc/termite {
@@ -16890,6 +16996,7 @@ with pkgs;
     enableKDE       = config.tomahawk.enableKDE       or false;
     enableTelepathy = config.tomahawk.enableTelepathy or false;
     quazip = quazip_qt4;
+    boost = boost155;
   };
 
   topydo = callPackage ../applications/misc/topydo {};
@@ -17028,7 +17135,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 { };
 
@@ -17614,9 +17723,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 {};
 
@@ -17641,7 +17748,7 @@ with pkgs;
 
   angband = callPackage ../games/angband { };
 
-  anki = callPackage ../games/anki { };
+  anki = python2Packages.callPackage ../games/anki { };
 
   armagetronad = callPackage ../games/armagetronad { };
 
@@ -17807,6 +17914,8 @@ with pkgs;
     boost = boost160;
   };
 
+  freesweep = callPackage ../games/freesweep { };
+
   frotz = callPackage ../games/frotz { };
 
   fsg = callPackage ../games/fsg {
@@ -17849,6 +17958,10 @@ with pkgs;
 
   gogui = callPackage ../games/gogui {};
 
+  gtetrinet = callPackage ../games/gtetrinet {
+    inherit (gnome2) GConf libgnome libgnomeui;
+  };
+
   gtypist = callPackage ../games/gtypist { };
 
   gzdoom = callPackage ../games/gzdoom { };
@@ -18001,6 +18114,8 @@ with pkgs;
 
   privateer = callPackage ../games/privateer { };
 
+  pysolfc = callPackage ../games/pysolfc { };
+
   qweechat = callPackage ../applications/networking/irc/qweechat { };
 
   qqwing = callPackage ../games/qqwing { };
@@ -18123,7 +18238,6 @@ with pkgs;
   };
 
   stuntrally = callPackage ../games/stuntrally {
-    bullet = bullet283;
     mygui = mygui.override {
       withOgre = true;
     };
@@ -18713,7 +18827,9 @@ with pkgs;
     coqPackages = self;
 
     autosubst = callPackage ../development/coq-modules/autosubst {};
-    bignums = callPackage ../development/coq-modules/bignums {};
+    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 {};
@@ -19154,6 +19270,10 @@ with pkgs;
   # this driver ships with pre-compiled 32-bit binary libraries
   cnijfilter_2_80 = callPackage_i686 ../misc/cups/drivers/cnijfilter_2_80 { };
 
+  cnijfilter_4_00 = callPackage ../misc/cups/drivers/cnijfilter_4_00 {
+    libusb = libusb1;
+  };
+
   cnijfilter2 = callPackage ../misc/cups/drivers/cnijfilter2 {
     libusb = libusb1;
   };
@@ -19292,6 +19412,8 @@ with pkgs;
 
   keynav = callPackage ../tools/X11/keynav { };
 
+  kompose = callPackage ../applications/networking/cluster/kompose { };
+
   kops = callPackage ../applications/networking/cluster/kops { };
 
   lilypond = callPackage ../misc/lilypond { guile = guile_1_8; };
@@ -19462,6 +19584,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  ricty = callPackage ../data/fonts/ricty { };
+
   rss-glx = callPackage ../misc/screensavers/rss-glx { };
 
   runit = callPackage ../tools/system/runit { };
@@ -19545,6 +19669,7 @@ with pkgs;
     terraform_0_8
     terraform_0_9
     terraform_0_10
+    terraform_0_11
     ;
 
   # Terraform with all the plugins, both to get Hydra to build all plugins for us and for
@@ -19808,12 +19933,15 @@ with pkgs;
 
   snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
 
+  openmsx = callPackage ../misc/emulators/openmsx {
+    python = python27;
+  };
+
   higan = callPackage ../misc/emulators/higan {
     inherit (gnome2) gtksourceview;
   };
 
   bullet = callPackage ../development/libraries/bullet {};
-  bullet283 = callPackage ../development/libraries/bullet/bullet283.nix {};
 
   spdlog = callPackage ../development/libraries/spdlog { };
 
@@ -19919,4 +20047,8 @@ with pkgs;
   dnstracer = callPackage ../tools/networking/dnstracer {
     inherit (darwin) libresolv;
   };
+
+  wal-g = callPackage ../tools/backup/wal-g {};
+
+  tlwg = callPackage ../data/fonts/tlwg { };
 }
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index fe3f89ef804e..b082bce11b72 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -219,7 +219,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
   SmartIrc4net = fetchNuGet {
     baseName = "SmartIrc4net";
     version = "0.4.5.1";
-    sha256 = "1k6zc6xsqfzj7nc9479d32akj6d37jq6i1qirmz1i66p52zb5hm1";
+    sha256 = "1d531sj39fvwmj2wgplqfify301y3cwp7kwr9ai5hgrq81jmjn2b";
     outputFiles = [ "lib/*" ];
   };
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index baaedbeb521e..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,8 @@ 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 {
@@ -257,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;
@@ -272,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";
@@ -295,6 +298,9 @@ let
     };
   };
 
+  lib-requires =
+    callPackage ../applications/editors/emacs-modes/lib-requires { };
+
   lui = melpaBuild rec {
     pname   = "lui";
     version = circe.version;
@@ -311,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 {
@@ -324,6 +338,8 @@ let
     };
   };
 
+  stgit = callPackage ../applications/editors/emacs-modes/stgit { };
+
   structured-haskell-mode = melpaBuild rec {
     pname = "shm";
     version = external.structured-haskell-mode.version;
@@ -339,6 +355,8 @@ let
     };
   };
 
+  thingatpt-plus = callPackage ../applications/editors/emacs-modes/thingatpt-plus { };
+
   tramp = callPackage ../applications/editors/emacs-modes/tramp { };
 
   weechat = melpaBuild rec {
@@ -360,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/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index f233ae43ad10..47299791e86b 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -614,32 +614,32 @@ let
   };
 
   mpack = buildLuaPackage rec {
-    name = "lua-mpack-${libmpack.version}";
+    name = "mpack-${version}";
+    version = "1.0.7";
 
-    # 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";
+      rev = version;
+      sha256 = "1nydi6xbmxwl1fmi32v5v8n74msnmzblzqaqnb102w6vkinampsb";
+    };
 
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libmpack ]; # ++ [ libtool lua ];
+    buildInputs = [ libmpack ];
     dontBuild = true;
 
-    preInstall = ''
-      mkdir -p $out/lib/lua/${lua.luaversion}
+    postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+      substituteInPlace Makefile \
+        --replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
     '';
 
-    NIX_CFLAGS_COMPILE = "-Wno-error -fpic";
-
     installFlags = [
       "USE_SYSTEM_LUA=yes"
-      "LUA_VERSION_MAJ_MIN="
-      "LUA_CMOD_INSTALLDIR=$$out/lib/lua/${lua.luaversion}"
+      "USE_SYSTEM_MPACK=yes"
+      "MPACK_LUA_VERSION=${lua.version}"
+      "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";
@@ -651,13 +651,13 @@ let
 
   vicious = stdenv.mkDerivation rec {
     name = "vicious-${version}";
-    version = "2.2.0";
+    version = "2.3.0";
 
     src = fetchFromGitHub {
       owner = "Mic92";
       repo = "vicious";
       rev = "v${version}";
-      sha256 = "0dhy0vklrhqrnmxb9pyqbfvkwwy86lwysk93pzg1j1zwprx366fj";
+      sha256 = "1mrd8c46ljilag8dljvnagaxnjnab8bmg9mcbnwvrivgjzgf6a1k";
     };
 
     buildInputs = [ lua ];
diff --git a/pkgs/top-level/metrics.nix b/pkgs/top-level/metrics.nix
index 2a54566ef4a7..5f61c67b29cc 100644
--- a/pkgs/top-level/metrics.nix
+++ b/pkgs/top-level/metrics.nix
@@ -19,7 +19,7 @@ runCommand "nixpkgs-metrics"
       shift
 
       echo "running $@"
-      NIX_SHOW_STATS=1 time "$@" > /dev/null 2> stats
+      NIX_SHOW_STATS=1 time "$@" 2>&1 > /dev/null | tee stats
 
       cat stats
 
@@ -40,9 +40,12 @@ runCommand "nixpkgs-metrics"
       echo "$name.values $x" >> $out/nix-support/hydra-metrics
     }
 
-    run nixos.smallContainer nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix -A closures.smallContainer.x86_64-linux
-    run nixos.kde nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix -A closures.kde.x86_64-linux
-    run nixos.lapp nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix -A closures.lapp.x86_64-linux
+    run nixos.smallContainer nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix \
+      -A closures.smallContainer.x86_64-linux --show-trace
+    run nixos.kde nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix \
+      -A closures.kde.x86_64-linux --show-trace
+    run nixos.lapp nix-instantiate --dry-run ${nixpkgs}/nixos/release.nix \
+      -A closures.lapp.x86_64-linux --show-trace
     run nix-env.qa nix-env -f ${nixpkgs} -qa
     run nix-env.qaDrv nix-env -f ${nixpkgs} -qa --drv-path --meta --xml
 
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 47abcbe1de36..04e7b16e56b3 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 { };
@@ -174,10 +176,17 @@ let
 
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
-    cstruct = callPackage ../development/ocaml-modules/cstruct {
+    cstruct =
+      if lib.versionAtLeast ocaml.version "4.2"
+      then callPackage ../development/ocaml-modules/cstruct {}
+      else callPackage ../development/ocaml-modules/cstruct/1.9.0.nix { lwt = ocaml_lwt; };
+
+    cstruct-lwt = callPackage ../development/ocaml-modules/cstruct/lwt.nix {
       lwt = ocaml_lwt;
     };
 
+    cstruct-unix = callPackage ../development/ocaml-modules/cstruct/unix.nix {};
+
     csv =
       if lib.versionAtLeast ocaml.version "4.2"
       then callPackage ../development/ocaml-modules/csv { }
@@ -286,7 +295,6 @@ let
     inifiles = callPackage ../development/ocaml-modules/inifiles { };
 
     jingoo = callPackage ../development/ocaml-modules/jingoo {
-      batteries = ocaml_batteries;
       pcre = ocaml_pcre;
     };
 
@@ -379,9 +387,7 @@ let
 
     mtime =  callPackage ../development/ocaml-modules/mtime { };
 
-    nocrypto =  callPackage ../development/ocaml-modules/nocrypto {
-      lwt = ocaml_lwt;
-    };
+    nocrypto =  callPackage ../development/ocaml-modules/nocrypto { };
 
     notty = callPackage ../development/ocaml-modules/notty {
       lwt = ocaml_lwt;
@@ -391,8 +397,6 @@ let
       then callPackage ../development/ocaml-modules/num {}
       else null;
 
-    ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
-
     comparelib = callPackage ../development/ocaml-modules/comparelib { };
 
     core_extended_p4 = callPackage ../development/ocaml-modules/core_extended { };
@@ -571,6 +575,8 @@ let
       then callPackage ../development/ocaml-modules/ppx_blob {}
       else null;
 
+    ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix {};
+
     ppx_derivers = callPackage ../development/ocaml-modules/ppx_derivers {};
 
     ppx_deriving =
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index dc369d54782a..d72364363cdc 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1394,13 +1394,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  CatalystPluginHTMLWidget = buildPerlPackage {
+  CatalystPluginHTMLWidget = buildPerlPackage rec {
     name = "Catalyst-Plugin-HTML-Widget-1.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Catalyst-Plugin-HTML-Widget-1.1.tar.gz;
-      sha256 = "1zzyfhmzlqvbwk2w930k3mqk8z1lzhrja9ynx9yfq5gmc8qqg95l";
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
+      sha256 = "b4a4873162f515ec7cead6272533fc347c34711d138cc4c5e46b63fa2b74feff";
+    };
+    propagatedBuildInputs = [ CatalystRuntime HTMLWidget ];
+    meta = {
+      description = "HTML Widget Catalyst Plugin";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      broken = true;
     };
-    propagatedBuildInputs = [CatalystRuntime HTMLWidget];
   };
 
   CatalystPluginLogHandler = buildPerlPackage rec {
@@ -2084,30 +2089,30 @@ let self = _self // overrides; _self = with self; {
   };
 
   ClassLoad = buildPerlPackage rec {
-    name = "Class-Load-0.23";
+    name = "Class-Load-0.24";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "13xjfh4fadq4pkq7fcj42b26544jl7gqdg2y3imnra9fwxwsbg7j";
+      sha256 = "0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36";
     };
-    buildInputs = [ TestFatal TestRequires ];
+    buildInputs = [ TestFatal TestNeeds ];
     propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = https://github.com/moose/Class-Load;
       description = "A working (require \"Class::Name\") and more";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   ClassLoadXS = buildPerlPackage rec {
-    name = "Class-Load-XS-0.09";
+    name = "Class-Load-XS-0.10";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "1aivalms81s3a2cj053ncgnmkpgl7vspna8ajlkqir7rdn8kpv5v";
+      sha256 = "5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1";
     };
-    buildInputs = [ ModuleImplementation TestFatal TestRequires ];
+    buildInputs = [ ModuleImplementation TestFatal TestNeeds ];
     propagatedBuildInputs = [ ClassLoad ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = https://github.com/moose/Class-Load-XS;
       description = "XS implementation of parts of Class::Load";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -8041,10 +8046,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogContextual = buildPerlPackage rec {
-    name = "Log-Contextual-0.007001";
+    name = "Log-Contextual-0.008000";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FR/FREW/${name}.tar.gz";
-      sha256 = "163c46f9cf4ed921356d300925a1c3ec4d7e0d20d1c678ade9ccc24efd990cd6";
+      sha256 = "acd804508740e35c208e0cff575f3dbca2e01b8e64ec00eec3f88c7c4e3d656c";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
@@ -8052,7 +8057,6 @@ let self = _self // overrides; _self = with self; {
       homepage = https://github.com/frioux/Log-Contextual;
       description = "Simple logging interface with a contextual log";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      platforms   = stdenv.lib.platforms.unix;
     };
   };
 
@@ -9172,10 +9176,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Moo = buildPerlPackage rec {
-    name = "Moo-2.003000";
+    name = "Moo-2.003003";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "ccab84b1377e52922026b24b2ed51d83c439757f2b0783fffa73ac22b4fb3dd2";
+      sha256 = "6d858dcb376186533cfb63e45963d0464ac12832cc06fc6ed8ae796bdd8d5504";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny SubQuote ];
@@ -10277,6 +10281,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "8565aff76b3d09084642f3a83c654fb4ced8220e8e19d35c78b661519b4c1be6";
     };
     propagatedBuildInputs = [ URI ];
+    __darwinAllowLocalNetworking = true;
     meta = {
       homepage = https://github.com/libwww-perl/Net-HTTP;
       description = "Low-level HTTP connection (client)";
@@ -10781,6 +10786,7 @@ let self = _self // overrides; _self = with self; {
     };
     buildInputs = [ ModuleBuild TestFatal TestRequires ];
     propagatedBuildInputs = [ ModuleImplementation ];
+    perlPreHook = "export LD=$CC";
     meta = {
       homepage = https://metacpan.org/release/Params-Validate;
       description = "Validate method/function parameters";
@@ -11232,12 +11238,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   PPI = buildPerlPackage rec {
-    name = "PPI-1.224";
+    name = "PPI-1.236";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MITHALDU/${name}.tar.gz";
-      sha256 = "8d0f9faaea68515fb5aa6323115dcf98ea6c1dec4441f3844d3b9633b6cc9d94";
+      sha256 = "c6674b349c0b7d9a6d668e789a5e5215477d88ed4c8203aa69a2a50085308aec";
     };
-    buildInputs = [ ClassInspector FileRemove TestDeep TestObject TestSubCalls TestWarn ];
+    buildInputs = [ ClassInspector FileRemove TestDeep TestObject TestSubCalls ];
     propagatedBuildInputs = [ Clone IOString ListMoreUtils ParamsUtil TaskWeaken ];
 
     # Remove test that fails due to unexpected shebang after
@@ -15324,11 +15330,11 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  UNIVERSALrequire = buildPerlPackage {
-    name = "UNIVERSAL-require-0.17";
+  UNIVERSALrequire = buildPerlPackage rec {
+    name = "UNIVERSAL-require-0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.17.tar.gz;
-      sha256 = "5dc9f13f2d2bbdf852387e2a63c0753728c2bea9125dd628c313db3ef66ec4c3";
+      url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
+      sha256 = "b2a736a87967a143dab58c8a110501d5235bcdd2c8b2a3bfffcd3c0bd06b38ed";
     };
     meta = {
       description = "Require() modules from a variable";
@@ -15879,10 +15885,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   XMLLibXML = buildPerlPackage rec {
-    name = "XML-LibXML-2.0129";
+    name = "XML-LibXML-2.0132";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
-      sha256 = "0rmk6vysfgcn8434wyydd56midgshly37wx7c50ch038l2djd82w";
+      sha256 = "0xnl281hb590i287fxpl947f1s4zl9dnvc4ajvsqi89w23im453j";
     };
     SKIP_SAX_INSTALL = 1;
     buildInputs = [ pkgs.libxml2 ];
@@ -15890,7 +15896,7 @@ let self = _self // overrides; _self = with self; {
 
     # https://rt.cpan.org/Public/Bug/Display.html?id=122958
     preCheck = ''
-      rm t/32xpc_variables.t t/48_reader_undef_warning_on_empty_str_rt106830.t
+      rm t/32xpc_variables.t
     '';
   };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index e016c13e6a80..17434f221a65 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"];
@@ -74,6 +73,21 @@ let
     ];
   };
 
+  php_excel = assert isPhp7; buildPecl rec {
+    name = "php_excel";
+    version = "1.0.2";
+    phpVersion = "php7";
+
+    buildInputs = [ pkgs.libxl ];
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/iliaal/${name}/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz";
+      sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n";
+    };
+
+    configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ];
+  };
+
   igbinary = buildPecl {
     name = "igbinary-2.0.4";
 
@@ -91,6 +105,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 5df1b630b915..7f565a73672a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -31,10 +31,9 @@ let
 
   callPackage = pkgs.newScope self;
 
-  bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { };
+  namePrefix = python.libPrefix + "-";
 
-  mkPythonDerivation = makeOverridable( callPackage ../development/interpreters/python/mk-python-derivation.nix {
-  });
+  bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { };
 
   # Derivations built with `buildPythonPackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`.
   # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`.
@@ -52,13 +51,20 @@ let
       }
       else ff;
 
-  buildPythonPackage = makeOverridablePythonPackage (callPackage ../development/interpreters/python/build-python-package.nix {
-    inherit mkPythonDerivation;
+  buildPythonPackage = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix {
     inherit bootstrapped-pip;
     flit = self.flit;
-  });
+    # We want Python libraries to be named like e.g. "python3.6-${name}"
+    inherit namePrefix;
+    pythonModule = python;
+  }));
 
-  buildPythonApplication = args: buildPythonPackage ({namePrefix="";} // args );
+  buildPythonApplication = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix {
+    inherit bootstrapped-pip;
+    flit = self.flit;
+    namePrefix = "";
+    pythonModule = false;
+  }));
 
   graphiteVersion = "1.0.2";
 
@@ -80,10 +86,40 @@ let
         else throw "Unsupported kind ${kind}");
     in fetcher (builtins.removeAttrs attrs ["format"]) );
 
+  # Check whether a derivation provides a Python module.
+  hasPythonModule = drv: (hasAttr "pythonModule" drv) && ( (getAttr "pythonModule" drv) == python);
+
+  # Get list of required Python modules given a list of derivations.
+  requiredPythonModules = drvs: let
+    filterNull = list: filter (x: !isNull x) list;
+    conditionalGetRecurse = attr: condition: drv: let f = conditionalGetRecurse attr condition; in
+      (if (condition drv) then unique [drv]++(concatMap f (filterNull(getAttr attr drv))) else []);
+    _required = drv: conditionalGetRecurse "propagatedBuildInputs" hasPythonModule drv;
+  in [python] ++ (unique (concatMap _required (filterNull drvs)));
+
+  # Create a PYTHONPATH from a list of derivations. This function recurses into the items to find derivations
+  # providing Python modules.
+  makePythonPath = drvs: stdenv.lib.makeSearchPath python.sitePackages (requiredPythonModules drvs);
+
+  # Convert derivation to a Python module.
+  toPythonModule = drv:
+    drv.overrideAttrs( oldAttrs: {
+      # Use passthru in order to prevent rebuilds when possible.
+      passthru = (oldAttrs.passthru or {})// {
+        name = namePrefix + oldAttrs.name;
+        pythonModule = python;
+        pythonPath = [ ]; # Deprecated, for compatibility.
+      };
+    });
+
+  disabledIf = x: drv:
+    if x then throw "${removePrefix namePrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}" else drv;
+
 in {
 
-  inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k mkPythonDerivation buildPythonPackage buildPythonApplication;
+  inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k buildPythonPackage buildPythonApplication;
   inherit fetchPypi callPackage;
+  inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
 
   # helpers
 
@@ -106,6 +142,8 @@ 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 { };
@@ -144,6 +182,8 @@ in {
     bap = pkgs.ocamlPackages_4_02.bap;
   };
 
+  bash_kernel = callPackage ../development/python-modules/bash_kernel { };
+
   bayespy = callPackage ../development/python-modules/bayespy { };
 
   bitcoin-price-api = callPackage ../development/python-modules/bitcoin-price-api { };
@@ -152,9 +192,7 @@ in {
 
   breathe = callPackage ../development/python-modules/breathe { };
 
-  browsermob-proxy = if ! isPy3k then
-    callPackage ../development/python-modules/browsermob-proxy {}
-  else throw "browsermob-proxy is not supported for ${python.executable}";
+  browsermob-proxy = disabledIf isPy3k (callPackage ../development/python-modules/browsermob-proxy {});
 
   bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
 
@@ -218,11 +256,13 @@ in {
 
   pyaes = callPackage ../development/python-modules/pyaes { };
 
-  pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
+  pyamf = callPackage ../development/python-modules/pyamf { };
+
+  pyatspi = disabledIf (!isPy3k) (callPackage ../development/python-modules/pyatspi { });
 
   pycairo = callPackage ../development/python-modules/pycairo { };
 
-  pycangjie = if isPy3k then callPackage ../development/python-modules/pycangjie { } else throw "pycangjie not supported for interpreter ${python.executable}";
+  pycangjie = disabledIf (!isPy3k) (callPackage ../development/python-modules/pycangjie { });
 
   pycrypto = callPackage ../development/python-modules/pycrypto { };
 
@@ -232,7 +272,7 @@ in {
 
   PyChromecast = callPackage ../development/python-modules/pychromecast { };
 
-  pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}";
+  pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {});
 
   py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
 
@@ -268,6 +308,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 { };
@@ -292,13 +334,13 @@ in {
 
   PyWebDAV = callPackage ../development/python-modules/pywebdav { };
 
-  pyxml = if !isPy3k then callPackage ../development/python-modules/pyxml{ } else throw "pyxml not supported for interpreter ${python.executable}";
+  pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml{ });
 
   relatorio = callPackage ../development/python-modules/relatorio { };
 
   pyzufall = callPackage ../development/python-modules/pyzufall { };
 
-  rhpl = if !isPy3k then callPackage ../development/python-modules/rhpl {} else throw "rhpl not supported for interpreter ${python.executable}";
+  rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
 
   simpleeval = callPackage ../development/python-modules/simpleeval { };
 
@@ -1330,10 +1372,10 @@ in {
 
   # Build boost for this specific Python version
   # TODO: use separate output for libboost_python.so
-  boost = pkgs.boost.override {
+  boost = toPythonModule (pkgs.boost.override {
     inherit (self) python numpy;
     enablePython = true;
-  };
+  });
 
   buttersink = buildPythonPackage rec {
     name = "buttersink-0.6.8";
@@ -3194,15 +3236,15 @@ in {
     propagatedBuildInputs = with self; [ pyusb ];
   };
 
-  opencv = pkgs.opencv.override {
+  opencv = toPythonModule (pkgs.opencv.override {
     enablePython = true;
     pythonPackages = self;
-  };
+  });
 
-  opencv3 = pkgs.opencv3.override {
+  opencv3 = toPythonModule (pkgs.opencv3.override {
     enablePython = true;
     pythonPackages = self;
-  };
+  });
 
   openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {};
 
@@ -3321,6 +3363,8 @@ in {
     };
   };
 
+  mpyq = callPackage ../development/python-modules/mpyq { };
+
   mxnet = buildPythonPackage rec {
     inherit (pkgs.mxnet) name version src meta;
 
@@ -3341,6 +3385,8 @@ in {
     '';
   };
 
+  portpicker = callPackage ../development/python-modules/portpicker { };
+
   pkginfo = buildPythonPackage rec {
     version = "1.3.2";
     name = "pkginfo-${version}";
@@ -4442,6 +4488,8 @@ in {
     };
   };
 
+  demjson = callPackage ../development/python-modules/demjson { };
+
   derpconf = self.buildPythonPackage rec {
     name = "derpconf-0.4.9";
 
@@ -4723,13 +4771,11 @@ in {
 
   easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { };
 
-  eccodes = if (isPy27) then
-      (pkgs.eccodes.overrideAttrs (oldattrs: {
-    name = "${python.libPrefix}-" + oldattrs.name;
-  })).override {
-    enablePython = true;
-    pythonPackages = self;
-  } else throw "eccodes not supported for interpreter ${python.executable}";
+  eccodes = disabledIf (!isPy27)
+    (toPythonModule (pkgs.eccodes.override {
+      enablePython = true;
+      pythonPackages = self;
+    }));
 
   EditorConfig = buildPythonPackage rec {
     name = "EditorConfig-${version}";
@@ -4976,6 +5022,7 @@ in {
     checkPhase = ''
       py.test testing
     '';
+    __darwinAllowLocalNetworking = true;
     meta = {
       description = "Rapid multi-Python deployment";
       license = licenses.gpl2;
@@ -5437,6 +5484,7 @@ 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 { };
 
@@ -7178,6 +7226,7 @@ in {
     meta.broken = true; # Tests fail, and no reverse-dependencies anyway
   };
 
+  s2clientprotocol = callPackage ../development/python-modules/s2clientprotocol { };
 
   statsd = buildPythonPackage rec {
     name = "statsd-${version}";
@@ -8021,11 +8070,12 @@ in {
 
   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 ];
@@ -8630,28 +8680,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 { };
 
@@ -8717,10 +8746,10 @@ in {
 
   folium = callPackage ../development/python-modules/folium { };
 
-  fontforge = pkgs.fontforge.override {
+  fontforge = toPythonModule (pkgs.fontforge.override {
     withPython = true;
     inherit python;
-  };
+  });
 
   fonttools = callPackage ../development/python-modules/fonttools { };
 
@@ -8894,11 +8923,9 @@ in {
     };
   };
 
-  gdal = (pkgs.gdal.overrideDerivation (oldattrs: {
-    name = "${python.libPrefix}-" + oldattrs.name;
-  })).override {
+  gdal = toPythonModule (pkgs.gdal.override {
     pythonPackages = self;
-  };
+  });
 
   gdrivefs = buildPythonPackage rec {
     version = "0.14.8";
@@ -9270,13 +9297,11 @@ in {
     };
   };
 
-  grib-api = if (isPy27) then
-      (pkgs.grib-api.overrideAttrs (oldattrs: {
-    name = "${python.libPrefix}-" + oldattrs.name;
-  })).override {
-    enablePython = true;
-    pythonPackages = self;
-  } else throw "grib-api not supported for interpreter ${python.executable}";
+  grib-api = disabledIf (!isPy27) (toPythonModule
+    (pkgs.grib-api.override {
+      enablePython = true;
+      pythonPackages = self;
+    }));
 
   gspread = buildPythonPackage rec {
     version = "0.2.3";
@@ -10378,14 +10403,14 @@ in {
     inherit (pkgs) libsodium;
   };
 
-  libplist = if isPy3k then throw "libplist not supported for interpreter ${python.executable}" else
-    (pkgs.libplist.override{python2Packages=self; }).py;
+  libplist = disabledIf isPy3k
+    (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py;
 
-  libxml2 = if isPy3k then throw "libxml2 not supported for interpreter ${python.executable}" else
-    (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py;
+  libxml2 = disabledIf isPy3k
+    (toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;})).py;
 
-  libxslt = if isPy3k then throw "libxslt not supported for interpreter ${python.executable}" else
-    (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;}).py;
+  libxslt = disabledIf isPy3k
+    (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
 
   limnoria = buildPythonPackage rec {
     name = "limnoria-${version}";
@@ -10441,22 +10466,7 @@ in {
     fuse = pkgs.fuse;  # use "real" fuse, not the python module
   };
 
-  locustio = buildPythonPackage rec {
-    name = "locustio-0.7.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/locustio/${name}.tar.gz";
-      sha256 = "c9ca6fdfe6a6fb187a3d54ddf9b1518196348e8f20537f0a14ca81a264ffafa2";
-    };
-
-    propagatedBuildInputs = [ self.msgpack self.requests self.flask self.gevent self.pyzmq ];
-    buildInputs = [ self.mock self.unittest2 ];
-
-    meta = {
-      homepage = http://locust.io/;
-      description = "A load testing tool";
-    };
-  };
+  locustio = callPackage ../development/python-modules/locustio { };
 
   llvmlite = callPackage ../development/python-modules/llvmlite {llvm=pkgs.llvm_4;};
 
@@ -10984,35 +10994,7 @@ in {
     };
   };
 
-  nototools = buildPythonPackage rec {
-    version = "git-2016-03-25";
-    name = "nototools-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "googlei18n";
-      repo = "nototools";
-      rev = "4f7b067d1b18f59288e5eaee34db5b0abd3a3f63";
-      sha256 = "05brbkfg77ij4pmcrhq9302albzdalr9gv6jfdsbyyi2k8j85gbn";
-    };
-
-    propagatedBuildInputs = with self; [ fonttools numpy ];
-
-    postPatch = ''
-      sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
-    '';
-
-    postInstall = ''
-      cp -r third_party $out
-    '';
-
-    disabled = isPy3k;
-
-    meta = {
-      description = "Noto fonts support tools and scripts plus web site generation";
-      license = licenses.asl20;
-      homepage = https://github.com/googlei18n/nototools;
-    };
-  };
+  nototools = callPackage ../data/fonts/noto-fonts/tools.nix { };
 
   rainbowstream = buildPythonPackage rec {
     name = "rainbowstream-${version}";
@@ -11859,21 +11841,7 @@ in {
 
   nbmerge = callPackage ../development/python-modules/nbmerge { };
 
-  nbxmpp = buildPythonPackage rec {
-    name = "nbxmpp-${version}";
-    version = "0.5.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nbxmpp/${name}.tar.gz";
-      sha256 = "1gnzrzrdl4nii1sc5x8p5iw2ya5sl70j3nn34abqsny51p2pzmv6";
-    };
-
-    meta = {
-      homepage = "https://python-nbxmpp.gajim.org/";
-      description = "Non-blocking Jabber/XMPP module";
-      license = licenses.gpl3;
-    };
-  };
+  nbxmpp = callPackage ../development/python-modules/nbxmpp { };
 
   sleekxmpp = buildPythonPackage rec {
     name = "sleekxmpp-${version}";
@@ -14095,6 +14063,8 @@ in {
 
     propagatedBuildInputs = with self; [ cryptography pyasn1 ];
 
+    __darwinAllowLocalNetworking = true;
+
     # https://github.com/paramiko/paramiko/issues/449
     doCheck = !(isPyPy || isPy33);
     checkPhase = ''
@@ -14418,43 +14388,7 @@ in {
     };
   };
 
-
-  pexpect = buildPythonPackage rec {
-    version = "4.2.1";
-    name = "pexpect-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pexpect/${name}.tar.gz";
-      sha256 = "3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92";
-    };
-
-    # Wants to run pythonin a subprocess
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ ptyprocess ];
-
-    meta = {
-      homepage = http://www.noah.org/wiki/Pexpect;
-      description = "Automate interactive console applications such as ssh, ftp, etc";
-      license = licenses.mit;
-
-      longDescription = ''
-        Pexpect is similar to the Don Libes "Expect" system, but Pexpect
-        as a different interface that is easier to understand. Pexpect
-        is basically a pattern matching system. It runs programs and
-        watches output. When output matches a given pattern Pexpect can
-        respond as if a human were typing responses. Pexpect can be used
-        for automation, testing, and screen scraping. Pexpect can be
-        used for automating interactive console applications such as
-        ssh, ftp, passwd, telnet, etc. It can also be used to control
-        web applications via "lynx", "w3m", or some other text-based web
-        browser. Pexpect is pure Python. Unlike other Expect-like
-        modules for Python Pexpect does not require TCL or Expect nor
-        does it require C extensions to be compiled. It should work on
-        any platform that supports the standard Python pty module.
-      '';
-    };
-  };
+  pexpect = callPackage ../development/python-modules/pexpect { };
 
   pdfkit = buildPythonPackage rec {
     name = "pdfkit-${version}";
@@ -14898,31 +14832,13 @@ in {
 
   psd-tools = callPackage ../development/python-modules/psd-tools { };
 
-  psutil = buildPythonPackage rec {
-    name = "psutil-${version}";
-    version = "4.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/psutil/${name}.tar.gz";
-      sha256 = "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6";
-    };
-
-    # Certain tests fail due to being in a chroot.
-    # See also the older issue: https://code.google.com/p/psutil/issues/detail?id=434
-    doCheck = false;
+  psutil = callPackage ../development/python-modules/psutil { };
 
-    buildInputs = with self; [ mock ] ++ optionals stdenv.isDarwin [ pkgs.darwin.IOKit ];
-
-    meta = {
-      description = "Process and system utilization information interface for python";
-      homepage = https://github.com/giampaolo/psutil;
-    };
-  };
-
-  psutil_1 = self.psutil.overrideDerivation (self: rec {
-    name = "psutil-1.2.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/psutil/${name}.tar.gz";
+  psutil_1 = self.psutil.overrideAttrs (oldAttrs: rec {
+    name = "${oldAttrs.pname}-${version}";
+    version = "1.2.1";
+    src = oldAttrs.src.override {
+      inherit version;
       sha256 = "0ibclqy6a4qmkjhlk3g8jhpvnk0v9aywknc61xm3hfi5r124m3jh";
     };
   });
@@ -15213,29 +15129,7 @@ in {
     };
   });
 
-  pybfd = buildPythonPackage rec {
-    name = "pybfd-0.1.1";
-
-    disabled = isPyPy || isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pybfd/${name}.tar.gz";
-      sha256 = "d99b32ad077e704ddddc0b488c83cae851c14919e5cbc51715d00464a1932df4";
-    };
-
-    preConfigure = ''
-      substituteInPlace setup.py \
-        --replace '"/usr/include"' '"${pkgs.gdb}/include"' \
-        --replace '"/usr/lib"' '"${pkgs.libbfd}/lib"'
-    '';
-
-    meta = {
-      homepage = https://github.com/Groundworkstech/pybfd;
-      description = "A Python interface to the GNU Binary File Descriptor (BFD) library";
-      license = licenses.gpl2;
-      platforms = platforms.linux;
-    };
-  };
+  pybfd = callPackage ../development/python-modules/pybfd { };
 
   pyblock = stdenv.mkDerivation rec {
     name = "pyblock-${version}";
@@ -17061,9 +16955,8 @@ in {
     };
   };
 
-  qscintilla = if isPy3k || isPyPy
-    then throw "qscintilla-${pkgs.qscintilla.version} not supported for interpreter ${python.executable}"
-    else buildPythonPackage rec {
+  qscintilla = disabledIf (isPy3k || isPyPy)
+    (buildPythonPackage rec {
       # TODO: Qt5 support
       name = "qscintilla-${version}";
       version = pkgs.qscintilla.version;
@@ -17092,7 +16985,7 @@ in {
         maintainers = with maintainers; [ danbst ];
         platforms = platforms.linux;
       };
-    };
+    });
 
 
   qserve = buildPythonPackage rec {
@@ -17113,8 +17006,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";
 
@@ -17236,6 +17133,10 @@ in {
 
   readme_renderer = callPackage ../development/python-modules/readme_renderer { };
 
+  rivet = disabledIf isPy3k (toPythonModule (pkgs.rivet.override {
+    python2 = python;
+  }));
+
   rjsmin = callPackage ../development/python-modules/rjsmin { };
 
   pysolr = buildPythonPackage rec {
@@ -17481,24 +17382,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;
-    };
-  };
+  rope = callPackage ../development/python-modules/rope { };
 
   ropper = callPackage ../development/python-modules/ropper { };
 
@@ -17524,7 +17408,7 @@ in {
 
   rply = callPackage ../development/python-modules/rply/default.nix {};
 
-  rpm = (pkgs.rpm.override{inherit python;});
+  rpm = toPythonModule (pkgs.rpm.override{inherit python;});
 
   rpmfluff = callPackage ../development/python-modules/rpmfluff {};
 
@@ -18226,6 +18110,8 @@ in {
     cudnnSupport = false;
   };
 
+  thespian = callPackage ../development/python-modules/thespian { };
+
   tidylib = buildPythonPackage rec {
     version = "0.2.4";
     name = "pytidylib-${version}";
@@ -19032,9 +18918,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 { };
 
@@ -21382,6 +21266,7 @@ EOF
     };
   };
 
+  titlecase = callPackage ../development/python-modules/titlecase { };
 
   tracing = buildPythonPackage rec {
     name = "tracing-${version}";
@@ -21592,6 +21477,8 @@ EOF
     name = "carbon-${version}";
     version = graphiteVersion;
 
+    disabled = isPy3k;
+
     src = pkgs.fetchurl {
       url = "mirror://pypi/c/carbon/${name}.tar.gz";
       sha256 = "142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn";
@@ -21603,6 +21490,7 @@ EOF
       homepage = http://graphite.wikidot.com/;
       description = "Backend data caching and persistence daemon for Graphite";
       maintainers = with maintainers; [ rickynils offline ];
+      license = licenses.asl20;
     };
   };
 
@@ -22172,7 +22060,7 @@ EOF
   };
 
   # For backwards compatibility. Please use nixpkgs.udiskie instead.
-  udiskie = pkgs.udiskie.override { pythonPackages = self; };
+  udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; });
 
   # Should be bumped along with EFL!
   pythonefl = buildPythonPackage rec {
@@ -22918,12 +22806,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 ];
@@ -24434,9 +24322,8 @@ EOF
   ROPGadget = callPackage ../development/python-modules/ROPGadget { };
 
   # We need "normal" libxml2 and not the python package by the same name.
-  pywbem = if !(isPy36)
-    then callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; }
-    else throw "pywbem not supported for interpreter ${python.executable}";
+  pywbem = disabledIf isPy36
+    (callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; });
 
   unicorn = callPackage ../development/python-modules/unicorn { };
 
@@ -24508,8 +24395,8 @@ EOF
 
   zeep = callPackage ../development/python-modules/zeep { };
 
-  zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
-    (pkgs.zeitgeist.override{python2Packages=self;}).py;
+  zeitgeist = disabledIf isPy3k
+    (toPythonModule (pkgs.zeitgeist.override{python2Packages=self;})).py;
 
   zeroconf = callPackage ../development/python-modules/zeroconf { };