summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS10
-rw-r--r--doc/cross-compilation.xml13
-rw-r--r--doc/languages-frameworks/haskell.md8
-rw-r--r--doc/languages-frameworks/rust.md100
-rw-r--r--doc/package-notes.xml26
-rw-r--r--doc/stdenv.xml14
-rw-r--r--lib/customisation.nix19
-rw-r--r--lib/debug.nix4
-rw-r--r--lib/default.nix9
-rw-r--r--lib/deprecated.nix8
-rw-r--r--lib/generators.nix4
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/lists.nix32
-rw-r--r--lib/maintainers.nix20
-rw-r--r--lib/modules.nix2
-rw-r--r--lib/options.nix9
-rw-r--r--lib/systems/doubles.nix4
-rw-r--r--lib/systems/examples.nix21
-rw-r--r--lib/systems/inspect.nix7
-rw-r--r--lib/systems/parse.nix156
-rw-r--r--lib/systems/platforms.nix5
-rw-r--r--lib/trivial.nix63
-rw-r--r--lib/types.nix4
-rwxr-xr-xmaintainers/scripts/debian-patches.sh6
-rw-r--r--nixos/default.nix4
-rw-r--r--nixos/doc/manual/default.nix58
-rw-r--r--nixos/doc/manual/installation/changing-config.xml18
-rw-r--r--nixos/doc/manual/installation/installing-virtualbox-guest.xml10
-rw-r--r--nixos/doc/manual/installation/installing.xml5
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl9
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.xml49
-rw-r--r--nixos/lib/build-vms.nix2
-rw-r--r--nixos/lib/make-disk-image.nix82
-rw-r--r--nixos/lib/qemu-flags.nix11
-rw-r--r--nixos/lib/testing.nix2
-rw-r--r--nixos/maintainers/scripts/ec2/amazon-image.nix2
-rw-r--r--nixos/modules/config/power-management.nix3
-rw-r--r--nixos/modules/config/shells-environment.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64.nix10
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix8
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix1
-rw-r--r--nixos/modules/misc/ids.nix6
-rw-r--r--nixos/modules/misc/nixpkgs.nix60
-rw-r--r--nixos/modules/module-list.nix12
-rw-r--r--nixos/modules/profiles/clone-config.nix2
-rw-r--r--nixos/modules/programs/adb.nix1
-rw-r--r--nixos/modules/programs/less.nix118
-rw-r--r--nixos/modules/programs/shadow.nix10
-rw-r--r--nixos/modules/programs/tmux.nix7
-rw-r--r--nixos/modules/programs/yabar.nix149
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.nix2
-rw-r--r--nixos/modules/programs/zsh/zsh.nix5
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/security/acme.nix14
-rw-r--r--nixos/modules/security/pam.nix21
-rw-r--r--nixos/modules/security/sudo.nix129
-rw-r--r--nixos/modules/services/databases/mysql.nix4
-rw-r--r--nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix27
-rw-r--r--nixos/modules/services/hardware/acpid.nix32
-rw-r--r--nixos/modules/services/hardware/nvidia-optimus.nix2
-rw-r--r--nixos/modules/services/mail/dovecot.nix4
-rw-r--r--nixos/modules/services/mail/postfix.nix139
-rw-r--r--nixos/modules/services/mail/rspamd.nix261
-rw-r--r--nixos/modules/services/misc/home-assistant.nix135
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix63
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix58
-rw-r--r--nixos/modules/services/misc/zookeeper.nix11
-rw-r--r--nixos/modules/services/monitoring/netdata.nix54
-rw-r--r--nixos/modules/services/network-filesystems/openafs-client/default.nix99
-rw-r--r--nixos/modules/services/network-filesystems/openafs/client.nix239
-rw-r--r--nixos/modules/services/network-filesystems/openafs/lib.nix28
-rw-r--r--nixos/modules/services/network-filesystems/openafs/server.nix260
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix13
-rw-r--r--nixos/modules/services/networking/aria2.nix10
-rw-r--r--nixos/modules/services/networking/kresd.nix6
-rw-r--r--nixos/modules/services/networking/monero.nix238
-rw-r--r--nixos/modules/services/networking/mosquitto.nix2
-rw-r--r--nixos/modules/services/networking/resilio.nix2
-rw-r--r--nixos/modules/services/networking/rxe.nix63
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix15
-rw-r--r--nixos/modules/services/networking/stunnel.nix221
-rw-r--r--nixos/modules/services/security/physlock.nix64
-rw-r--r--nixos/modules/services/security/tor.nix30
-rw-r--r--nixos/modules/services/web-servers/mighttpd2.nix132
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix19
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix16
-rw-r--r--nixos/modules/services/web-servers/traefik.nix12
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix12
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix145
-rw-r--r--nixos/modules/services/x11/window-managers/2bwm.nix4
-rw-r--r--nixos/modules/system/boot/initrd-network.nix4
-rw-r--r--nixos/modules/system/boot/kernel.nix8
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix27
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix4
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix24
-rw-r--r--nixos/modules/tasks/network-interfaces.nix10
-rw-r--r--nixos/modules/testing/test-instrumentation.nix19
-rw-r--r--nixos/modules/virtualisation/container-config.nix2
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix1
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix16
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix2
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix25
-rw-r--r--nixos/release-combined.nix9
-rw-r--r--nixos/release-small.nix3
-rw-r--r--nixos/release.nix57
-rw-r--r--nixos/tests/boot.nix1
-rw-r--r--nixos/tests/borgbackup.nix21
-rw-r--r--nixos/tests/cloud-init.nix1
-rw-r--r--nixos/tests/ec2.nix1
-rw-r--r--nixos/tests/home-assistant.nix46
-rw-r--r--nixos/tests/installer.nix1
-rw-r--r--nixos/tests/kubernetes/base.nix1
-rw-r--r--nixos/tests/make-test.nix2
-rw-r--r--nixos/tests/matrix-synapse.nix30
-rw-r--r--nixos/tests/misc.nix5
-rw-r--r--nixos/tests/netdata.nix31
-rw-r--r--nixos/tests/networking.nix43
-rw-r--r--nixos/tests/predictable-interface-names.nix27
-rw-r--r--nixos/tests/rspamd.nix140
-rw-r--r--nixos/tests/rxe.nix53
-rw-r--r--nixos/tests/statsd.nix2
-rw-r--r--nixos/tests/sudo.nix93
-rw-r--r--nixos/tests/yabar.nix25
-rw-r--r--pkgs/applications/altcoins/monero-gui/default.nix89
-rw-r--r--pkgs/applications/altcoins/monero-gui/move-log-file.patch42
-rw-r--r--pkgs/applications/altcoins/monero-gui/move-translations-dir.patch14
-rw-r--r--pkgs/applications/altcoins/monero/build-wallet-rpc.patch78
-rw-r--r--pkgs/applications/altcoins/monero/default.nix46
-rw-r--r--pkgs/applications/audio/cantata/default.nix11
-rw-r--r--pkgs/applications/audio/cava/default.nix8
-rw-r--r--pkgs/applications/audio/dfasma/default.nix1
-rw-r--r--pkgs/applications/audio/distrho/default.nix13
-rw-r--r--pkgs/applications/audio/faust/faust2.nix5
-rw-r--r--pkgs/applications/audio/faust/faust2jack.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2jaqt.nix2
-rw-r--r--pkgs/applications/audio/flac/default.nix2
-rw-r--r--pkgs/applications/audio/fmit/default.nix1
-rw-r--r--pkgs/applications/audio/gpodder/default.nix7
-rw-r--r--pkgs/applications/audio/gradio/default.nix4
-rw-r--r--pkgs/applications/audio/id3v2/default.nix1
-rw-r--r--pkgs/applications/audio/infamousPlugins/default.nix37
-rw-r--r--pkgs/applications/audio/keyfinder-cli/default.nix1
-rw-r--r--pkgs/applications/audio/keyfinder/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/CompBus/default.nix2
-rw-r--r--pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix4
-rw-r--r--pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix1
-rw-r--r--pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix1
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy-iris/default.nix4
-rw-r--r--pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix4
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix2
-rw-r--r--pkgs/applications/audio/normalize/default.nix6
-rw-r--r--pkgs/applications/audio/opusfile/default.nix4
-rw-r--r--pkgs/applications/audio/pd-plugins/cyclone/default.nix34
-rw-r--r--pkgs/applications/audio/pd-plugins/maxlib/default.nix22
-rw-r--r--pkgs/applications/audio/pd-plugins/timbreid/default.nix26
-rw-r--r--pkgs/applications/audio/pmidi/default.nix21
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/seq24/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/audio/xmp/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/atom/beta.nix4
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/deadpixi-sam/default.nix28
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix161
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix53
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix3387
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix863
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix6
-rw-r--r--pkgs/applications/editors/emacs/site-start.el41
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix36
-rw-r--r--pkgs/applications/editors/moe/default.nix6
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix6
-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/neovim/wrapper.nix3
-rw-r--r--pkgs/applications/editors/rstudio/default.nix55
-rw-r--r--pkgs/applications/editors/tiled/default.nix6
-rw-r--r--pkgs/applications/editors/typora/default.nix6
-rw-r--r--pkgs/applications/editors/vbindiff/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/default.nix1
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix17
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/antimony/default.nix8
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix1
-rw-r--r--pkgs/applications/graphics/darktable/default.nix38
-rw-r--r--pkgs/applications/graphics/freecad/default.nix34
-rw-r--r--pkgs/applications/graphics/goxel/default.nix33
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix6
-rw-r--r--pkgs/applications/graphics/krita/default.nix6
-rw-r--r--pkgs/applications/graphics/meme/default.nix24
-rw-r--r--pkgs/applications/graphics/openscad/default.nix6
-rw-r--r--pkgs/applications/graphics/photivo/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/generic.nix2
-rw-r--r--pkgs/applications/graphics/swingsane/default.nix1
-rw-r--r--pkgs/applications/kde/akonadi/default.nix14
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/kdialog.nix18
-rw-r--r--pkgs/applications/misc/alacritty/default.nix6
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/diff-pdf/default.nix32
-rw-r--r--pkgs/applications/misc/dump1090/default.nix4
-rw-r--r--pkgs/applications/misc/dunst/default.nix21
-rw-r--r--pkgs/applications/misc/electrum-dash/default.nix10
-rw-r--r--pkgs/applications/misc/electrum/default.nix4
-rw-r--r--pkgs/applications/misc/ganttproject-bin/default.nix1
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix2
-rw-r--r--pkgs/applications/misc/gnuradio/wrapper.nix19
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix11
-rw-r--r--pkgs/applications/misc/gqrx/default.nix4
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix26
-rw-r--r--pkgs/applications/misc/j4-dmenu-desktop/default.nix4
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix6
-rw-r--r--pkgs/applications/misc/keepass/default.nix21
-rw-r--r--pkgs/applications/misc/keepass/keepass-plugins-load.patch1
-rw-r--r--pkgs/applications/misc/keepass/keepass-plugins.patch46
-rw-r--r--pkgs/applications/misc/kitty/default.nix4
-rw-r--r--pkgs/applications/misc/mdp/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/mencal/default.nix31
-rw-r--r--pkgs/applications/misc/milu/default.nix7
-rw-r--r--pkgs/applications/misc/monero/default.nix44
-rw-r--r--pkgs/applications/misc/moonlight-embedded/default.nix4
-rw-r--r--pkgs/applications/misc/ocropus/default.nix2
-rw-r--r--pkgs/applications/misc/osm2xmap/default.nix34
-rw-r--r--pkgs/applications/misc/pinfo/default.nix2
-rw-r--r--pkgs/applications/misc/pstree/default.nix2
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix5
-rw-r--r--pkgs/applications/misc/ranger/default.nix29
-rw-r--r--pkgs/applications/misc/redshift/default.nix2
-rw-r--r--pkgs/applications/misc/rtv/default.nix4
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix2
-rw-r--r--pkgs/applications/misc/slade/git.nix26
-rw-r--r--pkgs/applications/misc/slic3r-prusa3d/default.nix93
-rw-r--r--pkgs/applications/misc/styx/default.nix4
-rw-r--r--pkgs/applications/misc/subsurface/default.nix6
-rw-r--r--pkgs/applications/misc/synapse/default.nix10
-rw-r--r--pkgs/applications/misc/tasknc/default.nix58
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix2
-rw-r--r--pkgs/applications/misc/terminator/default.nix15
-rw-r--r--pkgs/applications/misc/tint2/default.nix4
-rw-r--r--pkgs/applications/misc/vifm/default.nix4
-rw-r--r--pkgs/applications/misc/workrave/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix15
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix22
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix780
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix780
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix772
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix47
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix3
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix5
-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/otter/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/Gemfile2
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock25
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/gemset.nix61
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/deps.nix24
-rw-r--r--pkgs/applications/networking/errbot/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix18
-rw-r--r--pkgs/applications/networking/feedreaders/rawdog/default.nix1
-rw-r--r--pkgs/applications/networking/feedreaders/rsstail/default.nix1
-rw-r--r--pkgs/applications/networking/flexget/default.nix1
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix15
-rw-r--r--pkgs/applications/networking/gns3/server.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch13
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pybitmessage/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix48
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/afew/default.nix28
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mblaze/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/muchsync.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix474
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/mumble/default.nix11
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix1
-rw-r--r--pkgs/applications/networking/sync/rsync/base.nix39
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix2
-rw-r--r--pkgs/applications/networking/syncthing-gtk/default.nix56
-rw-r--r--pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch77
-rw-r--r--pkgs/applications/networking/syncthing-gtk/paths.patch22
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/vnstat/default.nix1
-rw-r--r--pkgs/applications/networking/znc/modules.nix20
-rw-r--r--pkgs/applications/office/gnucash/default.nix1
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/still.nix2
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/office/spice-up/default.nix61
-rw-r--r--pkgs/applications/office/wordgrinder/default.nix8
-rw-r--r--pkgs/applications/science/biology/bedtools/default.nix4
-rw-r--r--pkgs/applications/science/biology/bowtie2/default.nix4
-rw-r--r--pkgs/applications/science/biology/bwa/default.nix4
-rw-r--r--pkgs/applications/science/biology/igv/default.nix6
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix25
-rw-r--r--pkgs/applications/science/biology/muscle/default.nix35
-rw-r--r--pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch21
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/raxml/default.nix42
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/samtools-0.1.19-no-curses.patch22
-rw-r--r--pkgs/applications/science/biology/samtools/samtools_0_1_19.nix34
-rw-r--r--pkgs/applications/science/biology/star/default.nix34
-rw-r--r--pkgs/applications/science/chemistry/molden/default.nix42
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix47
-rw-r--r--pkgs/applications/science/electronics/bitscope/common.nix2
-rw-r--r--pkgs/applications/science/logic/lean/default.nix3
-rw-r--r--pkgs/applications/science/logic/stp/default.nix2
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix8
-rw-r--r--pkgs/applications/science/math/R/default.nix16
-rw-r--r--pkgs/applications/science/math/almonds/default.nix29
-rw-r--r--pkgs/applications/science/math/sage/default.nix34
-rw-r--r--pkgs/applications/science/math/sage/patchSageShebangs.sh51
-rw-r--r--pkgs/applications/science/math/sage/shebangs.patch36
-rw-r--r--pkgs/applications/science/math/sage/spkg-giac.patch17
-rw-r--r--pkgs/applications/science/math/sage/spkg-git.patch11
-rw-r--r--pkgs/applications/science/math/sage/spkg-python.patch13
-rw-r--r--pkgs/applications/science/math/sage/spkg-python2.patch12
-rw-r--r--pkgs/applications/science/math/sage/spkg-python3.patch12
-rw-r--r--pkgs/applications/science/math/sage/spkg-singular.patch16
-rw-r--r--pkgs/applications/science/math/weka/default.nix4
-rw-r--r--pkgs/applications/science/spyder/default.nix18
-rw-r--r--pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-bz/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-send-email-honor-PATH.patch45
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/ssh-path.patch22
-rw-r--r--pkgs/applications/version-management/git-and-tools/grv/default.nix30
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix43
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix28
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix6
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix15
-rw-r--r--pkgs/applications/version-management/monotone-viz/default.nix6
-rw-r--r--pkgs/applications/version-management/nbstripout/default.nix2
-rw-r--r--pkgs/applications/version-management/src/default.nix4
-rw-r--r--pkgs/applications/version-management/tailor/default.nix2
-rw-r--r--pkgs/applications/video/bombono/default.nix23
-rw-r--r--pkgs/applications/video/clipgrab/default.nix1
-rw-r--r--pkgs/applications/video/gnome-mpv/default.nix2
-rw-r--r--pkgs/applications/video/minitube/default.nix1
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix8
-rw-r--r--pkgs/applications/video/mpv/default.nix5
-rw-r--r--pkgs/applications/video/obs-studio/default.nix4
-rw-r--r--pkgs/applications/video/qmediathekview/default.nix33
-rw-r--r--pkgs/applications/video/quvi/library.nix2
-rw-r--r--pkgs/applications/video/quvi/scripts.nix2
-rw-r--r--pkgs/applications/video/quvi/tool.nix2
-rw-r--r--pkgs/applications/video/streamlink/default.nix6
-rw-r--r--pkgs/applications/video/subdl/default.nix26
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix25
-rw-r--r--pkgs/applications/virtualization/docker/default.nix19
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix47
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/applications/virtualization/remotebox/default.nix1
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/4.5.nix6
-rw-r--r--pkgs/applications/virtualization/xen/4.8.nix6
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/lock-color.nix21
-rw-r--r--pkgs/applications/window-managers/i3/lock-fancy.nix14
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix4
-rw-r--r--pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch21
-rw-r--r--pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch75
-rw-r--r--pkgs/applications/window-managers/qtile/0003-Restart-executable.patch18
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix4
-rw-r--r--pkgs/applications/window-managers/way-cooler/default.nix53
-rw-r--r--pkgs/applications/window-managers/way-cooler/way-cooler.nix2780
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-bg.nix2321
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-grab.nix1343
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-lock.nix2091
-rw-r--r--pkgs/applications/window-managers/yabar/unstable.nix6
-rw-r--r--pkgs/build-support/emacs/wrapper.nix2
-rw-r--r--pkgs/build-support/fetchbower/default.nix3
-rw-r--r--pkgs/build-support/fetchdarcs/default.nix3
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git2
-rw-r--r--pkgs/build-support/fetchgx/default.nix4
-rw-r--r--pkgs/build-support/fetchpatch/default.nix10
-rw-r--r--pkgs/build-support/rust/build-rust-crate.nix10
-rw-r--r--pkgs/build-support/rust/cargo-vendor.nix34
-rw-r--r--pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix1487
-rw-r--r--pkgs/build-support/rust/cargo-vendor/default.nix10
-rw-r--r--pkgs/build-support/rust/carnix.nix2248
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix64
-rw-r--r--pkgs/build-support/rust/default.nix11
-rw-r--r--pkgs/build-support/rust/fetchcargo.nix5
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh174
-rw-r--r--pkgs/build-support/setup-hooks/patch-shebangs.sh4
-rw-r--r--pkgs/build-support/vm/default.nix15
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/default.nix1
-rw-r--r--pkgs/data/documentation/man-pages/default.nix5
-rw-r--r--pkgs/data/fonts/hack/default.nix1
-rw-r--r--pkgs/data/fonts/twemoji-color-font/default.nix39
-rw-r--r--pkgs/data/misc/cacert/default.nix2
-rw-r--r--pkgs/data/misc/cacert/setup-hook.sh5
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix2
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/data/misc/scowl/default.nix12
-rw-r--r--pkgs/data/misc/sound-theme-freedesktop/default.nix1
-rw-r--r--pkgs/data/misc/tzdata/tzdata-setup-hook.sh3
-rw-r--r--pkgs/data/misc/wireless-regdb/default.nix6
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix47
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-power-manager/src.nix10
-rw-r--r--pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/libgepub/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/extensions/icon-hider/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/extensions/pixel-saver/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/misc/gexiv2/default.nix25
-rw-r--r--pkgs/desktops/plasma-5/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix11
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/D9070.patch24
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix (renamed from pkgs/desktops/plasma-5/plasma-integration.nix)7
-rw-r--r--pkgs/desktops/xfce/default.nix288
-rw-r--r--pkgs/development/beam-modules/default.nix4
-rw-r--r--pkgs/development/beam-modules/lib.nix4
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix6
-rw-r--r--pkgs/development/compilers/binaryen/default.nix4
-rw-r--r--pkgs/development/compilers/dmd/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/6.10.2-binary.nix108
-rw-r--r--pkgs/development/compilers/ghc/6.10.4.nix37
-rw-r--r--pkgs/development/compilers/ghc/6.12.3.nix49
-rw-r--r--pkgs/development/compilers/ghc/7.0.4-binary.nix7
-rw-r--r--pkgs/development/compilers/ghc/7.0.4.nix9
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix115
-rw-r--r--pkgs/development/compilers/ghc/7.2.2.nix73
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix7
-rw-r--r--pkgs/development/compilers/ghc/7.4.2.nix13
-rw-r--r--pkgs/development/compilers/ghc/7.6.3.nix13
-rw-r--r--pkgs/development/compilers/ghc/7.8.4.nix75
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix121
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix169
-rw-r--r--pkgs/development/compilers/ghc/8.4.1.nix193
-rw-r--r--pkgs/development/compilers/ghc/head.nix166
-rw-r--r--pkgs/development/compilers/ghcjs/base.nix1
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/head.nix4
-rw-r--r--pkgs/development/compilers/go/1.7.nix4
-rw-r--r--pkgs/development/compilers/go/1.8.nix7
-rw-r--r--pkgs/development/compilers/go/1.9.nix10
-rw-r--r--pkgs/development/compilers/halvm/2.4.0.nix54
-rw-r--r--pkgs/development/compilers/julia/0.6.nix8
-rw-r--r--pkgs/development/compilers/julia/git.nix2
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.8/clang/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/3.8/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/3.9/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix43
-rw-r--r--pkgs/development/compilers/llvm/4/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/4/lldb.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix34
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix43
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/5/lldb.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix36
-rw-r--r--pkgs/development/compilers/mono/generic-cmake.nix2
-rw-r--r--pkgs/development/compilers/mono/generic.nix2
-rw-r--r--pkgs/development/compilers/openjdk/8.nix20
-rw-r--r--pkgs/development/compilers/openjdk/9.nix18
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk9-linux.nix27
-rw-r--r--pkgs/development/compilers/ponyc/default.nix2
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix1
-rw-r--r--pkgs/development/compilers/rust/cargo.nix6
-rw-r--r--pkgs/development/compilers/rust/rustc.nix9
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/compilers/scala/dotty-bare.nix4
-rw-r--r--pkgs/development/compilers/squeak/default.nix1
-rw-r--r--pkgs/development/compilers/uhc/default.nix54
-rw-r--r--pkgs/development/compilers/yosys/default.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix85
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix903
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml362
-rw-r--r--pkgs/development/haskell-modules/default.nix3
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix34
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix9007
-rw-r--r--pkgs/development/haskell-modules/hie-packages.nix48
-rw-r--r--pkgs/development/haskell-modules/lib.nix14
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix46
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix1
-rw-r--r--pkgs/development/idris-modules/build-idris-package.nix27
-rw-r--r--pkgs/development/idris-modules/idris-wrapper.nix5
-rw-r--r--pkgs/development/idris-modules/setup-hook.sh16
-rw-r--r--pkgs/development/interpreters/duktape/default.nix31
-rw-r--r--pkgs/development/interpreters/elixir/1.6.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R16B02-basho.nix2
-rw-r--r--pkgs/development/interpreters/guile/default.nix4
-rw-r--r--pkgs/development/interpreters/hy/default.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix2
-rw-r--r--pkgs/development/interpreters/perl/default.nix40
-rw-r--r--pkgs/development/interpreters/php/default.nix8
-rw-r--r--pkgs/development/interpreters/picoc/default.nix1
-rw-r--r--pkgs/development/interpreters/pixie/default.nix40
-rw-r--r--pkgs/development/interpreters/pixie/dust.nix2
-rw-r--r--pkgs/development/interpreters/python/build-python-package-setuptools.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/default.nix2
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix19
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/libraries/AntTweakBar/default.nix33
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix7
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix5
-rw-r--r--pkgs/development/libraries/SDL2_net/default.nix6
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix7
-rw-r--r--pkgs/development/libraries/accounts-qt/default.nix1
-rw-r--r--pkgs/development/libraries/apr-util/default.nix4
-rw-r--r--pkgs/development/libraries/apr/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix2
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix9
-rw-r--r--pkgs/development/libraries/audiofile/default.nix2
-rw-r--r--pkgs/development/libraries/babl/default.nix4
-rw-r--r--pkgs/development/libraries/bobcat/default.nix1
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix16
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix1
-rw-r--r--pkgs/development/libraries/dleyna-core/setup-hook.sh3
-rw-r--r--pkgs/development/libraries/gamin/debian-patches.nix2
-rw-r--r--pkgs/development/libraries/gamin/debian-patches.txt2
-rw-r--r--pkgs/development/libraries/gdbm/default.nix4
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix14
-rw-r--r--pkgs/development/libraries/geoip/default.nix15
-rw-r--r--pkgs/development/libraries/gettext/gettext-setup-hook.sh2
-rw-r--r--pkgs/development/libraries/glib/default.nix15
-rw-r--r--pkgs/development/libraries/glib/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/glibc/2.26-115to131.diff.gzbin0 -> 20022 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix18
-rw-r--r--pkgs/development/libraries/gnutls/3.6.nix3
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch11
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix17
-rw-r--r--pkgs/development/libraries/granite/default.nix50
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix4
-rw-r--r--pkgs/development/libraries/gumbo/default.nix (renamed from pkgs/development/libraries/libgumbo/default.nix)2
-rw-r--r--pkgs/development/libraries/hunspell/default.nix4
-rw-r--r--pkgs/development/libraries/hwloc/default.nix10
-rw-r--r--pkgs/development/libraries/icu/base.nix6
-rw-r--r--pkgs/development/libraries/ip2location-c/default.nix1
-rw-r--r--pkgs/development/libraries/isl/0.11.1.nix2
-rw-r--r--pkgs/development/libraries/java/libmatthew-java/default.nix2
-rw-r--r--pkgs/development/libraries/json-glib/default.nix10
-rw-r--r--pkgs/development/libraries/kyotocabinet/default.nix2
-rw-r--r--pkgs/development/libraries/libargon2/default.nix4
-rw-r--r--pkgs/development/libraries/libass/default.nix4
-rw-r--r--pkgs/development/libraries/libassuan/default.nix13
-rw-r--r--pkgs/development/libraries/libast/default.nix4
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix4
-rw-r--r--pkgs/development/libraries/libbluray/default.nix6
-rw-r--r--pkgs/development/libraries/libbsd/default.nix4
-rw-r--r--pkgs/development/libraries/libcdr/default.nix10
-rw-r--r--pkgs/development/libraries/libcli/default.nix1
-rw-r--r--pkgs/development/libraries/libconfuse/default.nix1
-rw-r--r--pkgs/development/libraries/libdaemon/default.nix6
-rw-r--r--pkgs/development/libraries/libdivecomputer/default.nix4
-rw-r--r--pkgs/development/libraries/libedit/default.nix2
-rw-r--r--pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch20
-rw-r--r--pkgs/development/libraries/libewf/default.nix10
-rw-r--r--pkgs/development/libraries/libewf/default.upstream7
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix3
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix8
-rw-r--r--pkgs/development/libraries/libinput/default.nix6
-rw-r--r--pkgs/development/libraries/libite/default.nix4
-rw-r--r--pkgs/development/libraries/libkeyfinder/default.nix1
-rw-r--r--pkgs/development/libraries/libksba/default.nix3
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix4
-rw-r--r--pkgs/development/libraries/libmpc/default.nix2
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix1
-rw-r--r--pkgs/development/libraries/libnetfilter_log/default.nix2
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix7
-rw-r--r--pkgs/development/libraries/libogg/default.nix4
-rw-r--r--pkgs/development/libraries/libomxil-bellagio/default.nix5
-rw-r--r--pkgs/development/libraries/libowfat/default.nix10
-rw-r--r--pkgs/development/libraries/libpinyin/default.nix9
-rw-r--r--pkgs/development/libraries/libproxy/default.nix12
-rw-r--r--pkgs/development/libraries/libpsl/default.nix1
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix3
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix4
-rw-r--r--pkgs/development/libraries/libroxml/default.nix16
-rw-r--r--pkgs/development/libraries/librsvg/default.nix16
-rw-r--r--pkgs/development/libraries/librsync/default.nix4
-rw-r--r--pkgs/development/libraries/libsass/default.nix4
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix4
-rw-r--r--pkgs/development/libraries/libsnark/darwin-fix-clock-gettime.patch41
-rw-r--r--pkgs/development/libraries/libsnark/default.nix32
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libstdc++5/default.nix4
-rw-r--r--pkgs/development/libraries/libstemmer/default.nix22
-rw-r--r--pkgs/development/libraries/libtiff/default.nix10
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libwebp/default.nix4
-rw-r--r--pkgs/development/libraries/libwhereami/default.nix4
-rw-r--r--pkgs/development/libraries/libxc/default.nix9
-rw-r--r--pkgs/development/libraries/libxcomp/default.nix1
-rw-r--r--pkgs/development/libraries/libxmp/default.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix20
-rw-r--r--pkgs/development/libraries/lirc/default.nix36
-rw-r--r--pkgs/development/libraries/lzo/default.nix1
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix12
-rw-r--r--pkgs/development/libraries/mesa/default.nix9
-rw-r--r--pkgs/development/libraries/mpich2/default.nix40
-rw-r--r--pkgs/development/libraries/netcdf-cxx4/default.nix4
-rw-r--r--pkgs/development/libraries/netcdf/default.nix41
-rw-r--r--pkgs/development/libraries/npth/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/openldap/default.nix2
-rw-r--r--pkgs/development/libraries/openmpi/default.nix6
-rw-r--r--pkgs/development/libraries/opensaml-cpp/default.nix6
-rw-r--r--pkgs/development/libraries/openssl/default.nix47
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix6
-rw-r--r--pkgs/development/libraries/physfs/default.nix50
-rw-r--r--pkgs/development/libraries/physics/fastjet/default.nix6
-rw-r--r--pkgs/development/libraries/polkit/default.nix6
-rw-r--r--pkgs/development/libraries/qca-qt5/default.nix6
-rw-r--r--pkgs/development/libraries/qca2/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.10/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch57
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix15
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch2
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix4
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix26
-rw-r--r--pkgs/development/libraries/rote/default.nix1
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix8
-rw-r--r--pkgs/development/libraries/shibboleth-sp/default.nix6
-rw-r--r--pkgs/development/libraries/smpeg2/default.nix7
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/talloc/default.nix4
-rw-r--r--pkgs/development/libraries/uriparser/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.18.nix4
-rw-r--r--pkgs/development/libraries/wildmidi/default.nix4
-rw-r--r--pkgs/development/libraries/xml-tooling-c/default.nix6
-rw-r--r--pkgs/development/libraries/xvidcore/default.nix8
-rw-r--r--pkgs/development/libraries/yajl/default.nix4
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh27
-rw-r--r--pkgs/development/lisp-modules/clwrapper/setup-hook.sh2
-rw-r--r--pkgs/development/lisp-modules/define-package.nix2
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix15
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix6
-rw-r--r--pkgs/development/mobile/xpwn/default.nix4
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix112
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json6
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix2861
-rw-r--r--pkgs/development/node-packages/node-packages-v8.json1
-rw-r--r--pkgs/development/node-packages/node-packages-v8.nix5738
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix15
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix9
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/Pygments/default.nix2
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--pkgs/development/python-modules/adal/default.nix4
-rw-r--r--pkgs/development/python-modules/afew/default.nix34
-rw-r--r--pkgs/development/python-modules/agate-excel/default.nix4
-rw-r--r--pkgs/development/python-modules/agate-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/cors.nix2
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix22
-rw-r--r--pkgs/development/python-modules/aioimaplib/default.nix26
-rw-r--r--pkgs/development/python-modules/alembic/default.nix4
-rw-r--r--pkgs/development/python-modules/aniso8601/default.nix4
-rw-r--r--pkgs/development/python-modules/ansicolor/default.nix4
-rw-r--r--pkgs/development/python-modules/ansicolors/default.nix14
-rw-r--r--pkgs/development/python-modules/argon2_cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/arxiv2bib/default.nix28
-rw-r--r--pkgs/development/python-modules/asana/default.nix4
-rw-r--r--pkgs/development/python-modules/asgiref/default.nix4
-rw-r--r--pkgs/development/python-modules/astor/default.nix8
-rw-r--r--pkgs/development/python-modules/astral/default.nix26
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/asynctest/default.nix33
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix4
-rw-r--r--pkgs/development/python-modules/awesome-slugify/default.nix6
-rw-r--r--pkgs/development/python-modules/backports_functools_lru_cache/default.nix3
-rw-r--r--pkgs/development/python-modules/backports_lzma/default.nix7
-rw-r--r--pkgs/development/python-modules/bleach/default.nix44
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix7
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/bpython/default.nix10
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix4
-rw-r--r--pkgs/development/python-modules/can/default.nix27
-rw-r--r--pkgs/development/python-modules/canmatrix/default.nix46
-rw-r--r--pkgs/development/python-modules/canopen/default.nix46
-rw-r--r--pkgs/development/python-modules/certifi/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/clang.patch13
-rw-r--r--pkgs/development/python-modules/cffi/default.nix8
-rw-r--r--pkgs/development/python-modules/chainer/default.nix4
-rw-r--r--pkgs/development/python-modules/channels/default.nix4
-rw-r--r--pkgs/development/python-modules/click-threading/default.nix34
-rw-r--r--pkgs/development/python-modules/colorlog/default.nix24
-rw-r--r--pkgs/development/python-modules/crayons/default.nix19
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix67
-rw-r--r--pkgs/development/python-modules/cryptography_vectors/default.nix18
-rw-r--r--pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--pkgs/development/python-modules/curtsies/default.nix2
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix6
-rw-r--r--pkgs/development/python-modules/daphne/default.nix4
-rw-r--r--pkgs/development/python-modules/dask/default.nix4
-rw-r--r--pkgs/development/python-modules/datashape/default.nix22
-rw-r--r--pkgs/development/python-modules/dateparser/default.nix31
-rw-r--r--pkgs/development/python-modules/decorator/default.nix4
-rw-r--r--pkgs/development/python-modules/dendropy/default.nix34
-rw-r--r--pkgs/development/python-modules/devpi-common/default.nix4
-rw-r--r--pkgs/development/python-modules/dicttoxml/default.nix23
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix36
-rw-r--r--pkgs/development/python-modules/discordpy/default.nix14
-rw-r--r--pkgs/development/python-modules/django-ipware/default.nix4
-rw-r--r--pkgs/development/python-modules/django-polymorphic/default.nix4
-rw-r--r--pkgs/development/python-modules/django/1_11.nix4
-rw-r--r--pkgs/development/python-modules/django_guardian/default.nix2
-rw-r--r--pkgs/development/python-modules/docker/default.nix4
-rw-r--r--pkgs/development/python-modules/dyn/default.nix4
-rw-r--r--pkgs/development/python-modules/ecpy/default.nix4
-rw-r--r--pkgs/development/python-modules/edward/default.nix4
-rw-r--r--pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--pkgs/development/python-modules/eve/default.nix4
-rw-r--r--pkgs/development/python-modules/fedpkg/default.nix2
-rw-r--r--pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-common/default.nix20
-rw-r--r--pkgs/development/python-modules/flask-limiter/default.nix19
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/fpdf/default.nix21
-rw-r--r--pkgs/development/python-modules/fritzconnection/default.nix25
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix4
-rw-r--r--pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix37
-rw-r--r--pkgs/development/python-modules/google_api_core/default.nix4
-rw-r--r--pkgs/development/python-modules/google_auth/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_speech/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/guzzle_sphinx_theme/default.nix3
-rw-r--r--pkgs/development/python-modules/habanero/default.nix29
-rw-r--r--pkgs/development/python-modules/hbmqtt/default.nix29
-rw-r--r--pkgs/development/python-modules/hglib/default.nix4
-rw-r--r--pkgs/development/python-modules/httpbin/default.nix18
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix12
-rw-r--r--pkgs/development/python-modules/idna-ssl/default.nix23
-rw-r--r--pkgs/development/python-modules/imaplib2/default.nix22
-rw-r--r--pkgs/development/python-modules/intervaltree/default.nix4
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix14
-rw-r--r--pkgs/development/python-modules/jinja2_pluralize/default.nix23
-rw-r--r--pkgs/development/python-modules/jupyter_client/default.nix11
-rw-r--r--pkgs/development/python-modules/jupyter_client/wheel_workaround.patch13
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix122
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/keyring/default.nix8
-rw-r--r--pkgs/development/python-modules/kitchen/default.nix2
-rw-r--r--pkgs/development/python-modules/koji/default.nix2
-rw-r--r--pkgs/development/python-modules/ldap3/default.nix4
-rw-r--r--pkgs/development/python-modules/libagent/default.nix4
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix10
-rw-r--r--pkgs/development/python-modules/limits/default.nix21
-rw-r--r--pkgs/development/python-modules/locustio/default.nix4
-rw-r--r--pkgs/development/python-modules/luftdaten/default.nix25
-rw-r--r--pkgs/development/python-modules/magic-wormhole/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix9
-rw-r--r--pkgs/development/python-modules/maya/default.nix32
-rw-r--r--pkgs/development/python-modules/mdp/default.nix5
-rw-r--r--pkgs/development/python-modules/meinheld/default.nix22
-rw-r--r--pkgs/development/python-modules/moto/default.nix4
-rw-r--r--pkgs/development/python-modules/msgpack/default.nix28
-rw-r--r--pkgs/development/python-modules/multidict/default.nix19
-rw-r--r--pkgs/development/python-modules/mwoauth/default.nix31
-rw-r--r--pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--pkgs/development/python-modules/natsort/setup.patch20
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--pkgs/development/python-modules/neovim/default.nix41
-rw-r--r--pkgs/development/python-modules/netdisco/default.nix4
-rw-r--r--pkgs/development/python-modules/nibabel/default.nix36
-rw-r--r--pkgs/development/python-modules/nimfa/default.nix30
-rw-r--r--pkgs/development/python-modules/nipype/default.nix68
-rw-r--r--pkgs/development/python-modules/node-semver/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix8
-rw-r--r--pkgs/development/python-modules/oauthenticator/default.nix46
-rw-r--r--pkgs/development/python-modules/olefile/default.nix4
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/ovh/default.nix27
-rw-r--r--pkgs/development/python-modules/packet-python/default.nix38
-rw-r--r--pkgs/development/python-modules/papis-python-rofi/default.nix21
-rw-r--r--pkgs/development/python-modules/parameterized/default.nix (renamed from pkgs/development/python-modules/nose-parameterized/default.nix)11
-rw-r--r--pkgs/development/python-modules/pecan/default.nix9
-rw-r--r--pkgs/development/python-modules/pecan/python36_test_fix.patch13
-rw-r--r--pkgs/development/python-modules/pendulum/default.nix22
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pillow/default.nix17
-rw-r--r--pkgs/development/python-modules/platformio/default.nix10
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/progressbar2/default.nix52
-rw-r--r--pkgs/development/python-modules/prompt_toolkit/default.nix1
-rw-r--r--pkgs/development/python-modules/prov/default.nix37
-rw-r--r--pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/ptyprocess/default.nix20
-rw-r--r--pkgs/development/python-modules/pulp/default.nix24
-rw-r--r--pkgs/development/python-modules/pwntools/default.nix20
-rw-r--r--pkgs/development/python-modules/pybase64/default.nix25
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--pkgs/development/python-modules/pydocstyle/default.nix23
-rw-r--r--pkgs/development/python-modules/pydotplus/default.nix28
-rw-r--r--pkgs/development/python-modules/pyemd/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix23
-rw-r--r--pkgs/development/python-modules/pylast/default.nix4
-rw-r--r--pkgs/development/python-modules/pylibgen/default.nix28
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pylti/default.nix51
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix46
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix2
-rw-r--r--pkgs/development/python-modules/pyparser/default.nix27
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix11
-rw-r--r--pkgs/development/python-modules/pysam/default.nix48
-rw-r--r--pkgs/development/python-modules/pyte/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-aiohttp/default.nix23
-rw-r--r--pkgs/development/python-modules/pytest-cram/default.nix6
-rw-r--r--pkgs/development/python-modules/pytest-flake8/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-httpbin/default.nix14
-rw-r--r--pkgs/development/python-modules/pytest-sugar/default.nix9
-rw-r--r--pkgs/development/python-modules/pytest-tornado/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/2_7.nix30
-rw-r--r--pkgs/development/python-modules/pytest/2_8.nix30
-rw-r--r--pkgs/development/python-modules/pytest/2_9.nix30
-rw-r--r--pkgs/development/python-modules/pytest/3_0.nix27
-rw-r--r--pkgs/development/python-modules/pytest/3_2.nix27
-rw-r--r--pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--pkgs/development/python-modules/pytestrunner/default.nix19
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix28
-rw-r--r--pkgs/development/python-modules/python-oauth2/default.nix24
-rw-r--r--pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--pkgs/development/python-modules/python-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/python_fedora/default.nix2
-rw-r--r--pkgs/development/python-modules/pythonnet/default.nix84
-rw-r--r--pkgs/development/python-modules/pytz/default.nix23
-rw-r--r--pkgs/development/python-modules/pytzdata/default.nix20
-rw-r--r--pkgs/development/python-modules/pyyaml/default.nix20
-rw-r--r--pkgs/development/python-modules/quantities/default.nix28
-rw-r--r--pkgs/development/python-modules/raven/default.nix13
-rw-r--r--pkgs/development/python-modules/rdflib/default.nix37
-rw-r--r--pkgs/development/python-modules/regex/default.nix4
-rw-r--r--pkgs/development/python-modules/requestsexceptions/default.nix4
-rw-r--r--pkgs/development/python-modules/restview/default.nix4
-rw-r--r--pkgs/development/python-modules/ropper/default.nix4
-rw-r--r--pkgs/development/python-modules/rpkg/default.nix2
-rw-r--r--pkgs/development/python-modules/rx/default.nix23
-rw-r--r--pkgs/development/python-modules/schema/default.nix4
-rw-r--r--pkgs/development/python-modules/scikitlearn/default.nix3
-rw-r--r--pkgs/development/python-modules/secp256k1/default.nix48
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix27
-rw-r--r--pkgs/development/python-modules/serversyncstorage/default.nix38
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix7
-rw-r--r--pkgs/development/python-modules/shapely/default.nix4
-rw-r--r--pkgs/development/python-modules/simplegeneric/default.nix21
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix8
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix11
-rw-r--r--pkgs/development/python-modules/supervise_api/default.nix4
-rw-r--r--pkgs/development/python-modules/sybil/default.nix4
-rw-r--r--pkgs/development/python-modules/sympy/default.nix34
-rw-r--r--pkgs/development/python-modules/syncserver/default.nix39
-rw-r--r--pkgs/development/python-modules/terminado/default.nix24
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/texttable/default.nix4
-rw-r--r--pkgs/development/python-modules/thespian/default.nix4
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/tiros/default.nix4
-rw-r--r--pkgs/development/python-modules/tokenserver/default.nix36
-rw-r--r--pkgs/development/python-modules/tornado/default.nix8
-rw-r--r--pkgs/development/python-modules/transitions/default.nix31
-rw-r--r--pkgs/development/python-modules/twilio/default.nix2
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix4
-rw-r--r--pkgs/development/python-modules/typeguard/default.nix4
-rw-r--r--pkgs/development/python-modules/typing/default.nix29
-rw-r--r--pkgs/development/python-modules/uncertainties/default.nix4
-rw-r--r--pkgs/development/python-modules/unidecode/default.nix4
-rw-r--r--pkgs/development/python-modules/us/default.nix29
-rw-r--r--pkgs/development/python-modules/webcolors/default.nix25
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix2
-rw-r--r--pkgs/development/python-modules/whitenoise/default.nix20
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/xcffib/default.nix31
-rw-r--r--pkgs/development/python-modules/xvfbwrapper/default.nix26
-rw-r--r--pkgs/development/python-modules/yapf/default.nix4
-rw-r--r--pkgs/development/python-modules/yarl/default.nix15
-rw-r--r--pkgs/development/python-modules/zeep/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix23
-rw-r--r--pkgs/development/tools/alloy/default.nix1
-rw-r--r--pkgs/development/tools/analysis/coan/default.nix1
-rw-r--r--pkgs/development/tools/analysis/egypt/default.nix1
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix1
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix2
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix10
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix25
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/0.4.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch51
-rw-r--r--pkgs/development/tools/build-managers/bazel/nix-hacks.patch30
-rw-r--r--pkgs/development/tools/build-managers/bear/default.nix5
-rw-r--r--pkgs/development/tools/build-managers/bear/ignore_wrapper.patch40
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/buildbot/pkg.nix27
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix35
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix2
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix24
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh2
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix16
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/meson/setup-hook.sh12
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix2
-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/pgcli/default.nix1
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix45
-rw-r--r--pkgs/development/tools/deis/default.nix4
-rw-r--r--pkgs/development/tools/dep/default.nix4
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix4
-rw-r--r--pkgs/development/tools/dtools/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix10
-rw-r--r--pkgs/development/tools/fac/default.nix16
-rw-r--r--pkgs/development/tools/go-symbols/default.nix23
-rw-r--r--pkgs/development/tools/go-symbols/deps.nix11
-rw-r--r--pkgs/development/tools/gpp/default.nix26
-rw-r--r--pkgs/development/tools/haskell/intero-nix-shim/default.nix28
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix47
-rw-r--r--pkgs/development/tools/haskell/tinc/default.nix42
-rw-r--r--pkgs/development/tools/hcloud/default.nix24
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/irony-server/default.nix3
-rw-r--r--pkgs/development/tools/java/cfr/default.nix1
-rw-r--r--pkgs/development/tools/librarian-puppet-go/default.nix25
-rw-r--r--pkgs/development/tools/librarian-puppet-go/deps.nix12
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix4
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.15.x.nix3
-rw-r--r--pkgs/development/tools/misc/bin_replace_string/default.nix1
-rw-r--r--pkgs/development/tools/misc/bossa/default.nix6
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix5
-rw-r--r--pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch31
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix77
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix92
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix6
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix4
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix2
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix7
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix6
-rw-r--r--pkgs/development/tools/misc/strace/default.nix2
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix9
-rw-r--r--pkgs/development/tools/misc/texinfo/6.5.nix11
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix28
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix5
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix2
-rw-r--r--pkgs/development/tools/mypy/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix2
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix29
-rw-r--r--pkgs/development/tools/parsing/flexc++/default.nix1
-rw-r--r--pkgs/development/tools/parsing/lemon/default.nix1
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix1
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix14
-rw-r--r--pkgs/development/tools/profiling/pyprof2calltree/default.nix22
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix11
-rw-r--r--pkgs/development/tools/skopeo/default.nix37
-rw-r--r--pkgs/development/tools/skopeo/path.patch25
-rw-r--r--pkgs/development/tools/vagrant/default.nix7
-rw-r--r--pkgs/development/tools/vultr/default.nix4
-rw-r--r--pkgs/development/tools/wp-cli/default.nix9
-rw-r--r--pkgs/development/tools/ws/default.nix26
-rw-r--r--pkgs/development/tools/ws/deps.nix12
-rw-r--r--pkgs/development/tools/xcbuild/sdk.nix14
-rw-r--r--pkgs/development/tools/xcbuild/wrapper.nix2
-rw-r--r--pkgs/development/tools/yaml2json/default.nix24
-rw-r--r--pkgs/development/tools/yaml2json/deps.nix11
-rw-r--r--pkgs/development/tools/yq/default.nix5
-rw-r--r--pkgs/development/web/nodejs/v9.nix4
-rw-r--r--pkgs/games/2048-in-terminal/default.nix9
-rw-r--r--pkgs/games/assaultcube/assaultcube-next.patch11
-rw-r--r--pkgs/games/assaultcube/default.nix82
-rw-r--r--pkgs/games/assaultcube/launcher.sh20
-rw-r--r--pkgs/games/bzflag/default.nix4
-rw-r--r--pkgs/games/cataclysm-dda/default.nix44
-rw-r--r--pkgs/games/cataclysm-dda/git.nix37
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch20
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch20
-rw-r--r--pkgs/games/crrcsim/default.nix2
-rw-r--r--pkgs/games/d1x-rebirth/default.nix24
-rw-r--r--pkgs/games/d2x-rebirth/default.nix24
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix8
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/game.nix6
-rw-r--r--pkgs/games/dwarf-fortress/soundsense.nix2
-rw-r--r--pkgs/games/dwarf-fortress/themes/cla.nix6
-rw-r--r--pkgs/games/dwarf-fortress/themes/phoebus.nix6
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix4
-rw-r--r--pkgs/games/dxx-rebirth/default.nix43
-rw-r--r--pkgs/games/eduke32/default.nix2
-rw-r--r--pkgs/games/freeciv/default.nix4
-rw-r--r--pkgs/games/lincity/ng.nix54
-rw-r--r--pkgs/games/linux-steam-integration/default.nix2
-rw-r--r--pkgs/games/minetest/default.nix6
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/quakespasm/vulkan.nix47
-rw-r--r--pkgs/games/rogue/default.nix2
-rw-r--r--pkgs/games/soi/default.nix2
-rw-r--r--pkgs/games/stepmania/default.nix2
-rw-r--r--pkgs/games/super-tux-kart/default.nix20
-rw-r--r--pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch27
-rw-r--r--pkgs/games/vdrift/default.nix81
-rw-r--r--pkgs/games/zdoom/bcc-git.nix31
-rw-r--r--pkgs/games/zdoom/bcc-warning-fix.patch25
-rw-r--r--pkgs/misc/cups/drivers/samsung/4.00.39/default.nix1
-rw-r--r--pkgs/misc/cups/drivers/samsung/default.nix1
-rw-r--r--pkgs/misc/cups/filters.nix4
-rw-r--r--pkgs/misc/drivers/epkowa/default.nix3
-rw-r--r--pkgs/misc/drivers/hplip/default.nix17
-rw-r--r--pkgs/misc/emulators/atari++/default.nix12
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix2
-rw-r--r--pkgs/misc/emulators/citra/default.nix6
-rw-r--r--pkgs/misc/emulators/wine/default.nix11
-rw-r--r--pkgs/misc/emulators/wine/sources.nix20
-rw-r--r--pkgs/misc/logging/beats/5.x.nix2
-rw-r--r--pkgs/misc/logging/beats/6.x.nix2
-rw-r--r--pkgs/misc/my-env/default.nix2
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix6
-rw-r--r--pkgs/misc/themes/greybird/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/default.nix673
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names58
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix2
-rw-r--r--pkgs/os-specific/darwin/lsusb/default.nix28
-rw-r--r--pkgs/os-specific/darwin/maloader/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix1
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix3
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix56
-rw-r--r--pkgs/os-specific/linux/audit/default.nix7
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix6
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix42
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix6
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix1
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch47
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix8
-rw-r--r--pkgs/os-specific/linux/conky/default.nix18
-rw-r--r--pkgs/os-specific/linux/conntrack-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/cpupower/default.nix41
-rw-r--r--pkgs/os-specific/linux/crda/default.nix1
-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.nix11
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix2
-rw-r--r--pkgs/os-specific/linux/fatrace/default.nix1
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix1
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix3
-rw-r--r--pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix2
-rw-r--r--pkgs/os-specific/linux/fnotifystat/default.nix4
-rw-r--r--pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/freefall/default.nix1
-rw-r--r--pkgs/os-specific/linux/ftop/default.nix1
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix2
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix2
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix6
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipvsadm/default.nix37
-rw-r--r--pkgs/os-specific/linux/irqbalance/default.nix4
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl14
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix89
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.13.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.15.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-beagleboard.nix23
-rw-r--r--pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix (renamed from pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix)8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-samus-4.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix82
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix18
-rwxr-xr-xpkgs/os-specific/linux/kernel/update.sh6
-rw-r--r--pkgs/os-specific/linux/kexectools/default.nix1
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/lm-sensors/default.nix2
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix10
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix1
-rw-r--r--pkgs/os-specific/linux/mdadm/4.nix43
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix7
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix6
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix20
-rw-r--r--pkgs/os-specific/linux/nvme-cli/default.nix4
-rw-r--r--pkgs/os-specific/linux/pagemon/default.nix1
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix2
-rw-r--r--pkgs/os-specific/linux/perf-tools/default.nix6
-rw-r--r--pkgs/os-specific/linux/phc-intel/default.nix3
-rw-r--r--pkgs/os-specific/linux/powerstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix5
-rw-r--r--pkgs/os-specific/linux/radeontop/default.nix2
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix40
-rw-r--r--pkgs/os-specific/linux/sdparm/default.nix1
-rw-r--r--pkgs/os-specific/linux/smemstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/spl/default.nix16
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix9
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix4
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix1
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/wireless-tools/default.nix12
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix41
-rw-r--r--pkgs/servers/atlassian/confluence.nix4
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/dict/default.nix2
-rw-r--r--pkgs/servers/dict/dictd-wiktionary.nix2
-rw-r--r--pkgs/servers/dict/dictd-wordnet.nix2
-rw-r--r--pkgs/servers/dict/libmaa.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix9
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix71
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix11
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix431
-rw-r--r--pkgs/servers/home-assistant/default.nix91
-rw-r--r--pkgs/servers/home-assistant/frontend.nix11
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py97
-rw-r--r--pkgs/servers/http/lwan/default.nix35
-rw-r--r--pkgs/servers/mail/dovecot/default.nix30
-rw-r--r--pkgs/servers/mail/dovecot/plugins/antispam/default.nix34
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix6
-rw-r--r--pkgs/servers/mail/postfix/default.nix6
-rw-r--r--pkgs/servers/matrix-synapse/default.nix2
-rw-r--r--pkgs/servers/matterbridge/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/minio/default.nix4
-rw-r--r--pkgs/servers/misc/airsonic/default.nix4
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix18
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix93
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter.nix25
-rw-r--r--pkgs/servers/monitoring/prometheus/minio-exporter/default.nix15
-rw-r--r--pkgs/servers/monitoring/prometheus/minio-exporter/deps.nix84
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix66
-rw-r--r--pkgs/servers/monitoring/prometheus/postfix-exporter.nix25
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix4
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rw-r--r--pkgs/servers/mpd/clientlib.nix7
-rw-r--r--pkgs/servers/mpd/default.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/2.2.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.0.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix2
-rw-r--r--pkgs/servers/nosql/redis/default.nix4
-rw-r--r--pkgs/servers/openafs-client/default.nix71
-rw-r--r--pkgs/servers/openafs/default.nix89
-rw-r--r--pkgs/servers/openafs/module.nix57
-rw-r--r--pkgs/servers/openafs/srcs.nix14
-rw-r--r--pkgs/servers/openafs/tsmbac.patch62
-rw-r--r--pkgs/servers/osrm-backend/default.nix4
-rw-r--r--pkgs/servers/p910nd/default.nix1
-rw-r--r--pkgs/servers/polipo/default.nix5
-rw-r--r--pkgs/servers/samba/4.x-no-persistent-install-dynconfig.patch15
-rw-r--r--pkgs/servers/samba/4.x-no-persistent-install.patch15
-rw-r--r--pkgs/servers/samba/4.x.nix6
-rw-r--r--pkgs/servers/samba/master.nix29
-rw-r--r--pkgs/servers/samba/patch-source3__libads__kerberos_keytab.c.patch20
-rw-r--r--pkgs/servers/search/elasticsearch/5.x.nix2
-rw-r--r--pkgs/servers/search/elasticsearch/6.x.nix2
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/default.nix5
-rw-r--r--pkgs/servers/squid/4.nix15
-rw-r--r--pkgs/servers/squid/default.nix20
-rw-r--r--pkgs/servers/sslh/default.nix8
-rw-r--r--pkgs/servers/teleport/default.nix41
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix2
-rw-r--r--pkgs/servers/x11/xorg/xcb-util-xrm.nix8
-rw-r--r--pkgs/shells/elvish/default.nix4
-rw-r--r--pkgs/shells/mksh/default.nix2
-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/oh-my-zsh/default.nix6
-rw-r--r--pkgs/shells/zsh/default.nix12
-rw-r--r--pkgs/stdenv/darwin/default.nix2
-rw-r--r--pkgs/stdenv/generic/setup.sh12
-rw-r--r--pkgs/tools/X11/grobi/default.nix22
-rw-r--r--pkgs/tools/X11/xcalib/default.nix16
-rw-r--r--pkgs/tools/admin/awscli/default.nix8
-rw-r--r--pkgs/tools/admin/fastlane/Gemfile.lock22
-rw-r--r--pkgs/tools/admin/fastlane/gemset.nix38
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix7
-rw-r--r--pkgs/tools/admin/nxproxy/default.nix1
-rw-r--r--pkgs/tools/admin/simp_le/default.nix2
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix5
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix2
-rw-r--r--pkgs/tools/archivers/unarj/default.nix3
-rw-r--r--pkgs/tools/archivers/unrar/default.nix5
-rw-r--r--pkgs/tools/archivers/zip/default.nix5
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix2
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix2
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix9
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix7
-rw-r--r--pkgs/tools/audio/beets/alternatives-beets-1.4.6.patch30
-rw-r--r--pkgs/tools/audio/beets/alternatives-plugin.nix2
-rw-r--r--pkgs/tools/audio/beets/default.nix2
-rw-r--r--pkgs/tools/backup/borg/default.nix7
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/backup/burp/default.nix8
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix27
-rw-r--r--pkgs/tools/backup/diskrsync/deps.nix21
-rw-r--r--pkgs/tools/cd-dvd/bashburn/default.nix1
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix2
-rw-r--r--pkgs/tools/compression/brotli/default.nix12
-rw-r--r--pkgs/tools/compression/gzip/default.nix6
-rw-r--r--pkgs/tools/compression/lz4/default.nix1
-rw-r--r--pkgs/tools/compression/xdelta/default.nix1
-rw-r--r--pkgs/tools/compression/xdelta/unstable.nix1
-rw-r--r--pkgs/tools/compression/zopfli/default.nix2
-rw-r--r--pkgs/tools/compression/zstd/default.nix2
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix16
-rw-r--r--pkgs/tools/filesystems/boxfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix2
-rw-r--r--pkgs/tools/filesystems/cryfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/duff/default.nix1
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix13
-rw-r--r--pkgs/tools/filesystems/encfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/exfat/default.nix16
-rw-r--r--pkgs/tools/filesystems/gpart/default.nix1
-rw-r--r--pkgs/tools/filesystems/mp3fs/default.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyblock.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix2
-rw-r--r--pkgs/tools/filesystems/s3backer/default.nix1
-rw-r--r--pkgs/tools/filesystems/securefs/default.nix1
-rw-r--r--pkgs/tools/graphics/ditaa/default.nix21
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix1
-rw-r--r--pkgs/tools/graphics/fim/default.nix6
-rw-r--r--pkgs/tools/graphics/optipng/default.nix4
-rw-r--r--pkgs/tools/graphics/plotutils/debian-patches.nix30
-rw-r--r--pkgs/tools/graphics/plotutils/debian-patches.txt9
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix12
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix4
-rw-r--r--pkgs/tools/graphics/pngquant/default.nix2
-rw-r--r--pkgs/tools/graphics/scanbd/default.nix1
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix17
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix8
-rw-r--r--pkgs/tools/inputmethods/fcitx/unwrapped.nix71
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix4
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/bandwidth/default.nix2
-rw-r--r--pkgs/tools/misc/bc/cross-bc.patch169
-rw-r--r--pkgs/tools/misc/bc/default.nix21
-rw-r--r--pkgs/tools/misc/bcunit/default.nix4
-rw-r--r--pkgs/tools/misc/bonfire/default.nix2
-rw-r--r--pkgs/tools/misc/ckb/ckb-modprobe.patch13
-rw-r--r--pkgs/tools/misc/ckb/default.nix15
-rw-r--r--pkgs/tools/misc/clex/default.nix1
-rw-r--r--pkgs/tools/misc/clipster/default.nix12
-rw-r--r--pkgs/tools/misc/ddccontrol/default.nix23
-rw-r--r--pkgs/tools/misc/debianutils/default.nix6
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix12
-rw-r--r--pkgs/tools/misc/edid-decode/default.nix26
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/file/default.nix3
-rw-r--r--pkgs/tools/misc/flameshot/default.nix39
-rw-r--r--pkgs/tools/misc/flashrom/default.nix12
-rw-r--r--pkgs/tools/misc/gparted/default.nix1
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/misc/ipad_charge/default.nix1
-rw-r--r--pkgs/tools/misc/lbdb/default.nix13
-rw-r--r--pkgs/tools/misc/logstash/5.x.nix2
-rw-r--r--pkgs/tools/misc/logstash/6.x.nix2
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix4
-rw-r--r--pkgs/tools/misc/moreutils/default.nix4
-rw-r--r--pkgs/tools/misc/ms-sys/default.nix1
-rw-r--r--pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--pkgs/tools/misc/papis/default.nix44
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pick/default.nix4
-rw-r--r--pkgs/tools/misc/picocom/default.nix4
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix18
-rw-r--r--pkgs/tools/misc/scanmem/default.nix10
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix65
-rw-r--r--pkgs/tools/misc/snapper/default.nix2
-rw-r--r--pkgs/tools/misc/testdisk/default.nix4
-rw-r--r--pkgs/tools/misc/tewisay/default.nix36
-rw-r--r--pkgs/tools/misc/tewisay/deps.nix21
-rw-r--r--pkgs/tools/misc/tldr/default.nix2
-rw-r--r--pkgs/tools/misc/tlp/default.nix4
-rw-r--r--pkgs/tools/misc/tmuxinator/default.nix8
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix27
-rw-r--r--pkgs/tools/misc/ttwatch/default.nix11
-rw-r--r--pkgs/tools/misc/units/default.nix4
-rw-r--r--pkgs/tools/misc/uudeview/default.nix24
-rw-r--r--pkgs/tools/misc/wakatime/default.nix1
-rw-r--r--pkgs/tools/misc/woof/default.nix31
-rw-r--r--pkgs/tools/misc/xmonad-log/default.nix25
-rw-r--r--pkgs/tools/misc/xmonad-log/deps.nix12
-rw-r--r--pkgs/tools/misc/you-get/default.nix23
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix4
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix2
-rw-r--r--pkgs/tools/networking/aria2/default.nix4
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix4
-rw-r--r--pkgs/tools/networking/bud/default.nix4
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/darkstat/default.nix1
-rw-r--r--pkgs/tools/networking/dhcping/default.nix1
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix26
-rw-r--r--pkgs/tools/networking/gandi-cli/default.nix1
-rw-r--r--pkgs/tools/networking/hans/default.nix1
-rw-r--r--pkgs/tools/networking/httping/default.nix2
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/i2pd/default.nix23
-rw-r--r--pkgs/tools/networking/iftop/default.nix2
-rw-r--r--pkgs/tools/networking/inadyn/default.nix2
-rw-r--r--pkgs/tools/networking/ip2location/default.nix1
-rw-r--r--pkgs/tools/networking/iperf/2.nix4
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix1
-rw-r--r--pkgs/tools/networking/jwhois/default.nix2
-rw-r--r--pkgs/tools/networking/kea/default.nix4
-rw-r--r--pkgs/tools/networking/keepalived/default.nix4
-rw-r--r--pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--pkgs/tools/networking/minissdpd/default.nix1
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix1
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix17
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix1
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/iodine.nix3
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix3
-rw-r--r--pkgs/tools/networking/ngrep/default.nix44
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix14
-rw-r--r--pkgs/tools/networking/pcapc/default.nix1
-rw-r--r--pkgs/tools/networking/pingtcp/default.nix1
-rw-r--r--pkgs/tools/networking/pykms/default.nix20
-rw-r--r--pkgs/tools/networking/siege/default.nix4
-rw-r--r--pkgs/tools/networking/stunnel/default.nix6
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/unbound/default.nix6
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/nix/info/default.nix2
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-prefetch-scripts/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/default.nix34
-rw-r--r--pkgs/tools/package-management/nixops/deps.nix20
-rw-r--r--pkgs/tools/package-management/nixops/nixops-dns.nix26
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix2
-rw-r--r--pkgs/tools/package-management/rpm/default.nix2
-rw-r--r--pkgs/tools/security/bruteforce-luks/default.nix1
-rw-r--r--pkgs/tools/security/clamav/default.nix29
-rw-r--r--pkgs/tools/security/clamav/fd-leak.patch49
-rw-r--r--pkgs/tools/security/eid-mw/default.nix1
-rw-r--r--pkgs/tools/security/eid-viewer/default.nix1
-rw-r--r--pkgs/tools/security/enchive/default.nix4
-rw-r--r--pkgs/tools/security/eschalot/default.nix28
-rw-r--r--pkgs/tools/security/fail2ban/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/1.nix4
-rw-r--r--pkgs/tools/security/kbfs/default.nix6
-rw-r--r--pkgs/tools/security/keybase-gui/default.nix10
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/kpcli/default.nix4
-rw-r--r--pkgs/tools/security/mktemp/default.nix13
-rw-r--r--pkgs/tools/security/nmap/default.nix2
-rw-r--r--pkgs/tools/security/nmap/qt.nix53
-rw-r--r--pkgs/tools/security/rhash/default.nix2
-rw-r--r--pkgs/tools/security/signing-party/default.nix4
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix6
-rw-r--r--pkgs/tools/security/sshuttle/default.nix2
-rw-r--r--pkgs/tools/security/sslscan/default.nix4
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/theharvester/default.nix41
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/augeas/default.nix4
-rw-r--r--pkgs/tools/system/awstats/default.nix3
-rw-r--r--pkgs/tools/system/cron/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/foremost/default.nix1
-rw-r--r--pkgs/tools/system/freeipmi/default.nix8
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix1
-rw-r--r--pkgs/tools/system/hardlink/default.nix4
-rw-r--r--pkgs/tools/system/htop/default.nix13
-rw-r--r--pkgs/tools/system/pciutils/default.nix2
-rw-r--r--pkgs/tools/system/proot/default.nix2
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix18
-rw-r--r--pkgs/tools/system/sleuthkit/default.upstream5
-rw-r--r--pkgs/tools/system/stress-ng/default.nix1
-rw-r--r--pkgs/tools/system/suid-chroot/default.nix1
-rw-r--r--pkgs/tools/system/supervise/default.nix4
-rw-r--r--pkgs/tools/system/thinkfan/default.nix2
-rw-r--r--pkgs/tools/text/aha/default.nix1
-rw-r--r--pkgs/tools/text/colordiff/default.nix1
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/highlight/default.nix4
-rw-r--r--pkgs/tools/text/hyx/default.nix22
-rw-r--r--pkgs/tools/typesetting/asciidoctor/default.nix16
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix10
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix14
-rw-r--r--pkgs/tools/virtualization/udocker/default.nix37
-rw-r--r--pkgs/top-level/aliases.nix9
-rw-r--r--pkgs/top-level/all-packages.nix396
-rw-r--r--pkgs/top-level/beam-packages.nix2
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/darwin-packages.nix2
-rw-r--r--pkgs/top-level/default.nix2
-rw-r--r--pkgs/top-level/emacs-packages.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix143
-rw-r--r--pkgs/top-level/lua-packages.nix12
-rw-r--r--pkgs/top-level/perl-packages.nix95
-rw-r--r--pkgs/top-level/php-packages.nix28
-rw-r--r--pkgs/top-level/python-packages.nix1093
-rw-r--r--pkgs/top-level/release-cross.nix5
-rw-r--r--pkgs/top-level/release-small.nix7
-rw-r--r--pkgs/top-level/stage.nix8
1506 files changed, 47086 insertions, 17538 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2405f7d4efa9..bac601fbf82e 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -12,17 +12,17 @@
 
 # Libraries
 /lib                        @edolstra @nbp
-/lib/systems                @edolstra @nbp @ericson2314
+/lib/systems                @nbp @ericson2314
 
 # Nixpkgs Internals
 /default.nix                          @nbp
 /pkgs/top-level/default.nix           @nbp @Ericson2314
 /pkgs/top-level/impure.nix            @nbp @Ericson2314
 /pkgs/top-level/stage.nix             @nbp @Ericson2314
-/pkgs/stdenv                          @edolstra
-/pkgs/build-support/cc-wrapper        @edolstra @Ericson2314
-/pkgs/build-support/bintools-wrapper  @edolstra @Ericson2314
-/pkgs/build-support/setup-hooks       @edolstra @Ericson2314
+/pkgs/stdenv
+/pkgs/build-support/cc-wrapper        @Ericson2314 @orivej
+/pkgs/build-support/bintools-wrapper  @Ericson2314 @orivej
+/pkgs/build-support/setup-hooks       @Ericson2314
 
 # NixOS Internals
 /nixos/default.nix          @nbp
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 028fd6744910..10e4706b0590 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -253,8 +253,19 @@
     or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
     Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
     As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
-    You can use them programmatically, or on the command line like <command>nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz'</command>.
+    You can use them programmatically, or on the command line: <programlisting>
+nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz' -A whatever</programlisting>
   </para>
+  <note>
+    <para>
+      Eventually we would like to make these platform examples an unnecessary convenience so that <programlisting>
+nix-build &lt;nixpkgs&gt; --arg crossSystem.config '&lt;arch&gt;-&lt;os&gt;-&lt;vendor&gt;-&lt;abi&gt;' -A whatever</programlisting>
+      works in the vast majority of cases.
+      The problem today is dependencies on other sorts of configuration which aren't given proper defaults.
+      We rely on the examples to crudely to set those configuration parameters in some vaguely sane manner on the users behalf.
+      Issue <link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link> tracks this inconvenience along with its root cause in crufty configuration options.
+    </para>
+  </note>
   <para>
     While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
     As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index 629db289ab1d..764fae3ce936 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -334,14 +334,10 @@ navigate there.
 
 Finally, you can run
 ```shell
-hoogle server -p 8080
+hoogle server -p 8080 --local
 ```
 and navigate to http://localhost:8080/ for your own local
-[Hoogle](https://www.haskell.org/hoogle/). Note, however, that Firefox and
-possibly other browsers disallow navigation from `http:` to `file:` URIs for
-security reasons, which might be quite an inconvenience. See [this
-page](http://kb.mozillazine.org/Links_to_local_pages_do_not_work) for
-workarounds.
+[Hoogle](https://www.haskell.org/hoogle/).
 
 ### How to build a Haskell project using Stack
 
diff --git a/doc/languages-frameworks/rust.md b/doc/languages-frameworks/rust.md
index aa6a7d654108..d3a25e9d1358 100644
--- a/doc/languages-frameworks/rust.md
+++ b/doc/languages-frameworks/rust.md
@@ -79,19 +79,24 @@ an example for a minimal `hello` crate:
 Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
 
 ```
-with import <nixpkgs> {};
+# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
+{ lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     # ... (content skipped)
-    hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hello";
-      version = "0.1.0";
-      authors = [ "Authorname <user@example.com>" ];
-      src = ./.;
-      inherit dependencies buildDependencies features;
-    };
 in
 rec {
-  hello_0_1_0 = hello_0_1_0_ rec {};
+  hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
+  hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "hello";
+    version = "0.1.0";
+    authors = [ "pe@pijul.org <pe@pijul.org>" ];
+    src = ./.;
+    inherit dependencies buildDependencies features;
+  };
+  hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {};
+  hello_0_1_0_features = f: updateFeatures f (rec {
+        hello_0_1_0.default = (f.hello_0_1_0.default or true);
+    }) [ ];
 }
 ```
 
@@ -103,33 +108,44 @@ dependencies, for instance by adding a single line `libc="*"` to our
 following nix file:
 
 ```
-with import <nixpkgs> {};
+# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
+{ lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     # ... (content skipped)
-    hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hello";
-      version = "0.1.0";
-      authors = [ "Jörg Thalheim <joerg@thalheim.io>" ];
-      src = ./.;
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.34";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "11jmqdxmv0ka10ay0l8nzx0nl7s2lc3dbrnh1mgbr2grzwdyxi2s";
-      inherit dependencies buildDependencies features;
-    };
 in
 rec {
-  hello_0_1_0 = hello_0_1_0_ rec {
-    dependencies = [ libc_0_2_34 ];
+  hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
+  hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "hello";
+    version = "0.1.0";
+    authors = [ "pe@pijul.org <pe@pijul.org>" ];
+    src = ./.;
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.36";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "01633h4yfqm0s302fm0dlba469bx8y6cs4nqc8bqrmjqxfxn515l";
+    inherit dependencies buildDependencies features;
   };
-  libc_0_2_34_features."default".from_hello_0_1_0__default = true;
-  libc_0_2_34 = libc_0_2_34_ rec {
-    features = mkFeatures libc_0_2_34_features;
+  hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {
+    dependencies = mapFeatures features ([ libc_0_2_36 ]);
   };
-  libc_0_2_34_features."use_std".self_default = hasDefault libc_0_2_34_features;
+  hello_0_1_0_features = f: updateFeatures f (rec {
+    hello_0_1_0.default = (f.hello_0_1_0.default or true);
+    libc_0_2_36.default = true;
+  }) [ libc_0_2_36_features ];
+  libc_0_2_36 = { features?(libc_0_2_36_features {}) }: libc_0_2_36_ {
+    features = mkFeatures (features.libc_0_2_36 or {});
+  };
+  libc_0_2_36_features = f: updateFeatures f (rec {
+    libc_0_2_36.default = (f.libc_0_2_36.default or true);
+    libc_0_2_36.use_std =
+      (f.libc_0_2_36.use_std or false) ||
+      (f.libc_0_2_36.default or false) ||
+      (libc_0_2_36.default or false);
+  }) [];
 }
 ```
 
@@ -146,7 +162,7 @@ or build inputs by overriding the hello crate in a seperate file.
 
 ```
 with import <nixpkgs> {};
-(import ./hello.nix).hello_0_1_0.override {
+((import ./hello.nix).hello {}).override {
   crateOverrides = defaultCrateOverrides // {
     hello = attrs: { buildInputs = [ openssl ]; };
   };
@@ -166,7 +182,7 @@ patches the derivation:
 
 ```
 with import <nixpkgs> {};
-(import ./hello.nix).hello_0_1_0.override {
+((import ./hello.nix).hello {}).override {
   crateOverrides = defaultCrateOverrides // {
     hello = attrs: lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0")  {
       postPatch = ''
@@ -187,7 +203,7 @@ crate, we could do:
 
 ```
 with import <nixpkgs> {};
-(import hello.nix).hello_0_1_0.override {
+((import hello.nix).hello {}).override {
   crateOverrides = defaultCrateOverrides // {
     libc = attrs: { buildInputs = []; };
   };
@@ -199,23 +215,35 @@ Three more parameters can be overridden:
 - The version of rustc used to compile the crate:
 
   ```
-  hello_0_1_0.override { rust = pkgs.rust; };
+  (hello {}).override { rust = pkgs.rust; };
   ```
 
 - Whether to build in release mode or debug mode (release mode by
   default):
 
   ```
-  hello_0_1_0.override { release = false; };
+  (hello {}).override { release = false; };
   ```
 
 - Whether to print the commands sent to rustc when building
   (equivalent to `--verbose` in cargo:
 
   ```
-  hello_0_1_0.override { verbose = false; };
+  (hello {}).override { verbose = false; };
   ```
 
+One can also supply features switches. For example, if we want to
+compile `diesel_cli` only with the `postgres` feature, and no default
+features, we would write:
+
+```
+(callPackage ./diesel.nix {}).diesel {
+  default = false;
+  postgres = true;
+}
+```
+
+
 
 ## Using the Rust nightlies overlay
 
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index b657f5809db9..2d6c87c3d07a 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -660,6 +660,32 @@ cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
   passing <command>-q</command> to the Emacs command.
 </para>
 
+<para>
+  Sometimes <varname>emacsWithPackages</varname> is not enough, as
+  this package set has some priorities imposed on packages (with
+  the lowest priority assigned to Melpa Unstable, and the highest for
+  packages manually defined in
+  <filename>pkgs/top-level/emacs-packages.nix</filename>). But you
+  can't control this priorities when some package is installed as a
+  dependency. You can override it on per-package-basis, providing all
+  the required dependencies manually - but it's tedious and there is
+  always a possibility that an unwanted dependency will sneak in
+  through some other package. To completely override such a package
+  you can use <varname>overrideScope</varname>.
+</para>
+
+<screen>
+overrides = super: self: rec {
+  haskell-mode = self.melpaPackages.haskell-mode;
+  ...
+};
+((emacsPackagesNgGen emacs).overrideScope overrides).emacsWithPackages (p: with p; [
+  # here both these package will use haskell-mode of our own choice
+  ghc-mod
+  dante
+])
+</screen>
+
 </section>
 
 </section>
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 3a7b23baaa7e..2a3316b8d018 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -1802,6 +1802,20 @@ addEnvHooks "$hostOffset" myBashFunction
     disabled or patched to work with PaX.</para></listitem>
   </varlistentry>
 
+  <varlistentry>
+    <term>autoPatchelfHook</term>
+    <listitem><para>This is a special setup hook which helps in packaging
+    proprietary software in that it automatically tries to find missing shared
+    library dependencies of ELF files. All packages within the
+    <envar>runtimeDependencies</envar> environment variable are unconditionally
+    added to executables, which is useful for programs that use
+    <citerefentry>
+      <refentrytitle>dlopen</refentrytitle>
+      <manvolnum>3</manvolnum>
+    </citerefentry>
+    to load libraries at runtime.</para></listitem>
+  </varlistentry>
+
 </variablelist>
 
 </para>
diff --git a/lib/customisation.nix b/lib/customisation.nix
index fb78335ea1c2..823395f04d4a 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -1,7 +1,7 @@
 { lib }:
 let
 
-  inherit (builtins) attrNames isFunction;
+  inherit (builtins) attrNames;
 
 in
 
@@ -72,7 +72,7 @@ rec {
   makeOverridable = f: origArgs:
     let
       ff = f origArgs;
-      overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
+      overrideWith = newArgs: origArgs // (if lib.isFunction newArgs then newArgs origArgs else newArgs);
     in
       if builtins.isAttrs ff then (ff // {
         override = newArgs: makeOverridable f (overrideWith newArgs);
@@ -81,7 +81,7 @@ rec {
         ${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv:
           makeOverridable (args: (f args).overrideAttrs fdrv) origArgs;
       })
-      else if builtins.isFunction ff then {
+      else if lib.isFunction ff then {
         override = newArgs: makeOverridable f (overrideWith newArgs);
         __functor = self: ff;
         overrideDerivation = throw "overrideDerivation not yet supported for functors";
@@ -112,8 +112,8 @@ rec {
   */
   callPackageWith = autoArgs: fn: args:
     let
-      f = if builtins.isFunction fn then fn else import fn;
-      auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
+      f = if lib.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
     in makeOverridable f (auto // args);
 
 
@@ -122,8 +122,8 @@ rec {
      individual attributes. */
   callPackagesWith = autoArgs: fn: args:
     let
-      f = if builtins.isFunction fn then fn else import fn;
-      auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
+      f = if lib.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
       origArgs = auto // args;
       pkgs = f origArgs;
       mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
@@ -157,8 +157,9 @@ rec {
 
   /* Add attributes to each output of a derivation without changing
      the derivation itself. */
-  addPassthru = lib.warn "`addPassthru` is deprecated, replace with `extendDerivation true`"
-                         (extendDerivation true);
+  addPassthru =
+    lib.warn "`addPassthru drv passthru` is deprecated, replace with `extendDerivation true passthru drv`"
+      (drv: passthru: extendDerivation true passthru drv);
 
   /* Strip a derivation of all non-essential attributes, returning
      only those needed by hydra-eval-jobs. Also strictly evaluate the
diff --git a/lib/debug.nix b/lib/debug.nix
index 646ef220ad0a..d163e60b6957 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -2,10 +2,10 @@
 
 let
 
-inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt
+inherit (builtins) trace attrNamesToStr isAttrs isList isInt
         isString isBool head substring attrNames;
 
-inherit (lib) all id mapAttrsFlatten elem;
+inherit (lib) all id mapAttrsFlatten elem isFunction;
 
 in
 
diff --git a/lib/default.nix b/lib/default.nix
index 6d2a95e559c8..77cfa712557c 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -51,12 +51,13 @@ let
 
     inherit (builtins) add addErrorContext attrNames
       concatLists deepSeq elem elemAt filter genericClosure genList
-      getAttr hasAttr head isAttrs isBool isFunction isInt isList
+      getAttr hasAttr head isAttrs isBool isInt isList
       isString length lessThan listToAttrs pathExists readFile
       replaceStrings seq stringLength sub substring tail;
     inherit (trivial) id const concat or and boolToString mergeAttrs
       flip mapNullable inNixShell min max importJSON warn info
-      nixpkgsVersion mod;
+      nixpkgsVersion mod compare splitByAndCompare
+      functionArgs setFunctionArgs isFunction;
 
     inherit (fixedPoints) fix fix' extends composeExtensions
       makeExtensible makeExtensibleWithCustomName;
@@ -71,8 +72,8 @@ let
     inherit (lists) singleton foldr fold foldl foldl' imap0 imap1
       concatMap flatten remove findSingle findFirst any all count
       optional optionals toList range partition zipListsWith zipLists
-      reverseList listDfs toposort sort take drop sublist last init
-      crossLists unique intersectLists subtractLists
+      reverseList listDfs toposort sort compareLists take drop sublist
+      last init crossLists unique intersectLists subtractLists
       mutuallyExclusive;
     inherit (strings) concatStrings concatMapStrings concatImapStrings
       intersperse concatStringsSep concatMapStringsSep
diff --git a/lib/deprecated.nix b/lib/deprecated.nix
index 2a0f5a55bf14..34cf336d1f42 100644
--- a/lib/deprecated.nix
+++ b/lib/deprecated.nix
@@ -1,6 +1,6 @@
 { lib }:
 let
-    inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
+    inherit (builtins) head tail isList isAttrs isInt attrNames;
 
 in
 
@@ -53,7 +53,7 @@ rec {
           f:        # the function applied to the arguments
           initial:  # you pass attrs, the functions below are passing a function taking the fix argument
     let
-        takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
+        takeFixed = if lib.isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
         tidy = args:
             let # apply all functions given in "applyPreTidy" in sequence
                 applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
@@ -63,7 +63,7 @@ rec {
                     let args = takeFixed fixed;
                         mergeFun = args.${n};
                     in if isAttrs x then (mergeFun args x)
-                       else assert isFunction x;
+                       else assert lib.isFunction x;
                             mergeFun args (x ( args // { inherit fixed; }));
             in overridableDelayableArgs f newArgs;
     in
@@ -374,7 +374,7 @@ rec {
       if isAttrs x then
           if x ? outPath then "derivation"
           else "attrs"
-      else if isFunction x then "function"
+      else if lib.isFunction x then "function"
       else if isList x then "list"
       else if x == true then "bool"
       else if x == false then "bool"
diff --git a/lib/generators.nix b/lib/generators.nix
index f207033c9554..73017f2c6796 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -14,6 +14,8 @@ let
   libAttr = lib.attrsets;
 
   flipMapAttrs = flip libAttr.mapAttrs;
+
+  inherit (lib) isFunction;
 in
 
 rec {
@@ -110,7 +112,7 @@ rec {
     else if isString   v then "\"" + v + "\""
     else if null ==    v then "null"
     else if isFunction v then
-      let fna = functionArgs v;
+      let fna = lib.functionArgs v;
           showFnas = concatStringsSep "," (libAttr.mapAttrsToList
                        (name: hasDefVal: if hasDefVal then "(${name})" else name)
                        fna);
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 1fdcc15fd725..0086bd63ebd9 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -200,6 +200,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Eclipse Public License 1.0";
   };
 
+  epl20 = spdx {
+    spdxId = "EPL-2.0";
+    fullName = "Eclipse Public License 2.0";
+  };
+
   epson = {
     fullName = "Seiko Epson Corporation Software License Agreement for Linux";
     url = https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html;
diff --git a/lib/lists.nix b/lib/lists.nix
index 8f67c6bb0ca3..424d2c57f556 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -385,6 +385,30 @@ rec {
       if len < 2 then list
       else (sort strictLess pivot.left) ++  [ first ] ++  (sort strictLess pivot.right));
 
+  /* Compare two lists element-by-element.
+
+     Example:
+       compareLists compare [] []
+       => 0
+       compareLists compare [] [ "a" ]
+       => -1
+       compareLists compare [ "a" ] []
+       => 1
+       compareLists compare [ "a" "b" ] [ "a" "c" ]
+       => 1
+  */
+  compareLists = cmp: a: b:
+    if a == []
+    then if b == []
+         then 0
+         else -1
+    else if b == []
+         then 1
+         else let rel = cmp (head a) (head b); in
+              if rel == 0
+              then compareLists cmp (tail a) (tail b)
+              else rel;
+
   /* Return the first (at most) N elements of a list.
 
      Example:
@@ -440,8 +464,12 @@ rec {
   init = list: assert list != []; take (length list - 1) list;
 
 
-  /* FIXME(zimbatm) Not used anywhere
-   */
+  /* return the image of the cross product of some lists by a function
+
+    Example:
+      crossLists (x:y: "${toString x}${toString y}") [[1 2] [3 4]]
+      => [ "13" "14" "23" "24" ]
+  */
   crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f];
 
 
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 8404886533d1..b73a2854c782 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -55,6 +55,7 @@
   antonxy = "Anton Schirg <anton.schirg@posteo.de>";
   apeschar = "Albert Peschar <albert@peschar.net>";
   apeyroux = "Alexandre Peyroux <alex@px.io>";
+  arcadio = "Arcadio Rubio García <arc@well.ox.ac.uk>";
   ardumont = "Antoine R. Dumont <eniotna.t@gmail.com>";
   aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
   arobyn = "Alexei Robyn <shados@shados.net>";
@@ -118,6 +119,7 @@
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   chattered = "Phil Scott <me@philscotted.com>";
   ChengCat = "Yucheng Zhang <yu@cheng.cat>";
+  chiiruno = "Okina Matara <okinan@protonmail.com>";
   choochootrain = "Hurshal Patel <hurshal@imap.cc>";
   chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
   chreekat = "Bryan Richter <b@chreekat.net>";
@@ -223,12 +225,14 @@
   ertes = "Ertugrul Söylemez <esz@posteo.de>";
   ethercrow = "Dmitry Ivanov <ethercrow@gmail.com>";
   etu = "Elis Hirwing <elis@hirwing.se>";
+  exfalso = "Andras Slemmer <0slemi0@gmail.com>";
   exi = "Reno Reckling <nixos@reckling.org>";
   exlevan = "Alexey Levan <exlevan@gmail.com>";
   expipiplus1 = "Joe Hermaszewski <nix@monoid.al>";
   fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
   falsifian = "James Cook <james.cook@utoronto.ca>";
   fare = "Francois-Rene Rideau <fahree@gmail.com>";
+  f-breidenstein = "Felix Breidenstein <mail@felixbreidenstein.de>";
   fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
   FireyFly = "Jonas Höglund <nix@firefly.nu>";
   flokli = "Florian Klink <flokli@flokli.de>";
@@ -255,6 +259,7 @@
   gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
   gebner = "Gabriel Ebner <gebner@gebner.org>";
   geistesk = "Alvar Penning <post@0x21.biz>";
+  genesis = "Ronan Bignaux <ronan@aimao.org>";
   georgewhewell = "George Whewell <georgerw@gmail.com>";
   gilligan = "Tobias Pflug <tobias.pflug@gmail.com>";
   giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
@@ -299,6 +304,7 @@
   ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
   ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
   izorkin = "Yurii Izorkin <Izorkin@gmail.com>";
+  ixxie = "Matan Bendix Shenhav <matan@fluxcraft.net>";
   j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
   jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
   jammerful = "jammerful <jammerful@gmail.com>";
@@ -325,6 +331,7 @@
   joelmo = "Joel Moberg <joel.moberg@gmail.com>";
   joelteon = "Joel Taylor <me@joelt.io>";
   johbo = "Johannes Bornhold <johannes@bornhold.name>";
+  johnazoidberg = "Daniel Schäfer <git@danielschaefer.me>";
   johnmh = "John M. Harris, Jr. <johnmh@openblox.org>";
   johnramsden = "John Ramsden <johnramsden@riseup.net>";
   joko = "Ioannis Koutras <ioannis.koutras@gmail.com>";
@@ -384,6 +391,7 @@
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
   lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
   lsix = "Lancelot SIX <lsix@lancelotsix.com>";
+  lschuermann = "Leon Schuermann <leon.git@is.currently.online>";
   ltavard = "Laure Tavard <laure.tavard@univ-grenoble-alpes.fr>";
   lucas8 = "Luc Chabassier <luc.linux@mailoo.org>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
@@ -441,7 +449,9 @@
   mirrexagon = "Andrew Abbott <mirrexagon@mirrexagon.com>";
   mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
   mjp = "Mike Playle <mike@mythik.co.uk>"; # github = "MikePlayle";
+  mkg = "Mark K Gardner <mkg@vt.edu>";
   mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
+  mmahut = "Marek Mahut <marek.mahut@gmail.com>";
   moaxcp = "John Mercier <moaxcp@gmail.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mog = "Matthew O'Gorman <mog-lists@rldn.net>";
@@ -454,6 +464,7 @@
   mounium = "Katona László <muoniurn@gmail.com>";
   MP2E = "Cray Elliott <MP2E@archlinux.us>";
   mpcsh = "Mark Cohen <m@mpc.sh>";
+  mpickering = "Matthew Pickering <matthewtpickering@gmail.com>";
   mpscholten = "Marc Scholten <marc@mpscholten.de>";
   mpsyco = "Francis St-Amour <fr.st-amour@gmail.com>";
   mrVanDalo = "Ingolf Wanger <contact@ingolf-wagner.de>";
@@ -482,6 +493,7 @@
   nico202 = "Nicolò Balzarotti <anothersms@gmail.com>";
   NikolaMandic = "Ratko Mladic <nikola@mandic.email>";
   nixy = "Andrew R. M. <nixy@nixy.moe>";
+  nmattia = "Nicolas Mattia <nicolas@nmattia.com>";
   nocoolnametom = "Tom Doggett <nocoolnametom@gmail.com>";
   notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
   np = "Nicolas Pouillard <np.nix@nicolaspouillard.fr>";
@@ -535,6 +547,7 @@
   pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
   pmeunier = "Pierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>";
   pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
+  pneumaticat = "Kevin Liu <kevin@potatofrom.space>";
   polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>";
   pradeepchhetri = "Pradeep Chhetri <pradeep.chhetri89@gmail.com>";
   prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
@@ -555,6 +568,7 @@
   rasendubi = "Alexey Shmalko <rasen.dubi@gmail.com>";
   raskin = "Michael Raskin <7c6f434c@mail.ru>";
   ravloony = "Tom Macdonald <ravloony@gmail.com>";
+  razvan = "Răzvan Flavius Panda <razvan.panda@gmail.com>";
   rbasso = "Rafael Basso <rbasso@sharpgeeks.net>";
   redbaron = "Maxim Ivanov <ivanov.maxim@gmail.com>";
   redvers = "Redvers Davies <red@infect.me>";
@@ -604,12 +618,14 @@
   schmitthenner = "Fabian Schmitthenner <development@schmitthenner.eu>";
   schneefux = "schneefux <schneefux+nixos_pkg@schneefux.xyz>";
   schristo = "Scott Christopher <schristopher@konputa.com>";
+  scode = "Peter Schuller <peter.schuller@infidyne.com>";
   scolobb = "Sergiu Ivanov <sivanov@colimite.fr>";
   sdll = "Sasha Illarionov <sasha.delly@gmail.com>";
   SeanZicari = "Sean Zicari <sean.zicari@gmail.com>";
   sellout = "Greg Pfeil <greg@technomadic.org>";
   sepi = "Raffael Mancini <raffael@mancini.lu>";
   seppeljordan = "Sebastian Jordan <sebastian.jordan.mail@googlemail.com>";
+  sfrijters = "Stefan Frijters <sfrijters@gmail.com>";
   shanemikel = "Shane Pearlman <shanemikel1@gmail.com>";
   shawndellysse = "Shawn Dellysse <sdellysse@gmail.com>";
   sheenobu = "Sheena Artrip <sheena.artrip@gmail.com>";
@@ -673,6 +689,7 @@
   ThomasMader = "Thomas Mader <thomas.mader@gmail.com>";
   thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
   thpham = "Thomas Pham <thomas.pham@ithings.ch>";
+  tilpner = "Till Höppner <till@hoeppner.ws>";
   timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
   timokau = "Timo Kaufmann <timokau@zoho.com>";
   tiramiseb = "Sébastien Maccagnoni <sebastien@maccagnoni.eu>";
@@ -683,6 +700,7 @@
   tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
   tomsmeets = "Tom Smeets <tom@tsmeets.nl>";
   travisbhartwell = "Travis B. Hartwell <nafai@travishartwell.net>";
+  treemo = "Matthieu Chevrier <matthieu.chevrier@treemo.fr>";
   trevorj = "Trevor Joynson <nix@trevor.joynson.io>";
   trino = "Hubert Mühlhans <muehlhans.hubert@ekodia.de>";
   tstrobel = "Thomas Strobel <4ZKTUB6TEP74PYJOPWIR013S2AV29YUBW5F9ZH2F4D5UMJUJ6S@hash.domains>";
@@ -692,6 +710,7 @@
   tvorog = "Marsel Zaripov <marszaripov@gmail.com>";
   tweber = "Thorsten Weber <tw+nixpkgs@360vier.de>";
   twey = "James ‘Twey’ Kay <twey@twey.co.uk>";
+  unode = "Renato Alves <alves.rjc@gmail.com>";
   uralbash = "Svintsov Dmitry <root@uralbash.ru>";
   utdemir = "Utku Demir <me@utdemir.com>";
   #urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>"; inactive since 2012
@@ -701,6 +720,7 @@
   vandenoever = "Jos van den Oever <jos@vandenoever.info>";
   vanschelven = "Klaas van Schelven <klaas@vanschelven.com>";
   vanzef = "Ivan Solyankin <vanzef@gmail.com>";
+  varunpatro = "Varun Patro <varun.kumar.patro@gmail.com>";
   vbgl = "Vincent Laporte <Vincent.Laporte@gmail.com>";
   vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>";
   vcunat = "Vladimír Čunát <vcunat@gmail.com>";
diff --git a/lib/modules.nix b/lib/modules.nix
index 8c3584bbbf4c..654c4c588de6 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -155,7 +155,7 @@ rec {
       # a module will resolve strictly the attributes used as argument but
       # not their values.  The values are forwarding the result of the
       # evaluation of the option.
-      requiredArgs = builtins.attrNames (builtins.functionArgs f);
+      requiredArgs = builtins.attrNames (lib.functionArgs f);
       context = name: ''while evaluating the module argument `${name}' in "${key}":'';
       extraArgs = builtins.listToAttrs (map (name: {
         inherit name;
diff --git a/lib/options.nix b/lib/options.nix
index 769d3cc55723..e10c86dd5064 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -14,6 +14,7 @@ rec {
     , defaultText ? null # Textual representation of the default, for in the manual.
     , example ? null # Example value used in the manual.
     , description ? null # String describing the option.
+    , relatedPackages ? null # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix).
     , type ? null # Option type, providing type-checking and value merging.
     , apply ? null # Function that converts the option value to something else.
     , internal ? null # Whether the option is for NixOS developers only.
@@ -76,7 +77,6 @@ rec {
   getValues = map (x: x.value);
   getFiles = map (x: x.file);
 
-
   # Generate documentation template from the list of option declaration like
   # the set generated with filterOptionSets.
   optionAttrSetToDocList = optionAttrSetToDocList' [];
@@ -93,9 +93,10 @@ rec {
           readOnly = opt.readOnly or false;
           type = opt.type.description or null;
         }
-        // (if opt ? example then { example = scrubOptionValue opt.example; } else {})
-        // (if opt ? default then { default = scrubOptionValue opt.default; } else {})
-        // (if opt ? defaultText then { default = opt.defaultText; } else {});
+        // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
+        // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
+        // optionalAttrs (opt ? defaultText) { default = opt.defaultText; }
+        // optionalAttrs (opt ? relatedPackages && opt.relatedPackages != null) { inherit (opt) relatedPackages; };
 
         subOptions =
           let ss = opt.type.getSubOptions opt.loc;
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 0cae8ec56fdf..f39bfff13dec 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -1,8 +1,8 @@
 { lib }:
 let
   inherit (lib) lists;
-  parse = import ./parse.nix { inherit lib; };
-  inherit (import ./inspect.nix { inherit lib; }) predicates;
+  inherit (lib.systems) parse;
+  inherit (lib.systems.inspect) predicates;
   inherit (lib.attrsets) matchAttrs;
 
   all = [
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 90d7e956d2ba..5fc36c5b056a 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -11,44 +11,33 @@ rec {
 
   sheevaplug = rec {
     config = "armv5tel-unknown-linux-gnueabi";
-    bigEndian = false;
     arch = "armv5tel";
     float = "soft";
-    withTLS = true;
     libc = "glibc";
     platform = platforms.sheevaplug;
-    openssl.system = "linux-generic32";
   };
 
   raspberryPi = rec {
     config = "armv6l-unknown-linux-gnueabihf";
-    bigEndian = false;
     arch = "armv6l";
     float = "hard";
     fpu = "vfp";
-    withTLS = true;
     libc = "glibc";
     platform = platforms.raspberrypi;
-    openssl.system = "linux-generic32";
   };
 
   armv7l-hf-multiplatform = rec {
     config = "arm-unknown-linux-gnueabihf";
-    bigEndian = false;
     arch = "armv7-a";
     float = "hard";
     fpu = "vfpv3-d16";
-    withTLS = true;
     libc = "glibc";
     platform = platforms.armv7l-hf-multiplatform;
-    openssl.system = "linux-generic32";
   };
 
   aarch64-multiplatform = rec {
     config = "aarch64-unknown-linux-gnu";
-    bigEndian = false;
     arch = "aarch64";
-    withTLS = true;
     libc = "glibc";
     platform = platforms.aarch64-multiplatform;
   };
@@ -62,24 +51,16 @@ rec {
     arch = "armv5tel";
     config = "armv5tel-unknown-linux-gnueabi";
     float = "soft";
-
-    platform = platforms.pogoplug4;
-
     libc = "glibc";
-
-    withTLS = true;
-    openssl.system = "linux-generic32";
+    platform = platforms.pogoplug4;
   };
 
   fuloongminipc = rec {
     config = "mips64el-unknown-linux-gnu";
-    bigEndian = false;
     arch = "mips";
     float = "hard";
-    withTLS = true;
     libc = "glibc";
     platform = platforms.fuloong2f_n32;
-    openssl.system = "linux-generic32";
   };
 
   #
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index a4fa9af4e0a8..3f0335a0adf5 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -5,8 +5,6 @@ with lib.lists;
 
 rec {
   patterns = rec {
-    "32bit"      = { cpu = { bits = 32; }; };
-    "64bit"      = { cpu = { bits = 64; }; };
     i686         = { cpu = cpuTypes.i686; };
     x86_64       = { cpu = cpuTypes.x86_64; };
     PowerPC      = { cpu = cpuTypes.powerpc; };
@@ -14,6 +12,11 @@ rec {
     Arm          = { cpu = { family = "arm"; }; };
     Aarch64      = { cpu = { family = "aarch64"; }; };
     Mips         = { cpu = { family = "mips"; }; };
+    RiscV        = { cpu = { family = "riscv"; }; };
+    Wasm         = { cpu = { family = "wasm"; }; };
+
+    "32bit"      = { cpu = { bits = 32; }; };
+    "64bit"      = { cpu = { bits = 64; }; };
     BigEndian    = { cpu = { significantByte = significantBytes.bigEndian; }; };
     LittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
 
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index d14ca04bfb9e..37a8c848c5d0 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -4,6 +4,16 @@
 # http://llvm.org/docs/doxygen/html/Triple_8cpp_source.html especially
 # Triple::normalize. Parsing should essentially act as a more conservative
 # version of that last function.
+#
+# Most of the types below come in "open" and "closed" pairs. The open ones
+# specify what information we need to know about systems in general, and the
+# closed ones are sub-types representing the whitelist of systems we support in
+# practice.
+#
+# Code in the remainder of nixpkgs shouldn't rely on the closed ones in
+# e.g. exhaustive cases. Its more a sanity check to make sure nobody defines
+# systems that overlap with existing ones and won't notice something amiss.
+#
 { lib }:
 with lib.lists;
 with lib.types;
@@ -11,29 +21,52 @@ with lib.attrsets;
 with (import ./inspect.nix { inherit lib; }).predicates;
 
 let
-  setTypesAssert = type: pred:
+  inherit (lib.options) mergeOneOption;
+
+  setTypes = type:
     mapAttrs (name: value:
-      assert pred value;
-      setType type ({ inherit name; } // value));
-  setTypes = type: setTypesAssert type (_: true);
+      assert type.check value;
+      setType type.name ({ inherit name; } // value));
 
 in
 
 rec {
 
-  isSignificantByte = isType "significant-byte";
-  significantBytes = setTypes "significant-byte" {
+  ################################################################################
+
+  types.openSignifiantByte = mkOptionType {
+    name = "significant-byte";
+    description = "Endianness";
+    merge = mergeOneOption;
+  };
+
+  types.significantByte = enum (attrValues significantBytes);
+
+  significantBytes = setTypes types.openSignifiantByte {
     bigEndian = {};
     littleEndian = {};
   };
 
-  isCpuType = isType "cpu-type";
-  cpuTypes = with significantBytes; setTypesAssert "cpu-type"
-    (x: elem x.bits [8 16 32 64 128]
-        && (if 8 < x.bits
-            then isSignificantByte x.significantByte
-            else !(x ? significantByte)))
-  {
+  ################################################################################
+
+  # Reasonable power of 2
+  types.bitWidth = enum [ 8 16 32 64 128 ];
+
+  ################################################################################
+
+  types.openCpuType = mkOptionType {
+    name = "cpu-type";
+    description = "instruction set architecture name and information";
+    merge = mergeOneOption;
+    check = x: types.bitWidth.check x.bits
+      && (if 8 < x.bits
+          then types.significantByte.check x.significantByte
+          else !(x ? significantByte));
+  };
+
+  types.cpuType = enum (attrValues cpuTypes);
+
+  cpuTypes = with significantBytes; setTypes types.openCpuType {
     arm      = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv6l   = { bits = 32; significantByte = littleEndian; family = "arm"; };
@@ -44,18 +77,40 @@ rec {
     x86_64   = { bits = 64; significantByte = littleEndian; family = "x86"; };
     mips64el = { bits = 32; significantByte = littleEndian; family = "mips"; };
     powerpc  = { bits = 32; significantByte = bigEndian;    family = "power"; };
+    riscv32  = { bits = 32; significantByte = littleEndian; family = "riscv"; };
+    riscv64  = { bits = 64; significantByte = littleEndian; family = "riscv"; };
+    wasm32   = { bits = 32; significantByte = littleEndian; family = "wasm"; };
+    wasm64   = { bits = 64; significantByte = littleEndian; family = "wasm"; };
+  };
+
+  ################################################################################
+
+  types.openVendor = mkOptionType {
+    name = "vendor";
+    description = "vendor for the platform";
+    merge = mergeOneOption;
   };
 
-  isVendor = isType "vendor";
-  vendors = setTypes "vendor" {
+  types.vendor = enum (attrValues vendors);
+
+  vendors = setTypes types.openVendor {
     apple = {};
     pc = {};
 
     unknown = {};
   };
 
-  isExecFormat = isType "exec-format";
-  execFormats = setTypes "exec-format" {
+  ################################################################################
+
+  types.openExecFormat = mkOptionType {
+    name = "exec-format";
+    description = "executable container used by the kernel";
+    merge = mergeOneOption;
+  };
+
+  types.execFormat = enum (attrValues execFormats);
+
+  execFormats = setTypes types.openExecFormat {
     aout = {}; # a.out
     elf = {};
     macho = {};
@@ -64,15 +119,33 @@ rec {
     unknown = {};
   };
 
-  isKernelFamily = isType "kernel-family";
-  kernelFamilies = setTypes "kernel-family" {
+  ################################################################################
+
+  types.openKernelFamily = mkOptionType {
+    name = "exec-format";
+    description = "executable container used by the kernel";
+    merge = mergeOneOption;
+  };
+
+  types.kernelFamily = enum (attrValues kernelFamilies);
+
+  kernelFamilies = setTypes types.openKernelFamily {
     bsd = {};
   };
 
-  isKernel = x: isType "kernel" x;
-  kernels = with execFormats; with kernelFamilies; setTypesAssert "kernel"
-    (x: isExecFormat x.execFormat && all isKernelFamily (attrValues x.families))
-  {
+  ################################################################################
+
+  types.openKernel = mkOptionType {
+    name = "kernel";
+    description = "kernel name and information";
+    merge = mergeOneOption;
+    check = x: types.execFormat.check x.execFormat
+        && all types.kernelFamily.check (attrValues x.families);
+  };
+
+  types.kernel = enum (attrValues kernels);
+
+  kernels = with execFormats; with kernelFamilies; setTypes types.openKernel {
     darwin  = { execFormat = macho;   families = { }; };
     freebsd = { execFormat = elf;     families = { inherit bsd; }; };
     hurd    = { execFormat = elf;     families = { }; };
@@ -89,8 +162,17 @@ rec {
     win32 = kernels.windows;
   };
 
-  isAbi = isType "abi";
-  abis = setTypes "abi" {
+  ################################################################################
+
+  types.openAbi = mkOptionType {
+    name = "abi";
+    description = "binary interface for compiled code and syscalls";
+    merge = mergeOneOption;
+  };
+
+  types.abi = enum (attrValues abis);
+
+  abis = setTypes types.openAbi {
     cygnus = {};
     gnu = {};
     msvc = {};
@@ -102,12 +184,24 @@ rec {
     unknown = {};
   };
 
+  ################################################################################
+
+  types.system = mkOptionType {
+    name = "system";
+    description = "fully parsed representation of llvm- or nix-style platform tuple";
+    merge = mergeOneOption;
+    check = { cpu, vendor, kernel, abi }:
+           types.cpuType.check cpu
+        && types.vendor.check vendor
+        && types.kernel.check kernel
+        && types.abi.check abi;
+  };
+
   isSystem = isType "system";
-  mkSystem = { cpu, vendor, kernel, abi }:
-    assert isCpuType cpu && isVendor vendor && isKernel kernel && isAbi abi;
-    setType "system" {
-      inherit cpu vendor kernel abi;
-    };
+
+  mkSystem = components:
+    assert types.system.check components;
+    setType "system" components;
 
   mkSkeletonFromList = l: {
     "2" = # We only do 2-part hacks for things Nix already supports
@@ -170,4 +264,6 @@ rec {
     optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}";
   in "${cpu.name}-${vendor.name}-${kernel.name}${optAbi}";
 
+  ################################################################################
+
 }
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index fd43ceaa0df2..282fb0994b58 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -479,6 +479,11 @@ rec {
     kernelPreferBuiltin = true;
     kernelTarget = "zImage";
     kernelExtraConfig = ''
+      # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig.
+      SERIAL_8250_BCM2835AUX y
+      SERIAL_8250_EXTENDED y
+      SERIAL_8250_SHARE_IRQ y
+
       # Fix broken sunxi-sid nvmem driver.
       TI_CPTS y
 
diff --git a/lib/trivial.nix b/lib/trivial.nix
index c452c7b65bc1..a928e1dbca98 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -52,7 +52,7 @@ rec {
 
   # Pull in some builtins not included elsewhere.
   inherit (builtins)
-    pathExists readFile isBool isFunction
+    pathExists readFile isBool
     isInt add sub lessThan
     seq deepSeq genericClosure;
 
@@ -81,6 +81,42 @@ rec {
   */
   mod = base: int: base - (int * (builtins.div base int));
 
+  /* C-style comparisons
+
+     a < b,  compare a b => -1
+     a == b, compare a b => 0
+     a > b,  compare a b => 1
+  */
+  compare = a: b:
+    if a < b
+    then -1
+    else if a > b
+         then 1
+         else 0;
+
+  /* Split type into two subtypes by predicate `p`, take all elements
+     of the first subtype to be less than all the elements of the
+     second subtype, compare elements of a single subtype with `yes`
+     and `no` respectively.
+
+     Example:
+
+       let cmp = splitByAndCompare (hasPrefix "foo") compare compare; in
+
+       cmp "a" "z" => -1
+       cmp "fooa" "fooz" => -1
+
+       cmp "f" "a" => 1
+       cmp "fooa" "a" => -1
+       # while
+       compare "fooa" "a" => 1
+
+  */
+  splitByAndCompare = p: yes: no: a: b:
+    if p a
+    then if p b then yes a b else -1
+    else if p b then 1 else no a b;
+
   /* Reads a JSON file. */
   importJSON = path:
     builtins.fromJSON (builtins.readFile path);
@@ -99,4 +135,29 @@ rec {
   */
   warn = msg: builtins.trace "WARNING: ${msg}";
   info = msg: builtins.trace "INFO: ${msg}";
+
+  # | Add metadata about expected function arguments to a function.
+  # The metadata should match the format given by
+  # builtins.functionArgs, i.e. a set from expected argument to a bool
+  # representing whether that argument has a default or not.
+  # setFunctionArgs : (a → b) → Map String Bool → (a → b)
+  #
+  # This function is necessary because you can't dynamically create a
+  # function of the { a, b ? foo, ... }: format, but some facilities
+  # like callPackage expect to be able to query expected arguments.
+  setFunctionArgs = f: args:
+    { # TODO: Should we add call-time "type" checking like built in?
+      __functor = self: f;
+      __functionArgs = args;
+    };
+
+  # | Extract the expected function arguments from a function.
+  # This works both with nix-native { a, b ? foo, ... }: style
+  # functions and functions with args set with 'setFunctionArgs'. It
+  # has the same return type and semantics as builtins.functionArgs.
+  # setFunctionArgs : (a → b) → Map String Bool.
+  functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
+
+  isFunction = f: builtins.isFunction f ||
+    (f ? __functor && isFunction (f.__functor f));
 }
diff --git a/lib/types.nix b/lib/types.nix
index 88fc90d05970..a334db5c7247 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -256,6 +256,10 @@ rec {
       functor = (defaultFunctor name) // { wrapped = elemType; };
     };
 
+    nonEmptyListOf = elemType: 
+      let list = addCheck (types.listOf elemType) (l: l != []);
+      in list // { description = "non-empty " + list.description; };
+
     attrsOf = elemType: mkOptionType rec {
       name = "attrsOf";
       description = "attribute set of ${elemType.description}s";
diff --git a/maintainers/scripts/debian-patches.sh b/maintainers/scripts/debian-patches.sh
index 78678473a49f..b4923fb537e9 100755
--- a/maintainers/scripts/debian-patches.sh
+++ b/maintainers/scripts/debian-patches.sh
@@ -4,11 +4,13 @@
 # Usage $0 debian-patches.txt debian-patches.nix
 # An example input and output files can be found in applications/graphics/xara/
 
-DEB_URL=http://patch-tracker.debian.org/patch/series/dl
+DEB_URL=https://sources.debian.org/data/main
 declare -a deb_patches
 mapfile -t deb_patches < $1
 
-prefix="${DEB_URL}/${deb_patches[0]}"
+# First letter
+deb_prefix="${deb_patches[0]:0:1}"
+prefix="${DEB_URL}/${deb_prefix}/${deb_patches[0]}/debian/patches"
 
 if [[ -n "$2" ]]; then
     exec 1> $2
diff --git a/nixos/default.nix b/nixos/default.nix
index 0e45a1cd75e2..45da78e9261c 100644
--- a/nixos/default.nix
+++ b/nixos/default.nix
@@ -9,8 +9,6 @@ let
     modules = [ configuration ];
   };
 
-  inherit (eval) pkgs;
-
   # This is for `nixos-rebuild build-vm'.
   vmConfig = (import ./lib/eval-config.nix {
     inherit system;
@@ -30,7 +28,7 @@ let
 in
 
 {
-  inherit (eval) config options;
+  inherit (eval) pkgs config options;
 
   system = eval.config.system.build.toplevel;
 
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 9bc83be66104..66fa4f0ba43c 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -6,22 +6,52 @@ let
   lib = pkgs.lib;
 
   # Remove invisible and internal options.
-  optionsList = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options);
+  optionsListVisible = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options);
 
   # Replace functions by the string <function>
   substFunction = x:
     if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x
     else if builtins.isList x then map substFunction x
-    else if builtins.isFunction x then "<function>"
+    else if lib.isFunction x then "<function>"
     else x;
 
-  # Clean up declaration sites to not refer to the NixOS source tree.
-  optionsList' = lib.flip map optionsList (opt: opt // {
+  # Generate DocBook documentation for a list of packages. This is
+  # what `relatedPackages` option of `mkOption` from
+  # ../../../lib/options.nix influences.
+  #
+  # Each element of `relatedPackages` can be either
+  # - a string:  that will be interpreted as an attribute name from `pkgs`,
+  # - a list:    that will be interpreted as an attribute path from `pkgs`,
+  # - an attrset: that can specify `name`, `path`, `package`, `comment`
+  #   (either of `name`, `path` is required, the rest are optional).
+  genRelatedPackages = packages:
+    let
+      unpack = p: if lib.isString p then { name = p; }
+                  else if lib.isList p then { path = p; }
+                  else p;
+      describe = args:
+        let
+          name = args.name or (lib.concatStringsSep "." args.path);
+          path = args.path or [ args.name ];
+          package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs);
+        in "<listitem>"
+        + "<para><literal>pkgs.${name} (${package.meta.name})</literal>"
+        + lib.optionalString (!package.meta.evaluates) " <emphasis>[UNAVAILABLE]</emphasis>"
+        + ": ${package.meta.description or "???"}.</para>"
+        + lib.optionalString (args ? comment) "\n<para>${args.comment}</para>"
+        # Lots of `longDescription's break DocBook, so we just wrap them into <programlisting>
+        + lib.optionalString (package.meta ? longDescription) "\n<programlisting>${package.meta.longDescription}</programlisting>"
+        + "</listitem>";
+    in "<itemizedlist>${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}</itemizedlist>";
+
+  optionsListDesc = lib.flip map optionsListVisible (opt: opt // {
+    # Clean up declaration sites to not refer to the NixOS source tree.
     declarations = map stripAnyPrefixes opt.declarations;
   }
   // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; }
   // lib.optionalAttrs (opt ? default) { default = substFunction opt.default; }
-  // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; });
+  // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; }
+  // lib.optionalAttrs (opt ? relatedPackages) { relatedPackages = genRelatedPackages opt.relatedPackages; });
 
   # We need to strip references to /nix/store/* from options,
   # including any `extraSources` if some modules came from elsewhere,
@@ -32,8 +62,22 @@ let
   prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources);
   stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip;
 
+  # Custom "less" that pushes up all the things ending in ".enable*"
+  # and ".package"
+  optionListLess = a: b:
+    let
+      splt = lib.splitString ".";
+      ise = lib.hasPrefix "enable";
+      isp = lib.hasPrefix "package";
+      cmp = lib.splitByAndCompare ise lib.compare
+                                 (lib.splitByAndCompare isp lib.compare lib.compare);
+    in lib.compareLists cmp (splt a) (splt b) < 0;
+
+  # Customly sort option list for the man page.
+  optionsList = lib.sort (a: b: optionListLess a.name b.name) optionsListDesc;
+
   # Convert the list of options into an XML file.
-  optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList');
+  optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList);
 
   optionsDocBook = runCommand "options-db.xml" {} ''
     optionsXML=${optionsXML}
@@ -191,7 +235,7 @@ in rec {
       mkdir -p $dst
 
       cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON
-        (builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList'))))
+        (builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList))))
       } $dst/options.json
 
       mkdir -p $out/nix-support
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml
index 75df307a1b7c..4db9020b9606 100644
--- a/nixos/doc/manual/installation/changing-config.xml
+++ b/nixos/doc/manual/installation/changing-config.xml
@@ -70,9 +70,21 @@ $ ./result/bin/run-*-vm
 </screen>
 
 The VM does not have any data from your host system, so your existing
-user accounts and home directories will not be available.  You can
-forward ports on the host to the guest.  For instance, the following
-will forward host port 2222 to guest port 22 (SSH):
+user accounts and home directories will not be available unless you
+have set <literal>mutableUsers = false</literal>.  Another way is to
+temporarily add the following to your configuration:
+
+<screen>
+users.extraUsers.your-user.initialPassword = "test"  
+</screen>
+
+<emphasis>Important:</emphasis> delete the $hostname.qcow2 file if you
+have started the virtual machine at least once without the right
+users, otherwise the changes will not get picked up.
+
+You can forward ports on the host to the guest.  For
+instance, the following will forward host port 2222 to guest port 22
+(SSH):
 
 <screen>
 $ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index ee9680ced397..7fcd22a112cf 100644
--- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -4,18 +4,18 @@
          version="5.0"
          xml:id="sec-instaling-virtualbox-guest">
 
-<title>Installing in a Virtualbox guest</title>
+<title>Installing in a VirtualBox guest</title>
 <para>
-  Installing NixOS into a Virtualbox guest is convenient for users who want to
+  Installing NixOS into a VirtualBox guest is convenient for users who want to
   try NixOS without installing it on bare metal. If you want to use a pre-made
-  Virtualbox appliance, it is available at <link
+  VirtualBox appliance, it is available at <link
   xlink:href="https://nixos.org/nixos/download.html">the downloads page</link>.
-  If you want to set up a Virtualbox guest manually, follow these instructions:
+  If you want to set up a VirtualBox guest manually, follow these instructions:
 </para>
 
 <orderedlist>
 
-  <listitem><para>Add a New Machine in Virtualbox with OS Type "Linux / Other
+  <listitem><para>Add a New Machine in VirtualBox with OS Type "Linux / Other
   Linux"</para></listitem>
 
   <listitem><para>Base Memory Size: 768 MB or higher.</para></listitem>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index ab9108c30a71..d4746f2eb3a8 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -45,7 +45,10 @@ for a UEFI installation is by and large the same as a BIOS installation. The dif
   using <command>ifconfig</command>.</para>
   <para>To manually configure the network on the graphical installer,
   first disable network-manager with
-  <command>systemctl stop network-manager</command>.</para></listitem>
+  <command>systemctl stop network-manager</command>.</para>
+  <para>To manually configure the wifi on the minimal installer, run
+  <command>wpa_supplicant -B -i interface -c &lt;(wpa_passphrase 'SSID' 'key')</command>.</para></listitem>
+
 
   <listitem><para>If you would like to continue the installation from a different
   machine you need to activate the SSH daemon via <literal>systemctl start sshd</literal>.
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 5387546b5982..7b45b233ab2a 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -70,6 +70,15 @@
                 </para>
               </xsl:if>
 
+              <xsl:if test="attr[@name = 'relatedPackages']">
+                <para>
+                  <emphasis>Related packages:</emphasis>
+                  <xsl:text> </xsl:text>
+                  <xsl:value-of disable-output-escaping="yes"
+                                select="attr[@name = 'relatedPackages']/string/@value" />
+                </para>
+              </xsl:if>
+
               <xsl:if test="count(attr[@name = 'declarations']/list/*) != 0">
                 <para>
                   <emphasis>Declared by:</emphasis>
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index 1a146473e23c..8391c550afab 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -90,6 +90,28 @@ following incompatible changes:</para>
   </listitem>
   <listitem>
     <para>
+      Package attributes starting with a digit have been prefixed with an
+      underscore sign. This is to avoid quoting in the configuration and
+      other issues with command-line tools like <literal>nix-env</literal>.
+      The change affects the following packages:
+      <itemizedlist>
+        <listitem>
+          <para><literal>2048-in-terminal</literal> → <literal>_2048-in-terminal</literal></para>
+        </listitem>
+        <listitem>
+          <para><literal>90secondportraits</literal> → <literal>_90secondportraits</literal></para>
+        </listitem>
+        <listitem>
+          <para><literal>2bwm</literal> → <literal>_2bwm</literal></para>
+        </listitem>
+        <listitem>
+          <para><literal>389-ds-base</literal> → <literal>_389-ds-base</literal></para>
+        </listitem>
+      </itemizedlist>
+    </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,
@@ -133,7 +155,7 @@ following incompatible changes:</para>
   </listitem>
   <listitem>
     <para>
-      <literal>lib.addPassthru</literal> is removed.  Use <literal>lib.extendDerivation true</literal> instead.  <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
+      <literal>lib.addPassthru drv passthru</literal> is removed.  Use <literal>lib.extendDerivation true passthru drv</literal> instead.  <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
     </para>
   </listitem>
   <listitem>
@@ -149,6 +171,31 @@ following incompatible changes:</para>
       The <varname>hardware.amdHybridGraphics.disable</varname> option was removed for lack of a maintainer. If you still need this module, you may wish to include a copy of it from an older version of nixos in your imports.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      The merging of config options for <varname>services.postfix.config</varname>
+      was buggy. Previously, if other options in the Postfix module like
+      <varname>services.postfix.useSrs</varname> were set and the user set config
+      options that were also set by such options, the resulting config wouldn't
+      include all options that were needed. They are now merged correctly. If
+      config options need to be overridden, <literal>lib.mkForce</literal> or
+      <literal>lib.mkOverride</literal> can be used.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      The following changes apply if the <literal>stateVersion</literal> is changed to 18.03 or higher.
+      For <literal>stateVersion = "17.09"</literal> or lower the old behavior is preserved.
+    </para>
+    <itemizedlist>
+      <listitem>
+        <para>
+          <literal>matrix-synapse</literal> uses postgresql by default instead of sqlite.
+          Migration instructions can be found <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite"> here </link>.
+        </para>
+      </listitem>
+    </itemizedlist>
+  </listitem>
 </itemizedlist>
 
 </section>
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 1a17a080ba45..4685fe6914a2 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -3,7 +3,7 @@
 let pkgs = import ../.. { inherit system config; }; in
 
 with pkgs.lib;
-with import ../lib/qemu-flags.nix;
+with import ../lib/qemu-flags.nix { inherit pkgs; };
 
 rec {
 
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 636d0223fb77..8a3d8ed17701 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -13,10 +13,16 @@
   # grafted in the file system at path `target'.
 , contents ? []
 
-, # Whether the disk should be partitioned (with a single partition
-  # containing the root filesystem) or contain the root filesystem
-  # directly.
-  partitioned ? true
+, # Type of partition table to use; either "legacy", "efi", or "none".
+  # For "efi" images, the GPT partition table is used and a mandatory ESP
+  #   partition of reasonable size is created in addition to the root partition.
+  #   If `installBootLoader` is true, GRUB will be installed in EFI mode.
+  # For "legacy", the msdos partition table is used and a single large root
+  #   partition is created. If `installBootLoader` is true, GRUB will be
+  #   installed in legacy mode.
+  # For "none", no partition table is created. Enabling `installBootLoader`
+  #   most likely fails as GRUB will probably refuse to install.
+  partitionTableType ? "legacy"
 
   # Whether to invoke switch-to-configuration boot during image creation
 , installBootLoader ? true
@@ -37,6 +43,10 @@
   format ? "raw"
 }:
 
+assert partitionTableType == "legacy" || partitionTableType == "efi" || partitionTableType == "none";
+# We use -E offset=X below, which is only supported by e2fsprogs
+assert partitionTableType != "none" -> fsType == "ext4";
+
 with lib;
 
 let format' = format; in let
@@ -51,6 +61,27 @@ let format' = format; in let
     raw   = "img";
   }.${format};
 
+  rootPartition = { # switch-case
+    legacy = "1";
+    efi = "2";
+  }.${partitionTableType};
+
+  partitionDiskScript = { # switch-case
+    legacy = ''
+      parted --script $diskImage -- \
+        mklabel msdos \
+        mkpart primary ext4 1MiB -1
+    '';
+    efi = ''
+      parted --script $diskImage -- \
+        mklabel gpt \
+        mkpart ESP fat32 8MiB 256MiB \
+        set 1 boot on \
+        mkpart primary ext4 256MiB -1
+    '';
+    none = "";
+  }.${partitionTableType};
+
   nixpkgs = cleanSource pkgs.path;
 
   channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
@@ -79,21 +110,32 @@ let format' = format; in let
   targets = map (x: x.target) contents;
 
   prepareImage = ''
-    export PATH=${makeSearchPathOutput "bin" "bin" prepareImageInputs}
+    export PATH=${makeBinPath prepareImageInputs}
+
+    # Yes, mkfs.ext4 takes different units in different contexts. Fun.
+    sectorsToKilobytes() {
+      echo $(( ( "$1" * 512 ) / 1024 ))
+    }
+
+    sectorsToBytes() {
+      echo $(( "$1" * 512  ))
+    }
 
     mkdir $out
     diskImage=nixos.raw
     truncate -s ${toString diskSize}M $diskImage
 
-    ${if partitioned then ''
-      parted --script $diskImage -- mklabel msdos mkpart primary ext4 1M -1s
-      offset=$((2048*512))
+    ${partitionDiskScript}
+
+    ${if partitionTableType != "none" then ''
+      # Get start & length of the root partition in sectors to $START and $SECTORS.
+      eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs)
+
+      mkfs.${fsType} -F -L nixos $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
     '' else ''
-      offset=0
+      mkfs.${fsType} -F -L nixos $diskImage
     ''}
 
-    mkfs.${fsType} -F -L nixos -E offset=$offset $diskImage
-
     root="$PWD/root"
     mkdir -p $root
 
@@ -133,12 +175,12 @@ let format' = format; in let
     find $root/nix/store -mindepth 1 -maxdepth 1 -type f -o -type d | xargs chmod -R a-w
 
     echo "copying staging root to image..."
-    cptofs ${optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
+    cptofs -p ${optionalString (partitionTableType != "none") "-P ${rootPartition}"} -t ${fsType} -i $diskImage $root/* /
   '';
 in pkgs.vmTools.runInLinuxVM (
   pkgs.runCommand name
     { preVM = prepareImage;
-      buildInputs = with pkgs; [ utillinux e2fsprogs ];
+      buildInputs = with pkgs; [ utillinux e2fsprogs dosfstools ];
       exportReferencesGraph = [ "closure" metaClosure ];
       postVM = ''
         ${if format == "raw" then ''
@@ -152,11 +194,7 @@ in pkgs.vmTools.runInLinuxVM (
       memSize = 1024;
     }
     ''
-      ${if partitioned then ''
-        rootDisk=/dev/vda1
-      '' else ''
-        rootDisk=/dev/vda
-      ''}
+      rootDisk=${if partitionTableType != "none" then "/dev/vda${rootPartition}" else "/dev/vda"}
 
       # Some tools assume these exist
       ln -s vda /dev/xvda
@@ -166,6 +204,14 @@ in pkgs.vmTools.runInLinuxVM (
       mkdir $mountPoint
       mount $rootDisk $mountPoint
 
+      # Create the ESP and mount it. Unlike e2fsprogs, mkfs.vfat doesn't support an
+      # '-E offset=X' option, so we can't do this outside the VM.
+      ${optionalString (partitionTableType == "efi") ''
+        mkdir -p /mnt/boot
+        mkfs.vfat -n ESP /dev/vda1
+        mount /dev/vda1 /mnt/boot
+      ''}
+
       # Install a configuration.nix
       mkdir -p /mnt/etc/nixos
       ${optionalString (configFile != null) ''
diff --git a/nixos/lib/qemu-flags.nix b/nixos/lib/qemu-flags.nix
index de355b08918c..fcdcbf1b0077 100644
--- a/nixos/lib/qemu-flags.nix
+++ b/nixos/lib/qemu-flags.nix
@@ -1,4 +1,5 @@
 # QEMU flags shared between various Nix expressions.
+{ pkgs }:
 
 {
 
@@ -7,4 +8,14 @@
       "-net vde,vlan=${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}"
     ];
 
+  qemuSerialDevice = 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}'";
+
+  qemuBinary = qemuPkg: {
+    "i686-linux" = "${qemuPkg}/bin/qemu-kvm";
+    "x86_64-linux" = "${qemuPkg}/bin/qemu-kvm -cpu kvm64";
+    "armv7l-linux" = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
+    "aarch64-linux" = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
+  }.${pkgs.stdenv.system} or (throw "Unknown QEMU binary for '${pkgs.stdenv.system}'");
 }
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 532fff681d37..cf213d906f58 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -85,7 +85,7 @@ rec {
 
       testScript' =
         # Call the test script with the computed nodes.
-        if builtins.isFunction testScript
+        if lib.isFunction testScript
         then testScript { inherit nodes; }
         else testScript;
 
diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix
index 2e67edf8ee3d..972c04453aef 100644
--- a/nixos/maintainers/scripts/ec2/amazon-image.nix
+++ b/nixos/maintainers/scripts/ec2/amazon-image.nix
@@ -46,7 +46,7 @@ in {
     inherit lib config;
     inherit (cfg) contents format name;
     pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
-    partitioned = config.ec2.hvm;
+    partitionTableType = if config.ec2.hvm then "legacy" else "none";
     diskSize = cfg.sizeMB;
     configFile = pkgs.writeText "configuration.nix"
       ''
diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix
index a4a4d6e1a6af..4c37e8a6208c 100644
--- a/nixos/modules/config/power-management.nix
+++ b/nixos/modules/config/power-management.nix
@@ -69,9 +69,6 @@ in
 
   config = mkIf cfg.enable {
 
-    # Leftover for old setups, should be set by nixos-generate-config now
-    powerManagement.cpuFreqGovernor = mkDefault "ondemand";
-
     systemd.targets.post-resume = {
       description = "Post-Resume Actions";
       requires = [ "post-resume.service" ];
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index 65f2e5d7af99..398660967c52 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -36,7 +36,7 @@ in
       default = {};
       description = ''
         A set of environment variables used in the global environment.
-        These variables will be set on shell initialisation.
+        These variables will be set on shell initialisation (e.g. in /etc/profile).
         The value of each variable can be either a string or a list of
         strings.  The latter is concatenated, interspersed with colon
         characters.
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
index efb9ba39bcd4..3306846b7fa7 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
@@ -27,6 +27,7 @@ in
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
+  boot.consoleLogLevel = lib.mkDefault 7;
   boot.kernelPackages = pkgs.linuxPackages_latest;
 
   # The serial ports listed here are:
@@ -42,8 +43,17 @@ in
     populateBootCommands = let
       configTxt = pkgs.writeText "config.txt" ''
         kernel=u-boot-rpi3.bin
+
+        # Boot in 64-bit mode.
         arm_control=0x200
+
+        # U-Boot used to need this to work, regardless of whether UART is actually used or not.
+        # TODO: check when/if this can be removed.
         enable_uart=1
+
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
       '';
       in ''
         (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
index 880a6bf2e1e8..08903ba397a1 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
@@ -27,6 +27,7 @@ in
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
+  boot.consoleLogLevel = lib.mkDefault 7;
   boot.kernelPackages = pkgs.linuxPackages_latest;
   # The serial ports listed here are:
   # - ttyS0: for Tegra (Jetson TK1)
@@ -42,11 +43,18 @@ in
   sdImage = {
     populateBootCommands = let
       configTxt = pkgs.writeText "config.txt" ''
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
+
         [pi2]
         kernel=u-boot-rpi2.bin
 
         [pi3]
         kernel=u-boot-rpi3.bin
+
+        # U-Boot used to need this to work, regardless of whether UART is actually used or not.
+        # TODO: check when/if this can be removed.
         enable_uart=1
       '';
       in ''
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index eb676eae05e8..2833b75b84d8 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -27,6 +27,7 @@ in
   boot.loader.grub.enable = false;
   boot.loader.generic-extlinux-compatible.enable = true;
 
+  boot.consoleLogLevel = lib.mkDefault 7;
   boot.kernelPackages = pkgs.linuxPackages_rpi;
 
   # FIXME: this probably should be in installation-device.nix
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index c6440dd906fd..c0c6a6ef9244 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -301,6 +301,9 @@
       pykms = 282;
       kodi = 283;
       restya-board = 284;
+      mighttpd2 = 285;
+      hass = 286;
+      monero = 287;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -570,6 +573,9 @@
       pykms = 282;
       kodi = 283;
       restya-board = 284;
+      mighttpd2 = 285;
+      hass = 286;
+      monero = 287;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 1793c1447d60..e747fbc6755c 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -3,11 +3,13 @@
 with lib;
 
 let
+  cfg = config.nixpkgs;
+
   isConfig = x:
-    builtins.isAttrs x || builtins.isFunction x;
+    builtins.isAttrs x || lib.isFunction x;
 
   optCall = f: x:
-    if builtins.isFunction f
+    if lib.isFunction f
     then f x
     else f;
 
@@ -38,16 +40,55 @@ let
   overlayType = mkOptionType {
     name = "nixpkgs-overlay";
     description = "nixpkgs overlay";
-    check = builtins.isFunction;
+    check = lib.isFunction;
     merge = lib.mergeOneOption;
   };
 
-  _pkgs = import ../../.. config.nixpkgs;
+  pkgsType = mkOptionType {
+    name = "nixpkgs";
+    description = "An evaluation of Nixpkgs; the top level attribute set of packages";
+    check = builtins.isAttrs;
+  };
 
 in
 
 {
   options.nixpkgs = {
+
+    pkgs = mkOption {
+      defaultText = literalExample
+        ''import "''${nixos}/.." {
+            inherit (config.nixpkgs) config overlays system;
+          }
+        '';
+      default = import ../../.. { inherit (cfg) config overlays system; };
+      type = pkgsType;
+      example = literalExample ''import <nixpkgs> {}'';
+      description = ''
+        This is the evaluation of Nixpkgs that will be provided to
+        all NixOS modules. Defining this option has the effect of
+        ignoring the other options that would otherwise be used to
+        evaluate Nixpkgs, because those are arguments to the default
+        value. The default value imports the Nixpkgs source files
+        relative to the location of this NixOS module, because
+        NixOS and Nixpkgs are distributed together for consistency,
+        so the <code>nixos</code> in the default value is in fact a
+        relative path. The <code>config</code>, <code>overlays</code>
+        and <code>system</code> come from this option's siblings.
+
+        This option can be used by applications like NixOps to increase
+        the performance of evaluation, or to create packages that depend
+        on a container that should be built with the exact same evaluation
+        of Nixpkgs, for example. Applications like this should set
+        their default value using <code>lib.mkDefault</code>, so
+        user-provided configuration can override it without using
+        <code>lib</code>.
+
+        Note that using a distinct version of Nixpkgs with NixOS may
+        be an unexpected source of problems. Use this option with care.
+      '';
+    };
+
     config = mkOption {
       default = {};
       example = literalExample
@@ -59,6 +100,8 @@ in
         The configuration of the Nix Packages collection.  (For
         details, see the Nixpkgs documentation.)  It allows you to set
         package configuration options.
+
+        Ignored when <code>nixpkgs.pkgs</code> is set.
       '';
     };
 
@@ -69,7 +112,6 @@ in
           [ (self: super: {
               openssh = super.openssh.override {
                 hpnSupport = true;
-                withKerberos = true;
                 kerberos = self.libkrb5;
               };
             };
@@ -83,6 +125,8 @@ in
         takes as an argument the <emphasis>original</emphasis> Nixpkgs.
         The first argument should be used for finding dependencies, and
         the second should be used for overriding recipes.
+
+        Ignored when <code>nixpkgs.pkgs</code> is set.
       '';
     };
 
@@ -94,14 +138,16 @@ in
         If unset, it defaults to the platform type of your host system.
         Specifying this option is useful when doing distributed
         multi-platform deployment, or when building virtual machines.
+
+        Ignored when <code>nixpkgs.pkgs</code> is set.
       '';
     };
   };
 
   config = {
     _module.args = {
-      pkgs = _pkgs;
-      pkgs_i686 = _pkgs.pkgsi686Linux;
+      pkgs = cfg.pkgs;
+      pkgs_i686 = cfg.pkgs.pkgsi686Linux;
     };
   };
 }
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index eaa5f606cb6b..2ef8684d7f95 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -84,6 +84,7 @@
   ./programs/info.nix
   ./programs/java.nix
   ./programs/kbdlight.nix
+  ./programs/less.nix
   ./programs/light.nix
   ./programs/man.nix
   ./programs/mosh.nix
@@ -110,6 +111,7 @@
   ./programs/wireshark.nix
   ./programs/xfs_quota.nix
   ./programs/xonsh.nix
+  ./programs/yabar.nix
   ./programs/zsh/oh-my-zsh.nix
   ./programs/zsh/zsh.nix
   ./programs/zsh/zsh-syntax-highlighting.nix
@@ -200,6 +202,7 @@
   ./services/desktops/dleyna-server.nix
   ./services/desktops/geoclue2.nix
   ./services/desktops/gnome3/at-spi2-core.nix
+  ./services/desktops/gnome3/chrome-gnome-shell.nix
   ./services/desktops/gnome3/evolution-data-server.nix
   ./services/desktops/gnome3/gnome-disks.nix
   ./services/desktops/gnome3/gnome-documents.nix
@@ -313,6 +316,7 @@
   ./services/misc/gogs.nix
   ./services/misc/gollum.nix
   ./services/misc/gpsd.nix
+  ./services/misc/home-assistant.nix
   ./services/misc/ihaskell.nix
   ./services/misc/irkerd.nix
   ./services/misc/jackett.nix
@@ -414,7 +418,8 @@
   ./services/network-filesystems/ipfs.nix
   ./services/network-filesystems/netatalk.nix
   ./services/network-filesystems/nfsd.nix
-  ./services/network-filesystems/openafs-client/default.nix
+  ./services/network-filesystems/openafs/client.nix
+  ./services/network-filesystems/openafs/server.nix
   ./services/network-filesystems/rsyncd.nix
   ./services/network-filesystems/samba.nix
   ./services/network-filesystems/tahoe.nix
@@ -423,6 +428,7 @@
   ./services/network-filesystems/yandex-disk.nix
   ./services/network-filesystems/xtreemfs.nix
   ./services/networking/amuled.nix
+  ./services/networking/aria2.nix
   ./services/networking/asterisk.nix
   ./services/networking/atftpd.nix
   ./services/networking/avahi-daemon.nix
@@ -487,6 +493,7 @@
   ./services/networking/minidlna.nix
   ./services/networking/miniupnpd.nix
   ./services/networking/mosquitto.nix
+  ./services/networking/monero.nix
   ./services/networking/miredo.nix
   ./services/networking/mstpd.nix
   ./services/networking/murmur.nix
@@ -524,6 +531,7 @@
   ./services/networking/redsocks.nix
   ./services/networking/resilio.nix
   ./services/networking/rpcbind.nix
+  ./services/networking/rxe.nix
   ./services/networking/sabnzbd.nix
   ./services/networking/searx.nix
   ./services/networking/seeks.nix
@@ -539,6 +547,7 @@
   ./services/networking/ssh/lshd.nix
   ./services/networking/ssh/sshd.nix
   ./services/networking/strongswan.nix
+  ./services/networking/stunnel.nix
   ./services/networking/supplicant.nix
   ./services/networking/supybot.nix
   ./services/networking/syncthing.nix
@@ -633,6 +642,7 @@
   ./services/web-servers/lighttpd/default.nix
   ./services/web-servers/lighttpd/gitweb.nix
   ./services/web-servers/lighttpd/inginious.nix
+  ./services/web-servers/mighttpd2.nix
   ./services/web-servers/minio.nix
   ./services/web-servers/nginx/default.nix
   ./services/web-servers/phpfpm/default.nix
diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix
index 77d86f8d7405..5b4e68beb6a6 100644
--- a/nixos/modules/profiles/clone-config.nix
+++ b/nixos/modules/profiles/clone-config.nix
@@ -17,7 +17,7 @@ let
   # you should use files).
   moduleFiles =
     # FIXME: use typeOf (Nix 1.6.1).
-    filter (x: !isAttrs x && !builtins.isFunction x) modules;
+    filter (x: !isAttrs x && !lib.isFunction x) modules;
 
   # Partition module files because between NixOS and non-NixOS files.  NixOS
   # files may change if the repository is updated.
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 18290555b79d..f648d70bd9fa 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -16,6 +16,7 @@ with lib;
           To grant access to a user, it must be part of adbusers group:
           <code>users.extraUsers.alice.extraGroups = ["adbusers"];</code>
         '';
+        relatedPackages = [ ["androidenv" "platformTools"] ];
       };
     };
   };
diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix
new file mode 100644
index 000000000000..c0283c9e6862
--- /dev/null
+++ b/nixos/modules/programs/less.nix
@@ -0,0 +1,118 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.programs.less;
+
+  configFile = ''
+    #command
+    ${concatStringsSep "\n"
+      (mapAttrsToList (command: action: "${command} ${action}") cfg.commands)
+    }
+    ${if cfg.clearDefaultCommands then "#stop" else ""}
+
+    #line-edit
+    ${concatStringsSep "\n"
+      (mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys)
+    }
+
+    #env
+    ${concatStringsSep "\n"
+      (mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables)
+    }
+  '';
+
+  lessKey = pkgs.runCommand "lesskey"
+            { src = pkgs.writeText "lessconfig" configFile; }
+            "${pkgs.less}/bin/lesskey -o $out $src";
+
+in
+
+{
+  options = {
+
+    programs.less = {
+
+      enable = mkEnableOption "less";
+
+      commands = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = {
+          "h" = "noaction 5\e(";
+          "l" = "noaction 5\e)";
+        };
+        description = "Defines new command keys.";
+      };
+
+      clearDefaultCommands = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Clear all default commands.
+          You should remember to set the quit key.
+          Otherwise you will not be able to leave less without killing it.
+        '';
+      };
+
+      lineEditingKeys = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = {
+          "\e" = "abort";
+        };
+        description = "Defines new line-editing keys.";
+      };
+
+      envVariables = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = {
+          LESS = "--quit-if-one-screen";
+        };
+        description = "Defines environment variables.";
+      };
+
+      lessopen = mkOption {
+        type = types.nullOr types.str;
+        default = "|${pkgs.lesspipe}/bin/lesspipe.sh %s";
+        description = ''
+          Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed.
+        '';
+      };
+
+      lessclose = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may  perform  any  desired  clean-up  action (such  as deleting the replacement file created by LESSOPEN).
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.less ];
+
+    environment.variables = {
+      "LESSKEY_SYSTEM" = toString lessKey;
+    } // optionalAttrs (cfg.lessopen != null) {
+      "LESSOPEN" = cfg.lessopen;
+    } // optionalAttrs (cfg.lessclose != null) {
+      "LESSCLOSE" = cfg.lessclose;
+    };
+
+    warnings = optional (
+      cfg.clearDefaultCommands && (all (x: x != "quit") (attrValues cfg.commands))
+    ) ''
+      config.programs.less.clearDefaultCommands clears all default commands of less but there is no alternative binding for exiting.
+      Consider adding a binding for 'quit'.
+    '';
+  };
+
+  meta.maintainers = with maintainers; [ johnazoidberg ];
+
+}
diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix
index 0f3f42901bab..8ec4169207db 100644
--- a/nixos/modules/programs/shadow.nix
+++ b/nixos/modules/programs/shadow.nix
@@ -26,8 +26,9 @@ let
       # Ensure privacy for newly created home directories.
       UMASK        077
 
-      # Uncomment this to allow non-root users to change their account
-      #information.  This should be made configurable.
+      # Uncomment this and install chfn SUID to allow non-root
+      # users to change their account GECOS information.
+      # This should be made configurable.
       #CHFN_RESTRICT frwh
 
     '';
@@ -103,13 +104,12 @@ in
 
     security.wrappers = {
       su.source        = "${pkgs.shadow.su}/bin/su";
-      chfn.source      = "${pkgs.shadow.out}/bin/chfn";
+      sg.source        = "${pkgs.shadow.out}/bin/sg";
+      newgrp.source    = "${pkgs.shadow.out}/bin/newgrp";
       newuidmap.source = "${pkgs.shadow.out}/bin/newuidmap";
       newgidmap.source = "${pkgs.shadow.out}/bin/newgidmap";
     } // (if config.users.mutableUsers then {
       passwd.source    = "${pkgs.shadow.out}/bin/passwd";
-      sg.source        = "${pkgs.shadow.out}/bin/sg";
-      newgrp.source    = "${pkgs.shadow.out}/bin/newgrp";
     } else {});
   };
 }
diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix
index 1eb6fa6bf2fa..4a60403a2827 100644
--- a/nixos/modules/programs/tmux.nix
+++ b/nixos/modules/programs/tmux.nix
@@ -61,7 +61,12 @@ in {
   options = {
     programs.tmux = {
 
-      enable = mkEnableOption "<command>tmux</command> - a <command>screen</command> replacement.";
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whenever to configure <command>tmux</command> system-wide.";
+        relatedPackages = [ "tmux" ];
+      };
 
       aggressiveResize = mkOption {
         default = false;
diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix
new file mode 100644
index 000000000000..a01083c3ace9
--- /dev/null
+++ b/nixos/modules/programs/yabar.nix
@@ -0,0 +1,149 @@
+{ lib, pkgs, config, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.yabar;
+
+  mapExtra = v: lib.concatStringsSep "\n" (mapAttrsToList (
+    key: val: "${key} = ${if (isString val) then "\"${val}\"" else "${builtins.toString val}"};"
+  ) v);
+
+  listKeys = r: concatStringsSep "," (map (n: "\"${n}\"") (attrNames r));
+
+  configFile = let
+    bars = mapAttrsToList (
+      name: cfg: ''
+        ${name}: {
+          font: "${cfg.font}";
+          position: "${cfg.position}";
+
+          ${mapExtra cfg.extra}
+
+          block-list: [${listKeys cfg.indicators}]
+
+          ${concatStringsSep "\n" (mapAttrsToList (
+            name: cfg: ''
+              ${name}: {
+                exec: "${cfg.exec}";
+                align: "${cfg.align}";
+                ${mapExtra cfg.extra}
+              };
+            ''
+          ) cfg.indicators)}
+        };
+      ''
+    ) cfg.bars;
+  in pkgs.writeText "yabar.conf" ''
+    bar-list = [${listKeys cfg.bars}];
+    ${concatStringsSep "\n" bars}
+  '';
+in
+  {
+    options.programs.yabar = {
+      enable = mkEnableOption "yabar";
+
+      package = mkOption {
+        default = pkgs.yabar;
+        example = literalExample "pkgs.yabar-unstable";
+        type = types.package;
+
+        description = ''
+          The package which contains the `yabar` binary.
+
+          Nixpkgs provides the `yabar` and `yabar-unstable`
+          derivations since 18.03, so it's possible to choose.
+        '';
+      };
+
+      bars = mkOption {
+        default = {};
+        type = types.attrsOf(types.submodule {
+          options = {
+            font = mkOption {
+              default = "sans bold 9";
+              example = "Droid Sans, FontAwesome Bold 9";
+              type = types.string;
+
+              description = ''
+                The font that will be used to draw the status bar.
+              '';
+            };
+
+            position = mkOption {
+              default = "top";
+              example = "bottom";
+              type = types.enum [ "top" "bottom" ];
+
+              description = ''
+                The position where the bar will be rendered.
+              '';
+            };
+
+            extra = mkOption {
+              default = {};
+              type = types.attrsOf types.string;
+
+              description = ''
+                An attribute set which contains further attributes of a bar.
+              '';
+            };
+
+            indicators = mkOption {
+              default = {};
+              type = types.attrsOf(types.submodule {
+                options.exec = mkOption {
+                  example = "YABAR_DATE";
+                  type = types.string;
+                  description = ''
+                     The type of the indicator to be executed.
+                  '';
+                };
+
+                options.align = mkOption {
+                  default = "left";
+                  example = "right";
+                  type = types.enum [ "left" "center" "right" ];
+
+                  description = ''
+                    Whether to align the indicator at the left or right of the bar.
+                  '';
+                };
+
+                options.extra = mkOption {
+                  default = {};
+                  type = types.attrsOf (types.either types.string types.int);
+
+                  description = ''
+                    An attribute set which contains further attributes of a indicator.
+                  '';
+                };
+              });
+
+              description = ''
+                Indicators that should be rendered by yabar.
+              '';
+            };
+          };
+        });
+
+        description = ''
+          List of bars that should be rendered by yabar.
+        '';
+      };
+    };
+
+    config = mkIf cfg.enable {
+      systemd.user.services.yabar = {
+        description = "yabar service";
+        wantedBy = [ "graphical-session.target" ];
+        partOf = [ "graphical-session.target" ];
+
+        script = ''
+          ${cfg.package}/bin/yabar -c ${configFile}
+        '';
+
+        serviceConfig.Restart = "always";
+      };
+    };
+  }
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix
index b7834fa5f872..b995d390b279 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -54,7 +54,7 @@ in
           type = types.str;
           description = ''
             Cache directory to be used by `oh-my-zsh`.
-            Default is /nix/store/<oh-my-zsh>/cache.
+            Without this option it would default to the read-only nix store.
           '';
         };
       };
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 6fb1346bbb33..5102bfef0325 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -36,8 +36,9 @@ in
       shellAliases = mkOption {
         default = config.environment.shellAliases;
         description = ''
-          Set of aliases for zsh shell. See <option>environment.shellAliases</option>
-          for an option format description.
+          Set of aliases for zsh shell. Overrides the default value taken from
+           <option>environment.shellAliases</option>.
+          See <option>environment.shellAliases</option> for an option format description.
         '';
         type = types.attrs; # types.attrsOf types.stringOrPath;
       };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 562be13a3f64..7351482f957f 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -210,6 +210,7 @@ with lib;
       "Set the option `services.xserver.displayManager.sddm.package' instead.")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
+    (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
 
     # ZSH
     (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@@ -220,5 +221,8 @@ with lib;
     (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
     (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
     (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
+
+    # Xen
+    (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
   ];
 }
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index 5940f471883c..0736239ed2cf 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -6,10 +6,11 @@ let
 
   cfg = config.security.acme;
 
-  certOpts = { ... }: {
+  certOpts = { name, ... }: {
     options = {
       webroot = mkOption {
         type = types.str;
+        example = "/var/lib/acme/acme-challenges";
         description = ''
           Where the webroot of the HTTP vhost is located.
           <filename>.well-known/acme-challenge/</filename> directory
@@ -20,8 +21,8 @@ let
       };
 
       domain = mkOption {
-        type = types.nullOr types.str;
-        default = null;
+        type = types.str;
+        default = name;
         description = "Domain to fetch certificate for (defaults to the entry name)";
       };
 
@@ -48,7 +49,7 @@ let
         default = false;
         description = ''
           Give read permissions to the specified group
-          (<option>security.acme.group</option>) to read SSL private certificates.
+          (<option>security.acme.cert.&lt;name&gt;.group</option>) to read SSL private certificates.
         '';
       };
 
@@ -87,7 +88,7 @@ let
           }
         '';
         description = ''
-          Extra domain names for which certificates are to be issued, with their
+          A list of extra domain names, which are included in the one certificate to be issued, with their
           own server roots if needed.
         '';
       };
@@ -193,10 +194,9 @@ in
           servicesLists = mapAttrsToList certToServices cfg.certs;
           certToServices = cert: data:
               let
-                domain = if data.domain != null then data.domain else cert;
                 cpath = "${cfg.directory}/${cert}";
                 rights = if data.allowKeysForGroup then "750" else "700";
-                cmdline = [ "-v" "-d" domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ]
+                cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ]
                           ++ optionals (data.email != null) [ "--email" data.email ]
                           ++ concatMap (p: [ "-f" p ]) data.plugins
                           ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 3fff9e78aa19..f39f64033ca7 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -46,6 +46,18 @@ let
         '';
       };
 
+      googleAuthenticator = {
+        enable = mkOption {
+          default = false;
+          type = types.bool;
+          description = ''
+            If set, users with enabled Google Authenticator (created
+            <filename>~/.google_authenticator</filename>) will be required
+            to provide Google Authenticator token to log in.
+          '';
+        };
+      };
+
       usbAuth = mkOption {
         default = config.security.pam.usb.enable;
         type = types.bool;
@@ -284,7 +296,12 @@ let
           # prompts the user for password so we run it once with 'required' at an
           # earlier point and it will run again with 'sufficient' further down.
           # We use try_first_pass the second time to avoid prompting password twice
-          (optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount || cfg.enableKwallet || cfg.enableGnomeKeyring)) ''
+          (optionalString (cfg.unixAuth &&
+          (config.security.pam.enableEcryptfs
+            || cfg.pamMount
+            || cfg.enableKwallet
+            || cfg.enableGnomeKeyring
+            || cfg.googleAuthenticator.enable)) ''
               auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth
               ${optionalString config.security.pam.enableEcryptfs
                 "auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
@@ -295,6 +312,8 @@ let
                  " kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")}
               ${optionalString cfg.enableGnomeKeyring
                 ("auth optional ${pkgs.gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so")}
+              ${optionalString cfg.googleAuthenticator.enable
+                  "auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"}
             '') + ''
           ${optionalString cfg.unixAuth
               "auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}
diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix
index cfd0595e63b7..a57f14bb5ae1 100644
--- a/nixos/modules/security/sudo.nix
+++ b/nixos/modules/security/sudo.nix
@@ -8,6 +8,22 @@ let
 
   inherit (pkgs) sudo;
 
+  toUserString = user: if (isInt user) then "#${toString user}" else "${user}";
+  toGroupString = group: if (isInt group) then "%#${toString group}" else "%${group}";
+
+  toCommandOptionsString = options:
+    "${concatStringsSep ":" options}${optionalString (length options != 0) ":"} ";
+
+  toCommandsString = commands:
+    concatStringsSep ", " (
+      map (command:
+        if (isString command) then
+          command
+        else
+          "${toCommandOptionsString command.options}${command.command}"
+      ) commands
+    );
+
 in
 
 {
@@ -47,6 +63,97 @@ in
         '';
     };
 
+    security.sudo.extraRules = mkOption {
+      description = ''
+        Define specific rules to be in the <filename>sudoers</filename> file.
+      '';
+      default = [];
+      example = [
+        # Allow execution of any command by all users in group sudo,
+        # requiring a password.
+        { groups = [ "sudo" ]; commands = [ "ALL" ]; }
+
+        # Allow execution of "/home/root/secret.sh" by user `backup`, `database`
+        # and the group with GID `1006` without a password.
+        { users = [ "backup" ]; groups = [ 1006 ];
+          commands = [ { command = "/home/root/secret.sh"; options = [ "SETENV" "NOPASSWD" ]; } ]; }
+
+        # Allow all users of group `bar` to run two executables as user `foo`
+        # with arguments being pre-set.
+        { groups = [ "bar" ]; runAs = "foo";
+          commands =
+            [ "/home/baz/cmd1.sh hello-sudo"
+              { command = ''/home/baz/cmd2.sh ""''; options = [ "SETENV" ]; } ]; }
+      ];
+      type = with types; listOf (submodule {
+        options = {
+          users = mkOption {
+            type = with types; listOf (either string int);
+            description = ''
+              The usernames / UIDs this rule should apply for.
+            '';
+            default = [];
+          };
+
+          groups = mkOption {
+            type = with types; listOf (either string int);
+            description = ''
+              The groups / GIDs this rule should apply for.
+            '';
+            default = [];
+          };
+
+          host = mkOption {
+            type = types.string;
+            default = "ALL";
+            description = ''
+              For what host this rule should apply.
+            '';
+          };
+
+          runAs = mkOption {
+            type = with types; string;
+            default = "ALL:ALL";
+            description = ''
+              Under which user/group the specified command is allowed to run.
+
+              A user can be specified using just the username: <code>"foo"</code>.
+              It is also possible to specify a user/group combination using <code>"foo:bar"</code>
+              or to only allow running as a specific group with <code>":bar"</code>.
+            '';
+          };
+
+          commands = mkOption {
+            description = ''
+              The commands for which the rule should apply.
+            '';
+            type = with types; listOf (either string (submodule {
+
+              options = {
+                command = mkOption {
+                  type = with types; string;
+                  description = ''
+                    A command being either just a path to a binary to allow any arguments,
+                    the full command with arguments pre-set or with <code>""</code> used as the argument,
+                    not allowing arguments to the command at all.
+                  '';
+                };
+
+                options = mkOption {
+                  type = with types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" ]);
+                  description = ''
+                    Options for running the command. Refer to the <a href="https://www.sudo.ws/man/1.7.10/sudoers.man.html">sudo manual</a>.
+                  '';
+                  default = [];
+                };
+              };
+
+            }));
+          };
+        };
+      });
+    };
+
     security.sudo.extraConfig = mkOption {
       type = types.lines;
       default = "";
@@ -61,10 +168,16 @@ in
 
   config = mkIf cfg.enable {
 
+    security.sudo.extraRules = [
+      { groups = [ "wheel" ];
+        commands = [ { command = "ALL"; options = (if cfg.wheelNeedsPassword then [ "SETENV" ] else [ "NOPASSWD" "SETENV" ]); } ];
+      }
+    ];
+
     security.sudo.configFile =
       ''
         # Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
-        # or ‘security.sudo.extraConfig’ instead.
+        # or ‘security.sudo.extraRules’ instead.
 
         # Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic.
         Defaults env_keep+=SSH_AUTH_SOCK
@@ -72,8 +185,18 @@ in
         # "root" is allowed to do anything.
         root        ALL=(ALL:ALL) SETENV: ALL
 
-        # Users in the "wheel" group can do anything.
-        %wheel      ALL=(ALL:ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL
+        # extraRules
+        ${concatStringsSep "\n" (
+          lists.flatten (
+            map (
+              rule: if (length rule.commands != 0) then [
+                (map (user: "${toUserString user}	${rule.host}=(${rule.runAs})	${toCommandsString rule.commands}") rule.users)
+                (map (group: "${toGroupString group}	${rule.host}=(${rule.runAs})	${toCommandsString rule.commands}") rule.groups)
+              ] else []
+            ) cfg.extraRules
+          )
+        )}
+
         ${cfg.extraConfig}
       '';
 
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 36d5340a306f..5b7390503552 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -289,10 +289,10 @@ in
                     # Create initial databases
                     if ! test -e "${cfg.dataDir}/${database.name}"; then
                         echo "Creating initial database: ${database.name}"
-                        ( echo "create database ${database.name};"
+                        ( echo "create database `${database.name}`;"
 
                           ${optionalString (database ? "schema") ''
-                          echo "use ${database.name};"
+                          echo "use `${database.name}`;"
 
                           if [ -f "${database.schema}" ]
                           then
diff --git a/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix b/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix
new file mode 100644
index 000000000000..2740a22c7ca0
--- /dev/null
+++ b/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix
@@ -0,0 +1,27 @@
+# Chrome GNOME Shell native host connector.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.gnome3.chrome-gnome-shell.enable = mkEnableOption ''
+      Chrome GNOME Shell native host connector, a DBus service
+      allowing to install GNOME Shell extensions from a web browser.
+    '';
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.gnome3.chrome-gnome-shell.enable {
+    environment.etc = {
+      "chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
+      "opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
+    };
+
+    environment.systemPackages = [ pkgs.chrome-gnome-shell ];
+
+    services.dbus.packages = [ pkgs.chrome-gnome-shell ];
+  };
+}
diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix
index bb17c8859d84..f69706ebff34 100644
--- a/nixos/modules/services/hardware/acpid.nix
+++ b/nixos/modules/services/hardware/acpid.nix
@@ -31,7 +31,7 @@ let
           ''
             fn=$out/${name}
             echo "event=${handler.event}" > $fn
-            echo "action=${pkgs.writeScript "${name}.sh" (concatStringsSep "\n" [ "#! ${pkgs.bash}/bin/sh" handler.action ])}" >> $fn
+            echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action }/bin/${name}.sh '%e'" >> $fn
           '';
         in concatStringsSep "\n" (mapAttrsToList f (canonicalHandlers // config.services.acpid.handlers))
       }
@@ -69,11 +69,33 @@ in
           };
         });
 
-        description = "Event handlers.";
-        default = {};
-        example = { mute = { event = "button/mute.*"; action = "amixer set Master toggle"; }; };
-
+        description = ''
+          Event handlers.
 
+          <note><para>
+            Handler can be a single command.
+          </para></note>
+        '';
+        default = {};
+        example = {
+          ac-power = {
+            event = "ac_adapter/*";
+            action = ''
+              vals=($1)  # space separated string to array of multiple values
+              case ''${vals[3]} in
+                  00000000)
+                      echo unplugged >> /tmp/acpi.log
+                      ;;
+                  00000001)
+                      echo plugged in >> /tmp/acpi.log
+                      ;;
+                  *)
+                      echo unknown >> /tmp/acpi.log
+                      ;;
+              esac
+            '';
+          };
+        };
       };
 
       powerEventCommands = mkOption {
diff --git a/nixos/modules/services/hardware/nvidia-optimus.nix b/nixos/modules/services/hardware/nvidia-optimus.nix
index 9fe4021c4247..eb1713baa140 100644
--- a/nixos/modules/services/hardware/nvidia-optimus.nix
+++ b/nixos/modules/services/hardware/nvidia-optimus.nix
@@ -23,7 +23,7 @@ let kernel = config.boot.kernelPackages; in
   ###### implementation
 
   config = lib.mkIf config.hardware.nvidiaOptimus.disable {
-    boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb"];
+    boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb" "nvidia-drm"];
     boot.kernelModules = [ "bbswitch" ];
     boot.extraModulePackages = [ kernel.bbswitch ];
 
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 18101a312254..b42c73b86668 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -104,7 +104,7 @@ let
   };
 
   mailboxConfig = mailbox: ''
-    mailbox ${mailbox.name} {
+    mailbox "${mailbox.name}" {
       auto = ${toString mailbox.auto}
   '' + optionalString (mailbox.specialUse != null) ''
       special_use = \${toString mailbox.specialUse}
@@ -113,7 +113,7 @@ let
   mailboxes = { lib, pkgs, ... }: {
     options = {
       name = mkOption {
-        type = types.str;
+        type = types.strMatching ''[^"]+'';
         example = "Spam";
         description = "The name of the mailbox.";
       };
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 867c0ea6761c..22af7e876af2 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -15,20 +15,18 @@ let
   haveVirtual = cfg.virtual != "";
 
   clientAccess =
-    if (cfg.dnsBlacklistOverrides != "")
-    then [ "check_client_access hash:/etc/postfix/client_access" ]
-    else [];
+    optional (cfg.dnsBlacklistOverrides != "")
+      "check_client_access hash:/etc/postfix/client_access";
 
   dnsBl =
-    if (cfg.dnsBlacklists != [])
-    then [ (concatStringsSep ", " (map (s: "reject_rbl_client " + s) cfg.dnsBlacklists)) ]
-    else [];
+    optionals (cfg.dnsBlacklists != [])
+      (map (s: "reject_rbl_client " + s) cfg.dnsBlacklists);
 
   clientRestrictions = concatStringsSep ", " (clientAccess ++ dnsBl);
 
   mainCf = let
     escape = replaceStrings ["$"] ["$$"];
-    mkList = items: "\n  " + concatStringsSep "\n  " items;
+    mkList = items: "\n  " + concatStringsSep ",\n  " items;
     mkVal = value:
       if isList value then mkList value
         else " " + (if value == true then "yes"
@@ -36,72 +34,9 @@ let
         else toString value);
     mkEntry = name: value: "${escape name} =${mkVal value}";
   in
-    concatStringsSep "\n" (mapAttrsToList mkEntry (recursiveUpdate defaultConf cfg.config))
+    concatStringsSep "\n" (mapAttrsToList mkEntry cfg.config)
       + "\n" + cfg.extraConfig;
 
-  defaultConf = {
-    compatibility_level  = "9999";
-    mail_owner           = user;
-    default_privs        = "nobody";
-
-    # NixOS specific locations
-    data_directory       = "/var/lib/postfix/data";
-    queue_directory      = "/var/lib/postfix/queue";
-
-    # Default location of everything in package
-    meta_directory       = "${pkgs.postfix}/etc/postfix";
-    command_directory    = "${pkgs.postfix}/bin";
-    sample_directory     = "/etc/postfix";
-    newaliases_path      = "${pkgs.postfix}/bin/newaliases";
-    mailq_path           = "${pkgs.postfix}/bin/mailq";
-    readme_directory     = false;
-    sendmail_path        = "${pkgs.postfix}/bin/sendmail";
-    daemon_directory     = "${pkgs.postfix}/libexec/postfix";
-    manpage_directory    = "${pkgs.postfix}/share/man";
-    html_directory       = "${pkgs.postfix}/share/postfix/doc/html";
-    shlib_directory      = false;
-    relayhost            = if cfg.relayHost == "" then "" else
-                             if cfg.lookupMX
-                             then "${cfg.relayHost}:${toString cfg.relayPort}"
-                             else "[${cfg.relayHost}]:${toString cfg.relayPort}";
-
-    mail_spool_directory = "/var/spool/mail/";
-    setgid_group         = setgidGroup;
-  }
-  // optionalAttrs config.networking.enableIPv6 { inet_protocols = "all"; }
-  // optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; }
-  // optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; }
-  // optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; }
-  // optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; }
-  // optionalAttrs (cfg.origin != "") { myorigin =  cfg.origin; }
-  // optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; }
-  // optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; }
-  // optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; }
-  // optionalAttrs haveAliases { alias_maps = "${cfg.aliasMapType}:/etc/postfix/aliases"; }
-  // optionalAttrs haveTransport { transport_maps = "hash:/etc/postfix/transport"; }
-  // optionalAttrs haveVirtual { virtual_alias_maps = "${cfg.virtualMapType}:/etc/postfix/virtual"; }
-  // optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; }
-  // optionalAttrs cfg.useSrs {
-    sender_canonical_maps = "tcp:127.0.0.1:10001";
-    sender_canonical_classes = "envelope_sender";
-    recipient_canonical_maps = "tcp:127.0.0.1:10002";
-    recipient_canonical_classes= "envelope_recipient";
-  }
-  // optionalAttrs cfg.enableHeaderChecks { header_checks = "regexp:/etc/postfix/header_checks"; }
-  // optionalAttrs (cfg.sslCert != "") {
-    smtp_tls_CAfile = cfg.sslCACert;
-    smtp_tls_cert_file = cfg.sslCert;
-    smtp_tls_key_file = cfg.sslKey;
-
-    smtp_use_tls = true;
-
-    smtpd_tls_CAfile = cfg.sslCACert;
-    smtpd_tls_cert_file = cfg.sslCert;
-    smtpd_tls_key_file = cfg.sslKey;
-
-    smtpd_use_tls = true;
-  };
-
   masterCfOptions = { options, config, name, ... }: {
     options = {
       name = mkOption {
@@ -507,7 +442,6 @@ in
 
       config = mkOption {
         type = with types; attrsOf (either bool (either str (listOf str)));
-        default = defaultConf;
         description = ''
           The main.cf configuration file as key value set.
         '';
@@ -749,6 +683,67 @@ in
           '';
         };
 
+      services.postfix.config = (mapAttrs (_: v: mkDefault v) {
+        compatibility_level  = "9999";
+        mail_owner           = cfg.user;
+        default_privs        = "nobody";
+
+        # NixOS specific locations
+        data_directory       = "/var/lib/postfix/data";
+        queue_directory      = "/var/lib/postfix/queue";
+
+        # Default location of everything in package
+        meta_directory       = "${pkgs.postfix}/etc/postfix";
+        command_directory    = "${pkgs.postfix}/bin";
+        sample_directory     = "/etc/postfix";
+        newaliases_path      = "${pkgs.postfix}/bin/newaliases";
+        mailq_path           = "${pkgs.postfix}/bin/mailq";
+        readme_directory     = false;
+        sendmail_path        = "${pkgs.postfix}/bin/sendmail";
+        daemon_directory     = "${pkgs.postfix}/libexec/postfix";
+        manpage_directory    = "${pkgs.postfix}/share/man";
+        html_directory       = "${pkgs.postfix}/share/postfix/doc/html";
+        shlib_directory      = false;
+        mail_spool_directory = "/var/spool/mail/";
+        setgid_group         = cfg.setgidGroup;
+      })
+      // optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX
+                                                           then "${cfg.relayHost}:${toString cfg.relayPort}"
+                                                           else "[${cfg.relayHost}]:${toString cfg.relayPort}"; }
+      // optionalAttrs config.networking.enableIPv6 { inet_protocols = mkDefault "all"; }
+      // optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; }
+      // optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; }
+      // optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; }
+      // optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; }
+      // optionalAttrs (cfg.origin != "") { myorigin =  cfg.origin; }
+      // optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; }
+      // optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; }
+      // optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; }
+      // optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; }
+      // optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; }
+      // optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; }
+      // optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; }
+      // optionalAttrs cfg.useSrs {
+        sender_canonical_maps = [ "tcp:127.0.0.1:10001" ];
+        sender_canonical_classes = [ "envelope_sender" ];
+        recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ];
+        recipient_canonical_classes = [ "envelope_recipient" ];
+      }
+      // optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; }
+      // optionalAttrs (cfg.sslCert != "") {
+        smtp_tls_CAfile = cfg.sslCACert;
+        smtp_tls_cert_file = cfg.sslCert;
+        smtp_tls_key_file = cfg.sslKey;
+
+        smtp_use_tls = true;
+
+        smtpd_tls_CAfile = cfg.sslCACert;
+        smtpd_tls_cert_file = cfg.sslCert;
+        smtpd_tls_key_file = cfg.sslKey;
+
+        smtpd_use_tls = true;
+      };
+
       services.postfix.masterConfig = {
         smtp_inet = {
           name = "smtp";
diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix
index b80aa48f2c86..09fb587e74b5 100644
--- a/nixos/modules/services/mail/rspamd.nix
+++ b/nixos/modules/services/mail/rspamd.nix
@@ -1,14 +1,152 @@
-{ config, lib, pkgs, ... }:
+{ config, options, pkgs, lib, ... }:
 
 with lib;
 
 let
 
   cfg = config.services.rspamd;
+  opts = options.services.rspamd;
 
-  mkBindSockets = socks: concatStringsSep "\n" (map (each: "  bind_socket = \"${each}\"") socks);
+  bindSocketOpts = {options, config, ... }: {
+    options = {
+      socket = mkOption {
+        type = types.str;
+        example = "localhost:11333";
+        description = ''
+          Socket for this worker to listen on in a format acceptable by rspamd.
+        '';
+      };
+      mode = mkOption {
+        type = types.str;
+        default = "0644";
+        description = "Mode to set on unix socket";
+      };
+      owner = mkOption {
+        type = types.str;
+        default = "${cfg.user}";
+        description = "Owner to set on unix socket";
+      };
+      group = mkOption {
+        type = types.str;
+        default = "${cfg.group}";
+        description = "Group to set on unix socket";
+      };
+      rawEntry = mkOption {
+        type = types.str;
+        internal = true;
+      };
+    };
+    config.rawEntry = let
+      maybeOption = option:
+        optionalString options.${option}.isDefined " ${option}=${config.${option}}";
+    in
+      if (!(hasPrefix "/" config.socket)) then "${config.socket}"
+      else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}";
+  };
 
-   rspamdConfFile = pkgs.writeText "rspamd.conf"
+  workerOpts = { name, ... }: {
+    options = {
+      enable = mkOption {
+        type = types.nullOr types.bool;
+        default = null;
+        description = "Whether to run the rspamd worker.";
+      };
+      name = mkOption {
+        type = types.nullOr types.str;
+        default = name;
+        description = "Name of the worker";
+      };
+      type = mkOption {
+        type = types.nullOr (types.enum [
+          "normal" "controller" "fuzzy_storage" "proxy" "lua"
+        ]);
+        description = "The type of this worker";
+      };
+      bindSockets = mkOption {
+        type = types.listOf (types.either types.str (types.submodule bindSocketOpts));
+        default = [];
+        description = ''
+          List of sockets to listen, in format acceptable by rspamd
+        '';
+        example = [{
+          socket = "/run/rspamd.sock";
+          mode = "0666";
+          owner = "rspamd";
+        } "*:11333"];
+        apply = value: map (each: if (isString each)
+          then if (isUnixSocket each)
+            then {socket = each; owner = cfg.user; group = cfg.group; mode = "0644"; rawEntry = "${each}";}
+            else {socket = each; rawEntry = "${each}";}
+          else each) value;
+      };
+      count = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Number of worker instances to run
+        '';
+      };
+      includes = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          List of files to include in configuration
+        '';
+      };
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Additional entries to put verbatim into worker section of rspamd config file.";
+      };
+    };
+    config = mkIf (name == "normal" || name == "controller" || name == "fuzzy") {
+      type = mkDefault name;
+      includes = mkDefault [ "$CONFDIR/worker-${name}.inc" ];
+      bindSockets = mkDefault (if name == "normal"
+        then [{
+              socket = "/run/rspamd/rspamd.sock";
+              mode = "0660";
+              owner = cfg.user;
+              group = cfg.group;
+            }]
+        else if name == "controller"
+        then [ "localhost:11334" ]
+        else [] );
+    };
+  };
+
+  indexOf = default: start: list: e:
+    if list == []
+    then default
+    else if (head list) == e then start
+    else (indexOf default (start + (length (listenStreams (head list).socket))) (tail list) e);
+
+  systemdSocket = indexOf (abort "Socket not found") 0 allSockets;
+
+  isUnixSocket = socket: hasPrefix "/" (if (isString socket) then socket else socket.socket);
+  isPort = hasPrefix "*:";
+  isIPv4Socket = hasPrefix "*v4:";
+  isIPv6Socket = hasPrefix "*v6:";
+  isLocalHost = hasPrefix "localhost:";
+  listenStreams = socket:
+    if (isLocalHost socket) then
+      let port = (removePrefix "localhost:" socket);
+      in [ "127.0.0.1:${port}" ] ++ (if config.networking.enableIPv6 then ["[::1]:${port}"] else [])
+    else if (isIPv6Socket socket) then [removePrefix "*v6:" socket]
+    else if (isPort socket) then [removePrefix "*:" socket]
+    else if (isIPv4Socket socket) then
+      throw "error: IPv4 only socket not supported in rspamd with socket activation"
+    else if (length (splitString " " socket)) != 1 then
+      throw "error: string options not supported in rspamd with socket activation"
+    else [socket];
+
+  mkBindSockets = enabled: socks: concatStringsSep "\n  " (flatten (map (each:
+    if cfg.socketActivation && enabled != false then
+      let systemd = (systemdSocket each);
+      in (imap (idx: e: "bind_socket = \"systemd:${toString (systemd + idx - 1)}\";") (listenStreams each.socket))
+    else "bind_socket = \"${each.rawEntry}\";") socks));
+
+  rspamdConfFile = pkgs.writeText "rspamd.conf"
     ''
       .include "$CONFDIR/common.conf"
 
@@ -22,19 +160,33 @@ let
         .include "$CONFDIR/logging.inc"
       }
 
-      worker {
-      ${mkBindSockets cfg.bindSocket}
-        .include "$CONFDIR/worker-normal.inc"
-      }
-
-      worker {
-      ${mkBindSockets cfg.bindUISocket}
-        .include "$CONFDIR/worker-controller.inc"
-      }
+      ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
+        worker ${optionalString (value.name != "normal" && value.name != "controller") "${value.name}"} {
+          type = "${value.type}";
+          ${optionalString (value.enable != null)
+            "enabled = ${if value.enable != false then "yes" else "no"};"}
+          ${mkBindSockets value.enable value.bindSockets}
+          ${optionalString (value.count != null) "count = ${toString value.count};"}
+          ${concatStringsSep "\n  " (map (each: ".include \"${each}\"") value.includes)}
+          ${value.extraConfig}
+        }
+      '') cfg.workers)}
 
       ${cfg.extraConfig}
    '';
 
+  allMappedSockets = flatten (mapAttrsToList (name: value:
+    if value.enable != false
+    then imap (idx: each: {
+        name = "${name}";
+        index = idx;
+        value = each;
+      }) value.bindSockets
+    else []) cfg.workers);
+  allSockets = map (e: e.value) allMappedSockets;
+
+  allSocketNames = map (each: "rspamd-${each.name}-${toString each.index}.socket") allMappedSockets;
+
 in
 
 {
@@ -48,36 +200,43 @@ in
       enable = mkEnableOption "Whether to run the rspamd daemon.";
 
       debug = mkOption {
+        type = types.bool;
         default = false;
         description = "Whether to run the rspamd daemon in debug mode.";
       };
 
-      bindSocket = mkOption {
-        type = types.listOf types.str;
-        default = [
-          "/run/rspamd/rspamd.sock mode=0660 owner=${cfg.user} group=${cfg.group}"
-        ];
-        defaultText = ''[
-          "/run/rspamd/rspamd.sock mode=0660 owner=${cfg.user} group=${cfg.group}"
-        ]'';
+      socketActivation = mkOption {
+        type = types.bool;
         description = ''
-          List of sockets to listen, in format acceptable by rspamd
-        '';
-        example = ''
-          bindSocket = [
-            "/run/rspamd.sock mode=0666 owner=rspamd"
-            "*:11333"
-          ];
+          Enable systemd socket activation for rspamd.
         '';
       };
 
-      bindUISocket = mkOption {
-        type = types.listOf types.str;
-        default = [
-          "localhost:11334"
-        ];
+      workers = mkOption {
+        type = with types; attrsOf (submodule workerOpts);
         description = ''
-          List of sockets for web interface, in format acceptable by rspamd
+          Attribute set of workers to start.
+        '';
+        default = {
+          normal = {};
+          controller = {};
+        };
+        example = literalExample ''
+          {
+            normal = {
+              includes = [ "$CONFDIR/worker-normal.inc" ];
+              bindSockets = [{
+                socket = "/run/rspamd/rspamd.sock";
+                mode = "0660";
+                owner = "${cfg.user}";
+                group = "${cfg.group}";
+              }];
+            };
+            controller = {
+              includes = [ "$CONFDIR/worker-controller.inc" ];
+              bindSockets = [ "[::1]:11334" ];
+            };
+          }
         '';
       };
 
@@ -113,6 +272,13 @@ in
 
   config = mkIf cfg.enable {
 
+    services.rspamd.socketActivation = mkDefault (!opts.bindSocket.isDefined && !opts.bindUISocket.isDefined);
+
+    assertions = [ {
+      assertion = !cfg.socketActivation || !(opts.bindSocket.isDefined || opts.bindUISocket.isDefined);
+      message = "Can't use socketActivation for rspamd when using renamed bind socket options";
+    } ];
+
     # Allow users to run 'rspamc' and 'rspamadm'.
     environment.systemPackages = [ pkgs.rspamd ];
 
@@ -128,17 +294,22 @@ in
       gid = config.ids.gids.rspamd;
     };
 
+    environment.etc."rspamd.conf".source = rspamdConfFile;
+
     systemd.services.rspamd = {
       description = "Rspamd Service";
 
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
+      wantedBy = mkIf (!cfg.socketActivation) [ "multi-user.target" ];
+      after = [ "network.target" ] ++
+       (if cfg.socketActivation then allSocketNames else []);
+      requires = mkIf cfg.socketActivation allSocketNames;
 
       serviceConfig = {
         ExecStart = "${pkgs.rspamd}/bin/rspamd ${optionalString cfg.debug "-d"} --user=${cfg.user} --group=${cfg.group} --pid=/run/rspamd.pid -c ${rspamdConfFile} -f";
         Restart = "always";
         RuntimeDirectory = "rspamd";
         PrivateTmp = true;
+        Sockets = mkIf cfg.socketActivation (concatStringsSep " " allSocketNames);
       };
 
       preStart = ''
@@ -146,5 +317,25 @@ in
         ${pkgs.coreutils}/bin/chown ${cfg.user}:${cfg.group} /var/lib/rspamd
       '';
     };
+    systemd.sockets = mkIf cfg.socketActivation
+      (listToAttrs (map (each: {
+        name = "rspamd-${each.name}-${toString each.index}";
+        value = {
+          description = "Rspamd socket ${toString each.index} for worker ${each.name}";
+          wantedBy = [ "sockets.target" ];
+          listenStreams = (listenStreams each.value.socket);
+          socketConfig = {
+            BindIPv6Only = mkIf (isIPv6Socket each.value.socket) "ipv6-only";
+            Service = "rspamd.service";
+            SocketUser = mkIf (isUnixSocket each.value.socket) each.value.owner;
+            SocketGroup = mkIf (isUnixSocket each.value.socket) each.value.group;
+            SocketMode = mkIf (isUnixSocket each.value.socket) each.value.mode;
+          };
+        };
+      }) allMappedSockets));
   };
+  imports = [
+    (mkRenamedOptionModule [ "services" "rspamd" "bindSocket" ] [ "services" "rspamd" "workers" "normal" "bindSockets" ])
+    (mkRenamedOptionModule [ "services" "rspamd" "bindUISocket" ] [ "services" "rspamd" "workers" "controller" "bindSockets" ])
+  ];
 }
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix
new file mode 100644
index 000000000000..cc60a143fa6c
--- /dev/null
+++ b/nixos/modules/services/misc/home-assistant.nix
@@ -0,0 +1,135 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.home-assistant;
+
+  configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config);
+
+  availableComponents = pkgs.home-assistant.availableComponents;
+
+  # Given component "parentConfig.platform", returns whether config.parentConfig
+  # is a list containing a set with set.platform == "platform".
+  #
+  # For example, the component sensor.luftdaten is used as follows:
+  # config.sensor = [ {
+  #   platform = "luftdaten";
+  #   ...
+  # } ];
+  useComponentPlatform = component:
+    let
+      path = splitString "." component;
+      parentConfig = attrByPath (init path) null cfg.config;
+      platform = last path;
+    in isList parentConfig && any
+      (item: item.platform or null == platform)
+      parentConfig;
+
+  # Returns whether component is used in config
+  useComponent = component:
+    hasAttrByPath (splitString "." component) cfg.config
+    || useComponentPlatform component;
+
+  # List of components used in config
+  extraComponents = filter useComponent availableComponents;
+
+  package = if cfg.autoExtraComponents
+    then (cfg.package.override { inherit extraComponents; })
+    else cfg.package;
+
+in {
+  meta.maintainers = with maintainers; [ dotlambda ];
+
+  options.services.home-assistant = {
+    enable = mkEnableOption "Home Assistant";
+
+    configDir = mkOption {
+      default = "/var/lib/hass";
+      type = types.path;
+      description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
+    };
+
+    config = mkOption {
+      default = null;
+      type = with types; nullOr attrs;
+      example = literalExample ''
+        {
+          homeassistant = {
+            name = "Home";
+            time_zone = "UTC";
+          };
+          frontend = { };
+          http = { };
+          feedreader.urls = [ "https://nixos.org/blogs.xml" ];
+        }
+      '';
+      description = ''
+        Your <filename>configuration.yaml</filename> as a Nix attribute set.
+        Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
+      '';
+    };
+
+    package = mkOption {
+      default = pkgs.home-assistant;
+      defaultText = "pkgs.home-assistant";
+      type = types.package;
+      example = literalExample ''
+        pkgs.home-assistant.override {
+          extraPackages = ps: with ps; [ colorlog ];
+        }
+      '';
+      description = ''
+        Home Assistant package to use.
+        Override <literal>extraPackages</literal> in order to add additional dependencies.
+      '';
+    };
+
+    autoExtraComponents = mkOption {
+      default = true;
+      type = types.bool;
+      description = ''
+        If set to <literal>true</literal>, the components used in <literal>config</literal>
+        are set as the specified package's <literal>extraComponents</literal>.
+        This in turn adds all packaged dependencies to the derivation.
+        You might still see import errors in your log.
+        In this case, you will need to package the necessary dependencies yourself
+        or ask for someone else to package them.
+        If a dependency is packaged but not automatically added to this list,
+        you might need to specify it in <literal>extraPackages</literal>.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.home-assistant = {
+      description = "Home Assistant";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      preStart = lib.optionalString (cfg.config != null) ''
+        rm -f ${cfg.configDir}/configuration.yaml
+        ln -s ${configFile} ${cfg.configDir}/configuration.yaml
+      '';
+      serviceConfig = {
+        ExecStart = ''
+          ${package}/bin/hass --config "${cfg.configDir}"
+        '';
+        User = "hass";
+        Group = "hass";
+        Restart = "on-failure";
+        ProtectSystem = "strict";
+        ReadWritePaths = "${cfg.configDir}";
+        PrivateTmp = true;
+      };
+    };
+
+    users.extraUsers.hass = {
+      home = cfg.configDir;
+      createHome = true;
+      group = "hass";
+      uid = config.ids.uids.hass;
+    };
+
+    users.extraGroups.hass.gid = config.ids.gids.hass;
+  };
+}
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 80979547d339..7e880ad09b89 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -4,6 +4,8 @@ with lib;
 
 let
   cfg = config.services.matrix-synapse;
+  pg = config.services.postgresql;
+  usePostgresql = cfg.database_type == "psycopg2";
   logConfigFile = pkgs.writeText "log_config.yaml" cfg.logConfig;
   mkResource = r: ''{names: ${builtins.toJSON r.names}, compress: ${boolToString r.compress}}'';
   mkListener = l: ''{port: ${toString l.port}, bind_address: "${l.bind_address}", type: ${l.type}, tls: ${boolToString l.tls}, x_forwarded: ${boolToString l.x_forwarded}, resources: [${concatStringsSep "," (map mkResource l.resources)}]}'';
@@ -38,7 +40,7 @@ database: {
   name: "${cfg.database_type}",
   args: {
     ${concatStringsSep ",\n    " (
-      mapAttrsToList (n: v: "\"${n}\": ${v}") cfg.database_args
+      mapAttrsToList (n: v: "\"${n}\": ${builtins.toJSON v}") cfg.database_args
     )}
   }
 }
@@ -155,7 +157,7 @@ in {
       tls_certificate_path = mkOption {
         type = types.nullOr types.str;
         default = null;
-        example = "/var/lib/matrix-synapse/homeserver.tls.crt";
+        example = "${cfg.dataDir}/homeserver.tls.crt";
         description = ''
           PEM encoded X509 certificate for TLS.
           You can replace the self-signed certificate that synapse
@@ -167,7 +169,7 @@ in {
       tls_private_key_path = mkOption {
         type = types.nullOr types.str;
         default = null;
-        example = "/var/lib/matrix-synapse/homeserver.tls.key";
+        example = "${cfg.dataDir}/homeserver.tls.key";
         description = ''
           PEM encoded private key for TLS. Specify null if synapse is not
           speaking TLS directly.
@@ -176,7 +178,7 @@ in {
       tls_dh_params_path = mkOption {
         type = types.nullOr types.str;
         default = null;
-        example = "/var/lib/matrix-synapse/homeserver.tls.dh";
+        example = "${cfg.dataDir}/homeserver.tls.dh";
         description = ''
           PEM dh parameters for ephemeral keys
         '';
@@ -184,6 +186,7 @@ in {
       server_name = mkOption {
         type = types.str;
         example = "example.com";
+        default = config.networking.hostName;
         description = ''
           The domain name of the server, with optional explicit port.
           This is used by remote servers to connect to this server,
@@ -339,16 +342,39 @@ in {
       };
       database_type = mkOption {
         type = types.enum [ "sqlite3" "psycopg2" ];
-        default = "sqlite3";
+        default = if versionAtLeast config.system.stateVersion "18.03"
+          then "psycopg2"
+          else "sqlite3";
         description = ''
           The database engine name. Can be sqlite or psycopg2.
         '';
       };
+      create_local_database = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to create a local database automatically.
+        '';
+      };
+      database_name = mkOption {
+        type = types.str;
+        default = "matrix-synapse";
+        description = "Database name.";
+      };
+      database_user = mkOption {
+        type = types.str;
+        default = "matrix-synapse";
+        description = "Database user name.";
+      };
       database_args = mkOption {
         type = types.attrs;
         default = {
-          database = "${cfg.dataDir}/homeserver.db";
-        };
+          sqlite3 = { database = "${cfg.dataDir}/homeserver.db"; };
+          psycopg2 = {
+            user = cfg.database_user;
+            database = cfg.database_name;
+          };
+        }."${cfg.database_type}";
         description = ''
           Arguments to pass to the engine.
         '';
@@ -623,15 +649,36 @@ in {
         gid = config.ids.gids.matrix-synapse;
       } ];
 
+    services.postgresql.enable = mkIf usePostgresql (mkDefault true);
+
     systemd.services.matrix-synapse = {
       description = "Synapse Matrix homeserver";
-      after = [ "network.target" ];
+      after = [ "network.target" "postgresql.service" ];
       wantedBy = [ "multi-user.target" ];
       preStart = ''
         ${cfg.package}/bin/homeserver \
           --config-path ${configFile} \
           --keys-directory ${cfg.dataDir} \
           --generate-keys
+      '' + optionalString (usePostgresql && cfg.create_local_database) ''
+        if ! test -e "${cfg.dataDir}/db-created"; then
+          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
+            ${pg.package}/bin/createuser \
+            --login \
+            --no-createdb \
+            --no-createrole \
+            --encrypted \
+            ${cfg.database_user}
+          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
+            ${pg.package}/bin/createdb \
+            --owner=${cfg.database_user} \
+            --encoding=UTF8 \
+            --lc-collate=C \
+            --lc-ctype=C \
+            --template=template0 \
+            ${cfg.database_name}
+          touch "${cfg.dataDir}/db-created"
+        fi
       '';
       serviceConfig = {
         Type = "simple";
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index beca820d2d60..a169b0f2c784 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -8,7 +8,7 @@ let
 
   nix = cfg.package.out;
 
-  isNix112 = versionAtLeast (getVersion nix) "1.12pre";
+  isNix20 = versionAtLeast (getVersion nix) "2.0pre";
 
   makeNixBuildUser = nr:
     { name = "nixbld${toString nr}";
@@ -26,32 +26,40 @@ let
 
   nixConf =
     let
-      # If we're using sandbox for builds, then provide /bin/sh in
-      # the sandbox as a bind-mount to bash. This means we also need to
-      # include the entire closure of bash.
+      # In Nix < 2.0, If we're using sandbox for builds, then provide
+      # /bin/sh in the sandbox as a bind-mount to bash. This means we
+      # also need to include the entire closure of bash. Nix >= 2.0
+      # provides a /bin/sh by default.
       sh = pkgs.stdenv.shell;
       binshDeps = pkgs.writeReferencesToFile sh;
     in
-      pkgs.runCommand "nix.conf" {extraOptions = cfg.extraOptions; } ''
-        extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
+      pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; inherit binshDeps; } ''
+        ${optionalString (!isNix20) ''
+          extraPaths=$(for i in $(cat binshDeps); do if test -d $i; then echo $i; fi; done)
+        ''}
         cat > $out <<END
         # WARNING: this file is generated from the nix.* options in
         # your NixOS configuration, typically
         # /etc/nixos/configuration.nix.  Do not edit it!
         build-users-group = nixbld
-        build-max-jobs = ${toString (cfg.maxJobs)}
-        build-cores = ${toString (cfg.buildCores)}
-        build-use-sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
-        build-sandbox-paths = ${toString cfg.sandboxPaths} /bin/sh=${sh} $(echo $extraPaths)
-        binary-caches = ${toString cfg.binaryCaches}
-        trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
-        binary-cache-public-keys = ${toString cfg.binaryCachePublicKeys}
+        ${if isNix20 then "max-jobs" else "build-max-jobs"} = ${toString (cfg.maxJobs)}
+        ${if isNix20 then "cores" else "build-cores"} = ${toString (cfg.buildCores)}
+        ${if isNix20 then "sandbox" else "build-use-sandbox"} = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
+        ${if isNix20 then "extra-sandbox-paths" else "build-sandbox-paths"} = ${toString cfg.sandboxPaths} ${optionalString (!isNix20) "/bin/sh=${sh} $(echo $extraPaths)"}
+        ${if isNix20 then "substituters" else "binary-caches"} = ${toString cfg.binaryCaches}
+        ${if isNix20 then "trusted-substituters" else "trusted-binary-caches"} = ${toString cfg.trustedBinaryCaches}
+        ${if isNix20 then "trusted-public-keys" else "binary-cache-public-keys"} = ${toString cfg.binaryCachePublicKeys}
         auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
-        ${optionalString cfg.requireSignedBinaryCaches ''
-          signed-binary-caches = *
+        ${if isNix20 then ''
+          require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
+        '' else ''
+          signed-binary-caches = ${if cfg.requireSignedBinaryCaches then "*" else ""}
         ''}
         trusted-users = ${toString cfg.trustedUsers}
         allowed-users = ${toString cfg.allowedUsers}
+        ${optionalString (isNix20 && !cfg.distributedBuilds) ''
+          builders =
+        ''}
         $extraOptions
         END
       '';
@@ -377,8 +385,9 @@ in
     systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
 
     systemd.services.nix-daemon =
-      { path = [ nix pkgs.openssl.bin pkgs.utillinux config.programs.ssh.package ]
-          ++ optionals cfg.distributedBuilds [ pkgs.gzip ];
+      { path = [ nix pkgs.utillinux ]
+          ++ optionals cfg.distributedBuilds [ config.programs.ssh.package pkgs.gzip ]
+          ++ optionals (!isNix20) [ pkgs.openssl.bin ];
 
         environment = cfg.envVars
           // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
@@ -396,10 +405,9 @@ in
       };
 
     nix.envVars =
-      { NIX_CONF_DIR = "/etc/nix";
-      }
+      optionalAttrs (!isNix20) {
+        NIX_CONF_DIR = "/etc/nix";
 
-      // optionalAttrs (!isNix112) {
         # Enable the copy-from-other-stores substituter, which allows
         # builds to be sped up by copying build results from remote
         # Nix stores.  To do this, mount the remote file system on a
@@ -407,12 +415,8 @@ in
         NIX_OTHER_STORES = "/run/nix/remote-stores/*/nix";
       }
 
-      // optionalAttrs cfg.distributedBuilds {
-        NIX_BUILD_HOOK =
-          if isNix112 then
-            "${nix}/libexec/nix/build-remote"
-          else
-            "${nix}/libexec/nix/build-remote.pl";
+      // optionalAttrs (cfg.distributedBuilds && !isNix20) {
+        NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
       };
 
     # Set up the environment variables for running Nix.
@@ -420,7 +424,7 @@ in
       { NIX_PATH = concatStringsSep ":" cfg.nixPath;
       };
 
-    environment.extraInit =
+    environment.extraInit = optionalString (!isNix20)
       ''
         # Set up secure multi-user builds: non-root users build through the
         # Nix daemon.
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
index d85b5e4ec507..91539592511c 100644
--- a/nixos/modules/services/misc/zookeeper.nix
+++ b/nixos/modules/services/misc/zookeeper.nix
@@ -106,10 +106,19 @@ in {
       '';
     };
 
+    package = mkOption {
+      description = "The zookeeper package to use";
+      default = pkgs.zookeeper;
+      defaultText = "pkgs.zookeeper";
+      type = types.package;
+    };
+
   };
 
 
   config = mkIf cfg.enable {
+    environment.systemPackages = [cfg.package];
+
     systemd.services.zookeeper = {
       description = "Zookeeper Daemon";
       wantedBy = [ "multi-user.target" ];
@@ -118,7 +127,7 @@ in {
       serviceConfig = {
         ExecStart = ''
           ${pkgs.jre}/bin/java \
-            -cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \
+            -cp "${cfg.package}/lib/*:${cfg.package}/${cfg.package.name}.jar:${configDir}" \
             ${escapeShellArgs cfg.extraCmdLineOptions} \
             -Dzookeeper.datadir.autocreate=false \
             ${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \
diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix
index e1fde4fc9500..d23b329eeb25 100644
--- a/nixos/modules/services/monitoring/netdata.nix
+++ b/nixos/modules/services/monitoring/netdata.nix
@@ -5,18 +5,25 @@ with lib;
 let
   cfg = config.services.netdata;
 
-  configFile = pkgs.writeText "netdata.conf" cfg.configText;
+  wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} ''
+    mkdir -p $out/libexec/netdata/plugins.d
+    ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
+  '';
+
+  localConfig = {
+    global = {
+      "plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
+    };
+  };
+  mkConfig = generators.toINI {} (recursiveUpdate localConfig cfg.config);
+  configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);
 
   defaultUser = "netdata";
 
 in {
   options = {
     services.netdata = {
-      enable = mkOption {
-        default = false;
-        type = types.bool;
-        description = "Whether to enable netdata monitoring.";
-      };
+      enable = mkEnableOption "netdata";
 
       user = mkOption {
         type = types.str;
@@ -31,9 +38,9 @@ in {
       };
 
       configText = mkOption {
-        type = types.lines;
-        default = "";
-        description = "netdata.conf configuration.";
+        type = types.nullOr types.lines;
+        description = "Verbatim netdata.conf, cannot be combined with config.";
+        default = null;
         example = ''
           [global]
           debug log = syslog
@@ -42,11 +49,29 @@ in {
         '';
       };
 
+      config = mkOption {
+        type = types.attrsOf types.attrs;
+        default = {};
+        description = "netdata.conf configuration as nix attributes. cannot be combined with configText.";
+        example = literalExample ''
+          global = {
+            "debug log" = "syslog";
+            "access log" = "syslog";
+            "error log" = "syslog";
+          };
+        '';
+        };
+      };
     };
-  };
 
   config = mkIf cfg.enable {
+    assertions =
+      [ { assertion = cfg.config != {} -> cfg.configText == null ;
+          message = "Cannot specify both config and configText";
+        }
+      ];
     systemd.services.netdata = {
+      path = with pkgs; [ gawk curl ];
       description = "Real time performance monitoring";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
@@ -66,6 +91,15 @@ in {
       };
     };
 
+    security.wrappers."apps.plugin" = {
+      source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin";
+      capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
+      owner = cfg.user;
+      group = cfg.group;
+      permissions = "u+rx,g+rx,o-rwx";
+    };
+
+
     users.extraUsers = optional (cfg.user == defaultUser) {
       name = defaultUser;
     };
diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix
deleted file mode 100644
index 0946e379e796..000000000000
--- a/nixos/modules/services/network-filesystems/openafs-client/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-let
-  inherit (lib) mkOption mkIf;
-
-  cfg = config.services.openafsClient;
-
-  cellServDB = pkgs.fetchurl {
-    url = http://dl.central.org/dl/cellservdb/CellServDB.2017-03-14;
-    sha256 = "1197z6c5xrijgf66rhaymnm5cvyg2yiy1i20y4ah4mrzmjx0m7sc";
-  };
-
-  afsConfig = pkgs.runCommand "afsconfig" {} ''
-    mkdir -p $out
-    echo ${cfg.cellName} > $out/ThisCell
-    cp ${cellServDB} $out/CellServDB
-    echo "/afs:${cfg.cacheDirectory}:${cfg.cacheSize}" > $out/cacheinfo
-  '';
-
-  openafsPkgs = config.boot.kernelPackages.openafsClient;
-in
-{
-  ###### interface
-
-  options = {
-
-    services.openafsClient = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable the OpenAFS client.";
-      };
-
-      cellName = mkOption {
-        default = "grand.central.org";
-        description = "Cell name.";
-      };
-
-      cacheSize = mkOption {
-        default = "100000";
-        description = "Cache size.";
-      };
-
-      cacheDirectory = mkOption {
-        default = "/var/cache/openafs";
-        description = "Cache directory.";
-      };
-
-      crypt = mkOption {
-        default = false;
-        description = "Whether to enable (weak) protocol encryption.";
-      };
-
-      sparse = mkOption {
-        default = false;
-        description = "Minimal cell list in /afs.";
-      };
-
-    };
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    environment.systemPackages = [ openafsPkgs ];
-
-    environment.etc = [
-      { source = afsConfig;
-        target = "openafs";
-      }
-    ];
-
-    systemd.services.afsd = {
-      description = "AFS client";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
-      serviceConfig = { RemainAfterExit = true; };
-
-      preStart = ''
-        mkdir -p -m 0755 /afs
-        mkdir -m 0700 -p ${cfg.cacheDirectory}
-        ${pkgs.kmod}/bin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true
-        ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb
-        ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"}
-      '';
-
-      # Doing this in preStop, because after these commands AFS is basically
-      # stopped, so systemd has nothing to do, just noticing it.  If done in
-      # postStop, then we get a hang + kernel oops, because AFS can't be
-      # stopped simply by sending signals to processes.
-      preStop = ''
-        ${pkgs.utillinux}/bin/umount /afs
-        ${openafsPkgs}/sbin/afsd -shutdown
-      '';
-    };
-  };
-}
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
new file mode 100644
index 000000000000..3826fe3edfd0
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -0,0 +1,239 @@
+{ config, pkgs, lib, ... }:
+
+with import ./lib.nix { inherit lib; };
+
+let
+  inherit (lib) getBin mkOption mkIf optionalString singleton types;
+
+  cfg = config.services.openafsClient;
+
+  cellServDB = pkgs.fetchurl {
+    url = http://dl.central.org/dl/cellservdb/CellServDB.2017-03-14;
+    sha256 = "1197z6c5xrijgf66rhaymnm5cvyg2yiy1i20y4ah4mrzmjx0m7sc";
+  };
+
+  clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB);
+
+  afsConfig = pkgs.runCommand "afsconfig" {} ''
+    mkdir -p $out
+    echo ${cfg.cellName} > $out/ThisCell
+    cat ${cellServDB} ${clientServDB} > $out/CellServDB
+    echo "${cfg.mountPoint}:${cfg.cache.directory}:${toString cfg.cache.blocks}" > $out/cacheinfo
+  '';
+
+  openafsMod = config.boot.kernelPackages.openafs;
+  openafsBin = lib.getBin pkgs.openafs;
+in
+{
+  ###### interface
+
+  options = {
+
+    services.openafsClient = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Whether to enable the OpenAFS client.";
+      };
+
+      afsdb = mkOption {
+        default = true;
+        type = types.bool;
+        description = "Resolve cells via AFSDB DNS records.";
+      };
+
+      cellName = mkOption {
+        default = "";
+        type = types.str;
+        description = "Cell name.";
+        example = "grand.central.org";
+      };
+
+      cellServDB = mkOption {
+        default = [];
+        type = with types; listOf (submodule { options = cellServDBConfig; });
+        description = ''
+          This cell's database server records, added to the global
+          CellServDB. See CellServDB(5) man page for syntax. Ignored when
+          <literal>afsdb</literal> is set to <literal>true</literal>.
+        '';
+        example = ''
+          [ { ip = "1.2.3.4"; dnsname = "first.afsdb.server.dns.fqdn.org"; }
+            { ip = "2.3.4.5"; dnsname = "second.afsdb.server.dns.fqdn.org"; }
+          ]
+        '';
+      };
+
+      cache = {
+        blocks = mkOption {
+          default = 100000;
+          type = types.int;
+          description = "Cache size in 1KB blocks.";
+        };
+
+        chunksize = mkOption {
+          default = 0;
+          type = types.ints.between 0 30;
+          description = ''
+            Size of each cache chunk given in powers of
+            2. <literal>0</literal> resets the chunk size to its default
+            values (13 (8 KB) for memcache, 18-20 (256 KB to 1 MB) for
+            diskcache). Maximum value is 30. Important performance
+            parameter. Set to higher values when dealing with large files.
+          '';
+        };
+
+        directory = mkOption {
+          default = "/var/cache/openafs";
+          type = types.str;
+          description = "Cache directory.";
+        };
+
+        diskless = mkOption {
+          default = false;
+          type = types.bool;
+          description = ''
+            Use in-memory cache for diskless machines. Has no real
+            performance benefit anymore.
+          '';
+        };
+      };
+
+      crypt = mkOption {
+        default = true;
+        type = types.bool;
+        description = "Whether to enable (weak) protocol encryption.";
+      };
+
+      daemons = mkOption {
+        default = 2;
+        type = types.int;
+        description = ''
+          Number of daemons to serve user requests. Numbers higher than 6
+          usually do no increase performance. Default is sufficient for up
+          to five concurrent users.
+        '';
+      };
+
+      fakestat = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Return fake data on stat() calls. If <literal>true</literal>,
+          always do so. If <literal>false</literal>, only do so for
+          cross-cell mounts (as these are potentially expensive).
+        '';
+      };
+
+      inumcalc = mkOption {
+        default = "compat";
+        type = types.strMatching "compat|md5";
+        description = ''
+          Inode calculation method. <literal>compat</literal> is
+          computationally less expensive, but <literal>md5</literal> greatly
+          reduces the likelihood of inode collisions in larger scenarios
+          involving multiple cells mounted into one AFS space.
+        '';
+      };
+
+      mountPoint = mkOption {
+        default = "/afs";
+        type = types.str;
+        description = ''
+          Mountpoint of the AFS file tree, conventionally
+          <literal>/afs</literal>. When set to a different value, only
+          cross-cells that use the same value can be accessed.
+        '';
+      };
+
+      sparse = mkOption {
+        default = true;
+        type = types.bool;
+        description = "Minimal cell list in /afs.";
+      };
+
+      startDisconnected = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Start up in disconnected mode.  You need to execute
+          <literal>fs disco online</literal> (as root) to switch to
+          connected mode. Useful for roaming devices.
+        '';
+      };
+
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = cfg.afsdb || cfg.cellServDB != [];
+        message = "You should specify all cell-local database servers in config.services.openafsClient.cellServDB or set config.services.openafsClient.afsdb.";
+      }
+      { assertion = cfg.cellName != "";
+        message = "You must specify the local cell name in config.services.openafsClient.cellName.";
+      }
+    ];
+
+    environment.systemPackages = [ pkgs.openafs ];
+
+    environment.etc = {
+      clientCellServDB = {
+        source = pkgs.runCommand "CellServDB" {} ''
+          cat ${cellServDB} ${clientServDB} > $out
+        '';
+        target = "openafs/CellServDB";
+        mode = "0644";
+      };
+      clientCell = {
+        text = ''
+          ${cfg.cellName}
+        '';
+        target = "openafs/ThisCell";
+        mode = "0644";
+      };
+    };
+
+    systemd.services.afsd = {
+      description = "AFS client";
+      wantedBy = [ "multi-user.target" ];
+      after = singleton (if cfg.startDisconnected then  "network.target" else "network-online.target");
+      serviceConfig = { RemainAfterExit = true; };
+      restartIfChanged = false;
+
+      preStart = ''
+        mkdir -p -m 0755 ${cfg.mountPoint}
+        mkdir -m 0700 -p ${cfg.cache.directory}
+        ${pkgs.kmod}/bin/insmod ${openafsMod}/lib/modules/*/extra/openafs/libafs.ko.xz
+        ${openafsBin}/sbin/afsd \
+          -mountdir ${cfg.mountPoint} \
+          -confdir ${afsConfig} \
+          ${optionalString (!cfg.cache.diskless) "-cachedir ${cfg.cache.directory}"} \
+          -blocks ${toString cfg.cache.blocks} \
+          -chunksize ${toString cfg.cache.chunksize} \
+          ${optionalString cfg.cache.diskless "-memcache"} \
+          -inumcalc ${cfg.inumcalc} \
+          ${if cfg.fakestat then "-fakestat-all" else "-fakestat"} \
+          ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} \
+          ${optionalString cfg.afsdb "-afsdb"}
+        ${openafsBin}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"}
+        ${optionalString cfg.startDisconnected "${openafsBin}/bin/fs discon offline"}
+      '';
+
+      # Doing this in preStop, because after these commands AFS is basically
+      # stopped, so systemd has nothing to do, just noticing it.  If done in
+      # postStop, then we get a hang + kernel oops, because AFS can't be
+      # stopped simply by sending signals to processes.
+      preStop = ''
+        ${pkgs.utillinux}/bin/umount ${cfg.mountPoint}
+        ${openafsBin}/sbin/afsd -shutdown
+        ${pkgs.kmod}/sbin/rmmod libafs
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/openafs/lib.nix b/nixos/modules/services/network-filesystems/openafs/lib.nix
new file mode 100644
index 000000000000..ecfc72d2eaf9
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/openafs/lib.nix
@@ -0,0 +1,28 @@
+{ lib, ...}:
+
+let
+  inherit (lib) concatStringsSep mkOption types;
+
+in rec {
+
+  mkCellServDB = cellName: db: ''
+    >${cellName}
+  '' + (concatStringsSep "\n" (map (dbm: if (dbm.ip != "" && dbm.dnsname != "") then dbm.ip + " #" + dbm.dnsname else "")
+                                   db));
+
+  # CellServDB configuration type
+  cellServDBConfig = {
+    ip = mkOption {
+      type = types.str;
+      default = "";
+      example = "1.2.3.4";
+      description = "IP Address of a database server";
+    };
+    dnsname = mkOption {
+      type = types.str;
+      default = "";
+      example = "afs.example.org";
+      description = "DNS full-qualified domain name of a database server";
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix
new file mode 100644
index 000000000000..429eb945ac9e
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -0,0 +1,260 @@
+{ config, pkgs, lib, ... }:
+
+with import ./lib.nix { inherit lib; };
+
+let
+  inherit (lib) concatStringsSep intersperse mapAttrsToList mkForce mkIf mkMerge mkOption optionalString types;
+
+  bosConfig = pkgs.writeText "BosConfig" (''
+    restrictmode 1
+    restarttime 16 0 0 0 0
+    checkbintime 3 0 5 0 0
+  '' + (optionalString cfg.roles.database.enable ''
+    bnode simple vlserver 1
+    parm ${openafsBin}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs}
+    end
+    bnode simple ptserver 1
+    parm ${openafsBin}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs}
+    end
+  '') + (optionalString cfg.roles.fileserver.enable ''
+    bnode dafs dafs 1
+    parm ${openafsBin}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs}
+    parm ${openafsBin}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs}
+    parm ${openafsBin}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs}
+    parm ${openafsBin}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs}
+    end
+  '') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable) ''
+    bnode simple buserver 1
+    parm ${openafsBin}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString (cfg.roles.backup.cellServDB != []) "-cellservdb /etc/openafs/backup/"}
+    end
+  ''));
+
+  netInfo = if (cfg.advertisedAddresses != []) then
+    pkgs.writeText "NetInfo" ((concatStringsSep "\nf " cfg.advertisedAddresses) + "\n")
+  else null;
+
+  buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.roles.backup.cellServDB);
+
+  cfg = config.services.openafsServer;
+
+  udpSizeStr = toString cfg.udpPacketSize;
+
+  openafsBin = lib.getBin pkgs.openafs;
+
+in {
+
+  options = {
+
+    services.openafsServer = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to enable the OpenAFS server. An OpenAFS server needs a
+          complex setup. So, be aware that enabling this service and setting
+          some options does not give you a turn-key-ready solution. You need
+          at least a running Kerberos 5 setup, as OpenAFS relies on it for
+          authentication. See the Guide "QuickStartUnix" coming with
+          <literal>pkgs.openafs.doc</literal> for complete setup
+          instructions.
+        '';
+      };
+
+      advertisedAddresses = mkOption {
+        default = [];
+        description = "List of IP addresses this server is advertised under. See NetInfo(5)";
+      };
+
+      cellName = mkOption {
+        default = "";
+        type = types.str;
+        description = "Cell name, this server will serve.";
+        example = "grand.central.org";
+      };
+
+      cellServDB = mkOption {
+        default = [];
+        type = with types; listOf (submodule [ { options = cellServDBConfig;} ]);
+        description = "Definition of all cell-local database server machines.";
+      };
+
+      roles = {
+        fileserver = {
+          enable = mkOption {
+            default = true;
+            type = types.bool;
+            description = "Fileserver role, serves files and volumes from its local storage.";
+          };
+
+          fileserverArgs = mkOption {
+            default = "-vattachpar 128 -vhashsize 11 -L -rxpck 400 -cb 1000000";
+            type = types.str;
+            description = "Arguments to the dafileserver process. See its man page.";
+          };
+
+          volserverArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the davolserver process. See its man page.";
+            example = "-sync never";
+          };
+
+          salvageserverArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the salvageserver process. See its man page.";
+            example = "-showlog";
+          };
+
+          salvagerArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the dasalvager process. See its man page.";
+            example = "-showlog -showmounts";
+          };
+        };
+
+        database = {
+          enable = mkOption {
+            default = true;
+            type = types.bool;
+            description = ''
+              Database server role, maintains the Volume Location Database,
+              Protection Database (and Backup Database, see
+              <literal>backup</literal> role). There can be multiple
+              servers in the database role for replication, which then need
+              reliable network connection to each other.
+
+              Servers in this role appear in AFSDB DNS records or the
+              CellServDB.
+            '';
+          };
+
+          vlserverArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the vlserver process. See its man page.";
+            example = "-rxbind";
+          };
+
+          ptserverArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the ptserver process. See its man page.";
+            example = "-restricted -default_access S---- S-M---";
+          };
+        };
+
+        backup = {
+          enable = mkOption {
+            default = false;
+            type = types.bool;
+            description = ''
+              Backup server role. Use in conjunction with the
+              <literal>database</literal> role to maintain the Backup
+              Database. Normally only used in conjunction with tape storage
+              or IBM's Tivoli Storage Manager.
+            '';
+          };
+
+          buserverArgs = mkOption {
+            default = "";
+            type = types.str;
+            description = "Arguments to the buserver process. See its man page.";
+            example = "-p 8";
+          };
+
+          cellServDB = mkOption {
+            default = [];
+            type = with types; listOf (submodule [ { options = cellServDBConfig;} ]);
+            description = ''
+              Definition of all cell-local backup database server machines.
+              Use this when your cell uses less backup database servers than
+              other database server machines.
+            '';
+          };
+        };
+      };
+
+      dottedPrincipals= mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          If enabled, allow principal names containing (.) dots. Enabling
+          this has security implications!
+        '';
+      };
+
+      udpPacketSize = mkOption {
+        default = 1310720;
+        type = types.int;
+        description = ''
+          UDP packet size to use in Bytes. Higher values can speed up
+          communications. The default of 1 MB is a sufficient in most
+          cases. Make sure to increase the kernel's UDP buffer size
+          accordingly via <literal>net.core(w|r|opt)mem_max</literal>
+          sysctl.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = cfg.cellServDB != [];
+        message = "You must specify all cell-local database servers in config.services.openafsServer.cellServDB.";
+      }
+      { assertion = cfg.cellName != "";
+        message = "You must specify the local cell name in config.services.openafsServer.cellName.";
+      }
+    ];
+
+    environment.systemPackages = [ pkgs.openafs ];
+
+    environment.etc = {
+      bosConfig = {
+        source = bosConfig;
+        target = "openafs/BosConfig";
+        mode = "0644";
+      };
+      cellServDB = {
+        text = mkCellServDB cfg.cellName cfg.cellServDB;
+        target = "openafs/server/CellServDB";
+        mode = "0644";
+      };
+      thisCell = {
+        text = cfg.cellName;
+        target = "openafs/server/ThisCell";
+        mode = "0644";
+      };
+      buCellServDB = {
+        enable = (cfg.roles.backup.cellServDB != []);
+        text = mkCellServDB cfg.cellName cfg.roles.backup.cellServDB;
+        target = "openafs/backup/CellServDB";
+      };
+    };
+
+    systemd.services = {
+      openafs-server = {
+        description = "OpenAFS server";
+        after = [ "syslog.target" "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        restartIfChanged = false;
+        unitConfig.ConditionPathExists = [ "/etc/openafs/server/rxkad.keytab" ];
+        preStart = ''
+          mkdir -m 0755 -p /var/openafs
+          ${optionalString (netInfo != null) "cp ${netInfo} /var/openafs/netInfo"}
+          ${optionalString (cfg.roles.backup.cellServDB != []) "cp ${buCellServDB}"}
+        '';
+        serviceConfig = {
+          ExecStart = "${openafsBin}/bin/bosserver -nofork";
+          ExecStop = "${openafsBin}/bin/bos shutdown localhost -wait -localauth";
+        };
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index 09cd9cb22ca8..b23266e8d43a 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -54,10 +54,12 @@ let
       };
 
       serviceConfig = {
-        ExecStart = "${samba}/sbin/${appName} ${args}";
+        ExecStart = "${samba}/sbin/${appName} --foreground --no-process-group ${args}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         LimitNOFILE = 16384;
+        PIDFile = "/run/${appName}.pid";
         Type = "notify";
+        NotifyAccess = "all"; #may not do anything...
       };
 
       restartTriggers = [ configFile ];
@@ -231,11 +233,12 @@ in
             after = [ "samba-setup.service" "network.target" ];
             wantedBy = [ "multi-user.target" ];
           };
-
+          # Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
+          # for correct use with systemd
           services = {
-            "samba-smbd" = daemonService "smbd" "-F";
-            "samba-nmbd" = mkIf cfg.enableNmbd (daemonService "nmbd" "-F");
-            "samba-winbindd" = mkIf cfg.enableWinbindd (daemonService "winbindd" "-F");
+            "samba-smbd" = daemonService "smbd" "";
+            "samba-nmbd" = mkIf cfg.enableNmbd (daemonService "nmbd" "");
+            "samba-winbindd" = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
             "samba-setup" = {
               description = "Samba Setup Task";
               script = setupScript;
diff --git a/nixos/modules/services/networking/aria2.nix b/nixos/modules/services/networking/aria2.nix
index ad4ac9bf45e3..df9c92db2e54 100644
--- a/nixos/modules/services/networking/aria2.nix
+++ b/nixos/modules/services/networking/aria2.nix
@@ -10,9 +10,9 @@ let
   settingsDir = "${homeDir}";
   sessionFile = "${homeDir}/aria2.session";
   downloadDir = "${homeDir}/Downloads";
-  
+
   rangesToStringList = map (x: builtins.toString x.from +"-"+ builtins.toString x.to);
-  
+
   settingsFile = pkgs.writeText "aria2.conf"
   ''
     dir=${cfg.downloadDir}
@@ -110,12 +110,12 @@ in
         mkdir -m 0770 -p "${homeDir}"
         chown aria2:aria2 "${homeDir}"
         if [[ ! -d "${config.services.aria2.downloadDir}" ]]
-        then 
+        then
           mkdir -m 0770 -p "${config.services.aria2.downloadDir}"
           chown aria2:aria2 "${config.services.aria2.downloadDir}"
         fi
         if [[ ! -e "${sessionFile}" ]]
-        then 
+        then
           touch "${sessionFile}"
           chown aria2:aria2 "${sessionFile}"
         fi
@@ -132,4 +132,4 @@ in
       };
     };
   };
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix
index 011a9b2f58ea..d0c19c4ecb71 100644
--- a/nixos/modules/services/networking/kresd.nix
+++ b/nixos/modules/services/networking/kresd.nix
@@ -43,7 +43,7 @@ in
       type = with types; listOf str;
       default = [ "::1" "127.0.0.1" ];
       description = ''
-        What addresses the server should listen on.
+        What addresses the server should listen on. (UDP+TCP 53)
       '';
     };
     # TODO: perhaps options for more common stuff like cache size or forwarding
@@ -99,9 +99,9 @@ in
         Restart = "on-failure";
       };
 
+      # Trust anchor goes from dns-root-data by default.
       script = ''
-        exec '${package}/bin/kresd' --config '${configFile}' \
-          -k '${pkgs.dns-root-data}/root.key'
+        exec '${package}/bin/kresd' --config '${configFile}' --forks=1
       '';
 
       requires = [ "kresd.socket" ];
diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix
new file mode 100644
index 000000000000..31379189f5de
--- /dev/null
+++ b/nixos/modules/services/networking/monero.nix
@@ -0,0 +1,238 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg     = config.services.monero;
+  dataDir = "/var/lib/monero";
+
+  listToConf = option: list:
+    concatMapStrings (value: "${option}=${value}\n") list;
+
+  login = (cfg.rpc.user != null && cfg.rpc.password != null);
+
+  configFile = with cfg; pkgs.writeText "monero.conf" ''
+    log-file=/dev/stdout
+    data-dir=${dataDir}
+
+    ${optionalString mining.enable ''
+      start-mining=${mining.address}
+      mining-threads=${toString mining.threads}
+    ''}
+
+    rpc-bind-ip=${rpc.address}
+    rpc-bind-port=${toString rpc.port}
+    ${optionalString login ''
+      rpc-login=${rpc.user}:${rpc.password}
+    ''}
+    ${optionalString rpc.restricted ''
+      restrict-rpc=1
+    ''}
+
+    limit-rate-up=${toString limits.upload}
+    limit-rate-down=${toString limits.download}
+    max-concurrency=${toString limits.threads}
+    block-sync-size=${toString limits.syncSize}
+
+    ${listToConf "add-peer" extraNodes}
+    ${listToConf "add-priority-node" priorityNodes}
+    ${listToConf "add-exclusive-node" exclusiveNodes}
+
+    ${extraConfig}
+  '';
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.monero = {
+
+      enable = mkEnableOption "Monero node daemon.";
+
+      mining.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to mine moneroj.
+        '';
+      };
+
+      mining.address = mkOption {
+        type = types.str;
+        default = "";
+        description = ''
+          Monero address where to send mining rewards.
+        '';
+      };
+
+      mining.threads = mkOption {
+        type = types.addCheck types.int (x: x>=0);
+        default = 0;
+        description = ''
+          Number of threads used for mining.
+          Set to <literal>0</literal> to use all available.
+        '';
+      };
+
+      rpc.user = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          User name for RPC connections.
+        '';
+      };
+
+      rpc.password = mkOption {
+        type = types.str;
+        default = null;
+        description = ''
+          Password for RPC connections.
+        '';
+      };
+
+      rpc.address = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = ''
+          IP address the RPC server will bind to.
+        '';
+      };
+
+      rpc.port = mkOption {
+        type = types.int;
+        default = 18081;
+        description = ''
+          Port the RPC server will bind to.
+        '';
+      };
+
+      rpc.restricted = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to restrict RPC to view only commands.
+        '';
+      };
+
+      limits.upload = mkOption {
+        type = types.addCheck types.int (x: x>=-1);
+        default = -1;
+        description = ''
+          Limit of the upload rate in kB/s.
+          Set to <literal>-1</literal> to leave unlimited.
+        '';
+      };
+
+      limits.download = mkOption {
+        type = types.addCheck types.int (x: x>=-1);
+        default = -1;
+        description = ''
+          Limit of the download rate in kB/s.
+          Set to <literal>-1</literal> to leave unlimited.
+        '';
+      };
+
+      limits.threads = mkOption {
+        type = types.addCheck types.int (x: x>=0);
+        default = 0;
+        description = ''
+          Maximum number of threads used for a parallel job.
+          Set to <literal>0</literal> to leave unlimited.
+        '';
+      };
+
+      limits.syncSize = mkOption {
+        type = types.addCheck types.int (x: x>=0);
+        default = 0;
+        description = ''
+          Maximum number of blocks to sync at once.
+          Set to <literal>0</literal> for adaptive.
+        '';
+      };
+
+      extraNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          List of additional peer IP addresses to add to the local list.
+        '';
+      };
+
+      priorityNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          List of peer IP addresses to connect to and
+          attempt to keep the connection open.
+        '';
+      };
+
+      exclusiveNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          List of peer IP addresses to connect to *only*.
+          If given the other peer options will be ignored.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Extra lines to be added verbatim to monerod configuration.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers = singleton {
+      name = "monero";
+      uid  = config.ids.uids.monero;
+      description = "Monero daemon user";
+      home = dataDir;
+      createHome = true;
+    };
+
+    users.extraGroups = singleton {
+      name = "monero";
+      gid  = config.ids.gids.monero;
+    };
+
+    systemd.services.monero = {
+      description = "monero daemon";
+      after    = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        User  = "monero";
+        Group = "monero";
+        ExecStart = "${pkgs.monero}/bin/monerod --config-file=${configFile} --non-interactive";
+        Restart = "always";
+        SuccessExitStatus = [ 0 1 ];
+      };
+    };
+
+   assertions = singleton {
+     assertion = cfg.mining.enable -> cfg.mining.address != "";
+     message   = ''
+       You need a Monero address to receive mining rewards:
+       specify one using option monero.mining.address.
+    '';
+   };
+
+  };
+
+}
+
diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix
index 273ca797b98d..d8135f4d0ffa 100644
--- a/nixos/modules/services/networking/mosquitto.nix
+++ b/nixos/modules/services/networking/mosquitto.nix
@@ -212,7 +212,7 @@ in
       '' + concatStringsSep "\n" (
         mapAttrsToList (n: c:
           if c.hashedPassword != null then
-            "echo '${n}:${c.hashedPassword}' > ${cfg.dataDir}/passwd"
+            "echo '${n}:${c.hashedPassword}' >> ${cfg.dataDir}/passwd"
           else optionalString (c.password != null)
             "${pkgs.mosquitto}/bin/mosquitto_passwd -b ${cfg.dataDir}/passwd ${n} ${c.password}"
         ) cfg.users);
diff --git a/nixos/modules/services/networking/resilio.nix b/nixos/modules/services/networking/resilio.nix
index 6d2b7bdbca1b..d1c4101f80bd 100644
--- a/nixos/modules/services/networking/resilio.nix
+++ b/nixos/modules/services/networking/resilio.nix
@@ -17,7 +17,7 @@ let
 
     search_lan = entry.searchLAN;
     use_sync_trash = entry.useSyncTrash;
-    known_hosts = knownHosts;
+    known_hosts = entry.knownHosts;
   }) cfg.sharedFolders;
 
   configFile = pkgs.writeText "config.json" (builtins.toJSON ({
diff --git a/nixos/modules/services/networking/rxe.nix b/nixos/modules/services/networking/rxe.nix
new file mode 100644
index 000000000000..a6a069ec50c0
--- /dev/null
+++ b/nixos/modules/services/networking/rxe.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.networking.rxe;
+
+  runRxeCmd = cmd: ifcs:
+    concatStrings ( map (x: "${pkgs.rdma-core}/bin/rxe_cfg -n ${cmd} ${x};") ifcs);
+
+  startScript = pkgs.writeShellScriptBin "rxe-start" ''
+    ${pkgs.rdma-core}/bin/rxe_cfg -n start
+    ${runRxeCmd "add" cfg.interfaces}
+    ${pkgs.rdma-core}/bin/rxe_cfg
+  '';
+
+  stopScript = pkgs.writeShellScriptBin "rxe-stop" ''
+    ${runRxeCmd "remove" cfg.interfaces }
+    ${pkgs.rdma-core}/bin/rxe_cfg -n stop
+  '';
+
+in {
+  ###### interface
+
+  options = {
+    networking.rxe = {
+      enable = mkEnableOption "RDMA over converged ethernet";
+      interfaces = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "eth0" ];
+        description = ''
+          Enable RDMA on the listed interfaces. The corresponding virtual
+          RDMA interfaces will be named rxe0 ... rxeN where the ordering
+          will be as they are named in the list. UDP port 4791 must be
+          open on the respective ethernet interfaces.
+        '';
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.rxe = {
+      path = with pkgs; [ kmod rdma-core ];
+      description = "RoCE interfaces";
+
+      wantedBy = [ "multi-user.target" ];
+      after = [ "systemd-modules-load.service" "network-online.target" ];
+      wants = [ "network-pre.target" ];
+
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${startScript}/bin/rxe-start";
+        ExecStop = "${stopScript}/bin/rxe-stop";
+      };
+    };
+  };
+}
+
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index aa9c0fa1c09f..e50c4dbacf36 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -21,7 +21,7 @@ let
           daemon reads in addition to the the user's authorized_keys file.
           You can combine the <literal>keys</literal> and
           <literal>keyFiles</literal> options.
-          Warning: If you are using <literal>NixOps</literal> then don't use this 
+          Warning: If you are using <literal>NixOps</literal> then don't use this
           option since it will replace the key required for deployment via ssh.
         '';
       };
@@ -137,6 +137,14 @@ in
         '';
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to automatically open the specified ports in the firewall.
+        '';
+      };
+
       listenAddresses = mkOption {
         type = with types; listOf (submodule {
           options = {
@@ -302,7 +310,7 @@ in
 
       };
 
-    networking.firewall.allowedTCPPorts = cfg.ports;
+    networking.firewall.allowedTCPPorts = if cfg.openFirewall then cfg.ports else [];
 
     security.pam.services.sshd =
       { startSession = true;
@@ -367,9 +375,6 @@ in
         # 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/networking/stunnel.nix b/nixos/modules/services/networking/stunnel.nix
new file mode 100644
index 000000000000..89a14966eca7
--- /dev/null
+++ b/nixos/modules/services/networking/stunnel.nix
@@ -0,0 +1,221 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.stunnel;
+  yesNo = val: if val then "yes" else "no";
+
+  verifyChainPathAssert = n: c: {
+    assertion = c.verifyHostname == null || (c.verifyChain || c.verifyPeer);
+    message =  "stunnel: \"${n}\" client configuration - hostname verification " +
+      "is not possible without either verifyChain or verifyPeer enabled";
+  };
+
+  serverConfig = {
+    options = {
+      accept = mkOption {
+        type = types.int;
+        description = "On which port stunnel should listen for incoming TLS connections.";
+      };
+
+      connect = mkOption {
+        type = types.int;
+        description = "To which port the decrypted connection should be forwarded.";
+      };
+
+      cert = mkOption {
+        type = types.path;
+        description = "File containing both the private and public keys.";
+      };
+    };
+  };
+
+  clientConfig = {
+    options = {
+      accept = mkOption {
+        type = types.string;
+        description = "IP:Port on which connections should be accepted.";
+      };
+
+      connect = mkOption {
+        type = types.string;
+        description = "IP:Port destination to connect to.";
+      };
+
+      verifyChain = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Check if the provided certificate has a valid certificate chain (against CAPath).";
+      };
+
+      verifyPeer = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Check if the provided certificate is contained in CAPath.";
+      };
+
+      CAPath = mkOption {
+        type = types.path;
+        default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
+        description = "Path to a file containing certificates to validate against.";
+      };
+
+      verifyHostname = mkOption {
+        type = with types; nullOr string;
+        default = null;
+        description = "If set, stunnel checks if the provided certificate is valid for the given hostname.";
+      };
+    };
+  };
+
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.stunnel = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the stunnel TLS tunneling service.";
+      };
+
+      user = mkOption {
+        type = with types; nullOr string;
+        default = "nobody";
+        description = "The user under which stunnel runs.";
+      };
+
+      group = mkOption {
+        type = with types; nullOr string;
+        default = "nogroup";
+        description = "The group under which stunnel runs.";
+      };
+
+      logLevel = mkOption {
+        type = types.enum [ "emerg" "alert" "crit" "err" "warning" "notice" "info" "debug" ];
+        default = "info";
+        description = "Verbosity of stunnel output.";
+      };
+
+      fipsMode = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable FIPS 140-2 mode required for compliance.";
+      };
+
+      enableInsecureSSLv3 = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable support for the insecure SSLv3 protocol.";
+      };
+
+
+      servers = mkOption {
+        description = "Define the server configuations.";
+        type = with types; attrsOf (submodule serverConfig);
+        example = {
+          fancyWebserver = {
+            enable = true;
+            accept = 443;
+            connect = 8080;
+            cert = "/path/to/pem/file";
+          };
+        };
+        default = { };
+      };
+
+      clients = mkOption {
+        description = "Define the client configurations.";
+        type = with types; attrsOf (submodule clientConfig);
+        example = {
+          foobar = {
+            accept = "0.0.0.0:8080";
+            connect = "nixos.org:443";
+            verifyChain = false;
+          };
+        };
+        default = { };
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions = concatLists [
+      (singleton {
+        assertion = (length (attrValues cfg.servers) != 0) || ((length (attrValues cfg.clients)) != 0);
+        message = "stunnel: At least one server- or client-configuration has to be present.";
+      })
+
+      (mapAttrsToList verifyChainPathAssert cfg.clients)
+    ];
+
+    environment.systemPackages = [ pkgs.stunnel ];
+
+    environment.etc."stunnel.cfg".text = ''
+      ${ if cfg.user != null then "setuid = ${cfg.user}" else "" }
+      ${ if cfg.group != null then "setgid = ${cfg.group}" else "" }
+
+      debug = ${cfg.logLevel}
+
+      ${ optionalString cfg.fipsMode "fips = yes" }
+      ${ optionalString cfg.enableInsecureSSLv3 "options = -NO_SSLv3" }
+
+      ; ----- SERVER CONFIGURATIONS -----
+      ${ lib.concatStringsSep "\n"
+           (lib.mapAttrsToList
+             (n: v: ''
+               [${n}]
+               accept = ${toString v.accept}
+               connect = ${toString v.connect}
+               cert = ${v.cert}
+
+             '')
+           cfg.servers)
+      }
+
+      ; ----- CLIENT CONFIGURATIONS -----
+      ${ lib.concatStringsSep "\n"
+           (lib.mapAttrsToList
+             (n: v: ''
+               [${n}]
+               client = yes
+               accept = ${v.accept}
+               connect = ${v.connect}
+               verifyChain = ${yesNo v.verifyChain}
+               verifyPeer = ${yesNo v.verifyPeer}
+               ${optionalString (v.CAPath != null) "CApath = ${v.CAPath}"}
+               ${optionalString (v.verifyHostname != null) "checkHost = ${v.verifyHostname}"}
+               OCSPaia = yes
+
+             '')
+           cfg.clients)
+      }
+    '';
+
+    systemd.services.stunnel = {
+      description = "stunnel TLS tunneling service";
+      after = [ "network.target" ];
+      wants = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      restartTriggers = [ config.environment.etc."stunnel.cfg".source ];
+      serviceConfig = {
+        ExecStart = "${pkgs.stunnel}/bin/stunnel ${config.environment.etc."stunnel.cfg".source}";
+        Type = "forking";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/security/physlock.nix b/nixos/modules/services/security/physlock.nix
index 30224d7fc6ba..97fbd6aae6e0 100644
--- a/nixos/modules/services/security/physlock.nix
+++ b/nixos/modules/services/security/physlock.nix
@@ -30,6 +30,20 @@ in
         '';
       };
 
+      allowAnyUser = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to allow any user to lock the screen. This will install a
+          setuid wrapper to allow any user to start physlock as root, which
+          is a minor security risk. Call the physlock binary to use this instead
+          of using the systemd service.
+
+          Note that you might need to relog to have the correct binary in your
+          PATH upon changing this option.
+        '';
+      };
+
       disableSysRq = mkOption {
         type = types.bool;
         default = true;
@@ -79,28 +93,36 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.enable {
-
-    # for physlock -l and physlock -L
-    environment.systemPackages = [ pkgs.physlock ];
-
-    systemd.services."physlock" = {
-      enable = true;
-      description = "Physlock";
-      wantedBy = optional cfg.lockOn.suspend   "suspend.target"
-              ++ optional cfg.lockOn.hibernate "hibernate.target"
-              ++ cfg.lockOn.extraTargets;
-      before   = optional cfg.lockOn.suspend   "systemd-suspend.service"
-              ++ optional cfg.lockOn.hibernate "systemd-hibernate.service"
-              ++ cfg.lockOn.extraTargets;
-      serviceConfig.Type = "forking";
-      script = ''
-        ${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}
-      '';
-    };
+  config = mkIf cfg.enable (mkMerge [
+    {
+
+      # for physlock -l and physlock -L
+      environment.systemPackages = [ pkgs.physlock ];
+
+      systemd.services."physlock" = {
+        enable = true;
+        description = "Physlock";
+        wantedBy = optional cfg.lockOn.suspend   "suspend.target"
+                ++ optional cfg.lockOn.hibernate "hibernate.target"
+                ++ cfg.lockOn.extraTargets;
+        before   = optional cfg.lockOn.suspend   "systemd-suspend.service"
+                ++ optional cfg.lockOn.hibernate "systemd-hibernate.service"
+                ++ cfg.lockOn.extraTargets;
+        serviceConfig = {
+          Type = "forking";
+          ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}";
+        };
+      };
 
-    security.pam.services.physlock = {};
+      security.pam.services.physlock = {};
 
-  };
+    }
+
+    (mkIf cfg.allowAnyUser {
+
+      security.wrappers.physlock = { source = "${pkgs.physlock}/bin/physlock"; user = "root"; };
+
+    })
+  ]);
 
 }
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index fa4aeb22ae9d..fed91756e769 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -88,6 +88,9 @@ let
     ${flip concatMapStrings v.map (p: ''
       HiddenServicePort ${toString p.port} ${p.destination}
     '')}
+    ${optionalString (v.authorizeClient != null) ''
+      HiddenServiceAuthorizeClient ${v.authorizeClient.authType} ${concatStringsSep "," v.authorizeClient.clientNames}
+    ''}
   ''))
   + cfg.extraConfig;
 
@@ -619,6 +622,33 @@ in
                }));
              };
 
+             authorizeClient = mkOption {
+               default = null;
+               description = "If configured, the hidden service is accessible for authorized clients only.";
+               type = types.nullOr (types.submodule ({config, ...}: {
+
+                 options = {
+
+                   authType = mkOption {
+                     type = types.enum [ "basic" "stealth" ];
+                     description = ''
+                       Either <literal>"basic"</literal> for a general-purpose authorization protocol
+                       or <literal>"stealth"</literal> for a less scalable protocol
+                       that also hides service activity from unauthorized clients.
+                     '';
+                   };
+
+                   clientNames = mkOption {
+                     type = types.nonEmptyListOf (types.strMatching "[A-Za-z0-9+-_]+");
+                     description = ''
+                       Only clients that are listed here are authorized to access the hidden service.
+                       Generated authorization data can be found in <filename>${torDirectory}/onion/$name/hostname</filename>.
+                       Clients need to put this authorization data in their configuration file using <literal>HidServAuth</literal>.
+                     '';
+                   };
+                 };
+               }));
+             };
           };
 
           config = {
diff --git a/nixos/modules/services/web-servers/mighttpd2.nix b/nixos/modules/services/web-servers/mighttpd2.nix
new file mode 100644
index 000000000000..a888f623616e
--- /dev/null
+++ b/nixos/modules/services/web-servers/mighttpd2.nix
@@ -0,0 +1,132 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.mighttpd2;
+  configFile = pkgs.writeText "mighty-config" cfg.config;
+  routingFile = pkgs.writeText "mighty-routing" cfg.routing;
+in {
+  options.services.mighttpd2 = {
+    enable = mkEnableOption "Mighttpd2 web server";
+
+    config = mkOption {
+      default = "";
+      example = ''
+        # Example configuration for Mighttpd 2
+        Port: 80
+        # IP address or "*"
+        Host: *
+        Debug_Mode: Yes # Yes or No
+        # If available, "nobody" is much more secure for User:.
+        User: root
+        # If available, "nobody" is much more secure for Group:.
+        Group: root
+        Pid_File: /var/run/mighty.pid
+        Logging: Yes # Yes or No
+        Log_File: /var/log/mighty # The directory must be writable by User:
+        Log_File_Size: 16777216 # bytes
+        Log_Backup_Number: 10
+        Index_File: index.html
+        Index_Cgi: index.cgi
+        Status_File_Dir: /usr/local/share/mighty/status
+        Connection_Timeout: 30 # seconds
+        Fd_Cache_Duration: 10 # seconds
+        # Server_Name: Mighttpd/3.x.y
+        Tls_Port: 443
+        Tls_Cert_File: cert.pem # should change this with an absolute path
+        # should change this with comma-separated absolute paths
+        Tls_Chain_Files: chain.pem
+        # Currently, Tls_Key_File must not be encrypted.
+        Tls_Key_File: privkey.pem # should change this with an absolute path
+        Service: 0 # 0 is HTTP only, 1 is HTTPS only, 2 is both
+      '';
+      type = types.lines;
+      description = ''
+        Verbatim config file to use
+        (see http://www.mew.org/~kazu/proj/mighttpd/en/config.html)
+      '';
+    };
+
+    routing = mkOption {
+      default = "";
+      example = ''
+        # Example routing for Mighttpd 2
+
+        # Domain lists
+        [localhost www.example.com]
+
+        # Entries are looked up in the specified order
+        # All paths must end with "/"
+
+        # A path to CGI scripts should be specified with "=>"
+        /~alice/cgi-bin/ => /home/alice/public_html/cgi-bin/
+
+        # A path to static files should be specified with "->"
+        /~alice/         -> /home/alice/public_html/
+        /cgi-bin/        => /export/cgi-bin/
+
+        # Reverse proxy rules should be specified with ">>"
+        # /path >> host:port/path2
+        # Either "host" or ":port" can be committed, but not both.
+        /app/cal/        >> example.net/calendar/
+        # Yesod app in the same server
+        /app/wiki/       >> 127.0.0.1:3000/
+
+        /                -> /export/www/
+      '';
+      type = types.lines;
+      description = ''
+        Verbatim routing file to use
+        (see http://www.mew.org/~kazu/proj/mighttpd/en/config.html)
+      '';
+    };
+
+    cores = mkOption {
+      default = null;
+      type = types.nullOr types.int;
+      description = ''
+        How many cores to use.
+        If null it will be determined automatically
+      '';
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    assertions =
+      [ { assertion = cfg.routing != "";
+          message = "You need at least one rule in mighttpd2.routing";
+        }
+      ];
+    systemd.services.mighttpd2 = {
+      description = "Mighttpd2 web server";
+      after = [ "network-online.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.haskellPackages.mighttpd2}/bin/mighty \
+            ${configFile} \
+            ${routingFile} \
+            +RTS -N${optionalString (cfg.cores != null) "${cfg.cores}"}
+        '';
+        Type = "simple";
+        User = "mighttpd2";
+        Group = "mighttpd2";
+        Restart = "on-failure";
+        AmbientCapabilities = "cap_net_bind_service";
+        CapabilityBoundingSet = "cap_net_bind_service";
+      };
+    };
+
+    users.extraUsers.mighttpd2 = {
+      group = "mighttpd2";
+      uid = config.ids.uids.mighttpd2;
+      isSystemUser = true;
+    };
+
+    users.extraGroups.mighttpd2.gid = config.ids.gids.mighttpd2;
+  };
+
+  meta.maintainers = with lib.maintainers; [ fgaz ];
+}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 2951e63e863e..100fabf902f8 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -15,6 +15,9 @@ let
     } // (optionalAttrs vhostConfig.enableACME {
       sslCertificate = "/var/lib/acme/${serverName}/fullchain.pem";
       sslCertificateKey = "/var/lib/acme/${serverName}/key.pem";
+    }) // (optionalAttrs (vhostConfig.useACMEHost != null) {
+      sslCertificate = "/var/lib/acme/${vhostConfig.useACMEHost}/fullchain.pem";
+      sslCertificateKey = "/var/lib/acme/${vhostConfig.useACMEHost}/key.pem";
     })
   ) cfg.virtualHosts;
   enableIPv6 = config.networking.enableIPv6;
@@ -174,7 +177,7 @@ let
 
         redirectListen = filter (x: !x.ssl) defaultListen;
 
-        acmeLocation = ''
+        acmeLocation = optionalString (vhost.enableACME || vhost.useACMEHost != null) ''
           location /.well-known/acme-challenge {
             ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"}
             root ${vhost.acmeRoot};
@@ -194,7 +197,7 @@ let
             ${concatMapStringsSep "\n" listenString redirectListen}
 
             server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
-            ${optionalString vhost.enableACME acmeLocation}
+            ${acmeLocation}
             location / {
               return 301 https://$host$request_uri;
             }
@@ -204,7 +207,7 @@ let
         server {
           ${concatMapStringsSep "\n" listenString hostListen}
           server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
-          ${optionalString vhost.enableACME acmeLocation}
+          ${acmeLocation}
           ${optionalString (vhost.root != null) "root ${vhost.root};"}
           ${optionalString (vhost.globalRedirect != null) ''
             return 301 http${optionalString hasSSL "s"}://${vhost.globalRedirect}$request_uri;
@@ -555,6 +558,14 @@ in
           are mutually exclusive.
         '';
       }
+
+      {
+        assertion = all (conf: !(conf.enableACME && conf.useACMEHost != null)) (attrValues virtualHosts);
+        message = ''
+          Options services.nginx.service.virtualHosts.<name>.enableACME and
+          services.nginx.virtualHosts.<name>.useACMEHost are mutually exclusive.
+        '';
+      }
     ];
 
     systemd.services.nginx = {
@@ -580,7 +591,7 @@ in
     security.acme.certs = filterAttrs (n: v: v != {}) (
       let
         vhostsConfigs = mapAttrsToList (vhostName: vhostConfig: vhostConfig) virtualHosts;
-        acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME) vhostsConfigs;
+        acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME && vhostConfig.useACMEHost == null) vhostsConfigs;
         acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = {
             user = cfg.user;
             group = lib.mkDefault cfg.group;
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 29f08cc4f307..bf18108a1a3c 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -48,7 +48,21 @@ with lib;
     enableACME = mkOption {
       type = types.bool;
       default = false;
-      description = "Whether to ask Let's Encrypt to sign a certificate for this vhost.";
+      description = ''
+        Whether to ask Let's Encrypt to sign a certificate for this vhost.
+        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
+      '';
+    };
+
+    useACMEHost = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        A host of an existing Let's Encrypt certificate to use.
+        This is useful if you have many subdomains and want to avoid hitting the
+        <link xlink:href="https://letsencrypt.org/docs/rate-limits/">rate limit</link>.
+        Alternately, you can generate a certificate through <option>enableACME</option>.
+      '';
     };
 
     acmeRoot = mkOption {
diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix
index 4ede4fc20967..b6c7fef21fb2 100644
--- a/nixos/modules/services/web-servers/traefik.nix
+++ b/nixos/modules/services/web-servers/traefik.nix
@@ -64,6 +64,16 @@ in {
       '';
     };
 
+    group = mkOption {
+      default = "traefik";
+      type = types.string;
+      example = "docker";
+      description = ''
+        Set the group that traefik runs under.
+        For the docker backend this needs to be set to <literal>docker</literal> instead.
+      '';
+    };
+
     package = mkOption {
       default = pkgs.traefik;
       defaultText = "pkgs.traefik";
@@ -87,7 +97,7 @@ in {
         ];
         Type = "simple";
         User = "traefik";
-        Group = "traefik";
+        Group = cfg.group;
         Restart = "on-failure";
         StartLimitInterval = 86400;
         StartLimitBurst = 5;
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 17a2cde3a65d..4c76ce0bb195 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -47,6 +47,18 @@ in
             ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
           ''}
 
+          if [ -f "$HOME/.config/kdeglobals" ]
+          then
+              # Remove extraneous font style names.
+              # See also: https://phabricator.kde.org/D9070
+              ${getBin pkgs.gnused}/bin/sed -i "$HOME/.config/kdeglobals" \
+                  -e '/^fixed=/ s/,Regular$//' \
+                  -e '/^font=/ s/,Regular$//' \
+                  -e '/^menuFont=/ s/,Regular$//' \
+                  -e '/^smallestReadableFont=/ s/,Regular$//' \
+                  -e '/^toolBarFont=/ s/,Regular$//'
+          fi
+
           exec "${getBin plasma5.plasma-workspace}/bin/startkde"
         '';
       };
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 9d5d03638e04..c0c9d7ea47f7 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -3,9 +3,7 @@
 with lib;
 
 let
-  xcfg = config.services.xserver;
-  pcfg = config.hardware.pulseaudio;
-  cfg = xcfg.desktopManager.xfce;
+  cfg = config.services.xserver.desktopManager.xfce;
 in
 
 {
@@ -52,82 +50,93 @@ in
         description = "Application used by XFCE to lock the screen.";
       };
     };
-
   };
 
+  config = mkIf cfg.enable {
+    environment.systemPackages = with pkgs.xfce // pkgs; [
+      # Get GTK+ themes and gtk-update-icon-cache
+      gtk2.out
+
+      # Supplies some abstract icons such as:
+      # utilities-terminal, accessories-text-editor
+      gnome3.defaultIconTheme
+
+      hicolor_icon_theme
+      tango-icon-theme
+      xfce4-icon-theme
+
+      desktop_file_utils
+      shared_mime_info
+
+      # Needed by Xfce's xinitrc script
+      # TODO: replace with command -v
+      which
+
+      exo
+      garcon
+      gtk-xfce-engine
+      gvfs
+      libxfce4ui
+      tumbler
+      xfconf
+
+      mousepad
+      ristretto
+      xfce4-appfinder
+      xfce4-screenshooter
+      xfce4-session
+      xfce4-settings
+      xfce4-terminal
+
+      (thunar.override { thunarPlugins = cfg.thunarPlugins; })
+      thunar-volman # TODO: drop
+    ] ++ (if config.hardware.pulseaudio.enable
+          then [ xfce4-mixer-pulse xfce4-volumed-pulse ]
+	  else [ xfce4-mixer xfce4-volumed ])
+      # TODO: NetworkManager doesn't belong here
+      ++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ]
+      ++ optionals config.powerManagement.enable [ xfce4-power-manager ]
+      ++ optionals cfg.enableXfwm [ xfwm4 ]
+      ++ optionals (!cfg.noDesktop) [
+        xfce4-panel
+        xfce4-notifyd
+        xfdesktop
+      ];
+
+    environment.pathsToLink = [
+      "/share/xfce4"
+      "/share/themes"
+      "/share/mime"
+      "/share/desktop-directories"
+      "/share/gtksourceview-2.0"
+    ];
+
+    environment.variables = {
+      GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
+      GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];
+    };
 
-  config = mkIf (xcfg.enable && cfg.enable) {
-
-    services.xserver.desktopManager.session = singleton
-      { name = "xfce";
-        bgSupport = true;
-        start =
-          ''
-            ${cfg.extraSessionCommands}
+    services.xserver.desktopManager.session = [{
+      name = "xfce";
+      bgSupport = true;
+      start = ''
+        ${cfg.extraSessionCommands}
 
-            # Set GTK_PATH so that GTK+ can find the theme engines.
-            export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
+        # Set GTK_PATH so that GTK+ can find the theme engines.
+        export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
 
-            # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes.
-            export GTK_DATA_PREFIX=${config.system.path}
+        # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes.
+        export GTK_DATA_PREFIX=${config.system.path}
 
-            ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} &
-            waitPID=$!
-          '';
-      };
+        ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} &
+        waitPID=$!
+      '';
+    }];
 
     services.xserver.updateDbusEnvironment = true;
 
-    environment.systemPackages =
-      [ pkgs.gtk2.out # To get GTK+'s themes and gtk-update-icon-cache
-        pkgs.hicolor_icon_theme
-        pkgs.tango-icon-theme
-        pkgs.shared_mime_info
-        pkgs.which # Needed by the xfce's xinitrc script.
-        pkgs."${cfg.screenLock}"
-        pkgs.xfce.exo
-        pkgs.xfce.gtk_xfce_engine
-        pkgs.xfce.mousepad
-        pkgs.xfce.ristretto
-        pkgs.xfce.terminal
-       (pkgs.xfce.thunar.override { thunarPlugins = cfg.thunarPlugins; })
-        pkgs.xfce.xfce4icontheme
-        pkgs.xfce.xfce4session
-        pkgs.xfce.xfce4settings
-       (if pcfg.enable then pkgs.xfce.xfce4mixer_pulse else pkgs.xfce.xfce4mixer)
-       (if pcfg.enable then pkgs.xfce.xfce4volumed_pulse else pkgs.xfce.xfce4volumed)
-        pkgs.xfce.xfce4-screenshooter
-        pkgs.xfce.xfconf
-        # This supplies some "abstract" icons such as
-        # "utilities-terminal" and "accessories-text-editor".
-        pkgs.gnome3.defaultIconTheme
-        pkgs.desktop_file_utils
-        pkgs.xfce.libxfce4ui
-        pkgs.xfce.garcon
-        pkgs.xfce.thunar_volman
-        pkgs.xfce.gvfs
-        pkgs.xfce.xfce4_appfinder
-        pkgs.xfce.tumbler       # found via dbus
-      ]
-      ++ optional cfg.enableXfwm pkgs.xfce.xfwm4
-      ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager
-      ++ optional config.networking.networkmanager.enable pkgs.networkmanagerapplet
-      ++ optionals (!cfg.noDesktop)
-         [ pkgs.xfce.xfce4panel
-           pkgs.xfce.xfdesktop
-	   pkgs.xfce.xfce4notifyd  # found via dbus
-         ];
-
-    environment.pathsToLink =
-      [ "/share/xfce4" "/share/themes" "/share/mime" "/share/desktop-directories" "/share/gtksourceview-2.0" ];
-
-    environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];
-    environment.variables.GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
-
     # Enable helpful DBus services.
     services.udisks2.enable = true;
     services.upower.enable = config.powerManagement.enable;
-
   };
-
 }
diff --git a/nixos/modules/services/x11/window-managers/2bwm.nix b/nixos/modules/services/x11/window-managers/2bwm.nix
index e3f5ec7dbe67..fdbdf35b0f5a 100644
--- a/nixos/modules/services/x11/window-managers/2bwm.nix
+++ b/nixos/modules/services/x11/window-managers/2bwm.nix
@@ -25,12 +25,12 @@ in
       { name = "2bwm";
         start =
           ''
-            ${pkgs."2bwm"}/bin/2bwm &
+            ${pkgs._2bwm}/bin/2bwm &
             waitPID=$!
           '';
       };
 
-    environment.systemPackages = [ pkgs."2bwm" ];
+    environment.systemPackages = [ pkgs._2bwm ];
 
   };
 
diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix
index 6e226c190609..4a6e1c7e56e5 100644
--- a/nixos/modules/system/boot/initrd-network.nix
+++ b/nixos/modules/system/boot/initrd-network.nix
@@ -40,6 +40,10 @@ in
         kernel documentation</link>.  Otherwise, if
         <option>networking.useDHCP</option> is enabled, an IP address
         is acquired using DHCP.
+
+        You should add the module(s) required for your network card to
+        boot.initrd.availableKernelModules. lspci -v -s &lt;ethernet controller&gt;
+        will tell you which.
       '';
     };
 
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 90074a1ba77b..d21908f84537 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -206,12 +206,14 @@ in
         "xhci_hcd"
         "xhci_pci"
         "usbhid"
-        "hid_generic" "hid_lenovo" "hid_apple" "hid_roccat" "hid_logitech_hidpp"
+        "hid_generic" "hid_lenovo" "hid_apple" "hid_roccat"
+        "hid_logitech_hidpp" "hid_logitech_dj"
 
-        # Misc. keyboard stuff.
+      ] ++ optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
+        # Misc. x86 keyboard stuff.
         "pcips2" "atkbd" "i8042"
 
-        # Needed by the stage 2 init script.
+        # x86 RTC needed by the stage 2 init script.
         "rtc_cmos"
       ];
 
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 2c0a165887bd..30c54ddd0e4e 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -24,7 +24,11 @@ let
 
   kernel = config.boot.kernelPackages;
 
-  packages = if config.boot.zfs.enableUnstable then {
+  packages = if config.boot.zfs.enableLegacyCrypto then {
+    spl = kernel.splLegacyCrypto;
+    zfs = kernel.zfsLegacyCrypto;
+    zfsUser = pkgs.zfsLegacyCrypto;
+  } else if config.boot.zfs.enableUnstable then {
     spl = kernel.splUnstable;
     zfs = kernel.zfsUnstable;
     zfsUser = pkgs.zfsUnstable;
@@ -75,6 +79,27 @@ in
           '';
       };
 
+      enableLegacyCrypto = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enabling this option will allow you to continue to use the old format for
+          encrypted datasets. With the inclusion of stability patches the format of
+          encrypted datasets has changed. They can still be accessed and mounted but
+          in read-only mode mounted. It is highly recommended to convert them to
+          the new format.
+
+          This option is only for convenience to people that cannot convert their
+          datasets to the new format yet and it will be removed in due time.
+
+          For migration strategies from old format to this new one, check the Wiki:
+          https://nixos.wiki/wiki/NixOS_on_ZFS#Encrypted_Dataset_Format_Change
+
+          See https://github.com/zfsonlinux/zfs/pull/6864 for more details about
+          the stability patches.
+          '';
+      };
+
       extraPools = mkOption {
         type = types.listOf types.str;
         default = [];
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index 1f424f84c6e0..63d07832d105 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -230,9 +230,7 @@ let
               RemainAfterExit = true;
             };
             script = ''
-              ip tuntap add dev "${i.name}" \
-              ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
-              user "${i.virtualOwner}"
+              ip tuntap add dev "${i.name}" mode "${i.virtualType}" user "${i.virtualOwner}"
             '';
             postStop = ''
               ip link del ${i.name} || true
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index a365a01bfb1e..5d72ad0f1bde 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -74,21 +74,17 @@ in
         networks."99-main" = genericNetwork mkDefault;
       }
       (mkMerge (flip map interfaces (i: {
-        netdevs = mkIf i.virtual (
-          let
-            devType = if i.virtualType != null then i.virtualType
-              else (if hasPrefix "tun" i.name then "tun" else "tap");
-          in {
-            "40-${i.name}" = {
-              netdevConfig = {
-                Name = i.name;
-                Kind = devType;
-              };
-              "${devType}Config" = optionalAttrs (i.virtualOwner != null) {
-                User = i.virtualOwner;
-              };
+        netdevs = mkIf i.virtual ({
+          "40-${i.name}" = {
+            netdevConfig = {
+              Name = i.name;
+              Kind = i.virtualType;
             };
-          });
+            "${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) {
+              User = i.virtualOwner;
+            };
+          };
+        });
         networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
           name = mkDefault i.name;
           DHCP = mkForce (dhcpStr
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index b7e85e402aa9..f4851988d63d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -273,11 +273,13 @@ let
       };
 
       virtualType = mkOption {
-        default = null;
-        type = with types; nullOr (enum [ "tun" "tap" ]);
+        default = if hasPrefix "tun" name then "tun" else "tap";
+        defaultText = literalExample ''if hasPrefix "tun" name then "tun" else "tap"'';
+        type = with types; enum [ "tun" "tap" ];
         description = ''
-          The explicit type of interface to create. Accepts tun or tap strings.
-          Also accepts null to implicitly detect the type of device.
+          The type of interface to create.
+          The default is TUN for an interface name starting
+          with "tun", otherwise TAP.
         '';
       };
 
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 9b4136223c0f..41dec2af9ed4 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -4,13 +4,10 @@
 { config, lib, pkgs, ... }:
 
 with lib;
+with import ../../lib/qemu-flags.nix { inherit pkgs; };
 
 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
 
 {
@@ -28,8 +25,8 @@ in
 
     systemd.services.backdoor =
       { wantedBy = [ "multi-user.target" ];
-        requires = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
-        after = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
+        requires = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
+        after = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
         script =
           ''
             export USER=root
@@ -46,7 +43,7 @@ in
 
             cd /tmp
             exec < /dev/hvc0 > /dev/hvc0
-            while ! exec 2> /dev/${serialDevice}; do sleep 0.1; done
+            while ! exec 2> /dev/${qemuSerialDevice}; do sleep 0.1; done
             echo "connecting to host..." >&2
             stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
             echo
@@ -55,10 +52,10 @@ in
         serviceConfig.KillSignal = "SIGHUP";
       };
 
-    # Prevent agetty from being instantiated on ${serialDevice}, since it
-    # interferes with the backdoor (writes to ${serialDevice} will randomly fail
+    # Prevent agetty from being instantiated on the serial device, since it
+    # interferes with the backdoor (writes to it will randomly fail
     # with EIO).  Likewise for hvc0.
-    systemd.services."serial-getty@${serialDevice}".enable = false;
+    systemd.services."serial-getty@${qemuSerialDevice}".enable = false;
     systemd.services."serial-getty@hvc0".enable = false;
 
     boot.initrd.preDeviceCommands =
@@ -94,7 +91,7 @@ in
     # Panic if an error occurs in stage 1 (rather than waiting for
     # user intervention).
     boot.kernelParams =
-      [ "console=${serialDevice}" "panic=1" "boot.panic_on_fail" ];
+      [ "console=${qemuSerialDevice}" "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/container-config.nix b/nixos/modules/virtualisation/container-config.nix
index b4f9d8b6fc17..5e368acd6d8b 100644
--- a/nixos/modules/virtualisation/container-config.nix
+++ b/nixos/modules/virtualisation/container-config.nix
@@ -11,7 +11,7 @@ with lib;
     services.udisks2.enable = mkDefault false;
     powerManagement.enable = mkDefault false;
 
-    networking.useHostResolvConf = true;
+    networking.useHostResolvConf = mkDefault true;
 
     # Containers should be light-weight, so start sshd on demand.
     services.openssh.startWhenNeeded = mkDefault true;
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 75717e08ab2a..2fb38059b261 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -212,7 +212,7 @@ in
           echo "Obtaining SSH keys..."
           mkdir -m 0700 -p /root/.ssh
           AUTH_KEYS=$(${mktemp})
-          ${wget} -O $AUTH_KEYS http://metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys
+          ${wget} -O $AUTH_KEYS --header="Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
           if [ -s $AUTH_KEYS ]; then
 
             # Read in key one by one, split in case Google decided
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index 64465ae18522..a369b7ddbe1d 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -128,6 +128,7 @@ in {
           dmidecode
           dnsmasq
           ebtables
+          cfg.qemuPackage # libvirtd requires qemu-img to manage disk images
         ]
         ++ optional vswitch.enable vswitch.package;
 
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 26f7945a4eda..13d0eb7de5c2 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -10,21 +10,11 @@
 { config, lib, pkgs, ... }:
 
 with lib;
+with import ../../lib/qemu-flags.nix { inherit pkgs; };
 
 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,gic-version=host -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 == ""
@@ -34,7 +24,7 @@ let
   cfg = config.virtualisation;
 
   qemuGraphics = if cfg.graphics then "" else "-nographic";
-  kernelConsole = if cfg.graphics then "" else "console=${serialDevice}";
+  kernelConsole = if cfg.graphics then "" else "console=${qemuSerialDevice}";
   ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
 
   # Shell script to start the VM.
@@ -83,7 +73,7 @@ let
       '')}
 
       # Start QEMU.
-      exec ${qemuKvm} \
+      exec ${qemuBinary qemu} \
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           -smp ${toString config.virtualisation.cores} \
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 00381c426d23..a544403e6bed 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -25,7 +25,7 @@ in {
       name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
 
       inherit pkgs lib config;
-      partitioned = true;
+      partitionTableType = "legacy";
       diskSize = cfg.baseImageSize;
 
       postVM =
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index c7656bc309c0..afc5a42f8b4e 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -35,24 +35,19 @@ in
       description = ''
         The package used for Xen binary.
       '';
+      relatedPackages = [ "xen" "xen-light" ];
     };
 
-    virtualisation.xen.qemu = mkOption {
-      type = types.path;
-      defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386";
-      example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
-      description = ''
-        The qemu binary to use for Dom-0 backend.
-      '';
-    };
-
-    virtualisation.xen.qemu-package = mkOption {
+    virtualisation.xen.package-qemu = mkOption {
       type = types.package;
       defaultText = "pkgs.xen";
       example = literalExample "pkgs.qemu_xen-light";
       description = ''
-        The package with qemu binaries for xendomains.
+        The package with qemu binaries for dom0 qemu and xendomains.
       '';
+      relatedPackages = [ "xen"
+                          { name = "qemu_xen-light"; comment = "For use with pkgs.xen-light."; }
+                        ];
     };
 
     virtualisation.xen.bootParams =
@@ -158,8 +153,7 @@ in
     } ];
 
     virtualisation.xen.package = mkDefault pkgs.xen;
-    virtualisation.xen.qemu = mkDefault "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
-    virtualisation.xen.qemu-package = mkDefault pkgs.xen;
+    virtualisation.xen.package-qemu = mkDefault pkgs.xen;
     virtualisation.xen.stored = mkDefault "${cfg.package}/bin/oxenstored";
 
     environment.systemPackages = [ cfg.package ];
@@ -339,7 +333,8 @@ in
       after = [ "xen-console.service" ];
       requires = [ "xen-store.service" ];
       serviceConfig.ExecStart = ''
-        ${cfg.qemu} -xen-attach -xen-domid 0 -name dom0 -M xenpv \
+        ${cfg.package-qemu}/${cfg.package-qemu.qemu-system-i386} \
+           -xen-attach -xen-domid 0 -name dom0 -M xenpv \
            -nographic -monitor /dev/null -serial /dev/null -parallel /dev/null
         '';
     };
@@ -448,7 +443,7 @@ in
       before = [ "dhcpd.service" ];
       restartIfChanged = false;
       serviceConfig.RemainAfterExit = "yes";
-      path = [ cfg.package cfg.qemu-package ];
+      path = [ cfg.package cfg.package-qemu ];
       environment.XENDOM_CONFIG = "${cfg.package}/etc/sysconfig/xendomains";
       preStart = "mkdir -p /var/lock/subsys -m 755";
       serviceConfig.ExecStart = "${cfg.package}/etc/init.d/xendomains start";
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 34a413f1ac3e..9d4a551a958b 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -2,7 +2,7 @@
 # and nixos-14.04). The channel is updated every time the ‘tested’ job
 # succeeds, and all other jobs have finished (they may fail).
 
-{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
+{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" ]
 , limitedSupportedSystems ? [ "i686-linux" ]
@@ -52,12 +52,13 @@ in rec {
         (all nixos.dummy)
         (all nixos.manual)
 
-        (all nixos.iso_minimal)
+        nixos.iso_minimal.x86_64-linux
+        nixos.iso_minimal.i686-linux
         nixos.iso_graphical.x86_64-linux
         nixos.ova.x86_64-linux
 
         #(all nixos.tests.containers)
-        nixos.tests.chromium
+        nixos.tests.chromium.x86_64-linux
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
         (all nixos.tests.gnome3)
@@ -80,7 +81,7 @@ in rec {
         (all nixos.tests.boot.uefiUsb)
         (all nixos.tests.boot-stage1)
         (all nixos.tests.hibernate)
-        nixos.tests.docker
+        nixos.tests.docker.x86_64-linux
         (all nixos.tests.ecryptfs)
         (all nixos.tests.env)
         (all nixos.tests.ipv6)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index e9f3cfb4de53..2b532c70763f 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -2,7 +2,7 @@
 # small subset of Nixpkgs, mostly useful for servers that need fast
 # security updates.
 
-{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
+{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" ] # no i686-linux
 }:
@@ -41,6 +41,7 @@ in rec {
         nfs3
         openssh
         php-pcre
+        predictable-interface-names
         proxy
         simple;
       installer = {
diff --git a/nixos/release.nix b/nixos/release.nix
index 39c550b62774..b778258da63d 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -1,4 +1,4 @@
-{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
+{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" "aarch64-linux" ]
 }:
@@ -16,9 +16,11 @@ let
     inherit system;
   } // args);
 
-  callTest = fn: args: forAllSystems (system: hydraJob (importTest fn args system));
+  callTestOnTheseSystems = systems: fn: args: forTheseSystems systems (system: hydraJob (importTest fn args system));
+  callTest = callTestOnTheseSystems supportedSystems;
 
-  callSubTests = fn: args: let
+  callSubTests = callSubTestsOnTheseSystems supportedSystems;
+  callSubTestsOnTheseSystems = systems: fn: args: let
     discover = attrs: let
       subTests = filterAttrs (const (hasAttr "test")) attrs;
     in mapAttrs (const (t: hydraJob t.test)) subTests;
@@ -27,10 +29,7 @@ let
       ${system} = test;
     }) (discover (importTest fn args system));
 
-  # If the test is only for a particular system, use only the specified
-  # system instead of generating attributes for all available systems.
-  in if args ? system then discover (import fn args)
-     else foldAttrs mergeAttrs {} (map discoverForSystem supportedSystems);
+  in foldAttrs mergeAttrs {} (map discoverForSystem (intersectLists systems supportedSystems));
 
   pkgs = import nixpkgs { system = "x86_64-linux"; };
 
@@ -90,13 +89,13 @@ let
 
   makeNetboot = config:
     let
-      config_evaled = import lib/eval-config.nix config;
-      build = config_evaled.config.system.build;
-      kernelTarget = config_evaled.pkgs.stdenv.platform.kernelTarget;
+      configEvaled = import lib/eval-config.nix config;
+      build = configEvaled.config.system.build;
+      kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget;
     in
       pkgs.symlinkJoin {
-        name="netboot";
-        paths=[
+        name = "netboot";
+        paths = [
           build.netbootRamdisk
           build.kernel
           build.netbootIpxeScript
@@ -107,6 +106,7 @@ let
           echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
           echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
         '';
+        preferLocalBuild = true;
       };
 
 
@@ -227,8 +227,9 @@ in rec {
   tests.blivet = callTest tests/blivet.nix {};
   tests.boot = callSubTests tests/boot.nix {};
   tests.boot-stage1 = callTest tests/boot-stage1.nix {};
-  tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
-  tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
+  tests.borgbackup = callTest tests/borgbackup.nix {};
+  tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {};
+  tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable;
   tests.cjdns = callTest tests/cjdns.nix {};
   tests.cloud-init = callTest tests/cloud-init.nix {};
   tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
@@ -242,20 +243,20 @@ in rec {
   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.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {};
+  tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {};
   tests.dovecot = callTest tests/dovecot.nix {};
-  tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; };
+  tests.dnscrypt-proxy = callTestOnTheseSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
   tests.ecryptfs = callTest tests/ecryptfs.nix {};
-  tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
-  tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops;
-  tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config;
-  tests.elk = callSubTests tests/elk.nix { system = "x86_64-linux"; };
+  tests.etcd = callTestOnTheseSystems ["x86_64-linux"] tests/etcd.nix {};
+  tests.ec2-nixops = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-nixops;
+  tests.ec2-config = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-config;
+  tests.elk = callSubTestsOnTheseSystems ["x86_64-linux"] tests/elk.nix {};
   tests.env = callTest tests/env.nix {};
   tests.ferm = callTest tests/ferm.nix {};
   tests.firefox = callTest tests/firefox.nix {};
   tests.firewall = callTest tests/firewall.nix {};
-  tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
+  tests.fleet = callTestOnTheseSystems ["x86_64-linux"] tests/fleet.nix {};
   #tests.gitlab = callTest tests/gitlab.nix {};
   tests.gitolite = callTest tests/gitolite.nix {};
   tests.gocd-agent = callTest tests/gocd-agent.nix {};
@@ -266,6 +267,7 @@ in rec {
   tests.graphite = callTest tests/graphite.nix {};
   tests.hardened = callTest tests/hardened.nix { };
   tests.hibernate = callTest tests/hibernate.nix {};
+  tests.home-assistant = callTest tests/home-assistant.nix { };
   tests.hound = callTest tests/hound.nix {};
   tests.i3wm = callTest tests/i3wm.nix {};
   tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
@@ -290,6 +292,7 @@ in rec {
   tests.login = callTest tests/login.nix {};
   #tests.logstash = callTest tests/logstash.nix {};
   tests.mathics = callTest tests/mathics.nix {};
+  tests.matrix-synapse = callTest tests/matrix-synapse.nix {};
   tests.mesos = callTest tests/mesos.nix {};
   tests.misc = callTest tests/misc.nix {};
   tests.mongodb = callTest tests/mongodb.nix {};
@@ -302,6 +305,7 @@ in rec {
   tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
   tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };
   tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
+  tests.netdata = callTest tests/netdata.nix { };
   tests.networking.networkd = callSubTests tests/networking.nix { networkd = true; };
   tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
   # TODO: put in networking.nix after the test becomes more complete
@@ -315,13 +319,14 @@ in rec {
   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.panamax = callTestOnTheseSystems ["x86_64-linux"] tests/panamax.nix {};
   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 {};
   #tests.pgjwt = callTest tests/pgjwt.nix {};
+  tests.predictable-interface-names = callSubTests tests/predictable-interface-names.nix {};
   tests.printing = callTest tests/printing.nix {};
   tests.prometheus = callTest tests/prometheus.nix {};
   tests.proxy = callTest tests/proxy.nix {};
@@ -329,7 +334,9 @@ in rec {
   # tests.quagga = callTest tests/quagga.nix {};
   tests.quake3 = callTest tests/quake3.nix {};
   tests.radicale = callTest tests/radicale.nix {};
+  tests.rspamd = callSubTests tests/rspamd.nix {};
   tests.runInMachine = callTest tests/run-in-machine.nix {};
+  tests.rxe = callTest tests/rxe.nix {};
   tests.samba = callTest tests/samba.nix {};
   tests.sddm = callSubTests tests/sddm.nix {};
   tests.simple = callTest tests/simple.nix {};
@@ -337,15 +344,17 @@ in rec {
   tests.smokeping = callTest tests/smokeping.nix {};
   tests.snapper = callTest tests/snapper.nix {};
   tests.statsd = callTest tests/statsd.nix {};
+  tests.sudo = callTest tests/sudo.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 {};
   tests.vault = callTest tests/vault.nix {};
-  tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; };
+  tests.virtualbox = callSubTestsOnTheseSystems ["x86_64-linux"] tests/virtualbox.nix {};
   tests.wordpress = callTest tests/wordpress.nix {};
   tests.xfce = callTest tests/xfce.nix {};
   tests.xmonad = callTest tests/xmonad.nix {};
+  tests.yabar = callTest tests/yabar.nix {};
   tests.zookeeper = callTest tests/zookeeper.nix {};
 
   /* Build a bunch of typical closures so that Hydra can keep track of
diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix
index 69ab4755e444..fc52cd09f209 100644
--- a/nixos/tests/boot.nix
+++ b/nixos/tests/boot.nix
@@ -1,7 +1,6 @@
 { system ? builtins.currentSystem }:
 
 with import ../lib/testing.nix { inherit system; };
-with import ../lib/qemu-flags.nix;
 with pkgs.lib;
 
 let
diff --git a/nixos/tests/borgbackup.nix b/nixos/tests/borgbackup.nix
new file mode 100644
index 000000000000..123b02be7251
--- /dev/null
+++ b/nixos/tests/borgbackup.nix
@@ -0,0 +1,21 @@
+import ./make-test.nix ({ pkgs, ...}: {
+  name = "borgbackup";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mic92 ];
+  };
+
+  nodes = {
+    machine = { config, pkgs, ... }: {
+      environment.systemPackages = [ pkgs.borgbackup ];
+    };
+  };
+
+  testScript = ''
+    my $borg = "BORG_PASSPHRASE=supersecret borg";
+    $machine->succeed("$borg init --encryption=repokey /tmp/backup");
+    $machine->succeed("mkdir /tmp/data/ && echo 'data' >/tmp/data/file");
+    $machine->succeed("$borg create --stats /tmp/backup::test /tmp/data");
+    $machine->succeed("$borg extract /tmp/backup::test");
+    $machine->succeed('c=$(cat data/file) && echo "c = $c" >&2 && [[ "$c" == "data" ]]');
+  '';
+})
diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix
index c0add7eff360..2a258e4bff54 100644
--- a/nixos/tests/cloud-init.nix
+++ b/nixos/tests/cloud-init.nix
@@ -1,7 +1,6 @@
 { system ? builtins.currentSystem }:
 
 with import ../lib/testing.nix { inherit system; };
-with import ../lib/qemu-flags.nix;
 with pkgs.lib;
 
 let
diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix
index 4ec7e56cc6cb..f585fa2ec237 100644
--- a/nixos/tests/ec2.nix
+++ b/nixos/tests/ec2.nix
@@ -1,7 +1,6 @@
 { system ? builtins.currentSystem }:
 
 with import ../lib/testing.nix { inherit system; };
-with import ../lib/qemu-flags.nix;
 with pkgs.lib;
 
 let
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
new file mode 100644
index 000000000000..5d7e0ec65e73
--- /dev/null
+++ b/nixos/tests/home-assistant.nix
@@ -0,0 +1,46 @@
+import ./make-test.nix ({ pkgs, ... }:
+
+let
+  configDir = "/var/lib/foobar";
+
+in {
+  name = "home-assistant";
+
+  nodes = {
+    hass =
+      { config, pkgs, ... }:
+      {
+        services.home-assistant = {
+          inherit configDir;
+          enable = true;
+          config = {
+            homeassistant = {
+              name = "Home";
+              time_zone = "UTC";
+              latitude = "0.0";
+              longitude = "0.0";
+              elevation = 0;
+            };
+            frontend = { };
+            http = { };
+          };
+        };
+      };
+  };
+
+  testScript = ''
+    startAll;
+    $hass->waitForUnit("home-assistant.service");
+    
+    # Since config is specified using a Nix attribute set,
+    # configuration.yaml is a link to the Nix store
+    $hass->succeed("test -L ${configDir}/configuration.yaml");
+
+    # Check that Home Assistant's web interface and API can be reached
+    $hass->waitForOpenPort(8123);
+    $hass->succeed("curl --fail http://localhost:8123/states");
+    $hass->succeed("curl --fail http://localhost:8123/api/ | grep 'API running'");
+
+    $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
+  '';
+})
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 90ac5b933f32..637cbb45709d 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -1,7 +1,6 @@
 { system ? builtins.currentSystem }:
 
 with import ../lib/testing.nix { inherit system; };
-with import ../lib/qemu-flags.nix;
 with pkgs.lib;
 
 let
diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix
index acf2e0250819..f3b930b630ba 100644
--- a/nixos/tests/kubernetes/base.nix
+++ b/nixos/tests/kubernetes/base.nix
@@ -1,7 +1,6 @@
 { system ? builtins.currentSystem }:
 
 with import ../../lib/testing.nix { inherit system; };
-with import ../../lib/qemu-flags.nix;
 with pkgs.lib;
 
 let
diff --git a/nixos/tests/make-test.nix b/nixos/tests/make-test.nix
index f3e26aa7e74d..ee4ba310ad50 100644
--- a/nixos/tests/make-test.nix
+++ b/nixos/tests/make-test.nix
@@ -2,4 +2,4 @@ f: { system ? builtins.currentSystem, ... } @ args:
 
 with import ../lib/testing.nix { inherit system; };
 
-makeTest (if builtins.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
+makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
diff --git a/nixos/tests/matrix-synapse.nix b/nixos/tests/matrix-synapse.nix
new file mode 100644
index 000000000000..113fb622588b
--- /dev/null
+++ b/nixos/tests/matrix-synapse.nix
@@ -0,0 +1,30 @@
+import ./make-test.nix ({ pkgs, ... } : {
+
+  name = "matrix-synapse";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ corngood ];
+  };
+
+  nodes = {
+    server_postgres = args: {
+      services.matrix-synapse.enable = true;
+      services.matrix-synapse.database_type = "psycopg2";
+    };
+
+    server_sqlite = args: {
+      services.matrix-synapse.enable = true;
+      services.matrix-synapse.database_type = "sqlite3";
+    };
+  };
+
+  testScript = ''
+    startAll;
+    $server_postgres->waitForUnit("matrix-synapse.service");
+    $server_postgres->waitUntilSucceeds("curl -Lk https://localhost:8448/");
+    $server_postgres->requireActiveUnit("postgresql.service");
+    $server_sqlite->waitForUnit("matrix-synapse.service");
+    $server_sqlite->waitUntilSucceeds("curl -Lk https://localhost:8448/");
+    $server_sqlite->mustSucceed("[ -e /var/lib/matrix-synapse/homeserver.db ]");
+  '';
+
+})
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 79290861cb0b..6de17518214c 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -115,11 +115,6 @@ import ./make-test.nix ({ pkgs, ...} : {
           $machine->succeed("nix-store -qR /run/current-system | grep nixos-");
       };
 
-      # Test sudo
-      subtest "sudo", sub {
-          $machine->succeed("su - sybil -c 'sudo true'");
-      };
-
       # Test sysctl
       subtest "sysctl", sub {
           $machine->waitForUnit("systemd-sysctl.service");
diff --git a/nixos/tests/netdata.nix b/nixos/tests/netdata.nix
new file mode 100644
index 000000000000..58733c1b3379
--- /dev/null
+++ b/nixos/tests/netdata.nix
@@ -0,0 +1,31 @@
+# This test runs netdata and checks for data via apps.plugin
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "netdata";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ cransom ];
+  };
+
+  nodes = {
+    netdata =
+      { config, pkgs, ... }:
+        {
+          environment.systemPackages = with pkgs; [ curl jq ];
+          services.netdata.enable = true;
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $netdata->waitForUnit("netdata.service");
+    # check if netdata can read disk ops for root owned processes. 
+    # if > 0, successful. verifies both netdata working and 
+    # apps.plugin has elevated capabilities.
+    my $cmd = <<'CMD';
+    curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
+       jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
+    CMD
+    $netdata->waitUntilSucceeds($cmd);
+  '';
+})
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index 7708775f73f3..182328b32962 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -433,6 +433,49 @@ let
           $client2->succeed("ip addr show dev vlan >&2");
         '';
     };
+    virtual = {
+      name = "Virtual";
+      machine = {
+        networking.interfaces."tap0" = {
+          ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ];
+          ip6 = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
+          virtual = true;
+        };
+        networking.interfaces."tun0" = {
+          ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ];
+          ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ];
+          virtual = true;
+        };
+      };
+
+      testScript = ''
+        my $targetList = <<'END';
+        tap0: tap UNKNOWN_FLAGS:800 user 0
+        tun0: tun UNKNOWN_FLAGS:800 user 0
+        END
+
+        # Wait for networking to come up
+        $machine->start;
+        $machine->waitForUnit("network.target");
+
+        # Test interfaces set up
+        my $list = $machine->succeed("ip tuntap list | sort");
+        "$list" eq "$targetList" or die(
+          "The list of virtual interfaces does not match the expected one:\n",
+          "Result:\n", "$list\n",
+          "Expected:\n", "$targetList\n"
+        );
+
+        # Test interfaces clean up
+        $machine->succeed("systemctl stop network-addresses-tap0");
+        $machine->succeed("systemctl stop network-addresses-tun0");
+        my $residue = $machine->succeed("ip tuntap list");
+        $residue eq "" or die(
+          "Some virtual interface has not been properly cleaned:\n",
+          "$residue\n"
+        );
+      '';
+    };
   };
 
 in mapAttrs (const (attrs: makeTest (attrs // {
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
new file mode 100644
index 000000000000..b4c2039923cf
--- /dev/null
+++ b/nixos/tests/predictable-interface-names.nix
@@ -0,0 +1,27 @@
+{ system ? builtins.currentSystem
+, pkgs ? import ../.. { inherit system; }
+}:
+with import ../lib/testing.nix { inherit system; };
+let boolToString = x: if x then "yes" else "no"; in
+let testWhenSetTo = predictable: withNetworkd:
+makeTest {
+  name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
+  meta = {};
+
+  machine = { config, pkgs, ... }: {
+    networking.usePredictableInterfaceNames = pkgs.stdenv.lib.mkForce predictable;
+    networking.useNetworkd = withNetworkd;
+    networking.dhcpcd.enable = !withNetworkd;
+  };
+
+  testScript = ''
+    print $machine->succeed("ip link");
+    $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}");
+    $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}");
+  '';
+}; in
+with pkgs.stdenv.lib.lists;
+with pkgs.stdenv.lib.attrsets;
+listToAttrs (map (drv: nameValuePair drv.name drv) (
+crossLists testWhenSetTo [[true false] [true false]]
+))
diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix
new file mode 100644
index 000000000000..6b2e2dd3a531
--- /dev/null
+++ b/nixos/tests/rspamd.nix
@@ -0,0 +1,140 @@
+{ system ? builtins.currentSystem }:
+with import ../lib/testing.nix { inherit system; };
+with pkgs.lib;
+let
+  initMachine = ''
+    startAll
+    $machine->waitForUnit("rspamd.service");
+    $machine->succeed("id \"rspamd\" >/dev/null");
+  '';
+  checkSocket = socket: user: group: mode: ''
+    $machine->succeed("ls ${socket} >/dev/null");
+    $machine->succeed("[[ \"\$(stat -c %U ${socket})\" == \"${user}\" ]]");
+    $machine->succeed("[[ \"\$(stat -c %G ${socket})\" == \"${group}\" ]]");
+    $machine->succeed("[[ \"\$(stat -c %a ${socket})\" == \"${mode}\" ]]");
+  '';
+  simple = name: socketActivation: enableIPv6: makeTest {
+    name = "rspamd-${name}";
+    machine = {
+      services.rspamd = {
+        enable = true;
+        socketActivation = socketActivation;
+      };
+      networking.enableIPv6 = enableIPv6;
+    };
+    testScript = ''
+      startAll
+      $machine->waitForUnit("multi-user.target");
+      $machine->waitForOpenPort(11334);
+      $machine->waitForUnit("rspamd.service");
+      $machine->succeed("id \"rspamd\" >/dev/null");
+      ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" }
+      sleep 10;
+      $machine->log($machine->succeed("cat /etc/rspamd.conf"));
+      $machine->log($machine->succeed("systemctl cat rspamd.service"));
+      ${if socketActivation then ''
+        $machine->log($machine->succeed("systemctl cat rspamd-controller-1.socket"));
+        $machine->log($machine->succeed("systemctl cat rspamd-normal-1.socket"));
+      '' else ''
+        $machine->fail("systemctl cat rspamd-controller-1.socket");
+        $machine->fail("systemctl cat rspamd-normal-1.socket");
+      ''}
+      $machine->log($machine->succeed("curl http://localhost:11334/auth"));
+      $machine->log($machine->succeed("curl http://127.0.0.1:11334/auth"));
+      ${optionalString enableIPv6 ''
+        $machine->log($machine->succeed("curl http://[::1]:11334/auth"));
+      ''}
+    '';
+  };
+in
+{
+  simple = simple "simple" false true;
+  ipv4only = simple "ipv4only" false false;
+  simple-socketActivated = simple "simple-socketActivated" true true;
+  ipv4only-socketActivated = simple "ipv4only-socketActivated" true false;
+  deprecated = makeTest {
+    name = "rspamd-deprecated";
+    machine = {
+      services.rspamd = {
+        enable = true;
+        bindSocket = [ "/run/rspamd.sock mode=0600 user=root group=root" ];
+        bindUISocket = [ "/run/rspamd-worker.sock mode=0666 user=root group=root" ];
+      };
+    };
+
+    testScript = ''
+      ${initMachine}
+      $machine->waitForFile("/run/rspamd.sock");
+      ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
+      ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
+      $machine->log($machine->succeed("cat /etc/rspamd.conf"));
+      $machine->fail("systemctl cat rspamd-normal-1.socket");
+      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
+      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
+    '';
+  };
+
+  bindports = makeTest {
+    name = "rspamd-bindports";
+    machine = {
+      services.rspamd = {
+        enable = true;
+        socketActivation = false;
+        workers.normal.bindSockets = [{
+          socket = "/run/rspamd.sock";
+          mode = "0600";
+          owner = "root";
+          group = "root";
+        }];
+        workers.controller.bindSockets = [{
+          socket = "/run/rspamd-worker.sock";
+          mode = "0666";
+          owner = "root";
+          group = "root";
+        }];
+      };
+    };
+
+    testScript = ''
+      ${initMachine}
+      $machine->waitForFile("/run/rspamd.sock");
+      ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
+      ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
+      $machine->log($machine->succeed("cat /etc/rspamd.conf"));
+      $machine->fail("systemctl cat rspamd-normal-1.socket");
+      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
+      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
+    '';
+  };
+  socketActivated = makeTest {
+    name = "rspamd-socketActivated";
+    machine = {
+      services.rspamd = {
+        enable = true;
+        workers.normal.bindSockets = [{
+          socket = "/run/rspamd.sock";
+          mode = "0600";
+          owner = "root";
+          group = "root";
+        }];
+        workers.controller.bindSockets = [{
+          socket = "/run/rspamd-worker.sock";
+          mode = "0666";
+          owner = "root";
+          group = "root";
+        }];
+      };
+    };
+
+    testScript = ''
+      startAll
+      $machine->waitForFile("/run/rspamd.sock");
+      ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
+      ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
+      $machine->log($machine->succeed("cat /etc/rspamd.conf"));
+      $machine->log($machine->succeed("systemctl cat rspamd-normal-1.socket"));
+      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
+      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
+    '';
+  };
+}
diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix
new file mode 100644
index 000000000000..cfe64a75a635
--- /dev/null
+++ b/nixos/tests/rxe.nix
@@ -0,0 +1,53 @@
+import ./make-test.nix ({ pkgs, ... } :
+
+let
+  node = { config, pkgs, lib, ... } : {
+    networking = {
+      firewall = {
+        allowedUDPPorts = [ 4791 ]; # open RoCE port
+        allowedTCPPorts = [ 4800 ]; # port for test utils
+      };
+      rxe = {
+        enable = true;
+        interfaces = [ "eth1" ];
+      };
+    };
+
+    environment.systemPackages = with pkgs; [ rdma-core screen ];
+  };
+
+in {
+  name = "rxe";
+
+  nodes = {
+    server = node;
+    client = node;
+  };
+
+  testScript = ''
+    # Test if rxe interface comes up
+    $server->waitForUnit("default.target");
+    $server->succeed("systemctl status rxe.service");
+    $server->succeed("ibv_devices | grep rxe0");
+
+    $client->waitForUnit("default.target");
+
+    # ping pong test
+    $server->succeed("screen -dmS rc_pingpong ibv_rc_pingpong -p 4800 -g0");
+    $client->succeed("sleep 2; ibv_rc_pingpong -p 4800 -g0 server");
+
+    $server->succeed("screen -dmS uc_pingpong ibv_uc_pingpong -p 4800 -g0");
+    $client->succeed("sleep 2; ibv_uc_pingpong -p 4800 -g0 server");
+
+    $server->succeed("screen -dmS ud_pingpong ibv_ud_pingpong -p 4800 -s 1024 -g0");
+    $client->succeed("sleep 2; ibv_ud_pingpong -p 4800 -s 1024 -g0 server");
+
+    $server->succeed("screen -dmS srq_pingpong ibv_srq_pingpong -p 4800 -g0");
+    $client->succeed("sleep 2; ibv_srq_pingpong -p 4800 -g0 server");
+
+    $server->succeed("screen -dmS rping rping -s -a server -C 10");
+    $client->succeed("sleep 2; rping -c -a server -C 10");
+  '';
+})
+
+
diff --git a/nixos/tests/statsd.nix b/nixos/tests/statsd.nix
index d6bbc3901630..a9d7dc61cb60 100644
--- a/nixos/tests/statsd.nix
+++ b/nixos/tests/statsd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib }:
+import ./make-test.nix ({ pkgs, lib, ... }:
 
 with lib;
 
diff --git a/nixos/tests/sudo.nix b/nixos/tests/sudo.nix
new file mode 100644
index 000000000000..35addb0ee805
--- /dev/null
+++ b/nixos/tests/sudo.nix
@@ -0,0 +1,93 @@
+# Some tests to ensure sudo is working properly.
+
+let
+  password = "helloworld";
+
+in
+  import ./make-test.nix ({ pkgs, ...} : {
+    name = "sudo";
+    meta = with pkgs.stdenv.lib.maintainers; {
+      maintainers = [ lschuermann ];
+    };
+
+    machine =
+      { config, lib, pkgs, ... }:
+      with lib;
+      {
+        users.extraGroups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; };
+        users.users = {
+          test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; };
+          test1 = { isNormalUser = true; password = password; };
+          test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; password = password; };
+          test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; };
+          test4 = { isNormalUser = true; extraGroups = [ "baz" ]; };
+          test5 = { isNormalUser = true; };
+        };
+
+        security.sudo = {
+          enable = true;
+          wheelNeedsPassword = false;
+
+          extraRules = [
+            # SUDOERS SYNTAX CHECK (Test whether the module produces a valid output;
+            # errors being detected by the visudo checks.
+
+            # These should not create any entries
+            { users = [ "notest1" ]; commands = [ ]; }
+            { commands = [ { command = "ALL"; options = [ ]; } ]; }
+
+            # Test defining commands with the options syntax, though not setting any options
+            { users = [ "notest2" ]; commands = [ { command = "ALL"; options = [ ]; } ]; }
+
+
+            # CONFIGURATION FOR TEST CASES
+            { users = [ "test1" ]; groups = [ "foobar" ]; commands = [ "ALL" ]; }
+            { groups = [ "barfoo" 1337 ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "NOSETENV" ]; } ]; }
+            { users = [ "test5" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "SETENV" ]; } ]; runAs = "test1:barfoo"; }
+          ];
+        };
+      };
+
+    testScript =
+      ''
+        subtest "users in wheel group should have passwordless sudo", sub {
+            $machine->succeed("su - test0 -c \"sudo -u root true\"");
+        };
+
+        subtest "test1 user should have sudo with password", sub {
+            $machine->succeed("su - test1 -c \"echo ${password} | sudo -S -u root true\"");
+        };
+
+        subtest "test1 user should not be able to use sudo without password", sub {
+            $machine->fail("su - test1 -c \"sudo -n -u root true\"");
+        };
+
+        subtest "users in group 'foobar' should be able to use sudo with password", sub {
+            $machine->succeed("sudo -u test2 echo ${password} | sudo -S -u root true");
+        };
+
+        subtest "users in group 'barfoo' should be able to use sudo without password", sub {
+            $machine->succeed("sudo -u test3 sudo -n -u root true");
+        };
+
+        subtest "users in group 'baz' (GID 1337) should be able to use sudo without password", sub {
+            $machine->succeed("sudo -u test4 sudo -n -u root echo true");
+        };
+
+        subtest "test5 user should be able to run commands under test1", sub {
+            $machine->succeed("sudo -u test5 sudo -n -u test1 true");
+        };
+
+        subtest "test5 user should not be able to run commands under root", sub {
+            $machine->fail("sudo -u test5 sudo -n -u root true");
+        };
+
+        subtest "test5 user should be able to keep his environment", sub {
+            $machine->succeed("sudo -u test5 sudo -n -E -u test1 true");
+        };
+
+        subtest "users in group 'barfoo' should not be able to keep their environment", sub {
+            $machine->fail("sudo -u test3 sudo -n -E -u root true");
+        };
+      '';
+  })
diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix
new file mode 100644
index 000000000000..40ca91e8064d
--- /dev/null
+++ b/nixos/tests/yabar.nix
@@ -0,0 +1,25 @@
+import ./make-test.nix ({ pkgs, lib }:
+
+with lib;
+
+{
+  name = "yabar";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ma27 ];
+  };
+
+  nodes.yabar = {
+    imports = [ ./common/x11.nix ./common/user-account.nix ];
+
+    services.xserver.displayManager.auto.user = "bob";
+
+    programs.yabar.enable = true;
+  };
+
+  testScript = ''
+    $yabar->start;
+    $yabar->waitForX;
+
+    $yabar->waitForUnit("yabar.service", "bob");
+  '';
+})
diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix
new file mode 100644
index 000000000000..0d2899b2e649
--- /dev/null
+++ b/pkgs/applications/altcoins/monero-gui/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchFromGitHub
+, makeWrapper, makeDesktopItem
+, qtbase, qmake, qtmultimedia, qttools
+, qtgraphicaleffects, qtdeclarative
+, qtlocation, qtquickcontrols, qtwebchannel
+, qtwebengine, qtx11extras, qtxmlpatterns
+, monero, unbound, readline, boost, libunwind
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "monero-gui-${version}";
+  version = "0.11.1.0";
+
+  src = fetchFromGitHub {
+    owner  = "monero-project";
+    repo   = "monero-gui";
+    rev    = "v${version}";
+    sha256 = "01d7apwrv8j8bh7plvvhlnll3ransaha3n6rx19nkgvfn319hswq";
+  };
+
+  nativeBuildInputs = [ qmake ];
+
+  buildInputs = [
+    qtbase qtmultimedia qtgraphicaleffects
+    qtdeclarative qtlocation qtquickcontrols
+    qtwebchannel qtwebengine qtx11extras
+    qtxmlpatterns monero unbound readline
+    boost libunwind makeWrapper
+  ];
+
+  patches = [
+    ./move-log-file.patch
+    ./move-translations-dir.patch
+  ];
+
+  postPatch = ''
+    echo '
+      var GUI_VERSION = "${version}";
+      var GUI_MONERO_VERSION = "${getVersion monero}";
+    ' > version.js
+    substituteInPlace monero-wallet-gui.pro \
+      --replace '$$[QT_INSTALL_BINS]/lrelease' '${getDev qttools}/bin/lrelease'
+    substituteInPlace src/daemon/DaemonManager.cpp \
+      --replace 'QApplication::applicationDirPath() + "' '"${monero}/bin'
+  '';
+
+  makeFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  preBuild = ''
+    sed -i s#/opt/monero-wallet-gui##g Makefile
+    make -C src/zxcvbn-c
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "monero-wallet-gui";
+    exec = "monero-wallet-gui";
+    icon = "monero";
+    desktopName = "Monero Wallet";
+    genericName = "Wallet";
+    categories  = "Application;Network;Utility;";
+  };
+
+  postInstall = ''
+    # install desktop entry
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications
+
+    # install translations
+    cp -r release/bin/translations $out/share/
+
+    # install icons
+    for n in 16 24 32 48 64 96 128 256; do
+      size=$n"x"$n
+      mkdir -p $out/share/icons/hicolor/$size/apps
+      cp $src/images/appicons/$size.png \
+         $out/share/icons/hicolor/$size/apps/monero.png
+    done;
+  '';
+
+  meta = {
+    description = "Private, secure, untraceable currency";
+    homepage    = https://getmonero.org/;
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/applications/altcoins/monero-gui/move-log-file.patch b/pkgs/applications/altcoins/monero-gui/move-log-file.patch
new file mode 100644
index 000000000000..928fb32911f5
--- /dev/null
+++ b/pkgs/applications/altcoins/monero-gui/move-log-file.patch
@@ -0,0 +1,42 @@
+diff --git a/main.cpp b/main.cpp
+index 1a9a979..2316929 100644
+--- a/main.cpp
++++ b/main.cpp
+@@ -74,10 +74,6 @@ int main(int argc, char *argv[])
+ //    qDebug() << "High DPI auto scaling - enabled";
+ //#endif
+ 
+-    // Log settings
+-    Monero::Wallet::init(argv[0], "monero-wallet-gui");
+-//    qInstallMessageHandler(messageHandler);
+-
+     MainApp app(argc, argv);
+ 
+     qDebug() << "app startd";
+@@ -86,6 +82,13 @@ int main(int argc, char *argv[])
+     app.setOrganizationDomain("getmonero.org");
+     app.setOrganizationName("monero-project");
+ 
++    // Log settings
++    QString logfile =
++      QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
++      + "/monero-wallet-gui.log";
++    Monero::Wallet::init(argv[0], logfile.toUtf8().constData());
++
++
+     filter *eventFilter = new filter;
+     app.installEventFilter(eventFilter);
+ 
+diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
+index 8525bf3..6967b24 100644
+--- a/src/libwalletqt/Wallet.cpp
++++ b/src/libwalletqt/Wallet.cpp
+@@ -613,7 +613,7 @@ QString Wallet::getDaemonLogPath() const
+ 
+ QString Wallet::getWalletLogPath() const
+ {
+-    return QCoreApplication::applicationDirPath() + "/monero-wallet-gui.log";
++    return QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "/monero-wallet-gui.log";
+ }
+ 
+ Wallet::Wallet(Monero::Wallet *w, QObject *parent)
diff --git a/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch b/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch
new file mode 100644
index 000000000000..29bb56301547
--- /dev/null
+++ b/pkgs/applications/altcoins/monero-gui/move-translations-dir.patch
@@ -0,0 +1,14 @@
+diff --git a/TranslationManager.cpp b/TranslationManager.cpp
+index fa39d35..5a410f7 100644
+--- a/TranslationManager.cpp
++++ b/TranslationManager.cpp
+@@ -29,7 +29,7 @@ bool TranslationManager::setLanguage(const QString &language)
+ #ifdef Q_OS_MACX
+     QString dir = qApp->applicationDirPath() + "/../Resources/translations";
+ #else
+-    QString dir = qApp->applicationDirPath() + "/translations";
++    QString dir = qApp->applicationDirPath() + "/../share/translations";
+ #endif
+ 
+     QString filename = "monero-core_" + language;
+
diff --git a/pkgs/applications/altcoins/monero/build-wallet-rpc.patch b/pkgs/applications/altcoins/monero/build-wallet-rpc.patch
new file mode 100644
index 000000000000..5436332db802
--- /dev/null
+++ b/pkgs/applications/altcoins/monero/build-wallet-rpc.patch
@@ -0,0 +1,78 @@
+diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt
+index 63908005..f6656d5c 100644
+--- a/src/wallet/CMakeLists.txt
++++ b/src/wallet/CMakeLists.txt
+@@ -86,43 +86,40 @@ target_link_libraries(wallet
+     ${EXTRA_LIBRARIES})
+ add_dependencies(wallet version)
+ 
+-if (NOT BUILD_GUI_DEPS)
+-  set(wallet_rpc_sources
+-    wallet_rpc_server.cpp)
++set(wallet_rpc_sources
++  wallet_rpc_server.cpp)
+ 
+-  set(wallet_rpc_headers)
++set(wallet_rpc_headers)
+ 
+-  set(wallet_rpc_private_headers
+-    wallet_rpc_server.h)
++set(wallet_rpc_private_headers
++  wallet_rpc_server.h)
+ 
+-  monero_private_headers(wallet_rpc_server
+-    ${wallet_rpc_private_headers})
+-  monero_add_executable(wallet_rpc_server
+-    ${wallet_rpc_sources}
+-    ${wallet_rpc_headers}
+-    ${wallet_rpc_private_headers})
+-
+-  target_link_libraries(wallet_rpc_server
+-    PRIVATE
+-      wallet
+-      epee
+-      rpc
+-      cryptonote_core
+-      cncrypto
+-      common
+-      ${Boost_CHRONO_LIBRARY}
+-      ${Boost_PROGRAM_OPTIONS_LIBRARY}
+-      ${Boost_FILESYSTEM_LIBRARY}
+-      ${Boost_THREAD_LIBRARY}
+-      ${CMAKE_THREAD_LIBS_INIT}
+-      ${EXTRA_LIBRARIES})
+-  add_dependencies(wallet_rpc_server version)
+-  set_property(TARGET wallet_rpc_server
+-    PROPERTY
+-      OUTPUT_NAME "monero-wallet-rpc")
+-  install(TARGETS wallet_rpc_server DESTINATION bin)
+-endif()
++monero_private_headers(wallet_rpc_server
++  ${wallet_rpc_private_headers})
++monero_add_executable(wallet_rpc_server
++  ${wallet_rpc_sources}
++  ${wallet_rpc_headers}
++  ${wallet_rpc_private_headers})
+ 
++target_link_libraries(wallet_rpc_server
++  PRIVATE
++    wallet
++    epee
++    rpc
++    cryptonote_core
++    cncrypto
++    common
++    ${Boost_CHRONO_LIBRARY}
++    ${Boost_PROGRAM_OPTIONS_LIBRARY}
++    ${Boost_FILESYSTEM_LIBRARY}
++    ${Boost_THREAD_LIBRARY}
++    ${CMAKE_THREAD_LIBS_INIT}
++    ${EXTRA_LIBRARIES})
++add_dependencies(wallet_rpc_server version)
++set_property(TARGET wallet_rpc_server
++  PROPERTY
++    OUTPUT_NAME "monero-wallet-rpc")
++install(TARGETS wallet_rpc_server DESTINATION bin)
+ 
+ # build and install libwallet_merged only if we building for GUI
+ if (BUILD_GUI_DEPS)
diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix
new file mode 100644
index 000000000000..4b1e9cd4ea3e
--- /dev/null
+++ b/pkgs/applications/altcoins/monero/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchpatch, fetchFromGitHub, cmake
+, boost, miniupnpc, openssl, pkgconfig, unbound
+}:
+
+stdenv.mkDerivation rec {
+  name    = "monero-${version}";
+  version = "0.11.1.0";
+
+  src = fetchFromGitHub {
+    owner  = "monero-project";
+    repo   = "monero";
+    rev    = "v${version}";
+    sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ boost miniupnpc openssl unbound ];
+
+  patches = [
+    ./build-wallet-rpc.patch # fixed in next release
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DBUILD_GUI_DEPS=ON"
+  ];
+
+  doCheck = false;
+
+  installPhase = ''
+    make install
+    install -Dt "$out/bin/" \
+      bin/monero-blockchain-export \
+      bin/monero-blockchain-import \
+      bin/monero-wallet-rpc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Private, secure, untraceable currency";
+    homepage    = https://getmonero.org/;
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = [ maintainers.ehmry ];
+  };
+}
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index 57d8b554c4f2..35214502e09a 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, vlc
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, vlc
 , qtbase, qtmultimedia, qtsvg, qttools
 
 # Cantata doesn't build with cdparanoia enabled so we disable that
@@ -45,6 +45,15 @@ in stdenv.mkDerivation rec {
     sha256 = "1b633chgfs8rya78bzzck5zijna15d1y4nmrz4dcjp862ks5y5q6";
   };
 
+  patches = [
+    # patch is needed for 2.2.0 with qt 5.10 (doesn't harm earlier versions)
+    (fetchpatch {
+      url    = "https://github.com/CDrummond/cantata/commit/4da7a9128f2c5eaf23ae2a5006d300dc4f21fc6a.patch";
+      sha256 = "1z21ax3542z7hm628xv110lmplaspb407jzgfk16xkphww5qyphj";
+      name   = "fix_qt_510.patch";
+    })
+
+  ];
   buildInputs = [ vlc qtbase qtmultimedia qtsvg ]
     ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
     ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index 57107924b618..1420627c02a0 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   name = "cava-${version}";
-  version = "0.4.2";
+  version = "0.6.0";
 
   buildInputs = [
     alsaLib
@@ -16,14 +16,16 @@ stdenv.mkDerivation rec {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "1c5gl8ghmd89f6097rjd2dzrgh1z4i4v9m4vn5wkpnnm68b96yyc";
+    sha256 = "01maaq5pfd4a7zilgarwr1nl7jbqyrvir6w7ikchggsckrlk23wr";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
   postConfigure = ''
-    substituteInPlace Makefile \
+    substituteInPlace Makefile.am \
       --replace "-L/usr/local/lib -Wl,-rpath /usr/local/lib" ""
+    substituteInPlace configure.ac \
+      --replace "/usr/share/consolefonts" "$out/share/consolefonts"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/dfasma/default.nix b/pkgs/applications/audio/dfasma/default.nix
index 125df237dfe5..d16534b03d32 100644
--- a/pkgs/applications/audio/dfasma/default.nix
+++ b/pkgs/applications/audio/dfasma/default.nix
@@ -62,6 +62,5 @@ in stdenv.mkDerivation rec {
     homepage = http://gillesdegottex.github.io/dfasma/;
     license = [ licenses.gpl3Plus reaperFork.meta.license ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index a6a7ad22fa1a..5c9211e7f3bb 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, libjack2
+{ stdenv, fetchFromGitHub, alsaLib, fftwSinglePrec, freetype, libjack2
 , libxslt, lv2, pkgconfig, premake3, xorg, ladspa-sdk }:
 
 stdenv.mkDerivation rec {
-  name = "distrho-ports-unstable-2017-10-10";
+  name = "distrho-ports-unstable-2018-01-01";
 
-  src = fetchgit {
-    url = "https://github.com/DISTRHO/DISTRHO-Ports.git";
-    rev = "e11e2b204c14b8e370a0bf5beafa5f162fedb8e9";
-    sha256 = "1nd542iian9kr2ldaf7fkkgf900ryzqigks999d1jhms6p0amvfv";
+  src = fetchFromGitHub {
+    owner = "DISTRHO";
+    repo = "DISTRHO-Ports";
+    rev = "b200e7409aa9f6612c4d948932f6ce6f0a087f5a";
+    sha256 = "0672r0a9s6skzkxpjdraziwh5k8ivrfzvi4zcpkcg3zrv2hia2vz";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 901df19ebf59..460c9da7ac31 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -16,13 +16,14 @@ with stdenv.lib.strings;
 
 let
 
-  version = "2.1.0";
+  version = "2.5.10";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = "v${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1pmiwy287g79ipz9pppnkfrdgls3l912kpkr7dfymk9wk5y5di9m";
+    sha256 = "0sjhy7axa2dj1977iz6zmqvz9qzalcfnrx2fqx3xmk9hly847d6z";
+    fetchSubmodules = true;
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix
index 3867114562d5..7762ca393690 100644
--- a/pkgs/applications/audio/faust/faust2jack.nix
+++ b/pkgs/applications/audio/faust/faust2jack.nix
@@ -2,6 +2,7 @@
 , gtk2
 , jack2Full
 , opencv
+, libsndfile
 }:
 
 faust.wrapWithBuildEnv {
@@ -18,6 +19,7 @@ faust.wrapWithBuildEnv {
     gtk2
     jack2Full
     opencv
+    libsndfile
   ];
 
 }
diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix
index c0911b315386..5a015e5ca31e 100644
--- a/pkgs/applications/audio/faust/faust2jaqt.nix
+++ b/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -2,6 +2,7 @@
 , jack2Full
 , opencv
 , qt4
+, libsndfile
 }:
 
 faust.wrapWithBuildEnv {
@@ -17,6 +18,7 @@ faust.wrapWithBuildEnv {
     jack2Full
     opencv
     qt4
+    libsndfile
   ];
 
 }
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index 425b2b866a5a..99aedae19124 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = https://xiph.org/flac/;
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
     platforms = platforms.all;
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
index 66f82226b507..ba3f31d05014 100644
--- a/pkgs/applications/audio/fmit/default.nix
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     homepage = http://gillesdegottex.github.io/fmit/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index fb1ed7280308..bdb32ab01e24 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python3, python3Packages, intltool
 , glibcLocales, gnome3, gtk3, wrapGAppsHook
-, ipodSupport ? false, libgpod
+, ipodSupport ? false, libgpod, gobjectIntrospection
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -22,14 +22,11 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = [
     intltool
-    python3Packages.wrapPython
     wrapGAppsHook
     glibcLocales
   ];
 
-  buildInputs = [
-    python3
-  ];
+  buildInputs = [ python3 gobjectIntrospection ];
 
   checkInputs = with python3Packages; [
     coverage minimock
diff --git a/pkgs/applications/audio/gradio/default.nix b/pkgs/applications/audio/gradio/default.nix
index 4b552301dd3d..8c2987352fbb 100644
--- a/pkgs/applications/audio/gradio/default.nix
+++ b/pkgs/applications/audio/gradio/default.nix
@@ -17,7 +17,7 @@
 , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
 }:
 let
-  version = "7.0";
+  version = "7.1";
 
 in stdenv.mkDerivation rec {
   name = "gradio-${version}";
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
     owner = "haecker-felix";
     repo = "gradio";
     rev = "v${version}";
-    sha256 = "0kn08k5dv7yh29ksywcpl6ifrp3p8zzk3p3hkbhzc8fpx84jn7r9";
+    sha256 = "0x0hmcjvpgvsm64ywcc71srlwqybfhadn5nkwycq0lh7r49d89kx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/id3v2/default.nix b/pkgs/applications/audio/id3v2/default.nix
index 6653526c6e2f..d2720fcace67 100644
--- a/pkgs/applications/audio/id3v2/default.nix
+++ b/pkgs/applications/audio/id3v2/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
     description = "A command line editor for id3v2 tags";
     homepage = http://id3v2.sourceforge.net/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/audio/infamousPlugins/default.nix b/pkgs/applications/audio/infamousPlugins/default.nix
new file mode 100644
index 000000000000..fd9dee624206
--- /dev/null
+++ b/pkgs/applications/audio/infamousPlugins/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cairomm, cmake, lv2, libpthreadstubs, libXdmcp, libXft, ntk, pcre, fftwFloat, zita-resampler }:
+
+stdenv.mkDerivation rec {
+  name = "infamousPlugins-v${version}";
+  version = "0.2.03";
+
+  src = fetchFromGitHub {
+    owner = "ssj71";
+    repo = "infamousPlugins";
+    rev = "v${version}";
+    sha256 = "1pb7vmc703j25rnyx81cqlfzi66v7gm4a49s06dbgy8a66s1i2zl";
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ cairomm lv2 libpthreadstubs libXdmcp libXft ntk pcre fftwFloat zita-resampler ];
+
+  meta = with stdenv.lib; {
+    homepage = https://ssj71.github.io/infamousPlugins;
+    description = "A collection of open-source LV2 plugins";
+    longDescription = ''
+      These are audio plugins in the LV2 format, developed for linux. Most are suitable for live use.
+      This collection contains:
+        * Cellular Automaton Synth - additive synthesizer, where 16 harmonics are added according to rules of elementary cellular automata
+        * Envelope Follower - a fully featured envelope follower plugin
+        * Hip2B - a distortion/destroyer plugin
+        * cheap distortion - another distortion plugin, but this one I wanted to get it as light as possible
+        * stuck - a clone of the electro-harmonix freeze
+        * power cut - this effect is commonly called tape stop
+        * power up - the opposite of the power cut
+        * ewham - a whammy style pitchshifter
+        * lushlife - a simulated double tracking plugin capable of everything from a thin beatle effect to thick lush choruses to weird outlandish effects
+    '';
+    license = licenses.gpl2;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix
index 6a013e8c604f..344e6894baf5 100644
--- a/pkgs/applications/audio/keyfinder-cli/default.nix
+++ b/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix
index f011e909052c..55039e8508bc 100644
--- a/pkgs/applications/audio/keyfinder/default.nix
+++ b/pkgs/applications/audio/keyfinder/default.nix
@@ -37,6 +37,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
index 206754a51955..f355c540f301 100644
--- a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     faust2jaqt -vec -time -t 99999 CharacterCompressor.dsp
     faust2jaqt -vec -time -t 99999 CharacterCompressorMono.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "lib/CharacterCompressor.lib"
     faust2lv2 -vec -time -gui -t 99999 CharacterCompressor.dsp
     faust2lv2 -vec -time -gui -t 99999 CharacterCompressorMono.dsp
   '';
diff --git a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
index 467e11daaf65..90e4eabeef0b 100644
--- a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
       faust2jaqt -time -vec -double -t 99999 $f
     done
 
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "CompBus.lib"
-
     for f in *.dsp;
     do
       faust2lv2  -time -vec -double -gui -t 99999 $f
diff --git a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
index b452d91426e0..73dd7b48e9c4 100644
--- a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     faust2jaqt -time -vec -t 99999 ConstantDetuneChorus.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "ConstantDetuneChorus.dsp"
     faust2lv2  -time -vec -t 99999 -gui ConstantDetuneChorus.dsp
   '';
 
diff --git a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
index d1959ec3cebc..39065db6edeb 100644
--- a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     faust2jaqt -vec -time -t 99999 LazyLimiter.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "GUI.lib"
     faust2lv2 -vec -time -t 99999  -gui LazyLimiter.dsp
   '';
 
diff --git a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
index 6216ba555938..362451988d38 100644
--- a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     faust2jaqt -time -vec -t 99999 MBdistortion.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "MBdistortion.dsp"
     faust2lv2 -time -vec -gui -t 99999 MBdistortion.dsp
   '';
 
diff --git a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
index 0bb2034fc46e..3f809aa78474 100644
--- a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     faust2jaqt -time -vec -t 99999 RhythmDelay.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "RhythmDelay.dsp"
     faust2lv2  -time -vec -t 99999 -gui RhythmDelay.dsp
   '';
 
diff --git a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
index e526e40a1e36..fece392ab1cc 100644
--- a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
@@ -19,11 +19,9 @@ stdenv.mkDerivation rec {
       faust2jaqt -time -double -t 99999 $f
     done
 
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "compressors.lib"
-
     for f in *.dsp;
     do
-      echo "compiling plugin from" $f
+      echo "Compiling plugin from" $f
       faust2lv2  -time -double -gui -t 99999 $f
     done
   '';
diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
index daa23baa966b..6237628e600c 100644
--- a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
       do
         echo "Building jack standalone for $f"
         faust2jaqt -vec -time -t 99999 "$f"
-        sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "$f"
         echo "Building lv2 for $f"
         faust2lv2 -vec -time -gui -t 99999 "$f"
       done
diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
index 422aabb28299..cb9247fd3d08 100644
--- a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     faust2jaqt -vec -double -time -t 99999 shelfMultiBand.dsp
     faust2jaqt -vec -double -time -t 99999 shelfMultiBandMono.dsp
-    sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "shelfMultiBand.lib"
     faust2lv2 -vec -double -time -gui -t 99999 shelfMultiBandMono.dsp
     faust2lv2 -vec -double -time -gui -t 99999 shelfMultiBand.dsp
   '';
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index d1c6ed6379a8..55f3a667e06f 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/audio/mopidy-iris/default.nix b/pkgs/applications/audio/mopidy-iris/default.nix
index 1f309c4503bf..219b04b4ec41 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.11.0";
+  version = "3.12.4";
 
   src = pythonPackages.fetchPypi {
     inherit version;
     pname = "Mopidy-Iris";
-    sha256 = "1a9pn35vv1b9v0s30ajjg7gjjvcfjwgfyp7z61m567nv6cr37vhq";
+    sha256 = "0k64rfnp5b4rybb396zzx12wnnca43a8l1s6s6dr6cflgk9aws87";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 1e0b46826cf0..1b30399ae0a5 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.25.7";
+  name = "mpg123-1.25.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
-    sha256 = "1ws40fglyyk51jvmz8gfapjkw1g51pkch1rffdsbh4b1yay5xc9i";
+    sha256 = "16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index ca147ffc7352..93e909fc604b 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "ncmpc-${version}";
-  version = "0.28";
+  version = "0.29";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "1z0bdkqsdb3f5k2lsws3qzav4r30fzk8fhxj9l0p738flcka6k4n";
+    sha256 = "1b2kbx2phbf4s2qpy7mx72c87xranljr0yam6z9m1i1kvcnp8q1q";
   };
 
   buildInputs = [ glib ncurses mpd_clientlib ];
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 4452ab23cd5e..10c3bb2a195d 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "A featureful ncurses based MPD client inspired by ncmpc";
     homepage    = https://ncmpcpp.rybczak.net/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jfrankenau koral lovek323 mornfall ];
+    maintainers = with maintainers; [ jfrankenau koral lovek323 ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/applications/audio/normalize/default.nix b/pkgs/applications/audio/normalize/default.nix
index ad4a06cff994..a727160ff299 100644
--- a/pkgs/applications/audio/normalize/default.nix
+++ b/pkgs/applications/audio/normalize/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, libmad }:
 
 stdenv.mkDerivation rec {
   name = "normalize-${version}";
   version = "0.7.7";
 
   src = fetchurl {
-    url = "mirror://savannah/normalize/normalize-0.7.7.tar.gz";
+    url = "mirror://savannah/normalize/${name}.tar.gz";
     sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
   };
 
+  buildInputs = [ libmad ];
+
   meta = with stdenv.lib; {
     homepage = http://normalize.nongnu.org/;
     description = "Audio file normalizer";
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index 8a7ab8889a66..d864d5972bce 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }:
 
 stdenv.mkDerivation rec {
-  name = "opusfile-0.8";
+  name = "opusfile-0.10";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "192mp2jgn5s9815h31ybzsfipmbppmdhwx1dymrk26xarz9iw8rc";
+    sha256 = "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/pd-plugins/cyclone/default.nix b/pkgs/applications/audio/pd-plugins/cyclone/default.nix
index e4ec281cacb8..ae43bad5b2c2 100644
--- a/pkgs/applications/audio/pd-plugins/cyclone/default.nix
+++ b/pkgs/applications/audio/pd-plugins/cyclone/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchurl, puredata }:
+{ stdenv, fetchFromGitHub, puredata }:
 
 stdenv.mkDerivation rec {
   name = "cyclone-${version}";
-  version = "0.1-alpha55";
+  version = "0.3beta-2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/pure-data/libraries/cyclone/${name}.tar.gz";
-    sha256 = "1yys9xrlz09xgnqk2gqdl8vw6xj6l9d7km2lkihidgjql0jx5b5i";
+  src = fetchFromGitHub {
+    owner = "porres";
+    repo = "pd-cyclone";
+    rev = "cyclone${version}";
+    sha256 = "192jrq3bdsv626js1ymq10gwp9wwcszjs63ys6ap9ig8xdkbhr3q";
   };
 
   buildInputs = [ puredata ];
 
-  hardeningDisable = [ "format" ];
+  makeFlags = [
+    "pdincludepath=${puredata}/include/pd"
+    "prefix=$(out)"
+  ];
 
-  patchPhase = ''
-    for file in `grep -r -l g_canvas.h`
-      do
-        sed -i 's|#include "g_canvas.h"|#include "${puredata}/include/pd/g_canvas.h"|g' $file
-      done
-    for file in `grep -r -l m_imp.h`
-      do
-        sed -i 's|#include "m_imp.h"|#include "${puredata}/include/pd/m_imp.h"|g' $file
-      done
-  '';
-
-  installPhase = ''
-    mkdir -p $out/cyclone
-    cp -r bin/* $out/cyclone
+  postInstall = ''
+    mv "$out/lib/pd-externals/cyclone" "$out/"
+    rm -rf $out/lib
   '';
 
   meta = {
diff --git a/pkgs/applications/audio/pd-plugins/maxlib/default.nix b/pkgs/applications/audio/pd-plugins/maxlib/default.nix
index 3b836d9eb330..0eb75d77c68c 100644
--- a/pkgs/applications/audio/pd-plugins/maxlib/default.nix
+++ b/pkgs/applications/audio/pd-plugins/maxlib/default.nix
@@ -1,28 +1,26 @@
-{ stdenv, fetchurl, puredata }:
+{ stdenv, fetchFromGitHub, puredata }:
 
 stdenv.mkDerivation rec {
   name = "maxlib-${version}";
-  version = "1.5.5";
+  version = "1.5.7";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/pure-data/libraries/maxlib/${name}.tar.gz";
-    sha256 = "0vxl9s815dnay5r0067rxsfh8f6jbk61f0nxrydzjydfycza7p1w";
+  src = fetchFromGitHub {
+    owner = "electrickery";
+    repo = "pd-maxlib";
+    rev = "v${version}";
+    sha256 = "10w9qfgn26lj3zqjksf2r1wsjpf5xy4dx22jay9l6idy9q62mxsn";
   };
 
   buildInputs = [ puredata ];
 
   hardeningDisable = [ "format" ];
 
-  patchPhase = ''
-    for i in ${puredata}/include/pd/*; do
-      ln -s $i .
-    done
-    sed -i "s@/usr@$out@g" Makefile
-  '';
+  makeFlags = [ "prefix=$(out)" ];
 
   postInstall = ''
-    mv $out/local/lib/pd-externals/maxlib/ $out
+    mv $out/lib/pd-externals/maxlib/ $out
     rm -rf $out/local/
+    rm -rf $out/lib/
   '';
 
   meta = {
diff --git a/pkgs/applications/audio/pd-plugins/timbreid/default.nix b/pkgs/applications/audio/pd-plugins/timbreid/default.nix
index f8a25256bb07..f2e54b327fce 100644
--- a/pkgs/applications/audio/pd-plugins/timbreid/default.nix
+++ b/pkgs/applications/audio/pd-plugins/timbreid/default.nix
@@ -1,30 +1,40 @@
-{ stdenv, fetchurl, unzip, puredata }:
+{ stdenv, fetchurl, unzip, puredata, fftw }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.0";
+  version = "0.7.0";
   name = "timbreid-${version}";
 
   src = fetchurl {
     url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
-    sha256 = "02rnkb0vpjxrr60c3hryv7zhyjpci2mi9dk27kjxpj5zp26gjk0p";
+    sha256 = "14k2xk5zrzrw1zprdbwx45hrlc7ck8vq4drpd3l455i5r8yk4y6b";
   };
 
-  buildInputs = [ unzip puredata ];
+  buildInputs = [ unzip puredata fftw ];
 
   unpackPhase = ''
+    mkdir source
+    cd source
     unzip $src
-    mv timbreID-0.6.0-src/tID/* .
-    rm -rf timbreID-0.6.0-src/tID/
-    rm -rf timbreID-0.6.0-src/INSTALL.txt
   '';
 
+  buildPhase = ''
+    make tIDLib.o all
+ '';
+
   installPhase = ''
     mkdir -p $out/
     cp -r *.pd $out/
     cp -r *.pd_linux $out/
-    cp -r *.wav $out/
+    cp -r audio/ $out/
+    cp -r data/ $out/
+    cp -r doc/ $out/
   '';
 
+  postFixup = ''
+    mv $out/share/doc/ $out/
+    rm -rf $out/share/
+    '';
+
   meta = {
     description = "A collection of audio feature analysis externals for puredata";
     homepage = http://williambrent.conflations.com/pages/research.html;
diff --git a/pkgs/applications/audio/pmidi/default.nix b/pkgs/applications/audio/pmidi/default.nix
new file mode 100644
index 000000000000..9f51d3008259
--- /dev/null
+++ b/pkgs/applications/audio/pmidi/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, alsaLib
+, version ? "1.7.1"
+, sourceSha256 ? "051mv6f13c8y13c1iv3279k1hhzpz4fm9sfczhgp9sim2bjdj055"
+}:
+stdenv.mkDerivation {
+  name = "pmidi-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pmidi/${version}/pmidi-${version}.tar.gz";
+    sha256 = sourceSha256;
+  };
+
+  buildInputs = [ alsaLib ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.parabola.me.uk/alsa/pmidi.html;
+    description = "A straightforward command line program to play midi files through the ALSA sequencer";
+    maintainers = with maintainers; [ lheckemann ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 77c82f1737c6..6b816cdeec10 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.1.10";
+  name = "qmmp-1.2.0";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "16hb3s48filq0q18m7x9vmhpirk4fh0aqj8kwbapv8mkcnzq2mqy";
+    sha256 = "17kci7srgbkk62dgxlmg3lv2y7z04jsinpgx6jmxjpnpblpcj840";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix
index ebeef301e103..11ee00adc887 100644
--- a/pkgs/applications/audio/seq24/default.nix
+++ b/pkgs/applications/audio/seq24/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation  rec {
     homepage = http://www.filter24.org/seq24;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ goibhniu nckx ];
+    maintainers = with maintainers; [ goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 9ac0c49ebc31..35c5dff27106 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -9,7 +9,7 @@ let
   # Latest version number can be found at:
   # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
   # Be careful not to pick the testing version.
-  version = "1.0.69.336.g7edcc575-39";
+  version = "1.0.70.399.g5ffabd56-26";
 
   deps = [
     alsaLib
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-    sha256 = "0bh2q7g478g7wj661fypxcbhrbq87zingfyigg7rz1shgsgwc3gd";
+    sha256 = "0kpakz11xkyqqjvln4jkhc3z5my8zgpw8m6jx954cjdbc6vkxd29";
   };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
index 9aa24738c379..d234f6b6b8cc 100644
--- a/pkgs/applications/audio/xmp/default.nix
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, alsaLib, libxmp }:
 
 stdenv.mkDerivation rec {
-  name = "xmp-4.0.10";
+  name = "xmp-4.1.0";
 
   meta = with stdenv.lib; {
     description = "Extended module player";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
-    sha256 = "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n";
+    sha256 = "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index b6ead3c8f527..4cd0553e4d2e 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.7"; # "Android Studio 3.1 Canary 8"
-    build = "173.4529993";
-    sha256Hash = "0mfkzdxbrdqlfqqx83dr9ibkpjwjf54kka9qra9j31zqcmy8rd53";
+    version = "3.1.0.9"; # "Android Studio 3.1 Beta 1"
+    build = "173.4567466";
+    sha256Hash = "01c6a46pk5zbhwk2w038nm68fkx86nafiw1v2i5rdr93mxvx9cag";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/editors/atom/beta.nix b/pkgs/applications/editors/atom/beta.nix
index 46c9625bc986..0734da173e5f 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.24.0-beta2";
+  version = "1.24.0-beta3";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1s5zfccpiyg3nqq3a93dg5sr6pk8gvwf8assq9g78l7qkryqr4ac";
+    sha256 = "02nnjjwlkxafi2fbi4gz276nqkmi92kf3q414vw1k3kc8q5zvxrs";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 50c3d182afb8..39b4b2e045ed 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.23.2";
+  version = "1.23.3";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "04shnmy80ixjrc8d57i5w23xfxw1dmxj7kbygsal9l8kxgd76k7h";
+    sha256 = "0vq0pics8ajjqwqlk396dxl10k80059f9bik0j4wj2cals42bifc";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/deadpixi-sam/default.nix b/pkgs/applications/editors/deadpixi-sam/default.nix
index d1ed4826c682..4ab11064eae3 100644
--- a/pkgs/applications/editors/deadpixi-sam/default.nix
+++ b/pkgs/applications/editors/deadpixi-sam/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, freetype, libX11, libXt, libXft
-, version ? "2016-10-08"
-, rev ? "a17c4a9c2a1af2de0a756fe16d482e0db88c0541"
-, sha256 ? "03xmfzlijz4gbmr7l0pb1gl9kmlz1ab3hr8d51innvlasy4g6xgj"
-}:
+{ stdenv, fetchFromGitHub, freetype, libX11, libXi, libXt, libXft }:
 
 stdenv.mkDerivation rec {
-  inherit version;
+  version = "2017-10-27";
   name = "deadpixi-sam-unstable-${version}";
-    src = fetchFromGitHub {
-      inherit sha256 rev;
-      owner = "deadpixi";
-      repo = "sam";
-    };
+
+  src = fetchFromGitHub {
+    owner = "deadpixi";
+    repo = "sam";
+    rev = "51693780fb1457913389db6634163998f9b775b8";
+    sha256 = "0nfkj93j4bgli4ixbk041nwi14rabk04kqg8krq4mj0044m1qywr";
+  };
 
   postPatch = ''
     substituteInPlace config.mk.def \
-      --replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2"
+      --replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2" \
+      --replace "CC=gcc" ""
   '';
 
+  CFLAGS = "-D_DARWIN_C_SOURCE";
   makeFlags = [ "DESTDIR=$(out)" ];
-  buildInputs = [ libX11 libXt libXft ];
+  buildInputs = [ libX11 libXi libXt libXft ];
 
   postInstall = ''
     mkdir -p $out/share/applications
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     description = "Updated version of the sam text editor";
     license = with licenses; lpl-102;
     maintainers = with maintainers; [ ramkromberg ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index f13538cba6a3..4f82696efd58 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -20,20 +20,32 @@ rec {
 
   # Helper for the common case where we have separate feature and
   # plugin JARs.
-  buildEclipsePlugin = { name, srcFeature, srcPlugin, ... } @ attrs:
-    buildEclipsePluginBase (attrs // {
-      srcs = [ srcFeature srcPlugin ];
+  buildEclipsePlugin =
+    { name, srcFeature, srcPlugin ? null, srcPlugins ? [], ... } @ attrs:
+      assert srcPlugin == null -> srcPlugins != [];
+      assert srcPlugin != null -> srcPlugins == [];
 
-      buildCommand = ''
-        dropinDir="$out/eclipse/dropins/${name}"
+      let
 
-        mkdir -p $dropinDir/features
-        unzip ${srcFeature} -d $dropinDir/features/
+        pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins;
 
-        mkdir -p $dropinDir/plugins
-        cp -v ${srcPlugin} $dropinDir/plugins/${name}.jar
-      '';
-    });
+      in
+
+        buildEclipsePluginBase (attrs // {
+          srcs = [ srcFeature ] ++ pSrcs;
+
+          buildCommand = ''
+            dropinDir="$out/eclipse/dropins/${name}"
+
+            mkdir -p $dropinDir/features
+            unzip ${srcFeature} -d $dropinDir/features/
+
+            mkdir -p $dropinDir/plugins
+            for plugin in ${toString pSrcs}; do
+              cp -v $plugin $dropinDir/plugins/$(stripHash $plugin)
+            done
+          '';
+        });
 
   # Helper for the case where the build directory has the layout of an
   # Eclipse update site, that is, it contains the directories
@@ -102,6 +114,52 @@ rec {
     };
   };
 
+  ansi-econsole = buildEclipsePlugin rec {
+    name = "ansi-econsole-${version}";
+    version = "1.3.5.201612301822";
+
+    srcFeature = fetchurl {
+      url = "https://mihnita.github.io/ansi-econsole/install/features/net.mihai-nita.ansicon_${version}.jar";
+      sha256 = "086ylxpsrlpbvwv5mw7v6b44j63cwzgi8apg2mq058ydr5ak6hxs";
+    };
+
+    srcPlugin = fetchurl {
+      url = "https://mihnita.github.io/ansi-econsole/install/plugins/net.mihai-nita.ansicon.plugin_${version}.jar";
+      sha256 = "1j42l0xxzs89shqkyn91lb0gia10mifzy0i73c3n7gj7sv2ddbjq";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "https://mihai-nita.net/java/#ePluginAEC";
+      description = "Adds support for ANSI escape sequences in the Eclipse console";
+      license = licenses.asl20;
+      platforms = platforms.all;
+      maintainers = [ maintainers.rycee ];
+    };
+  };
+
+  antlr-runtime_4_5 = buildEclipsePluginBase rec {
+    name = "antlr-runtime-4.5.3";
+
+    src = fetchurl {
+      url = "http://www.antlr.org/download/${name}.jar";
+      sha256 = "0lm78i2annlczlc2cg5xvby0g1dyl0sh1y5xc2pymjlmr67a1g4k";
+    };
+
+    buildCommand = ''
+      dropinDir="$out/eclipse/dropins/"
+      mkdir -p $dropinDir
+      cp -v $src $dropinDir/${name}.jar
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A powerful parser generator for processing structured text or binary files";
+      homepage = http://www.antlr.org/;
+      license = licenses.bsd3;
+      platforms = platforms.all;
+      maintainers = [ maintainers.rycee ];
+    };
+  };
+
   anyedittools = buildEclipsePlugin rec {
     name = "anyedit-${version}";
     version = "2.7.1.201709201439";
@@ -127,16 +185,16 @@ rec {
 
   autodetect-encoding = buildEclipsePlugin rec {
     name = "autodetect-encoding-${version}";
-    version = "1.8.4.201708052053";
+    version = "1.8.5.201801191359";
 
     srcFeature = fetchurl {
-      url = "https://cypher256.github.io/eclipse-encoding-plugin/features/eclipse.encoding.plugin.feature_${version}.jar";
-      sha256 = "1gbvib5dd75pp5mr17ckj2y66gnxjvpc067im5nsl9fyljdw867c";
+      url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/features/eclipse.encoding.plugin.feature_${version}.jar";
+      sha256 = "1m8ypsc1dwz0y6yhjgxsdi9813d38jllv7javgwvcd30g042a3kx";
     };
 
     srcPlugin = fetchurl {
-      url = "https://cypher256.github.io/eclipse-encoding-plugin/plugins/mergedoc.encoding_${version}.jar";
-      sha256 = "0728zsbfs1mc4qvx2p92hkxpnknckqk0xvqlmzivsnr62b5qd5im";
+      url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/plugins/mergedoc.encoding_${version}.jar";
+      sha256 = "1n2rzybfcwp3ss2qi0fhd8vm38vdwav8j837lqiqlfcnvzwsk86m";
     };
 
     meta = with stdenv.lib; {
@@ -233,7 +291,7 @@ rec {
     };
   };
 
-  cup = buildEclipsePluginBase rec {
+  cup = buildEclipsePlugin rec {
     name = "cup-${version}";
     version = "1.1.0.201604221613";
     version_ = "1.0.0.201604221613";
@@ -243,31 +301,20 @@ rec {
       sha256 = "13nnsf0cqg02z3af6xg45rhcgiffsibxbx6h1zahjv7igvqgkyna";
     };
 
-    srcPlugin1 = fetchurl {
-      url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar";
-      sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j";
-    };
-
-    srcPlugin2 = fetchurl {
-      url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar";
-      sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl";
-    };
+    srcPlugins = [
+      (fetchurl {
+        url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar";
+        sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j";
+      })
 
-    srcs = [ srcFeature srcPlugin1 srcPlugin2 ];
+      (fetchurl {
+        url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar";
+        sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl";
+      })
+    ];
 
     propagatedBuildInputs = [ zest ];
 
-    phases = [ "installPhase" ];
-
-    installPhase = ''
-      dropinDir="$out/eclipse/dropins/${name}"
-      mkdir -p $dropinDir/features
-      unzip ${srcFeature} -d $dropinDir/features/
-      mkdir -p $dropinDir/plugins
-      cp -v ${srcPlugin1} $dropinDir/plugins/''${srcPlugin1#*-}
-      cp -v ${srcPlugin2} $dropinDir/plugins/''${srcPlugin2#*-}
-    '';
-
     meta = with stdenv.lib; {
       homepage = http://www2.cs.tum.edu/projects/cup/eclipse.php;
       description = "IDE for developing CUP based parsers";
@@ -360,6 +407,44 @@ rec {
     };
   };
 
+  jsonedit = buildEclipsePlugin rec {
+    name = "jsonedit-${version}";
+    version = "1.0.1";
+
+    srcFeature = fetchurl {
+      url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar";
+      sha256 = "19221409wzcsrlm2fqf6mrxzb5ip1x6y5ba8anw788p7aaz1w30k";
+    };
+
+    srcPlugins =
+      let
+        fetch = { n, h }:
+          fetchurl {
+            url = "https://boothen.github.io/Json-Eclipse-Plugin/plugins/jsonedit-${n}_${version}.jar";
+            sha256 = h;
+          };
+      in
+        map fetch [
+          { n = "core"; h = "05ipjbh9yz97zhqaqq6cja3zz44n0dn40ms13qnlgf4bxyaf0f6w"; }
+          { n = "editor"; h = "1i71rh2fd5hsx6gygnafz2gjz4hlb0ckazxn0maxmnlx4p5apjql"; }
+          { n = "folding"; h = "13p8vqdna23ln82w1jgchm59375f1ky0p2b1v7jih55yfhw1ymam"; }
+          { n = "model"; h = "0llswhsd58f0rjb9canjncavq4z7q8zidn26yl5gradbbz580p6w"; }
+          { n = "outline"; h = "1rs8g0iv2kklbl7j0p6nr26m6ii89yyr9bpi05mh21xva40pzkl5"; }
+          { n = "preferences"; h = "0vs074ahhiba7if43ryf9m8xd81sqj9grppy0pzcnkkdkbk870n0"; }
+          { n = "text"; h = "0nqpzjw8hhvh9jlpldpmcmg83a170wjdabgsvjq207j12jkvfiqq"; }
+        ];
+
+    propagatedBuildInputs = [ antlr-runtime_4_5 ];
+
+    meta = with stdenv.lib; {
+      description = "Adds support for JSON files to Eclipse";
+      homepage = https://github.com/boothen/Json-Eclipse-Plugin;
+      license = licenses.epl10;
+      platforms = platforms.all;
+      maintainers = [ maintainers.rycee ];
+    };
+  };
+
   jdt = buildEclipseUpdateSite rec {
     name = "jdt-${version}";
     version = "4.7.2";
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 754061270123..233520f8fc62 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -95,10 +95,10 @@
     ahungry-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "ahungry-theme";
-        version = "1.8.0";
+        version = "1.10.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ahungry-theme-1.8.0.tar";
-          sha256 = "14dhnrlbjzrxk5ligf0z2im5bgnxpjqqzqcrmqg5355xrgpbpb7v";
+          url = "https://elpa.gnu.org/packages/ahungry-theme-1.10.0.tar";
+          sha256 = "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -564,10 +564,10 @@
     debbugs = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, soap-client }:
     elpaBuild {
         pname = "debbugs";
-        version = "0.14";
+        version = "0.15";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/debbugs-0.14.tar";
-          sha256 = "07wgcvg038l88gxvjr0gjpjhyk743w22x1rqghz3gkmif0g70say";
+          url = "https://elpa.gnu.org/packages/debbugs-0.15.tar";
+          sha256 = "1x7jw2ldgkknyxg7x9fhnqkary691icnysmi3xw0g2fjrvllzhqw";
         };
         packageRequires = [ cl-lib soap-client ];
         meta = {
@@ -765,15 +765,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
+    el-search = callPackage ({ cl-print, elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.4.0.17";
+        version = "1.5.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.4.0.17.tar";
-          sha256 = "14jacy0gjhpvia15ffa99np2wyblmadb95f17a9azl6dsn6dq1m6";
+          url = "https://elpa.gnu.org/packages/el-search-1.5.4.tar";
+          sha256 = "1k0makrk3p6hknpnr3kbiszqzw3rpw18gnx2m8scr9vv0wif4qmk";
         };
-        packageRequires = [ emacs stream ];
+        packageRequires = [ cl-print emacs stream ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/el-search.html";
           license = lib.licenses.free;
@@ -931,10 +931,10 @@
     gited = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "gited";
-        version = "0.3.3";
+        version = "0.3.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gited-0.3.3.tar";
-          sha256 = "0h3ps26sy4wp1s9vpsj066fpqjqacjlprz3kb09macgsg88k2c1p";
+          url = "https://elpa.gnu.org/packages/gited-0.3.4.tar";
+          sha256 = "0s03p0z5dqhigl01hzin2qy53nm7b4ilvfm83d0ca683i9rb7hx1";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1386,10 +1386,10 @@
     mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
     elpaBuild {
         pname = "mines";
-        version = "1.5";
+        version = "1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/mines-1.5.tar";
-          sha256 = "1wpkn47iza78hzj396z5c05hsimnhhhmr1cq598azd6h8c1zca7g";
+          url = "https://elpa.gnu.org/packages/mines-1.6.tar";
+          sha256 = "1199s1v4my0qpvc5aaxzbqayjn59vilxbqnywvyhvm7hz088aps2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1637,10 +1637,10 @@
       }) {};
     paced = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }: elpaBuild {
         pname = "paced";
-        version = "1.0";
+        version = "1.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/paced-1.0.tar";
-          sha256 = "0ld7cnlk6pn41hx2yfga5w7vfgg4ql6k25ffnf400nsn7y6wcapd";
+          url = "https://elpa.gnu.org/packages/paced-1.1.2.tar";
+          sha256 = "1hxbzlzmlndj2gs9n741whi7rj6vbcnxdn89lg2l0997pqmsx58y";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -1754,6 +1754,19 @@
           license = lib.licenses.free;
         };
       }) {};
+    rbit = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
+        pname = "rbit";
+        version = "0.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/rbit-0.1.el";
+          sha256 = "0h0f9jx4xmkbyxk39wibrvnj65b1ylkz4sk4np7qcavfjs6dz3lm";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/rbit.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     rcirc-color = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "rcirc-color";
         version = "0.3";
diff --git a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
index 634c654d58fc..8e1d7092e6a1 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://emacs-w3m.namazu.org/;
 
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 906737e381bd..5990dccd2f38 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -761,8 +761,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
-          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
+          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
+          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -778,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 = "20180111.116";
+        version = "20180206.202";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
-          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
+          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
+          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -824,8 +824,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -1114,12 +1114,12 @@
     ace-window = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-window";
-        version = "20171228.1109";
+        version = "20180123.1111";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-window";
-          rev = "c0fbdd51be8fdd43fd7a89140ebd4b4c311d45fc";
-          sha256 = "0jiq2d2bgp6f26d5hjmd56cv68l2x6rlbpsvp6ig42nydv2yjjkz";
+          rev = "208ea2a4e809f0c91caf3354b44a8f4a4f1cbb73";
+          sha256 = "1bkck2gbbgxhh1swzkdsyk5vp9h08dv8skc5hr4ncgxy2fq8m27g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe131d3c2ea498e4df30ba539a6b91c00f5b07/recipes/ace-window";
@@ -1406,11 +1406,11 @@
       }) {};
     ahg = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "ahg";
-        version = "20171123.201";
+        version = "20180125.944";
         src = fetchhg {
           url = "https://bitbucket.com/agriggio/ahg";
-          rev = "fbe148d4ab94";
-          sha256 = "1is92jw37wadzmkbm3qqz3sxfs5lkvvz6dx6flhm9kfgfmk9vkvh";
+          rev = "622b519d8586";
+          sha256 = "14jayh9bn8f6mjiln6h7ny404g0iy8zr7b6s6faqqhd840h519mz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/ahg";
@@ -1447,12 +1447,12 @@
     ahungry-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ahungry-theme";
-        version = "20171103.2238";
+        version = "20180130.1928";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "color-theme-ahungry";
-          rev = "9ec7fca8002b213c7eee1168258e36a683190d18";
-          sha256 = "01gjmyxb0m6i321md77wscqrhy30gyhrk4fjcx7mg2z9hzxvzljb";
+          rev = "a038d91ec593d1f1b19ca66a0576d59bbc24c523";
+          sha256 = "0f86xp7l8bv4z5dgf3pamjgqyiq3kfx9gbi9wcw0m6lbza8db15a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/520295978fd7de3f4266dd69cc30d0b4fdf09db0/recipes/ahungry-theme";
@@ -1573,12 +1573,12 @@
     alert = callPackage ({ fetchFromGitHub, fetchurl, gntp, lib, log4e, melpaBuild }:
     melpaBuild {
         pname = "alert";
-        version = "20180105.2127";
+        version = "20180122.1242";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "alert";
-          rev = "c85a9dcc5d6cdb253b12967573884cc7858c6581";
-          sha256 = "1qfwwrivrjsxdlmb0fxwf92aadlzawjy661rg64cyqckilcdah0d";
+          rev = "103d34c83fe77e46a6976dcaba3db678199e0c9c";
+          sha256 = "1nbk768d8iqjf1mx956497hbjfxar144h3m3sd298byc54z8bvmf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/113953825ac4ff98d90a5375eb48d8b7bfa224e7/recipes/alert";
@@ -1633,22 +1633,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild, memoize }:
+    all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20171011.324";
+        version = "20180125.757";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "b93707e3a3a7a4968b3e212b890edfe265dcd57d";
-          sha256 = "09hyg0fs3qgyc6dbn23pw8p7w2m9xvkf5cz8v0f18a7fkvq2j2f9";
+          rev = "52d1f2d36468146c93aaf11399f581401a233306";
+          sha256 = "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
           sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q";
           name = "all-the-icons";
         };
-        packageRequires = [ emacs font-lock-plus memoize ];
+        packageRequires = [ emacs memoize ];
         meta = {
           homepage = "https://melpa.org/#/all-the-icons";
           license = lib.licenses.free;
@@ -1771,12 +1771,12 @@
     ample-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ample-theme";
-        version = "20180115.627";
+        version = "20180207.945";
         src = fetchFromGitHub {
           owner = "jordonbiondo";
           repo = "ample-theme";
-          rev = "64845a6b67627e897dd42d8302c25c03ddce2aee";
-          sha256 = "0fb5pq5242xqss02si4nlwgy073kpvf909avwdngvyg6apyk66p2";
+          rev = "366698400c555211c2082962a5d74f3dd79a78c8";
+          sha256 = "1kzb15aqy7n2wxibmnihya7n6ajs34jxp9iin96n758nza92m59c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d448c03202137a461ed814ce87acfac23faf676e/recipes/ample-theme";
@@ -1810,22 +1810,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    amx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    amx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "amx";
-        version = "20170923.835";
+        version = "20180203.1043";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "amx";
-          rev = "88ab7ccb2a88b5cd3ecc4d703ae9373df3e4971c";
-          sha256 = "1n1zsrlj272scl4xcbys86d6gxnaq08vp5frd96i47c1an75p0xw";
+          rev = "356393033980746eccff950c84c6e3c2984cbae4";
+          sha256 = "12ady1k621difw8b00x8ynhynkra02nkcm22s2cyzh9vv4m505zg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c55bfad05343b2b0f3150fd2b4adb07a1768c1c0/recipes/amx";
           sha256 = "1ikhjvkca0lsb9j719yf6spg6nwc0qaydkd8aax162sis7kp9fap";
           name = "amx";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs s ];
         meta = {
           homepage = "https://melpa.org/#/amx";
           license = lib.licenses.free;
@@ -1957,6 +1957,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    anki-editor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "anki-editor";
+        version = "20180203.2239";
+        src = fetchFromGitHub {
+          owner = "louietan";
+          repo = "anki-editor";
+          rev = "4625f9ab0f82cd8586db6af455096f00affdd7fd";
+          sha256 = "0pvh6bgmivnci3dmhq7j1g553b60479msqc705630zyk2qhf5dmr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8155d649e4b129d0c72da6bb2b1aac66c8483491/recipes/anki-editor";
+          sha256 = "18c5p82llq11vg1svqvbjrcnm7695nbbc6pwwl9jdjplasar585l";
+          name = "anki-editor";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/anki-editor";
+          license = lib.licenses.free;
+        };
+      }) {};
     annotate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "annotate";
@@ -2128,12 +2149,12 @@
     anti-zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anti-zenburn-theme";
-        version = "20160725.1559";
+        version = "20180121.353";
         src = fetchFromGitHub {
           owner = "m00natic";
           repo = "anti-zenburn-theme";
-          rev = "164122ebb7a39c41b953e90fe05cf440c5335d9e";
-          sha256 = "1l3z6wi2im7cax08ml3gsaik5hvpf0nzxcl4zlchskmgjbzav704";
+          rev = "c80cc51bb1aaf11dd53b9d08e01d61bc9b32622f";
+          sha256 = "1c97d2jkh7iawgsbcg19gha9ffnxypbcfz0sgcsgf9vy4bvnc350";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f6f803dc99a1b1fdb5b4e79f1c9cf72b702d091/recipes/anti-zenburn-theme";
@@ -2383,8 +2404,8 @@
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-anything-tramp";
-          rev = "3082945ca2d9cf6482bc845cadd42e7b1802242e";
-          sha256 = "0d7hkxrrxpnzw3lsf648n5sgdc85qfk1r4z3z5cnisr088azh263";
+          rev = "7364472a8e9ddaafdff7ad004c7a2bad42da9d92";
+          sha256 = "0sfbx63mq8pmwwb2y7w6l9hy1qr4f7d9wij6r5n7y75r19l1j9ph";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/anything-tramp";
@@ -2505,12 +2526,12 @@
     apiwrap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "apiwrap";
-        version = "20180111.2112";
+        version = "20180201.637";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "apiwrap.el";
-          rev = "7935275ee45f0359d887b8563ffd1d002f0c618e";
-          sha256 = "1p6sj46135dh7fgpzrfzsp5zkmx5si5lndwc7pnk30fbz5pindsw";
+          rev = "44fe79d56bafaaf3a688e5441298ec5f7bbf419e";
+          sha256 = "12i39kl4fj1xhzrdw24i4mi2m3aj2w3isxpcyr48z23d1x0grviq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
@@ -2882,12 +2903,12 @@
     async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "async";
-        version = "20180103.2312";
+        version = "20180119.533";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "emacs-async";
-          rev = "324549ba1dcf610c3766c272f86bae9d2c49fc70";
-          sha256 = "087wkd06v9blxnzhpr5fzv75l1m6vbr82s3v4vg4ny8kjq61af0p";
+          rev = "15bcbf6beae65d7606f0655711159ca56f050c6b";
+          sha256 = "14y3jr636hn9p699ypd3kas6750kpz0lk4xchb0y44b94splczqb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/async";
@@ -2966,12 +2987,12 @@
     atom-one-dark-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "atom-one-dark-theme";
-        version = "20180112.609";
+        version = "20180201.1853";
         src = fetchFromGitHub {
           owner = "jonathanchu";
           repo = "atom-one-dark-theme";
-          rev = "273661ca30517e189e7d62233ba5ad1359a2a810";
-          sha256 = "0mk2pf5vq353l2zjh18sabx1yd8fp8sdvx6b5k3a7hdq5x6ddwn8";
+          rev = "bf5b76e472d22577fa406c7088a1c2d99fe4b636";
+          sha256 = "08hrnv7jyzcnh4iyf5r3b1y4wbynk4fraxhkdgwmxzr666aq7cn7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3ba1c4625c9603372746a6c2edb69d65f0ef79f5/recipes/atom-one-dark-theme";
@@ -3092,12 +3113,12 @@
     auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }:
     melpaBuild {
         pname = "auth-password-store";
-        version = "20171109.1045";
+        version = "20180129.34";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "auth-password-store";
-          rev = "57c4bb749eb0fad9188c870098a61b03af346b75";
-          sha256 = "0hmi8q59spjqchc7zkpfsyi5mplkb8npxfa00f4rxfspwd2il5wc";
+          rev = "0470e6bde546b34677e393c92e2b064db61b6e9b";
+          sha256 = "0m309nhiqbyrk2mwymha66xcl05x5vryzz0vj90pak62yil15mnr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
@@ -3743,12 +3764,12 @@
     autobookmarks = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "autobookmarks";
-        version = "20171021.1532";
+        version = "20180131.535";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "autobookmarks";
-          rev = "b40c69f2d1c419adad516bee81b07b99110e5cc3";
-          sha256 = "0dailajx26dixlibqps5wfh224ps7azm453lmzxjc2d10mgapi5v";
+          rev = "93610f22500ac207f86e159d411de15082a8befb";
+          sha256 = "1ydqc2ry43sibf8xa99w2w6prxh5gmlmcinp0z67yhdcz4dh4v2v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e40e6ebeb30b3f23ad37a695e011431a48c5a62e/recipes/autobookmarks";
@@ -3953,12 +3974,12 @@
     avk-emacs-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avk-emacs-themes";
-        version = "20171219.710";
+        version = "20180205.2254";
         src = fetchFromGitHub {
           owner = "avkoval";
           repo = "avk-emacs-themes";
-          rev = "108b99d779b94678395f9240e3417bb69ea5501e";
-          sha256 = "1acgfmhbgswp7acyzap95xxpd95425lsh0qa48vlc641hvlikahm";
+          rev = "1a119d0b52f0755fa14ad4d8c6e00e2e720b7732";
+          sha256 = "1im1bvrcy9163414328yfmsz2hb0whqxnd6wpmh8hvh6vpbmwaj7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef362a76a3881c7596dcc2639df588227b3713c0/recipes/avk-emacs-themes";
@@ -4097,6 +4118,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    aws-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
+    melpaBuild {
+        pname = "aws-snippets";
+        version = "20180207.622";
+        src = fetchFromGitHub {
+          owner = "baron42bba";
+          repo = "aws-snippets";
+          rev = "a6e7d102c5b1143f4787a160cbf52c1e8ab48d09";
+          sha256 = "08nbcddmi2fq6hf324qhywy29pwixlfd5lnd5qlfirzrvdyz7crv";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/485aa401a6a14cd4a916474d9a7df12cdf45d591/recipes/aws-snippets";
+          sha256 = "1p2il4ig3nafsapa87hgghw6ri9d5qqi0hl8zjyypa06rcnag9g9";
+          name = "aws-snippets";
+        };
+        packageRequires = [ yasnippet ];
+        meta = {
+          homepage = "https://melpa.org/#/aws-snippets";
+          license = lib.licenses.free;
+        };
+      }) {};
     axiom-environment = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "axiom-environment";
@@ -4292,15 +4334,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    bart-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "bart-mode";
+        version = "20180131.1829";
+        src = fetchFromGitHub {
+          owner = "mschuldt";
+          repo = "bart-mode";
+          rev = "3d8573713b6dbaf52402de9c15cb34eb3c89a67b";
+          sha256 = "0192fc8fnkmnpwjf1qncvp5h7m8n1hlc697mrsn8ls7pnna01phq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8f9cb09c07cb9fdef15de3e8dbfb6725d97dff6f/recipes/bart-mode";
+          sha256 = "0wyfsf7kqfghnci9rlk9x0rkai6x7hy3vfzkgh7s2yz081p1kfam";
+          name = "bart-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/bart-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20180114.1149";
+        version = "20180205.1653";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "3492ce6613e974a329c8773e09a615c28b48aa10";
-          sha256 = "140yxkg1gnfhmsw6pira2p0nq2ll1x8swi9rlngraxshldf0c6zv";
+          rev = "10180e88d6d9434cec367b6c91222dd2fc3bd8ae";
+          sha256 = "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4320,8 +4383,8 @@
         src = fetchFromGitHub {
           owner = "szermatt";
           repo = "emacs-bash-completion";
-          rev = "31bc1c1c21691668c6cc16a46361490d5bec303a";
-          sha256 = "0iq9q0isaynrjhzgkm5hvw26162m52vbzwf12vic5nr9frxbxkv5";
+          rev = "2c0b8d6a6e5cec52740b8f773297459b98f3e064";
+          sha256 = "0psp1rli7h477js25kzm00s4j5x3604ly1m3xh2w29lz8jpc0nvk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/bash-completion";
@@ -4503,12 +4566,12 @@
     bbdb-csv-import = callPackage ({ bbdb, dash, fetchFromGitLab, fetchurl, lib, melpaBuild, pcsv }:
     melpaBuild {
         pname = "bbdb-csv-import";
-        version = "20140802.442";
+        version = "20180121.1649";
         src = fetchFromGitLab {
           owner = "iankelling";
           repo = "bbdb-csv-import";
-          rev = "dc9e722d1c1fcd55b71625ee3f05a4921851d186";
-          sha256 = "0jkrznrfdh562bwy0adg1pzmqh6i766b5ki41g4pr9wcbmh937sn";
+          rev = "dbc2e0fe9e8ae65e494011044d905ae79b3cee3e";
+          sha256 = "0n52arydcsmarkpqqwxvw686cypl7iz73kzizirdjhcqmzimx9pl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/76ac7178ee5381e08ae881f3fc6061106eeb1c1d/recipes/bbdb-csv-import";
@@ -4587,12 +4650,12 @@
     bbyac = callPackage ({ browse-kill-ring, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bbyac";
-        version = "20171214.2054";
+        version = "20180206.641";
         src = fetchFromGitHub {
           owner = "baohaojun";
           repo = "bbyac";
-          rev = "b355c87723746dc61da464afba2adf9d4ece1db0";
-          sha256 = "18l6423s23w3vri49ncs7lpnfamgzc7xm0lqv3x1020030m0lzp2";
+          rev = "9f0de9cad13801891ffb590dc09f51ff9a7cb225";
+          sha256 = "0q0i1j8ljfd61rk6d5fys7wvdbym9pz5nhwyfvmm0ijmy19d1ppz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92c10c13a1bd19c8bdbca128852d1c91b76f7002/recipes/bbyac";
@@ -4878,6 +4941,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    bibliothek = callPackage ({ a, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pdf-tools }:
+    melpaBuild {
+        pname = "bibliothek";
+        version = "20180122.2021";
+        src = fetchFromGitHub {
+          owner = "cadadr";
+          repo = "elisp";
+          rev = "c94a05d3b8a247a1abc9d0739a1b18387c26839f";
+          sha256 = "0q833z76fysv66anrng0skgfa3wc2gcb8rw0xr759rblxmxmnp1r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8308e72c4437237fded29db1f60b3eba0edd26/recipes/bibliothek";
+          sha256 = "011wnya65vfnn17fn1vhq0sk8c1mli81x0nb44yi6zl1hwxivb55";
+          name = "bibliothek";
+        };
+        packageRequires = [ a emacs pdf-tools ];
+        meta = {
+          homepage = "https://melpa.org/#/bibliothek";
+          license = lib.licenses.free;
+        };
+      }) {};
     bibretrieve = callPackage ({ auctex, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bibretrieve";
@@ -4990,8 +5074,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "05a4033b830bf52c596ceedea10b2cbd91f85fdb";
-          sha256 = "1y8slvsmlgfriaa6svanyypv0qq5hq8gbyfzsxif4wbr9hcyfikf";
+          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
+          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/bind-chord";
@@ -5011,8 +5095,8 @@
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "05a4033b830bf52c596ceedea10b2cbd91f85fdb";
-          sha256 = "1y8slvsmlgfriaa6svanyypv0qq5hq8gbyfzsxif4wbr9hcyfikf";
+          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
+          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key";
@@ -5511,12 +5595,12 @@
     borg = callPackage ({ dash, emacs, epkg, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "borg";
-        version = "20180115.428";
+        version = "20180125.849";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "borg";
-          rev = "362ae8aebc69aab81e04427d221717dd6bc1a81d";
-          sha256 = "0mj841vjrwrfsvpvlcwcdj6zm6ia87qsinv16gcjj93rkhlpdxwg";
+          rev = "593314b8f1f4542155eb4dae0ff1be375895b83d";
+          sha256 = "095l5cakz0clmna7njqdng3k1gpy4q6h1bld0pvichkkbqh8is6c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/878ab90d444f3a1fd2c9f9068ca7b477e218f1da/recipes/borg";
@@ -6056,12 +6140,12 @@
     bug-reference-github = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bug-reference-github";
-        version = "20131202.1303";
+        version = "20180128.514";
         src = fetchFromGitHub {
           owner = "arnested";
           repo = "bug-reference-github";
-          rev = "6f693e1f659d9a75abea3f23e95946c7f67138cd";
-          sha256 = "0zr1raf0q5wi3vr66kglxcfxswlm8g2l501adm8c27clvqizpnrr";
+          rev = "f570a0532bfb44f095b42cf68ab1f69799101137";
+          sha256 = "09rbxgrk7jp9xajya6nccj0ak7fc48wyxq4sfmjmy3q1qfszdsc3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5dfce86371692dddef78a6c1d772138b487b82cb/recipes/bug-reference-github";
@@ -6266,12 +6350,12 @@
     buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "buttercup";
-        version = "20171029.1011";
+        version = "20180128.228";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "emacs-buttercup";
-          rev = "bbbf6924ff214b518718687ead96ceec92bdbaba";
-          sha256 = "0z05rr85mf9as2byj3k1ai9x5ci45a7g425svv0ywgz1lgv2vsi4";
+          rev = "6848057a224e2548a58ec81ce042c81a44dd481c";
+          sha256 = "0qzfj57lwxqff3d9kpdg290ishy8h3il43y114kqs1gxcgyxzsv2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup";
@@ -6494,15 +6578,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    cakecrumbs = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "cakecrumbs";
+        version = "20180127.456";
+        src = fetchFromGitHub {
+          owner = "kuanyui";
+          repo = "cakecrumbs.el";
+          rev = "b7bfcc46aed139abc1d30f700076f82584084f3f";
+          sha256 = "1jl196qfgmn87kzkzhrqliarp9cmvl9c4ka2v20knw6ca2ymzbp9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c970907affeb4a21fa1b7c350edf171dbdcd8de5/recipes/cakecrumbs";
+          sha256 = "1s5j8w0y47qpdq4f34l7hmdhxp560wg1lgzqz6p3p3lg1l89sv47";
+          name = "cakecrumbs";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/cakecrumbs";
+          license = lib.licenses.free;
+        };
+      }) {};
     cal-china-x = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cal-china-x";
-        version = "20170122.1100";
+        version = "20180203.755";
         src = fetchFromGitHub {
           owner = "xwl";
           repo = "cal-china-x";
-          rev = "2e9f8e17969a32268fa1c69b500d28590338a98e";
-          sha256 = "1qqy0phjxqc8nw7aijlnfqybqicnl559skgiag5syvgnfh4965f0";
+          rev = "3cd8288562eaebf47163431c3d908fc4ed469644";
+          sha256 = "1zj9psr4rmdv40nyxyjlixh51alvm8fcdiv7fp5xzq7qxg53iz50";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c1098d34012fa72f8c8c30d5f0f495fdbe1d3d65/recipes/cal-china-x";
@@ -6539,12 +6644,12 @@
     calfw = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "calfw";
-        version = "20170714.840";
+        version = "20180117.1645";
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-calfw";
-          rev = "3415d8673e2b8ce7ab3a76943bb07cda626b6278";
-          sha256 = "1n9yivpmnk61bwj9fjzwpnbhn9n6rnch1m9hcr0a2g77kddmxwcn";
+          rev = "03abce97620a4a7f7ec5f911e669da9031ab9088";
+          sha256 = "0wiggihw9ackjdssqgp2cqccd3sil13n3pfn33d3r320fmxfjbch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc64274abdc7c8fb904b43d2d036aac98e738131/recipes/calfw";
@@ -6564,8 +6669,8 @@
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-calfw";
-          rev = "3415d8673e2b8ce7ab3a76943bb07cda626b6278";
-          sha256 = "1n9yivpmnk61bwj9fjzwpnbhn9n6rnch1m9hcr0a2g77kddmxwcn";
+          rev = "03abce97620a4a7f7ec5f911e669da9031ab9088";
+          sha256 = "0wiggihw9ackjdssqgp2cqccd3sil13n3pfn33d3r320fmxfjbch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc64274abdc7c8fb904b43d2d036aac98e738131/recipes/calfw-cal";
@@ -6606,8 +6711,8 @@
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-calfw";
-          rev = "3415d8673e2b8ce7ab3a76943bb07cda626b6278";
-          sha256 = "1n9yivpmnk61bwj9fjzwpnbhn9n6rnch1m9hcr0a2g77kddmxwcn";
+          rev = "03abce97620a4a7f7ec5f911e669da9031ab9088";
+          sha256 = "0wiggihw9ackjdssqgp2cqccd3sil13n3pfn33d3r320fmxfjbch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc64274abdc7c8fb904b43d2d036aac98e738131/recipes/calfw-howm";
@@ -6627,8 +6732,8 @@
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-calfw";
-          rev = "3415d8673e2b8ce7ab3a76943bb07cda626b6278";
-          sha256 = "1n9yivpmnk61bwj9fjzwpnbhn9n6rnch1m9hcr0a2g77kddmxwcn";
+          rev = "03abce97620a4a7f7ec5f911e669da9031ab9088";
+          sha256 = "0wiggihw9ackjdssqgp2cqccd3sil13n3pfn33d3r320fmxfjbch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc64274abdc7c8fb904b43d2d036aac98e738131/recipes/calfw-ical";
@@ -6648,8 +6753,8 @@
         src = fetchFromGitHub {
           owner = "kiwanami";
           repo = "emacs-calfw";
-          rev = "3415d8673e2b8ce7ab3a76943bb07cda626b6278";
-          sha256 = "1n9yivpmnk61bwj9fjzwpnbhn9n6rnch1m9hcr0a2g77kddmxwcn";
+          rev = "03abce97620a4a7f7ec5f911e669da9031ab9088";
+          sha256 = "0wiggihw9ackjdssqgp2cqccd3sil13n3pfn33d3r320fmxfjbch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cc64274abdc7c8fb904b43d2d036aac98e738131/recipes/calfw-org";
@@ -6711,8 +6816,8 @@
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "150f8d2e39be9ba3dba5db1389be533387b4111f";
-          sha256 = "01888dr85jcnr1rh6rxsvw61n2bkv03va3hg5gxil44dqkkyd49x";
+          rev = "f5a1ec53fc571b0bcf5bf865fb2df4be1c8ed863";
+          sha256 = "01dcfz3wcrpb9gfcqnw5x3f3dvck747yzfyf3jpfxfwmys29cn8b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -6812,12 +6917,12 @@
     cask = callPackage ({ cl-lib ? null, dash, epl, f, fetchFromGitHub, fetchurl, lib, melpaBuild, package-build, s, shut-up }:
     melpaBuild {
         pname = "cask";
-        version = "20171230.452";
+        version = "20180119.1906";
         src = fetchFromGitHub {
           owner = "cask";
           repo = "cask";
-          rev = "4c3c8890f72456f3ae4bc2213978f675c39c7a66";
-          sha256 = "02jvmrr8xr77lqdr5jsmqr1w7ix48yfkvr1vi7nsc7gzmx8vp28z";
+          rev = "3cbb32d25ea5691e64bd150188643808846b3688";
+          sha256 = "1jxqy8sb2asyck6wp68lbczffpf6b3bg87r965nhxac7kgqhvq4d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask";
@@ -7123,9 +7228,9 @@
           license = lib.licenses.free;
         };
       }) {};
-    centered-window-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    centered-window = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
-        pname = "centered-window-mode";
+        pname = "centered-window";
         version = "20171127.149";
         src = fetchFromGitHub {
           owner = "anler";
@@ -7134,13 +7239,13 @@
           sha256 = "1z3zi6zy1z68g4sfiv21l998n04hbbqp660khind6ap8yjjn8ik8";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/centered-window-mode";
-          sha256 = "08pmk3rqgbk5fzhxx1kd8rp2k5r5vd2jc9k2phrqg75pf89h3zf4";
-          name = "centered-window-mode";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/58bfd795d4d620f0c83384fb03008e129c71dc09/recipes/centered-window";
+          sha256 = "0w6na4ld79bpmkiv6glbrphc32v6g2rcrpi28259i94jhgy1kxqk";
+          name = "centered-window";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
-          homepage = "https://melpa.org/#/centered-window-mode";
+          homepage = "https://melpa.org/#/centered-window";
           license = lib.licenses.free;
         };
       }) {};
@@ -7214,8 +7319,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "23cd431ad02e9b56f90346fee4e4fed3d1a31ee2";
-          sha256 = "1mq7zfbc7bwr2c58rd7d4sv1vx1vw39mw8vkdshrqqvr1v9dj1f0";
+          rev = "50deb00b4a9a297a59879d3476e83cf57d39db5f";
+          sha256 = "1warx0x4j8azznb3c2jm2yd6ykif0825l2k7cccd8yqnrkwl4xlv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7798,12 +7903,12 @@
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20180115.7";
+        version = "20180207.239";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "32c25bee573dbec429e6df25357c8b526e2708fa";
-          sha256 = "1kn8il4jsz3mp1cizfmjzwyr59jj4jw3layl372i1v2p29627kn8";
+          rev = "f43eda2fd14d355cd914a6f737641a508655a1e5";
+          sha256 = "1dflm1zagby3i32ld35slzgisrds17ariws3nj5k79f8fb80ifml";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -8012,8 +8117,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "9835ecb758c09400082eb8f1c0336eedbfed0134";
-          sha256 = "0vhzqcqmhl3rzxrhfyy6r2yp5d07wd8y820cf0hfby6j5i4j247p";
+          rev = "58fc1a3c7f9f6e3126585b1ab2f3d00f824b7d7c";
+          sha256 = "1vsh2x794zaf02zql4s6bn3v0m3xm43icvrn7jfmi660qh3f4bsy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@@ -8239,12 +8344,12 @@
     clipmon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clipmon";
-        version = "20160926.329";
+        version = "20180129.254";
         src = fetchFromGitHub {
           owner = "bburns";
           repo = "clipmon";
-          rev = "3f985aa2a55fbfd8566425c90e1968998f57b8ee";
-          sha256 = "0jkim6zdmqq8swq70yic7cypj89d1rks5lla1kq9qvrmll36x31w";
+          rev = "95dc56c7ed84a654ec90f4740eb6df1050de8cf1";
+          sha256 = "0mfb4k0i71y49hn0xk5a1mv4zaj249qcan0y0nzvgf7mmvr32n9w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4dc92d73705ebb61ff8218f3483dd2da51ce8d32/recipes/clipmon";
@@ -8461,12 +8566,12 @@
     clojure-cheatsheet = callPackage ({ cider, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-cheatsheet";
-        version = "20161004.2328";
+        version = "20180201.4";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-cheatsheet";
-          rev = "57e877d9466934b5319989b542f93b42dffec9ae";
-          sha256 = "1d61q50h4vxk8i3jwxf71rbqah7ydfsd0dny59zq0klszfz2q26b";
+          rev = "85c382317a56bbdfac03ae95999c28fc0cde65d7";
+          sha256 = "0w9l6nz583qyldz44jqdh4414rgm6n2fzbaj5hsr5j1bkdizq7xl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0569da79bd8145df334965c5d4364a50b6b548fa/recipes/clojure-cheatsheet";
@@ -8482,12 +8587,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "20180114.911";
+        version = "20180202.922";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "9bbc8d59b3b4dfe3f0564f0d06832a309b4e4e4e";
-          sha256 = "0brwcxlz337bd1y1vjlix2aq6qjzqqrl0g9hag5lmpkimnbbnbv1";
+          rev = "5cf0fd9360dc5a9a95464601319062673d213807";
+          sha256 = "07ignia68340fjd0qnlrmgb7p6v15xysjx30xxfvd215slpjc4qw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -8507,8 +8612,8 @@
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "9bbc8d59b3b4dfe3f0564f0d06832a309b4e4e4e";
-          sha256 = "0brwcxlz337bd1y1vjlix2aq6qjzqqrl0g9hag5lmpkimnbbnbv1";
+          rev = "5cf0fd9360dc5a9a95464601319062673d213807";
+          sha256 = "07ignia68340fjd0qnlrmgb7p6v15xysjx30xxfvd215slpjc4qw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -8713,12 +8818,12 @@
     cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "cmake-ide";
-        version = "20171221.1616";
+        version = "20180206.948";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "cmake-ide";
-          rev = "dc32d518fdfcb3f6cd014c8235b61562482dfd09";
-          sha256 = "0plyqbvb99nplw15bvp246kmn1hyh1l6q2sjnpkdjxc4rrjxhrwg";
+          rev = "c98f1929c3d814e8d4c668da1da1a09935c0deba";
+          sha256 = "0jdfd8j4fiw6vnsmpmr8r7b98dh9an84firnvj1q6wx9a84lfcgy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide";
@@ -8738,8 +8843,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "675adaa4a4c5348049324d8cabe0cdde7a3d0ef0";
-          sha256 = "02szks3ymhiw4k7imryn06k1c0hp4alrxw0gvzc2dnsn5j4vzlvp";
+          rev = "5656ebc87cab02762d242326c6e5397393e671d7";
+          sha256 = "1hr5nq5c7cii700izscx9px62sgg97kjhv0n0a4zv28ghjx8gq2d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9196,12 +9301,12 @@
     color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-sanityinc-tomorrow";
-        version = "20180114.2348";
+        version = "20180122.1154";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "color-theme-sanityinc-tomorrow";
-          rev = "dd60e9929a0e1819457eeb4a7934864a31a0266a";
-          sha256 = "0ljzgiy9pdzr9b64zfxkxrs84d82iiwvykg6wq19mzgd7gpd3g63";
+          rev = "0358ee25ba27741a41c62414785308b417cdc308";
+          sha256 = "1dqssw407f9d4bbaks9k921fzcs2fz7ccbwpcm22ly46krlzxfpi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow";
@@ -9490,12 +9595,12 @@
     company = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company";
-        version = "20180101.1101";
+        version = "20180206.226";
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "4a8289dc257c3991c3953b64671fc25c887b2ca4";
-          sha256 = "178wf0n1mdfx6yqwdqlw7drbr5fy7gf6x6p4094s9br7slk9kssk";
+          rev = "3b14294a80e3c84242e38495022b3cda1b5bbbb8";
+          sha256 = "1xxib3wz4cykshzr5sadqca83mzdm9fbx39qvm648vks5pvd2inw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9683,6 +9788,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-childframe = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, posframe }:
+    melpaBuild {
+        pname = "company-childframe";
+        version = "20180205.2236";
+        src = fetchFromGitHub {
+          owner = "tumashu";
+          repo = "company-childframe";
+          rev = "fb799c3c8f8099a0ec7d21beb3b90136704c741e";
+          sha256 = "121qqb797vfpfxxkk0gvh5x4p03lb6aarjfydl88ah6rw5087dij";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4fda072eb1e3f4feb9ad9834104f748f5b749a0d/recipes/company-childframe";
+          sha256 = "1l8bd9fnw49apvwjgrlfywascbczavpaxns2ydymmb6ksj00rvzy";
+          name = "company-childframe";
+        };
+        packageRequires = [ company emacs posframe ];
+        meta = {
+          homepage = "https://melpa.org/#/company-childframe";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-coq = callPackage ({ cl-lib ? null, company, company-math, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "company-coq";
@@ -10075,8 +10201,8 @@
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "3403179a38693a221bfa86def0c99f6342c5eb73";
-          sha256 = "0w6zc1w7kic3ds5hf30i3mj9wxbq2c8wdywbslfprwwi1hxyzmsq";
+          rev = "ae90bd280588c96d540892d0f42247db5a126f51";
+          sha256 = "06d5f577rv82g72m719w8z9w7m63amxjsdppcyvg2i6icymlhnqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/company-lean";
@@ -10092,12 +10218,12 @@
     company-lsp = callPackage ({ company, dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, s }:
     melpaBuild {
         pname = "company-lsp";
-        version = "20180108.2225";
+        version = "20180207.859";
         src = fetchFromGitHub {
           owner = "tigersoldier";
           repo = "company-lsp";
-          rev = "f790850035c38a19a153cd5babca1ff778432cbc";
-          sha256 = "12d4ajk1lz3r92smg69yfn1nj8g08jjddg4zfjzxvswvgnyk2ka7";
+          rev = "e09df153485787b2f789976578e62e9a8bac207b";
+          sha256 = "1kxh45fsc8vhvpwfwi6cqiws77y7hyz4z79mivnmwl80cq94syrb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5125f53307c1af3d9ccf2bae3c25e7d23dfe1932/recipes/company-lsp";
@@ -10222,8 +10348,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
-          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
+          rev = "cf9db85af2db9150e9d9b4fecad874e16ce43f0d";
+          sha256 = "0gm15f5l91sh7syf60lnvlfnf3vivbk36gddsf3yndiwfsqh7xd0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10239,12 +10365,12 @@
     company-plsense = callPackage ({ cl-lib ? null, company, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "company-plsense";
-        version = "20171114.2316";
+        version = "20180117.1658";
         src = fetchFromGitHub {
           owner = "CeleritasCelery";
           repo = "company-plsense";
-          rev = "00f0baa70502b8412627316f72fc8b27ae7a1106";
-          sha256 = "1w3kv964dd0aqfmsk0v2hnnj7dr4hdsm041f2w61bfzpxs2mqjv1";
+          rev = "b48e3181e08ec597269621d621aa06636f02d883";
+          sha256 = "14rawd5xfgnkhdpp43mz4a5mf480949ny5hr5w6v5djmsibqxw5s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9cf9d671d81e07c704676c557a9f0d686067ce5c/recipes/company-plsense";
@@ -10306,8 +10432,8 @@
         src = fetchFromGitHub {
           owner = "expez";
           repo = "company-quickhelp";
-          rev = "432c62f034a5097d3f85d7f54afcdc016d7afa12";
-          sha256 = "06ijf4ayqkmlmk5waxi7alinv3wpy23b8xm35llf3h1ncg99zwqj";
+          rev = "c42610040ccfaacd8040f47c5e1c629a18987614";
+          sha256 = "0j1fqyi97imv1zp0w0y51j2svs494r2bdi2q9jm11b9bdi3jmf7d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/022cc4fee54bb0194822947c70058145e2980b94/recipes/company-quickhelp";
@@ -10375,8 +10501,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -10410,6 +10536,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-solidity = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-solidity";
+        version = "20180206.821";
+        src = fetchFromGitHub {
+          owner = "ssmolkin1";
+          repo = "company-solidity";
+          rev = "0687c09671403888b88e27d58e70f1bc969d1425";
+          sha256 = "1clxzxyvnnf6mvadlqslbn7is7g2b625mnb4c5k7iyflc081wpz2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ef246601ff6d92d6dfcd809f637e50d9838da0b8/recipes/company-solidity";
+          sha256 = "076z5jqh486k2lkh9rgbhs71bws4fba68pjybr9yyf0sdc5m7kc6";
+          name = "company-solidity";
+        };
+        packageRequires = [ cl-lib company ];
+        meta = {
+          homepage = "https://melpa.org/#/company-solidity";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-sourcekit = callPackage ({ company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, sourcekit }:
     melpaBuild {
         pname = "company-sourcekit";
@@ -10476,12 +10623,12 @@
     company-terraform = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, terraform-mode }:
     melpaBuild {
         pname = "company-terraform";
-        version = "20171215.546";
+        version = "20180131.1503";
         src = fetchFromGitHub {
           owner = "rafalcieslak";
           repo = "emacs-company-terraform";
-          rev = "1730e03aec5e67b751f50469c978e83326eae7f3";
-          sha256 = "0ha98424vzb4sx03l88mc1mspjl9h5aypkj3jqyla7sxga8a3ifa";
+          rev = "74dad245567e06e758e1112c0d75f3eccf48e32c";
+          sha256 = "0y4giv3i947258j5pv6wpzk95zry8sn8ra66m1237lk0k9zhpfdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d9732da975dcf59d3b311b19e20abbb29c33656/recipes/company-terraform";
@@ -10564,8 +10711,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "7f394d02f6f3149b215adcc96043c78d5f32d612";
-          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
+          rev = "e21c99de8fd2992031adaa758df0d495e55d682a";
+          sha256 = "1l9xsqlcqi25mdka806gz3h4y4x0dh00n6bajh3x908ayixjgf91";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-ycmd";
@@ -10791,12 +10938,12 @@
     contextual-menubar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "contextual-menubar";
-        version = "20170908.408";
+        version = "20180204.2309";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "contextual-menubar";
-          rev = "67ddb1c8eec62e2b26524c09585a4f25f03ebb11";
-          sha256 = "06rfkv7q9brahjgaqvpixqb26v4a65hyphl7ymjx8qyyypzrzac5";
+          rev = "f76f55232ac07df76ef9a334a0c527dfab97c40b";
+          sha256 = "0zks4w99nbhz1xvr67isgg6yjghpzbh5s5wd839zi0ly30x4riqf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cba21d98f3abbf1f45d1fdd9164d4660b7d3e368/recipes/contextual-menubar";
@@ -11001,12 +11148,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20180114.1336";
+        version = "20180205.837";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "80a51e0cac4f0554b0008674f49c664ebaded7b4";
-          sha256 = "1n5fv39bpk4wpf1ar1f7h7g37jhnadi7kdp4i74j2awn5qhmz8hl";
+          rev = "1f5c4ff1df9d617a79bc969b99d6c2c667f5eaad";
+          sha256 = "1b0ig4gza8lwwlx0z5bwqn60cakq551bgm82wl1xdscwwzrrdza3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -11064,12 +11211,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "20171228.1836";
+        version = "20180129.219";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "e39bb84a590ba121dcd4ca75a3a9ac20a41b7cba";
-          sha256 = "19wp4klk1kxrhx2qkdxfdxlhha0v5dz0s90m2kdhqk4s87sggg7d";
+          rev = "2219bf8d9a4584abc905c7470455777553496056";
+          sha256 = "0kcxcbf1rm7cm74s5z87pv0bflx42h4j2lnb8b3r0nznj94ywnj3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -11148,12 +11295,12 @@
     counsel-projectile = callPackage ({ counsel, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "counsel-projectile";
-        version = "20180105.632";
+        version = "20180204.1147";
         src = fetchFromGitHub {
           owner = "ericdanan";
           repo = "counsel-projectile";
-          rev = "4d78ae8c90e8ebb903b8e70442989a69e46ff069";
-          sha256 = "0s81jrmfql3cjh0bf6vfk3gpb94xqcpbkvjah11j0d0ijgw4y1dg";
+          rev = "1c1e7eff065e1660981428ef326185c404488705";
+          sha256 = "18b66rv73y6gx0hhjjfixywj0ig41rxb4k4ngpxap56cy7b8kfj9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile";
@@ -11215,8 +11362,8 @@
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-counsel-tramp";
-          rev = "77212268632bc55c4706e25b94b2fe34b69a30dc";
-          sha256 = "050qy8p1lywvq5nf6azn0025500dgh6sfp7lzzmzba9kl38plnnb";
+          rev = "6efa0e6e204d08d5b8b8b66f7e3ae7f07d5a3665";
+          sha256 = "1byskmvhs0vdj08xjnds8zczw19d2kmnsym514c56k3a0v7g1ldz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1822b735b6bd533f658bd64ddccda29e19e9a5e/recipes/counsel-tramp";
@@ -11397,6 +11544,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    cquery = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
+    melpaBuild {
+        pname = "cquery";
+        version = "20180204.912";
+        src = fetchFromGitHub {
+          owner = "cquery-project";
+          repo = "emacs-cquery";
+          rev = "e3ce2127f9937eb0a7b7a22e81f205ff150f4ecd";
+          sha256 = "1p3idygppqi5xgbjq9pr5pqpm4isw1cb8qq8szf5mb6ypq2dlszm";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3cd3bffff0d2564c39735f844f9a02a660272caa/recipes/cquery";
+          sha256 = "01mw6aqiazpzcn6h5h5xcnra8a04yg1ibvpfajx70m5iw9f5w6l6";
+          name = "cquery";
+        };
+        packageRequires = [ dash emacs lsp-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/cquery";
+          license = lib.licenses.free;
+        };
+      }) {};
     crappy-jsp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "crappy-jsp-mode";
@@ -11568,12 +11736,12 @@
     cryptol-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cryptol-mode";
-        version = "20160819.1444";
+        version = "20180118.535";
         src = fetchFromGitHub {
           owner = "thoughtpolice";
           repo = "cryptol-mode";
-          rev = "9bf28f865d30d23b8b4fdef16a79ab66abbcc41f";
-          sha256 = "0ihhx4zp725g1qaxq6n2ah8rsg099ccyavqxgkk53rpwr8iia0i2";
+          rev = "dcc9498813a77ffb83010032e0e5a540f00f3d33";
+          sha256 = "0w73i9a6qpab2h58mblhcjqs7xcyr9vpx9mczj3sxzygb2lhzwxw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/de12333bb429d84b2c214ac7ebb0219f67838f4f/recipes/cryptol-mode";
@@ -11673,12 +11841,12 @@
     csound-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multi, shut-up }:
     melpaBuild {
         pname = "csound-mode";
-        version = "20180112.1056";
+        version = "20180119.1726";
         src = fetchFromGitHub {
           owner = "hlolli";
           repo = "csound-mode";
-          rev = "5d16d2ea42dd4c8a4ead75d4fd4f89c3a8c9a4ff";
-          sha256 = "1dx8vigch38rax5xycb7hhn6i7xq19fm1nqvh61l80k7v8zv6vfm";
+          rev = "4fc4e77263d31604c86be799163d96cdad57c610";
+          sha256 = "167s332b9pbbxv24kyhrx543954a86bffxngjhp0cl0slmd81g2m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c940d29de11e43b4abf2901c466c94d426a21818/recipes/csound-mode";
@@ -11691,6 +11859,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    css-autoprefixer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "css-autoprefixer";
+        version = "20180118.1411";
+        src = fetchFromGitHub {
+          owner = "kkweon";
+          repo = "emacs-css-autoprefixer";
+          rev = "a694e7e725074da99d90b18dd166707f1649bfae";
+          sha256 = "0cd4i9xbc7rqsmaa73gj4p9za3g6x6xv54ngnkf6vprpg3g7lb6n";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/122e3813a5b8a57303345e9cd855f4d85eced6f0/recipes/css-autoprefixer";
+          sha256 = "0q40k8jvs4nc57kcljsx5qzylz9ms0kbr3dic3mr3bj0w062b1qg";
+          name = "css-autoprefixer";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/css-autoprefixer";
+          license = lib.licenses.free;
+        };
+      }) {};
     css-comb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "css-comb";
@@ -11887,8 +12076,8 @@
         src = fetchFromGitHub {
           owner = "cubicle-model-checker";
           repo = "cubicle";
-          rev = "b043b0247bf9b144a5c3360e5096a4b141dd1fb6";
-          sha256 = "0zsfz1h68xpbgdb1ln8l081vwrgd7i01ap4rjlyrsk8j3q3ry5wz";
+          rev = "c2fba597da83b9ddc1195f1c8710d5330db24735";
+          sha256 = "0gprqhm38y5dcpkmhy1i6rv7pa5l8271b71284p1g90p2iyvm89g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/81c29c912b83cbb536d30ba04130b39c0e5e5969/recipes/cubicle-mode";
@@ -11971,8 +12160,8 @@
         src = fetchFromGitHub {
           owner = "tom-tan";
           repo = "cwl-mode";
-          rev = "2fa8c8db68a8665ed555126975edd8749bcfc009";
-          sha256 = "0zgnnvf8k5zcigykcf6slgcjmwb1l0jdfaqm19r34wp3md8wf0v1";
+          rev = "bdeb9c0734126f940db80bfb8b1dc735dab671c7";
+          sha256 = "0x9rvyhgy7ijq2r9pin94jz7nisrw6z91jch7d27lkhrmyb1rwk3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2309764cd56d9631dd97981a78b50b9fe793a280/recipes/cwl-mode";
@@ -12118,8 +12307,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "f9d1114696ff3a6eda20b64b3604d5839d64d3d4";
-          sha256 = "0sz0hmmic0wq6rvpakinyshkpzgv1yiqrgx2rsjnwf4ccyxibkj2";
+          rev = "5ceacd69d75efb44a3b997f41565038e5aa60dc6";
+          sha256 = "1hfwl3flsl32z9p2fr0jvya51yv0gww6zgb2acvnzlpll5gvw050";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -12261,12 +12450,12 @@
     danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "danneskjold-theme";
-        version = "20180104.1316";
+        version = "20180129.634";
         src = fetchFromGitHub {
           owner = "rails-to-cosmos";
           repo = "danneskjold-theme";
-          rev = "bbbc0a93959ac0d22bb3c37243f3d964b7892528";
-          sha256 = "0mp16yf9hklddfq220bpiad9hp059rpr0akm3gzl30qdbxqxi8q1";
+          rev = "13e5ea8758465e7d23081fbb524603394b09a689";
+          sha256 = "1zhn2bblafmxc83rg33ipy8pd0i7qrn9630cy74bigl3x5zxs3xd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme";
@@ -12279,22 +12468,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
+    dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lcr, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dante";
-        version = "20180115.709";
+        version = "20180202.48";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "dante";
-          rev = "2ddf94defd23189ae2435a27824900cb56e0e511";
-          sha256 = "1qzi5h0qnjp6rkr2r09r31zlfq12rlj2zim8ss2lv6hwx8zsvq3p";
+          rev = "c1c9bde9a83a87c46731466af56cd31262d057fa";
+          sha256 = "01krdh3cz2ddhlhpyc072izm4y29qbpjkmwj0fq4vi5hcqzbalsk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
           sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs";
           name = "dante";
         };
-        packageRequires = [ dash emacs f flycheck haskell-mode s ];
+        packageRequires = [ dash emacs f flycheck haskell-mode lcr s ];
         meta = {
           homepage = "https://melpa.org/#/dante";
           license = lib.licenses.free;
@@ -12513,12 +12702,12 @@
     dash = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dash";
-        version = "20180107.818";
+        version = "20180206.2124";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "528e5a51f1af668e3075f2beccd2b39785ccb2ba";
-          sha256 = "0c65wkyzqsi0jignbhl0j9hh0711069x0l54sqbfb72viy0sppck";
+          rev = "48a5015dd1314a8bcad48f2ad8866dd911001b01";
+          sha256 = "0cs8l20fw34ilr7qir1p708wx925d3qkp7g4py2s2d8k1yf0kjmy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash";
@@ -12559,8 +12748,8 @@
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "dash.el";
-          rev = "528e5a51f1af668e3075f2beccd2b39785ccb2ba";
-          sha256 = "0c65wkyzqsi0jignbhl0j9hh0711069x0l54sqbfb72viy0sppck";
+          rev = "48a5015dd1314a8bcad48f2ad8866dd911001b01";
+          sha256 = "0cs8l20fw34ilr7qir1p708wx925d3qkp7g4py2s2d8k1yf0kjmy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash-functional";
@@ -12636,22 +12825,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    datetime = callPackage ({ emacs, extmap, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "datetime";
-        version = "20170928.815";
+        version = "20180205.1445";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "datetime";
-          rev = "082d2c7b0e38c26a8c46af9c9956a2e100d88e71";
-          sha256 = "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5";
+          rev = "2a92d80cdc7febf620cd184cf1204a68985d0e8b";
+          sha256 = "0lzdgnmvkvap5j8hvn6pidfnc2ax317sj5r6b2nahllhh53mlr4j";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime";
-          sha256 = "0mnkckibymc5dswmzd1glggna2fspk06ld71m7aaz6j78nfrm850";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime";
+          sha256 = "0c000fnqg936dhjw5qij4lydzllw1x1jgnyy960zh6r61pk062xj";
           name = "datetime";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs extmap ];
         meta = {
           homepage = "https://melpa.org/#/datetime";
           license = lib.licenses.free;
@@ -12681,12 +12870,12 @@
     datomic-snippets = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s, yasnippet }:
     melpaBuild {
         pname = "datomic-snippets";
-        version = "20130707.1315";
+        version = "20180116.752";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "datomic-snippets";
-          rev = "7116eac8e15a16fc72973b96fa855fd9784bbbb8";
-          sha256 = "0ry7magy9x63xv2apjbpgszp0slch92g23gqwl4rd564qafajmf0";
+          rev = "731fbd31b814ef1521bd7eb1558eeab6a4c2e01b";
+          sha256 = "0sbrvd3z32wrpnmarwf9ya0b2c99pg82mxhvjw4b7hggxx65lqsj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4da8ec133ec5e1204966c1b12c9bc0ca1b50d643/recipes/datomic-snippets";
@@ -12954,12 +13143,12 @@
     define-word = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "define-word";
-        version = "20180105.1152";
+        version = "20180128.725";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "define-word";
-          rev = "d52e9898a2719bd5003184196aa3b889c4fcb7b3";
-          sha256 = "1is3yjk7jv3nqn7fg76pnicwkhc7bf0wklvygdw1hskwj46ii6g8";
+          rev = "06d094f070b5d675441f74e05a449ce4941529e8";
+          sha256 = "0r0lihmkz802ik9qlbs41wfw86vj23mlm7z41zw8h845drxc8vl6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e318b30d8b2b89981f4b89d78e5a46e77d3de412/recipes/define-word";
@@ -13269,12 +13458,12 @@
     diff-hl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "diff-hl";
-        version = "20170709.2000";
+        version = "20180201.355";
         src = fetchFromGitHub {
           owner = "dgutov";
           repo = "diff-hl";
-          rev = "bec9889de7bf48d28826039880cec9bfad24a628";
-          sha256 = "0f9krv08jlw1sawjajdfy0cp5mzbq7hzvy478z8p54s1fwga6wxd";
+          rev = "190622d3fa2c3237529ec073a8fa00aee06023a1";
+          sha256 = "0jh270anr2ralixgwsc3wn48jnw3qwz6m18lg0sgwgzyajh0fpb9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/diff-hl";
@@ -13457,12 +13646,12 @@
     dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dimmer";
-        version = "20180114.1924";
+        version = "20180124.1822";
         src = fetchFromGitHub {
           owner = "gonewest818";
           repo = "dimmer.el";
-          rev = "0c92663e476413dafd6eb231e19c351bcc195cae";
-          sha256 = "07988a5jsvchrnra5smdaqirw7jc0nr6bih596r1dydib1rzypbq";
+          rev = "7dd76eb41f5684928365b28301412e8aff7235a9";
+          sha256 = "14gf6z1pgy8rkxb2777yc7ng94y0yf3rppq3gfb98xfcl09ff06n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
@@ -13940,12 +14129,12 @@
     dired-sidebar = callPackage ({ dired-subtree, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-sidebar";
-        version = "20180107.1247";
+        version = "20180126.1812";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "dired-sidebar";
-          rev = "6b195f841bc86281e0c642999ad4fa03174e832c";
-          sha256 = "0bw28p2mcj73rbhpij2mchq7dyfl7881rwmn5qz00km5n64yshlg";
+          rev = "6b2d1df460d4b0dd1448b092d3753314cba784c5";
+          sha256 = "1i5ia9m7r63gr91ll9xmqq48y9823hg0mqq69rnzfvbw0zjbgkrq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30e15c8361b01195f198197e704828fbcac0e8d6/recipes/dired-sidebar";
@@ -14695,12 +14884,12 @@
     dmenu = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dmenu";
-        version = "20160228.627";
+        version = "20180118.445";
         src = fetchFromGitHub {
           owner = "lujun9972";
           repo = "el-dmenu";
-          rev = "8dffd614e37d3971f989cbce5849d04d84ee8c76";
-          sha256 = "1xx4ccr3mfxay2j3wgd93qw5dpjasaq9mkmmjww3ibpf86ahf7l3";
+          rev = "6e492cd4ee4fb39ecda92776707fc270f54d25e7";
+          sha256 = "085ap58qfwr7gvrx68dy72z4ph1mvwka5i7ydx58m1a3bb9rshnw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/98bcdd71a160b9c04f83cc5b939031c9e7b5eb59/recipes/dmenu";
@@ -14976,12 +15165,12 @@
     doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20180108.1934";
+        version = "20180205.1204";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-doom-themes";
-          rev = "d74fb168948c2b0142a2ae9cb6180d7c67b137eb";
-          sha256 = "0pra1kq4z2cmkgm278dw9nxza2sw056hh2463f28crdw6scdim3d";
+          rev = "d84a0172202243f4fe0ae5738d7ea9b1eb2d38c6";
+          sha256 = "0za6cq7wr7zpqjq5g6ac7zqnzq544s0zkkhsc0djcwc2x67vr95g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@@ -15018,12 +15207,12 @@
     dotenv-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dotenv-mode";
-        version = "20171123.649";
+        version = "20180206.900";
         src = fetchFromGitHub {
           owner = "preetpalS";
           repo = "emacs-dotenv-mode";
-          rev = "8d45b98beb04f486eb13d71765589e7dccb8ffa9";
-          sha256 = "00hm097m1jn3pb6k3r2jhkhn1zaf6skcwv1v4dxlvdx8by1md49q";
+          rev = "574bf1e3dfa79aa836c67759d9eec904a6878c77";
+          sha256 = "0rx0f9vs68lbrjmzsajcxxhv6dm3wjiil12xzqg924d7fx3b1w52";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9fc022c54b90933e70dcedb6a85167c2d9d7ba79/recipes/dotenv-mode";
@@ -15060,12 +15249,12 @@
     download-region = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "download-region";
-        version = "20160430.1116";
+        version = "20180123.1733";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "download-region";
-          rev = "eb9e557529a73b4cfc8281c70dd0d95db333fffa";
-          sha256 = "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc";
+          rev = "bbba3ecd80818d5d940d41fe89a6e2ec5dd2c53c";
+          sha256 = "1cwlbdmdils5rzhjpc3fqjmd3dhalk6i7bxskpahbrr9xxfq0iw4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7801d9fac121f213609a802fe9d88bdc5364d1f3/recipes/download-region";
@@ -15396,12 +15585,12 @@
     dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dtrt-indent";
-        version = "20171001.1233";
+        version = "20180207.334";
         src = fetchFromGitHub {
           owner = "jscheid";
           repo = "dtrt-indent";
-          rev = "7fd55af3b0311ea24b68397054e705c835fa5ef1";
-          sha256 = "1sgmd1zqdwa1f6y8d6vaacyipkqn2ivvaim1xndbkihgmhyn4kf0";
+          rev = "7ba3e9d0303a3c070501faf79937abb11bf61155";
+          sha256 = "19czzcy1yssylbk98cylnd6mwfh5fhb0wm68ab2h9nl3qs80rnwd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent";
@@ -15480,12 +15669,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20180109.1318";
+        version = "20180123.1100";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "a2bcfd357e16b3404cd0e210fedbc9a584da83b8";
-          sha256 = "1pqwra01w7wga9jrhafbnnlbn5rh31a0j84ffzsdpkcmac4xk0gy";
+          rev = "3bd7c23c3e4ac0936679ad6ebb68f14e37c7bc5d";
+          sha256 = "0vnbp8q059z9bfhf1bq1n6cvc4ia3rkdk0iambgwd48i959mdsvs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -15857,12 +16046,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "20171109.40";
+        version = "20180204.1911";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "0ee57b495036b6c1b54d668e84be373f8a1c8d9a";
-          sha256 = "1fizb09g0dc9rzlj34n26vi12h3gk4mn96iyrsa60in5c9yn9f04";
+          rev = "ec601f3a8da331dd0a9e7a93d40ae3925bd06700";
+          sha256 = "1kgayh2q97rxzds5ba1zc9ah08kbah9lqbwhmb7pxxgvgx9yfagg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -15924,8 +16113,8 @@
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-hugo";
-          rev = "61a504616705feae8c3fd8b01bf315e2cb89f699";
-          sha256 = "1lr2hbz4gxcn2r5m3hx4izk8aawgy0fls0isp6cvcgs1s54s2kxi";
+          rev = "abf4dfcddacfc90ee39aad3c9e2e4615fb74c6a1";
+          sha256 = "1kxkqpf0xq6w1g8qvy32hjqy42mz17c36wrkqqwdbxhbq7d5ckyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@@ -15945,8 +16134,8 @@
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-easy-jekyll";
-          rev = "9a66d5c5dddac7d5b924df0c3bb414d3f797d8a5";
-          sha256 = "0qx6lgpg2szjgy1a3a856klm7vh544braq8v2s7f81lq0ks2bjhj";
+          rev = "b3176d34f1e2850ab96795e264da6e05e23e280b";
+          sha256 = "175by3aswpd00lhin69f2jkb1aqi487vzk3qa6wqp41hjpga6fag";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll";
@@ -16067,12 +16256,12 @@
     ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }:
     melpaBuild {
         pname = "ebib";
-        version = "20180111.30";
+        version = "20180204.1402";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "ebib";
-          rev = "8c4735fbd7864a8420a16378ac2240fa60af5332";
-          sha256 = "0g6prr8512dkr4mizqy1jkqc60w88i7kcx1lbarqi2mfkqdhhvg6";
+          rev = "7212edd2f54f2e289230b8d884dfcb3155c65fcc";
+          sha256 = "11fmi0pxx83qmhh62ilc6i2icrl7x8pj34rrkxlc5plyph8cczjd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib";
@@ -16487,12 +16676,12 @@
     edit-server = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "edit-server";
-        version = "20170725.859";
+        version = "20180120.752";
         src = fetchFromGitHub {
           owner = "stsquad";
           repo = "emacs_chrome";
-          rev = "43ec7693bc7f36b5f497161ff3c4b27d2989c9dd";
-          sha256 = "1kqv45p0h9xixks20d8fg5p1729gfv84rzijc8g4ls0j0n7a1ygm";
+          rev = "f01f5775760d73a8b0975d8caf009c3b1e7b2229";
+          sha256 = "1rri1h1ilhmyspp8krbqh2qz4f4wigmxk8kwvg39pr4mmma3dz4f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
@@ -16730,8 +16919,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "b7c073e0a29c9632d82b501849e270d62304e22f";
-          sha256 = "13p6nfsjnbhw0cgy1s28ww9dk4hmwmanf2j6ydhcafvbynp964zs";
+          rev = "1844ffaf94a561ccd914c76a2f07fa03c441a424";
+          sha256 = "1k52zwjmchz63v59gvgj1i7rc308yfl2bdhrd94fqkf0cy3nann8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16747,12 +16936,12 @@
     ego = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "ego";
-        version = "20170601.817";
+        version = "20180123.2256";
         src = fetchFromGitHub {
           owner = "emacs-china";
           repo = "EGO";
-          rev = "93ccd450d2d9e5db27aebb024a1b2ed56d5131dc";
-          sha256 = "0izxsckmkdw70cz3ljar2r4iv784c43mnzjkayly08hlabq1g6b6";
+          rev = "ec91e8234e2b8fbfd37b6135dfda352a923c556e";
+          sha256 = "1m98zkmyy1bbcz7jpa15in9kdgskl3l498q7a9vxpr8w2scq3cls";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ego";
@@ -16769,13 +16958,13 @@
         pname = "eide";
         version = "20171229.1435";
         src = fetchgit {
-          url = "git://git.tuxfamily.org/gitroot/eide/emacs-ide.git";
+          url = "https://git.tuxfamily.org/eide/emacs-ide.git";
           rev = "faae6f1384826d18f70b28826dc528d70e91a5c9";
           sha256 = "02hylmgs6il59kkq59i9lpdg9gdirpb2y37xzybh7n5lqyzdafai";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eide";
-          sha256 = "1i5brijz7pnqdk411j091fb8clapsbsihaak70g12fa5qic835fv";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/34b70a5616e27ff9904a2803c86e049acfe9b26d/recipes/eide";
+          sha256 = "168f4mz10byq1kdcfd029gkb3j6jk6lc4kdr4g204823x073f0ni";
           name = "eide";
         };
         packageRequires = [];
@@ -16808,12 +16997,12 @@
     ein = callPackage ({ auto-complete, cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, request-deferred, s, skewer-mode, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "20171128.516";
+        version = "20180124.1435";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "1bd6155005ee9749e51bcc8232c80690484c8ca2";
-          sha256 = "1cawqhb5ii3mq5i26v1lcwgf9hb4c96j76843zii9iy4b22qs7b6";
+          rev = "63388e5d0cf318bdb687054e2de4a4205108ed73";
+          sha256 = "0c1pd2d0yv0d4zclh6ri1mwcj1pa7bxbf376kwia4rz400jx5fah";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -16878,30 +17067,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ejc-sql = callPackage ({ auto-complete, cider, clomacs, dash, direx, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spinner }:
+    ejc-sql = callPackage ({ auto-complete, clomacs, dash, direx, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spinner }:
     melpaBuild {
         pname = "ejc-sql";
-        version = "20171227.259";
+        version = "20180207.737";
         src = fetchFromGitHub {
           owner = "kostafey";
           repo = "ejc-sql";
-          rev = "afb3e6f1e82abec5407c7a3335bf1c70fa3690d6";
-          sha256 = "0q8c35jnxgxmbbbpz4iv3x45ylckq4qi0pq05am5rf5rywlw00v1";
+          rev = "aed668ef5cf5c54aafe866690816ef1fd25020df";
+          sha256 = "1vmn7bw3dy1mxhzq3qd8k21j8mpy289jjyfqcqszk6fk9y3mkzb5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2cd74717269ef7f10362077a91546723a72104/recipes/ejc-sql";
           sha256 = "0v9mmwc2gm58nky81q7fibj93zi7zbxq1jzjw55dg6cb6qb87vnx";
           name = "ejc-sql";
         };
-        packageRequires = [
-          auto-complete
-          cider
-          clomacs
-          dash
-          direx
-          emacs
-          spinner
-        ];
+        packageRequires = [ auto-complete clomacs dash direx emacs spinner ];
         meta = {
           homepage = "https://melpa.org/#/ejc-sql";
           license = lib.licenses.free;
@@ -16931,12 +17112,12 @@
     el-get = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el-get";
-        version = "20170813.1436";
+        version = "20180126.1603";
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "dfa944ef26802771dca0feea9ea5a17350da9232";
-          sha256 = "0qfshiriffbh6bxvghg9y0fzdqayywd4kzjwvq7cin2k99dhhrsa";
+          rev = "63fa39d86deba5d03ac8f7f9a103e94d6c80739d";
+          sha256 = "15jxnkvgk700qi79d8jj96ss2mb7yfsgzhi0mama4dp5gancps27";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -17075,22 +17256,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el-spice";
-        version = "20140805.1138";
+        version = "20180128.921";
         src = fetchFromGitHub {
           owner = "vedang";
           repo = "el-spice";
-          rev = "65d9ec84b581a5867eebbc58de93958e992ca80d";
-          sha256 = "1sba405h1sy5vxg4ki631p4979gyaqv8wnwbgca5jp2pm8l3viri";
+          rev = "4e0852ebf5d8e9cbb3eaaa6ae9c53d126b53f58c";
+          sha256 = "08mkn4qfxax3fgppw79117phm05hihifwj4pgll9ivrilbf75lb8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4666eee9f6837d6d9dba77e04aa4c8c4a93b47b5/recipes/el-spice";
           sha256 = "0i0l3y9w1q9pf5zhvmsq4h427imix67jgcfwq21b6j82dzg5l4hg";
           name = "el-spice";
         };
-        packageRequires = [ thingatpt-plus ];
+        packageRequires = [];
         meta = {
           homepage = "https://melpa.org/#/el-spice";
           license = lib.licenses.free;
@@ -17201,6 +17382,69 @@
           license = lib.licenses.free;
         };
       }) {};
+    elbank = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "elbank";
+        version = "20180206.701";
+        src = fetchFromGitHub {
+          owner = "NicolasPetton";
+          repo = "Elbank";
+          rev = "817047305e9db1260956ae5ac6b60c9027868895";
+          sha256 = "0i5nqfjm69kbvnkvrcvfv8gbz0608cldmi3zwq2vpld7p35d5d26";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank";
+          sha256 = "1ry84aiajyrnrspf7w4yjm0rmdam8ijrz0s7291yr8c70hslc997";
+          name = "elbank";
+        };
+        packageRequires = [ emacs seq ];
+        meta = {
+          homepage = "https://melpa.org/#/elbank";
+          license = lib.licenses.free;
+        };
+      }) {};
+    elcontext = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, ht, hydra, lib, melpaBuild, osx-location, uuidgen }:
+    melpaBuild {
+        pname = "elcontext";
+        version = "20180204.138";
+        src = fetchFromGitHub {
+          owner = "rollacaster";
+          repo = "elcontext";
+          rev = "c223476b62a55b80f6b85b2e016d3ec0d7ec9875";
+          sha256 = "1ynwgr1g421liyfyfli2cgfdqx3gijm4z9hd0cmhndfwalrb1xq6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/12bcb0bfc89c1f235e4ac5d7e308e41905725dc6/recipes/elcontext";
+          sha256 = "1firdsrag7r02qb3kjxc3j8l9psvh117z3qwycazhxdz82z0isw7";
+          name = "elcontext";
+        };
+        packageRequires = [ emacs f ht hydra osx-location uuidgen ];
+        meta = {
+          homepage = "https://melpa.org/#/elcontext";
+          license = lib.licenses.free;
+        };
+      }) {};
+    elcord = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elcord";
+        version = "20180131.1446";
+        src = fetchFromGitHub {
+          owner = "Zulu-Inuoe";
+          repo = "elcord";
+          rev = "295ff2d976ed6775266576c5e30a3d06a84e3aa0";
+          sha256 = "12mjmdr5kwmgpihnc943widbbw5pcp0gw1mcjf06v4lh0fpihk7h";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/36b64d0fead049df5ebd6606943a8f769324539e/recipes/elcord";
+          sha256 = "044mwil9alh2v7bjj8yvx8azym2b7a5xb0c7y0r0k2vj72wiirjb";
+          name = "elcord";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elcord";
+          license = lib.licenses.free;
+        };
+      }) {};
     eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eldoc-eval";
@@ -17267,12 +17511,12 @@
     electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "electric-operator";
-        version = "20180114.1000";
+        version = "20180204.1405";
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "electric-operator";
-          rev = "63661980cef82a8032108f5ce14d5bd4f44d1255";
-          sha256 = "1wanfvhx3wv3iych0v93kaxapg86vzgbsd8l7r460s8l2nl5yybr";
+          rev = "478a976db3ea764f9c88c3302fb3bea1ab41f1ca";
+          sha256 = "08qzi8wvlf64xfhhndnmr9xksk3n9whzvjqaikf5kz1jrygncnrp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator";
@@ -17351,12 +17595,12 @@
     elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed";
-        version = "20180109.1604";
+        version = "20180127.1442";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "e99f232fb3400545f096a19688a5030d0ed3afa6";
-          sha256 = "0gga3nbpl1n5rbm87p030sidp38yq3hm9pwr0vavz75m1bcdbv3r";
+          rev = "e2b0e255fc3a3cb3e9d69c05df3b8e9d7ca70e86";
+          sha256 = "1sq2w40ac8nc6pvifl0r5ri255jcd237x5rxfliwd2wdwqhk9izd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
@@ -17400,12 +17644,12 @@
     elfeed-org = callPackage ({ cl-lib ? null, dash, elfeed, fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "elfeed-org";
-        version = "20171113.356";
+        version = "20180129.507";
         src = fetchFromGitHub {
           owner = "remyhonig";
           repo = "elfeed-org";
-          rev = "1a2bacc160d4e164f012ebf23f3ecccac85df18f";
-          sha256 = "0g8hhcfg2rahq6mry4aqqggkc7s26q8is9akzrxwi7dlbhc1ljd4";
+          rev = "b9d09a554127244d4807a3d2d90e062df63b2fd5";
+          sha256 = "0szij299pfxbgqfps8njnxa2w862zzn40crsbc1ppww267dbp60j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/elfeed-org";
@@ -17421,12 +17665,12 @@
     elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed-protocol";
-        version = "20171214.2319";
+        version = "20180204.2003";
         src = fetchFromGitHub {
           owner = "fasheng";
           repo = "elfeed-protocol";
-          rev = "97049eb980ce1cc2b871e4c7819133f1e4936a83";
-          sha256 = "1d2i3jg5a2wd7mb4xfdy3wbx12yigqq4ykj3zbcamvx59siip591";
+          rev = "e809a0f1c5b9713ec8d1932fa6412c57bc10150b";
+          sha256 = "0ly7g9a85r5vm8fr45km43vdl9jbzdqyiy9a7d95wx63p6aip7vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
@@ -17442,12 +17686,12 @@
     elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
     melpaBuild {
         pname = "elfeed-web";
-        version = "20170709.954";
+        version = "20180121.1036";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "e99f232fb3400545f096a19688a5030d0ed3afa6";
-          sha256 = "0gga3nbpl1n5rbm87p030sidp38yq3hm9pwr0vavz75m1bcdbv3r";
+          rev = "e2b0e255fc3a3cb3e9d69c05df3b8e9d7ca70e86";
+          sha256 = "1sq2w40ac8nc6pvifl0r5ri255jcd237x5rxfliwd2wdwqhk9izd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
@@ -17887,8 +18131,8 @@
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "elpa-mirror";
-          rev = "a545e51c73baabdd42535c6064030fb018d38290";
-          sha256 = "1bvhgi6msimhfgv9y6is0kbyrckb83qnf8z4q22gy3l83impql01";
+          rev = "3fedb1ca6f84cdbfc27723d6906b67a0e2ca2972";
+          sha256 = "087sa553aqyphrdrn8clb8pjl609aw3qkmim47hvnq8npzvhhr0l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror";
@@ -17904,12 +18148,12 @@
     elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20180113.339";
+        version = "20180204.1538";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "db532f91d96bcd0371ea65bdfe22bd2696360b1d";
-          sha256 = "04rv5f6pcnkqv07nrmq6fkcwsd145arp5b7p615bhcjc8q20d3g5";
+          rev = "53ac14e86c0e34962da30a008b63a8069eaa9d81";
+          sha256 = "0d89j1w790y18c1lcghqnvj9l8f9zmm4bcs9zp9z22z007cdnww7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -18143,12 +18387,12 @@
     elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elx";
-        version = "20180114.707";
+        version = "20180202.958";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "elx";
-          rev = "127fd4fca8ac6470cfda62f47bb1c29859862cfc";
-          sha256 = "0j7j7wh89a34scilw11pbdb86nf515ig38pjkwyarfvj93gigc04";
+          rev = "99840665f3ffff36633d52b9970352fc523434a6";
+          sha256 = "0hfpbfvk2f20sy1gia77aw7ndyxpc268bk4n2n6zlfb4j9jcp2sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
@@ -18248,12 +18492,12 @@
     emacsql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emacsql";
-        version = "20171218.1903";
+        version = "20180205.1835";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacsql";
-          rev = "616dde37524f47246bbb161f20d3f5f090f10fbf";
-          sha256 = "14l61iq31lyz26nxxr2b5s57wra11xy87lp4d0s2fn03ac9i8nww";
+          rev = "75ac0448a5965c82c616c862cab180c241110fd2";
+          sha256 = "0aplbc2c6rdkhzwg5b19xjrgijpdkhimaa4kah7mqqxdj7q1zfxh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql";
@@ -18273,8 +18517,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacsql";
-          rev = "616dde37524f47246bbb161f20d3f5f090f10fbf";
-          sha256 = "14l61iq31lyz26nxxr2b5s57wra11xy87lp4d0s2fn03ac9i8nww";
+          rev = "75ac0448a5965c82c616c862cab180c241110fd2";
+          sha256 = "0aplbc2c6rdkhzwg5b19xjrgijpdkhimaa4kah7mqqxdj7q1zfxh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-mysql";
@@ -18294,8 +18538,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacsql";
-          rev = "616dde37524f47246bbb161f20d3f5f090f10fbf";
-          sha256 = "14l61iq31lyz26nxxr2b5s57wra11xy87lp4d0s2fn03ac9i8nww";
+          rev = "75ac0448a5965c82c616c862cab180c241110fd2";
+          sha256 = "0aplbc2c6rdkhzwg5b19xjrgijpdkhimaa4kah7mqqxdj7q1zfxh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-psql";
@@ -18311,16 +18555,16 @@
     emacsql-sqlite = callPackage ({ emacs, emacsql, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emacsql-sqlite";
-        version = "20171218.1827";
+        version = "20180128.1252";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacsql";
-          rev = "616dde37524f47246bbb161f20d3f5f090f10fbf";
-          sha256 = "14l61iq31lyz26nxxr2b5s57wra11xy87lp4d0s2fn03ac9i8nww";
+          rev = "75ac0448a5965c82c616c862cab180c241110fd2";
+          sha256 = "0aplbc2c6rdkhzwg5b19xjrgijpdkhimaa4kah7mqqxdj7q1zfxh";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-sqlite";
-          sha256 = "1vywq3ypcs61s60y7x0ac8rdm9yj43iwzxh8gk9zdyrcn9qpis0i";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite";
+          sha256 = "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x";
           name = "emacsql-sqlite";
         };
         packageRequires = [ emacs emacsql ];
@@ -18814,12 +19058,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "20171018.744";
+        version = "20180128.607";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "001c3adcc521223f6b53a2243635528b2cb7f7e8";
-          sha256 = "0hsrlzx8bslzhpipryxxqrdaiw66cgak14p8v47l0ylvwmxxqn13";
+          rev = "8d89c10a5eb975544f8475261e758de390d141ba";
+          sha256 = "1aa9kvfq6vh5rjwg5hif9lc7c886893f9ayl5nqgpxcdjvlpnvc9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -18973,12 +19217,12 @@
     enh-ruby-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "enh-ruby-mode";
-        version = "20171212.1249";
+        version = "20180123.1835";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "enhanced-ruby-mode";
-          rev = "4f43eab67a9afb91b0408221d478dcb98131478f";
-          sha256 = "0ahvsazrdlwfz0imsfvnhv1f58m7cnib8fzbffdjvvwmmc9g511y";
+          rev = "989f7191078c8c1c46921167f5f96119fad930a5";
+          sha256 = "167b34cgp5f7nfrcp9jn8phzs125jx8mkbni8yshfb5i2mf7g0ml";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode";
@@ -19057,12 +19301,12 @@
     ensime = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s, sbt-mode, scala-mode, yasnippet }:
     melpaBuild {
         pname = "ensime";
-        version = "20171217.1730";
+        version = "20180201.1340";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "ensime-emacs";
-          rev = "3d3ab18436ad6089496b3bce1d49c64a86965431";
-          sha256 = "0p821zwpiznjh736af5avnx9abssx0zbb9xhs74yhh1mcdi1whq7";
+          rev = "2819a9c2ae2bc6d095887c2cbb6f9bd8617f1e52";
+          sha256 = "1cfr9xs268nwjjhx7n00h5sssm479bzd5f7c847hg6x2hyqkfzxb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/502faab70af713f50dd8952be4f7a5131075e78e/recipes/ensime";
@@ -19191,12 +19435,12 @@
     epl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "epl";
-        version = "20150517.433";
+        version = "20180205.1249";
         src = fetchFromGitHub {
           owner = "cask";
           repo = "epl";
-          rev = "83797835f729f39b80acba4c7e83d73a2e410e26";
-          sha256 = "1rgxvmz9nv7922c30xz8ax3cwj8mmwxfni3xjwnhpfa744in4441";
+          rev = "78ab7a85c08222cd15582a298a364774e3282ce6";
+          sha256 = "0ksilx9gzdazngxfni5i632jpb1nprcxplsbhgqirs2xdl53q8v8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c6cf24e86d8865bd2e4b405466118de1894851f/recipes/epl";
@@ -19379,12 +19623,12 @@
     erc-image = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-image";
-        version = "20170909.312";
+        version = "20180206.941";
         src = fetchFromGitHub {
           owner = "kidd";
           repo = "erc-image.el";
-          rev = "15805aa7ed4b13eeaaa4ec294443ef0f9d21c0c2";
-          sha256 = "0ja8iv4wp58xab190mf3pj1bbaz25w8pvns03ayajzrflpkhjs79";
+          rev = "9f4d7b93a3c7e12ac935b50943177923a8c01d22";
+          sha256 = "0dd2v91rp3lai10258bszpd9wsa1lvx08xspsnijv64axh73yf7r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/erc-image";
@@ -19740,8 +19984,8 @@
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "fd30cdac0f62c70336330d94ac944bb110932cc2";
-          sha256 = "1s48r5s5bc3lzngpfi9zpifd8nrzi4g654i2crz7ldjv0aiipdms";
+          rev = "cd9b6371a13c37f8f82586fcd82f212d306d8fad";
+          sha256 = "19va8vcmxgkwbyj0zjdha3ny81nwdhg339x8n8bxrisriw2ihb07";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19903,12 +20147,12 @@
     es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s, spark }:
     melpaBuild {
         pname = "es-mode";
-        version = "20171220.719";
+        version = "20180126.711";
         src = fetchFromGitHub {
           owner = "dakrone";
           repo = "es-mode";
-          rev = "adf879cb108819fc18fea52788b3fa98a57f5177";
-          sha256 = "1zcv11vi3vs5i2i104an9nzm9jy889pqfs9xlifz7w9l81qfa2nl";
+          rev = "8c1c601a72fbc9b0e0a80974856abfc679843c86";
+          sha256 = "0ppci48cz453ivkd37zbs3sgan0v7nf9d65qy77zvkn55qn2f4bq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9912193f73c4beae03b295822bf41cb2298756e2/recipes/es-mode";
@@ -20365,12 +20609,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20180114.632";
+        version = "20180206.354";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "157a3a911200eec217b439b82495eb4759756206";
-          sha256 = "0ljirg9zbhq0cvyl5z635j7v6l5bp35bj8cfhzlrq4wiblfmh1ay";
+          rev = "ae0404336d41fc3e5465b61f2bd2674be9abd574";
+          sha256 = "12sav9x05xgpn14rm2zk67kdjkyaiq7hsgwlsr34x6ajiggy3is5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -20533,12 +20777,12 @@
     eterm-256color = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, xterm-color }:
     melpaBuild {
         pname = "eterm-256color";
-        version = "20171221.1837";
+        version = "20180202.1722";
         src = fetchFromGitHub {
           owner = "dieggsy";
           repo = "eterm-256color";
-          rev = "a5560abfa81242dc45ab0342e41e33f6c7e6bc1e";
-          sha256 = "0md53lhpxh1yqirfjgx8fq8vsh5zbl2v2hn63nkyh60rv3sc4jkm";
+          rev = "72b2d650a173c39648f1cb0f2b68fab5a6886d79";
+          sha256 = "15vj55l71v9yzl7cw4yw7lc71045xa3y6q0hn8a5pmakmb6fiwdf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e556383f7e18c0215111aa720d4653465e91eff6/recipes/eterm-256color";
@@ -20722,12 +20966,12 @@
     evil = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
     melpaBuild {
         pname = "evil";
-        version = "20180103.2356";
+        version = "20180126.1159";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "49d6167d6bb97454afe1d06a5324483682de8ab6";
-          sha256 = "0l3hmmkys3fw5yxs4kmjx5nrbjh9w19d0bfkryhbxhc5xszydvzz";
+          rev = "2992858748e6fe8ae706d182b86b684e7b9be8b9";
+          sha256 = "18jyqf1k7b09j0q1sxavqyqyx21msbqklia83kbrn51wbhy70k49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil";
@@ -20869,12 +21113,12 @@
     evil-collection = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-collection";
-        version = "20180115.156";
+        version = "20180202.1722";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "evil-collection";
-          rev = "9d2f38130fd6a36dd6548d68b88a63edc0ddb1d4";
-          sha256 = "0wdw4i20i3qi9xsbkdk9jvvkg92g41h2nrkx1z3ykw2cgikm6vq9";
+          rev = "f04fd5eef32728cb146d2dc5f3701b1d4733a2bf";
+          sha256 = "12magy7l325cfi25b8y8gd5b9n3smhn3w07mxb4nbp3rfg7nv2db";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d7538c9eb00b6826867891b037e7aa537ac5b160/recipes/evil-collection";
@@ -21121,12 +21365,12 @@
     evil-goggles = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-goggles";
-        version = "20171219.153";
+        version = "20180205.153";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-goggles";
-          rev = "2670fdf6643a098141e3323ab862e311d917ed35";
-          sha256 = "03g6yrrcfc8f2vbiysia0gxgnsy15i9c4iqvbiwpi93y5jj40lzy";
+          rev = "48feeba6f0d661cf0eed50cf3f524b8f09ff0bf0";
+          sha256 = "1wsrjk95dlbz8iyi437iphw6ppx0naq081lzgdg0cm1hp57b7axa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles";
@@ -21352,12 +21596,12 @@
     evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-matchit";
-        version = "20171127.245";
+        version = "20180131.502";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-matchit";
-          rev = "ceb13ad1b34eb0debe2472c024841bdddce9e593";
-          sha256 = "1wal8kwz1gx0cw1a91rf0d9wl490kjiilv6kwd779zf5041hnhwf";
+          rev = "20270ab6b0a3a398942609f7acc3d0162b954591";
+          sha256 = "0vnaplchyl1z9d8fhrc83157a6d97dgwdja4y0nm7bkgm1jqgbdc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit";
@@ -21520,12 +21764,12 @@
     evil-org = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-org";
-        version = "20171224.753";
+        version = "20180116.1347";
         src = fetchFromGitHub {
           owner = "Somelauw";
           repo = "evil-org-mode";
-          rev = "22c248deb6c74a5bcdb0268306eed878a44fe517";
-          sha256 = "01ayyd22vs5i7l7h95ia1qzmsm69x0imqcmmfwjnpwibar4s5v9r";
+          rev = "491b0b302b95d44ceb73d291dedbb9d5517ccee2";
+          sha256 = "04lyp4z0vr8imjwrqc88d1pdpl86wgwn19vzl6256yl63xaipvf2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1768558ed0a0249421437b66fe45018dd768e637/recipes/evil-org";
@@ -21755,8 +21999,8 @@
         src = fetchFromGitHub {
           owner = "ninrod";
           repo = "evil-string-inflection";
-          rev = "ac261bee68444c2cb9aaab25b58509e8f58efe35";
-          sha256 = "1b9h7qpmaqwcdj742y76hrs31l7z9aynih9mkwdcnx5fi2a649la";
+          rev = "f13a4aab75e5d50c0c63c126c4cbc0067d452d85";
+          sha256 = "1i4vc8iqyhswa77awczgqi1vqaxx8png5is1hwisxf0j9ydsgw4c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0720a0f5b775fcee8d1cfa0defe80048e2dd0972/recipes/evil-string-inflection";
@@ -21860,8 +22104,8 @@
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "49d6167d6bb97454afe1d06a5324483682de8ab6";
-          sha256 = "0l3hmmkys3fw5yxs4kmjx5nrbjh9w19d0bfkryhbxhc5xszydvzz";
+          rev = "2992858748e6fe8ae706d182b86b684e7b9be8b9";
+          sha256 = "18jyqf1k7b09j0q1sxavqyqyx21msbqklia83kbrn51wbhy70k49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers";
@@ -22191,12 +22435,12 @@
     exotica-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exotica-theme";
-        version = "20171227.203";
+        version = "20180119.441";
         src = fetchFromGitHub {
           owner = "jbharat";
           repo = "exotica-theme";
-          rev = "4324e9e888b08f8884d74458ace00da190b1cc62";
-          sha256 = "17fywa9blx5yf9gjhz1axzziz3yn3qw93bi19xaq0vgv26w5s8bx";
+          rev = "739af91c9dcbe62f420760243688dc3a50367a31";
+          sha256 = "03xlm19wbda8pk0bzrjr8d964zw4wfx1ql6ijvhqw70g7n94qanv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9182f92dd62e2f1775a76699a6c8f9c3e71e9030/recipes/exotica-theme";
@@ -22335,6 +22579,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    extmap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "extmap";
+        version = "20180205.1047";
+        src = fetchFromGitHub {
+          owner = "doublep";
+          repo = "extmap";
+          rev = "3860b69fb19c962425d4e271ee0a24547b67d323";
+          sha256 = "1vjwinb7m9l2bw324v4m1g4mc9yqjs84bfjci93m0a1ih8n4zdbr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/extmap";
+          sha256 = "0c12gfd3480y4fc22ik02n7h85k6s70i5jv5i872h0yi68cgd01j";
+          name = "extmap";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/extmap";
+          license = lib.licenses.free;
+        };
+      }) {};
     exwm-surf = callPackage ({ emacs, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exwm-surf";
@@ -22493,12 +22758,12 @@
     f3 = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "f3";
-        version = "20180109.2042";
+        version = "20180130.358";
         src = fetchFromGitHub {
           owner = "cosmicexplorer";
           repo = "f3";
-          rev = "f896674c527f41fac8faea2ddeafb2757c7b9766";
-          sha256 = "0w605iw5p4z8jzvzq0608jpcp0hdk9x48w1rvqz9hmjncsi3af8s";
+          rev = "000009ce4adf7a57eae80512f29c4ec2a1391ce5";
+          sha256 = "0q3ylw0i1bg7pzsv4gj72jcfjjfh57vsb3fnfnhhh5i5vladiqsf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b40de62a82d6895a37ff795d56f7d0f783461e6/recipes/f3";
@@ -22724,12 +22989,12 @@
     fasd = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fasd";
-        version = "20161216.831";
+        version = "20180203.745";
         src = fetchFromGitHub {
           owner = "steckerhalter";
           repo = "emacs-fasd";
-          rev = "5940b84dfa1ea7225b740d3a8dd215290d964873";
-          sha256 = "1wqh7x0c1i0w5lfh0j7xilvp5vmwvbsblp2jd6bz3n5j2ydgpc00";
+          rev = "f6393895bddbe9a1c77d4f6963a7e7ec6ff18bc4";
+          sha256 = "1bjb20p2sp1avjmr57b3zf15w01fi7h4dd46zahhap1lrk9sxgx9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f0fefb25f03677080c9adeeb48046d6ea163053/recipes/fasd";
@@ -22787,16 +23052,16 @@
     faust-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "faust-mode";
-        version = "20171122.414";
+        version = "20180205.126";
         src = fetchFromGitHub {
-          owner = "magnetophon";
+          owner = "rukano";
           repo = "emacs-faust-mode";
-          rev = "720fd8f5f48be27ceae3c6e3c612b39304484a03";
-          sha256 = "0v5i0z90zdbclr0sf17qm95b0hwn5lps253bah1lbfkpsvzxk4if";
+          rev = "7c31b22bdbfd2f8c16ec117d2975d56dd61ac15c";
+          sha256 = "0a3p69ay88da13cz2cqx00r3qs2swnn7vkcvchcqyrdybfjs7y4z";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/31f4177ce35313e0f40e9ef0e5a1043ecd181573/recipes/faust-mode";
-          sha256 = "1lfn4q1wcc3vzazv2yzcnpvnmq6bqcczq8lpkz7w8yj8i5kpjvsc";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b362e7daeabd07c726ad9770d7d4941dfffd5b19/recipes/faust-mode";
+          sha256 = "0l8cbf5i6lv6i5vyqp6ngfmrm2y6z2070b8m10w4376kbbnr266z";
           name = "faust-mode";
         };
         packageRequires = [];
@@ -22888,6 +23153,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    feebleline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "feebleline";
+        version = "20180202.1420";
+        src = fetchFromGitHub {
+          owner = "tautologyclub";
+          repo = "feebleline";
+          rev = "c6a8a955c0f441d4b4663fabd5cecdc92235b74b";
+          sha256 = "09g67mkschca2vp73263xm5zf48831zfxlyyfcmkjpsvrgm83ii2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/782295d8c530878bd0e20cde7e7f7f8f640953dd/recipes/feebleline";
+          sha256 = "0c604ahhv9c89r3hj7091zhhfpbykh4c23sn6ymqw4pp0dq4pgkj";
+          name = "feebleline";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/feebleline";
+          license = lib.licenses.free;
+        };
+      }) {};
     fetch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fetch";
@@ -23057,12 +23343,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "20171219.1858";
+        version = "20180201.2102";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "b9dff2881cefaf2926df35fe23366ce3bd59d157";
-          sha256 = "0f6nwbnwh06phg9560q97ksh3m50a9z73z7vrqlppfs27aqx2jbp";
+          rev = "cf20dda6050b11bee871b55f758716d8daa07b46";
+          sha256 = "0f4mkhdb56bnyp7wkg4bkv74rl51k4dxciv0zqf5x91lfzhz8jd0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -23285,6 +23571,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    firrtl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "firrtl-mode";
+        version = "20180122.1950";
+        src = fetchFromGitHub {
+          owner = "ibm";
+          repo = "firrtl-mode";
+          rev = "285f5c18722de98fd3dae195a2bd653497cf7daa";
+          sha256 = "1a4dhx2dv7ld14jn4r941w5mdrh085nxnlc1w93r93h13fj352q3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/8bbf9ab9db03410c35b8b73a23bf8062b10f0815/recipes/firrtl-mode";
+          sha256 = "11n3wjr9sinqafjs88bznb5rppnignwkn4m4ppixi6xr31v3i4ws";
+          name = "firrtl-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/firrtl-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     fish-completion = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-completion";
@@ -23309,12 +23616,12 @@
     fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-mode";
-        version = "20180114.445";
+        version = "20180117.1847";
         src = fetchFromGitHub {
           owner = "wwwjfy";
           repo = "emacs-fish";
-          rev = "cd0387f7f1d5c50e080091f86ca97d8a67d603a6";
-          sha256 = "0q4cq1rkiz5mjxhp7p5awmw59q1yjb2sryc9i54cwhr5dwwqf95k";
+          rev = "276db7de3c86411fbe3117f30272c5882b24a69e";
+          sha256 = "04srqfndhm6f190l7jfcswhd84xkw6vi09s6kv8bjwrk8iiy3qm9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode";
@@ -23609,12 +23916,12 @@
     flim = callPackage ({ apel, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flim";
-        version = "20161210.1728";
+        version = "20180118.522";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "flim";
-          rev = "3510d32e5820b2c22b4e9c9f29177beea42c5bfb";
-          sha256 = "0ggr8fkzwa6k0i7gl41qxkvkvnzpqzbhnd6klbk6j6j0rw1pmgn8";
+          rev = "e969ab24f729835b6f8dd71d57cee1aff345f959";
+          sha256 = "1gs3f2dvqh0pfc2mdz00l66wm4hsl2qb7pz29r5yfzjbk5inwqry";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/94faf56ff9bf94f51ef5253e4c4244faec5eecfd/recipes/flim";
@@ -23693,12 +24000,12 @@
     flow-minor-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flow-minor-mode";
-        version = "20180104.1348";
+        version = "20180204.141";
         src = fetchFromGitHub {
           owner = "an-sh";
           repo = "flow-minor-mode";
-          rev = "50dded94ad201fdc9453656a8b15179981cd5acd";
-          sha256 = "1vaqml0ypbc14mnwycgm9slkds3bgg6x5qz99kck98acbcfijxk6";
+          rev = "9a90436f9208a8f4796ce0d5b08f9d1ba5dbbacf";
+          sha256 = "012q3rdzg5zrqwx5ywq07h8bzpvv0lnldkv4p1wxlr9yzxxhrv4a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/66504f789069922ea56f268f4da90fac52b601ff/recipes/flow-minor-mode";
@@ -23739,8 +24046,8 @@
         src = fetchFromGitHub {
           owner = "lewang";
           repo = "flx";
-          rev = "ae0981b253b17b52dec666e2f739f889e7952291";
-          sha256 = "0csflhd69vz3wwq5j7872xx2l62hwiz1f5nggl5nz7h7v9anjx3r";
+          rev = "9c5cb5de0202b4eaac9359c84ca7ce9cbd7ee835";
+          sha256 = "0i7pj4l0ilihvkgal8d71idy5jr9zwanzxch350pg4myr6j1hnad";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63bdf3ae2f861e333a8f9c5997f5cc52869d3b3a/recipes/flx";
@@ -23756,12 +24063,12 @@
     flx-ido = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, flx, lib, melpaBuild }:
     melpaBuild {
         pname = "flx-ido";
-        version = "20151030.1112";
+        version = "20180117.719";
         src = fetchFromGitHub {
           owner = "lewang";
           repo = "flx";
-          rev = "ae0981b253b17b52dec666e2f739f889e7952291";
-          sha256 = "0csflhd69vz3wwq5j7872xx2l62hwiz1f5nggl5nz7h7v9anjx3r";
+          rev = "9c5cb5de0202b4eaac9359c84ca7ce9cbd7ee835";
+          sha256 = "0i7pj4l0ilihvkgal8d71idy5jr9zwanzxch350pg4myr6j1hnad";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63bdf3ae2f861e333a8f9c5997f5cc52869d3b3a/recipes/flx-ido";
@@ -23798,12 +24105,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20171214.1215";
+        version = "20180204.1346";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "4c2a09579d05453d1e21773165e8d4120d7990e3";
-          sha256 = "0f2lp2jrxl5gx6ii9xfz7kz0n0q9x55xis2dylzpi19rgrqq8pyy";
+          rev = "b73ea4d9c25b4fbc17ed8250becf40c55e811231";
+          sha256 = "1vy2cx53x55baixiw4wlcp14jpxazkwlzamwz01f86wiw3b7mgnr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -24281,12 +24588,12 @@
     flycheck-dmd-dub = callPackage ({ f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-dmd-dub";
-        version = "20180109.1512";
+        version = "20180119.1220";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "flycheck-dmd-dub";
-          rev = "43c45859af448125dd48359dfd1259366c961ba0";
-          sha256 = "118mm2khlrhlqw9074430vg78ixkb42f4xj7bcjl55yz5s01n3mh";
+          rev = "d4f6fde2ce5cbdbfef44b68affee394c9c891a1c";
+          sha256 = "11wg0mgrw2sphfr8dm27x500lyw6lkf94yk8nmlxx2fb2ns1nlyk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a812594901c1099283bdf51fbea1aa077cfc588d/recipes/flycheck-dmd-dub";
@@ -24446,15 +24753,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-gradle = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-gradle";
+        version = "20180121.2251";
+        src = fetchFromGitHub {
+          owner = "jojojames";
+          repo = "flycheck-gradle";
+          rev = "f8c7ec0abdd77f35c5a9a653f8a80acea717b014";
+          sha256 = "11lsk5mw2fkx81vd9r2xychh4nwadi516mpg8hr0ibh154p4ql6z";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/382d9afd2bbb0c137719c308a67d185b86d84331/recipes/flycheck-gradle";
+          sha256 = "0zd92lx0mqjqwzclvvhfwwahq80qspyv9k7qcxjc0bl3avjk6a47";
+          name = "flycheck-gradle";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-gradle";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-haskell = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-haskell";
-        version = "20171107.1420";
+        version = "20180125.1531";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-haskell";
-          rev = "ff21330a5a7db4e42d6ccf4410ef4a3231e5f19a";
-          sha256 = "0vdm6bmvqvf5s7cvadkl0l88cza429xcy21icv55ii5iw1k4hywf";
+          rev = "f97cefa9b69235bdc9a406c54d223ea26fb33107";
+          sha256 = "1kcm0lssjb5lqx556sxxw1v1pvp7hybw38a4sva2s0is3w9pxl1y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ca601613788ae830655e148a222625035195f55/recipes/flycheck-haskell";
@@ -24596,12 +24924,12 @@
     flycheck-ledger = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-ledger";
-        version = "20140605.1146";
+        version = "20180125.31";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "flycheck-ledger";
-          rev = "2944c56ad72945f78f88fa363e0239b40650d829";
-          sha256 = "16zfa0npi6jmyvjalsiqk11zp41vc5bfpgz5ssh1xa8v9fk6rxaj";
+          rev = "044f28d126d1bce55c4b78ba6d5bc92e1f6cfd69";
+          sha256 = "1k14jwz79mjsm0cfig5lc0byfrhvm495wrkybdl36b56q4qhxf58";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dc715e6849aa5d6017e2478514c4a0d84c7ddbe5/recipes/flycheck-ledger";
@@ -24698,6 +25026,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-mmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-mmark";
+        version = "20180203.932";
+        src = fetchFromGitHub {
+          owner = "mmark-md";
+          repo = "flycheck-mmark";
+          rev = "7fdcc48ff6ffa5e7db126a76f4948ab08b9eb8d4";
+          sha256 = "0g6a8nm5mxgca7psyi127ky68mal0lj7n486fgrwsg3bxglbsk5m";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2fd10423ab80e32245bb494005c8f87a8987fffb/recipes/flycheck-mmark";
+          sha256 = "0lnw7pz40hijcpi9b92vjxvvyh9v50ww2f2r8z9pyhl9mjy2245x";
+          name = "flycheck-mmark";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-mmark";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-mypy = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-mypy";
@@ -25041,8 +25390,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -25058,12 +25407,12 @@
     flycheck-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-rust";
-        version = "20170404.842";
+        version = "20171021.151";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-rust";
-          rev = "a89c0298f5e8fdcb0c33833ca1eca64632cec053";
-          sha256 = "1h2n1y69fxj2naxlyl7056rhggbpmh13ny2rcf0jjr1qnrrq756n";
+          rev = "c5838f51d41e1330ec69b46e09f25f9764be1d2a";
+          sha256 = "1app3vcv1myabj8wmla5dpifh63c21bmljqvvykz8a9d7hagq3gc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68d8cdf3d225b13ebbbe5ce81a01366f33266aed/recipes/flycheck-rust";
@@ -25160,6 +25509,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-swiftlint = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-swiftlint";
+        version = "20180121.2251";
+        src = fetchFromGitHub {
+          owner = "jojojames";
+          repo = "flycheck-swiftlint";
+          rev = "fef7fd20cc167790cb29f16de16a8045717e0a18";
+          sha256 = "06m352s5ixxm5wdrkljfk0b2chlqhm8f7bp8c2f2fkcf1l2gvs5q";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7e2a979726507e974a0a19dfc2ca6884157025be/recipes/flycheck-swiftlint";
+          sha256 = "1nwxv4l3ml9hlc8qf8a8x1bnnvdj80sb8nfbkcfiqwak315wihr4";
+          name = "flycheck-swiftlint";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-swiftlint";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "flycheck-tip";
@@ -25223,6 +25593,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-xcode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-xcode";
+        version = "20180121.2251";
+        src = fetchFromGitHub {
+          owner = "jojojames";
+          repo = "flycheck-xcode";
+          rev = "6147ab777e2c08e4f5ffdbd85d3013ca700fa835";
+          sha256 = "1jwd7xhg7gfjppimf1kxwxwsgzkqc8w86wgp7kqphp79ydd4jgp8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5fc66203fdd1721bf1a6f8dcec51694c57d2e690/recipes/flycheck-xcode";
+          sha256 = "0n86hn6rf0mrx1385pwxgkx28xrbnksarlzb07h9d63s0yb5shaa";
+          name = "flycheck-xcode";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-xcode";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-yamllint = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-yamllint";
@@ -25268,12 +25659,12 @@
     flycheck-ycmd = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, ycmd }:
     melpaBuild {
         pname = "flycheck-ycmd";
-        version = "20170614.1434";
+        version = "20180207.843";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "7f394d02f6f3149b215adcc96043c78d5f32d612";
-          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
+          rev = "e21c99de8fd2992031adaa758df0d495e55d682a";
+          sha256 = "1l9xsqlcqi25mdka806gz3h4y4x0dh00n6bajh3x908ayixjgf91";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/flycheck-ycmd";
@@ -26364,8 +26755,8 @@
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "8925ea85143c4c91589213fbacb275e81968d76d";
-          sha256 = "1f02idd8dw02q3ddr3p33xz3n3nhc33qv6fjsbz00pslw082gr8c";
+          rev = "c94a05d3b8a247a1abc9d0739a1b18387c26839f";
+          sha256 = "0q833z76fysv66anrng0skgfa3wc2gcb8rw0xr759rblxmxmnp1r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/forecast";
@@ -26549,12 +26940,12 @@
     fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fountain-mode";
-        version = "20180107.2123";
+        version = "20180205.2330";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "fountain-mode";
-          rev = "361f2a58151c9e6ab52b59cdd230a3add461a2bb";
-          sha256 = "10sgscfw70yw6khzl4nr1w1zh28g7rh4fwr3p2q4ny4z1zsxvbl9";
+          rev = "1ad1c386b28e6e6d72df68c4131f2a6f63857afe";
+          sha256 = "1xvm8cx73xs4qrc09khn8fi3zjlircmfnxdij0c98k4cwz60bf14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@@ -26838,12 +27229,12 @@
     fuel = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fuel";
-        version = "20170805.2030";
+        version = "20180205.2116";
         src = fetchFromGitHub {
           owner = "factor";
           repo = "factor";
-          rev = "b6f2f8564308509fda48753c6159367706d32215";
-          sha256 = "0skf6cdmwjfx2ap8f4izf6awdxpjmcg6lx0vn67cdjk67kamxh74";
+          rev = "9d19fb939a1835aacd6d82d7dddc2fc54874f665";
+          sha256 = "0gxbqq66ry4dqvzmcw4izzbwxksbvf5h5nbhr5jb58q4vaq9ijj7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/fuel";
@@ -26968,8 +27359,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "89476d6f2c6c3d1fb8eebdad4200320a1e4e06de";
-          sha256 = "1qpbsfa43fsqczpvxkdpjpnsjmwrwqn77kxayq892wmc58z2wkxd";
+          rev = "d2d2e1ac6e02d5d0739b613f9ca206ea06b9024b";
+          sha256 = "1ghkf899k6vp0kfw7lnnk27fl0y6bbdkqg97vh4k7i06hsnmiw8b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -27027,12 +27418,12 @@
     fwb-cmds = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fwb-cmds";
-        version = "20160523.535";
+        version = "20180206.1549";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "fwb-cmds";
-          rev = "57973f99cf4a185b5cccbf941478fad25e8428c3";
-          sha256 = "1c7h043lz10mw1hdsx9viksy6q79jipz2mm18y1inlbqhmg33n2b";
+          rev = "7d4abf8aa13b2235e4e2f0bb9049ebd6b491f710";
+          sha256 = "10xjs8gm9l3riffxip1ffg8xhcf8srffh01yn6ifyln5f70b063d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fe40cdeb5e19628937820181479897acdad40200/recipes/fwb-cmds";
@@ -27193,12 +27584,12 @@
     gdscript-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gdscript-mode";
-        version = "20180101.1426";
+        version = "20180117.2056";
         src = fetchFromGitHub {
           owner = "AdamBark";
           repo = "gdscript-mode";
-          rev = "6a94583b36b87d30974cea754b42ff719b6d3b37";
-          sha256 = "1cz6w9q3z7c729nff1gvwdzs7hlhi7daq8hql0w3pya4magi27pp";
+          rev = "31af5283eaec207bc864022a28e2824132471eaf";
+          sha256 = "0f24zsklkhhvj6qdyid2j1qcyhjnncxjma93zhr0klvn5j1z3aar";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/52f99eafb2e80a7fa13a98add98b03a147f35e8b/recipes/gdscript-mode";
@@ -27277,12 +27668,12 @@
     geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "geiser";
-        version = "20171217.1353";
+        version = "20180202.1825";
         src = fetchFromGitHub {
           owner = "jaor";
           repo = "geiser";
-          rev = "0bfc6be0d25ff311d739d2f65fd343135142f6f3";
-          sha256 = "01jz9yp5g003mhwq0blxy509xcwb8whzqaf90ibdr7v39y96jmdm";
+          rev = "e1603edd6f64094495af34432f0d9be621173403";
+          sha256 = "0qab1c3d9glp15sh1b1i40zlg50phhix5c2k0vr2i9j6wl8vc80b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser";
@@ -27298,12 +27689,12 @@
     general = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20180106.1028";
+        version = "20180130.2055";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "cdcf369b4b290f5e1e4cac37e48bad21096ac72a";
-          sha256 = "1qcb8y4akdnn8j4kfmdynb94v8m0l6qi013kskhq46waf03kw5vg";
+          rev = "63333fcc7fc181949601b75a4296fd3a338f287c";
+          sha256 = "11lfia2jx1vaizd1afln0v5s8y2czkhrrdgn01j1mq104kapxain";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -27466,12 +27857,12 @@
     ghc = callPackage ({ fetchFromGitHub, fetchurl, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ghc";
-        version = "20170613.1212";
+        version = "20180121.418";
         src = fetchFromGitHub {
           owner = "DanielG";
           repo = "ghc-mod";
-          rev = "0f281bea89edf8f11c82c5359ee2b3ce19888b99";
-          sha256 = "0f70nrlqgizsrya1x5kgxib7hxc0ip18b7nh62jclny1fq4r02vm";
+          rev = "39b96c475090f91e4f717197c96e083fdb2ccaf7";
+          sha256 = "0f9qzk3czamqjb42xg2bmx70hafza8cn84zylx60bw8yx4i0q7nx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc";
@@ -27592,12 +27983,12 @@
     ghub = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub";
-        version = "20180114.948";
+        version = "20180201.414";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ghub";
-          rev = "2962611aad56a0f1586383b3e4ba6a65508a3991";
-          sha256 = "1fj9942qd563wy7z97ylqc2xiwclg9qhfapwnabyi9m8pivwmwww";
+          rev = "b267bb6c55b0c05aec4d3fe0e9385ab0e1139463";
+          sha256 = "10rwl2nv8gk9bzj7cwmgzvcsscgb83aw5ag9jj7sv638w4acmn21";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5db83957187c9b65f697eba7e4c3320567cf4ab/recipes/ghub";
@@ -27613,12 +28004,12 @@
     ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
     melpaBuild {
         pname = "ghub-plus";
-        version = "20180114.1758";
+        version = "20180203.1017";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "ghub-plus";
-          rev = "8cfdaf42446a68e6aa4eb0655d43563407cb5636";
-          sha256 = "0acfqf1219bnzyf64sv68fvpi4a13nc0wv8dz5a8h6r1j0ysx6qj";
+          rev = "1ca0c4ab534a894b83f5b923997f12855315b0ae";
+          sha256 = "028rbjfvzyb28xw7wlk7468kh2irbcabfwrg1ph736w4wdzryp66";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
@@ -27634,12 +28025,12 @@
     gift-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gift-mode";
-        version = "20171121.653";
+        version = "20180204.1358";
         src = fetchFromGitHub {
           owner = "csrhodes";
           repo = "gift-mode";
-          rev = "f8c9a495e3c6a47dbfdcb719bcbd0f8522297340";
-          sha256 = "1lpdx6lb2skjgqwsjcc8wzy6q85sp7d4y97xkibvvv4czchsg174";
+          rev = "b8dcb86c7f83df0fbdc0da4f80c187423c936e50";
+          sha256 = "01x87aam43xmhx7np9rvrdhln3pwn4zfn4d8s38rdpi77n9prw5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c4c9081a60bdbf4e5fe1ccc4809c0f6f396d11e4/recipes/gift-mode";
@@ -27736,6 +28127,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    git-attr = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "git-attr";
+        version = "20180204.15";
+        src = fetchFromGitHub {
+          owner = "arnested";
+          repo = "emacs-git-attr";
+          rev = "c03078637a00ea301cbcc7ae301ae928b10af889";
+          sha256 = "05wzy8g0yjkks0zmcvwn9dmr6kxk1bz91xic3c08b0j1z5lbsdv7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3417e4bc586df60b5e6239b1f7683b87953f5b7c/recipes/git-attr";
+          sha256 = "084l3zdcgy1ka2wq1fz9d6ryhg38gxvr52njlv43gwibzvbqniyi";
+          name = "git-attr";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/git-attr";
+          license = lib.licenses.free;
+        };
+      }) {};
     git-auto-commit-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-auto-commit-mode";
@@ -27802,12 +28214,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20180108.603";
+        version = "20180202.321";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "24ce90832ddff0db86581c1b7e947e83a13fe83e";
-          sha256 = "0sxham9vg6m4j7f7p5ral56s4rzxfmy8an23zvq2n3832jsvvri1";
+          rev = "07ce571818734103182bed43fa73f580b0bb630d";
+          sha256 = "1ya8mi37j8mrg926b0jz59j7xdpnrfr7r4f5m10qr19d1sl5zqa4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -28009,6 +28421,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    git-msg-prefix = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "git-msg-prefix";
+        version = "20180118.646";
+        src = fetchFromGitHub {
+          owner = "kidd";
+          repo = "git-msg-prefix.el";
+          rev = "848f2c7475f5e4937b09f55e85ea89a3be5f8588";
+          sha256 = "0ab6qjq5nky15vj88j5s8sh7gp9lbwgxrfqsc08bg6gdf2rx2dvx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bd37811d17beaa54e08eb4968791da960d37b391/recipes/git-msg-prefix";
+          sha256 = "0vicaj91yhbzda76wrwmbfby2ikaja52bcm923jx8brjh1wd99wr";
+          name = "git-msg-prefix";
+        };
+        packageRequires = [ dash emacs s ];
+        meta = {
+          homepage = "https://melpa.org/#/git-msg-prefix";
+          license = lib.licenses.free;
+        };
+      }) {};
     git-ps1-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-ps1-mode";
@@ -28033,12 +28466,12 @@
     git-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-timemachine";
-        version = "20170325.220";
+        version = "20180201.1315";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-timemachine";
-          rev = "92f8ad4afc802d01c24426ff52ad6fefb3bb91be";
-          sha256 = "1ljgc7jmll3534zj1r72gh4al909slhiriscqv9lmvqzdiy3l21g";
+          rev = "020d02cd77df6bf6f0efd4d4c597aad2083b6302";
+          sha256 = "1g7gxa2snh8ya8r3wim834qszhcmpp154gnvqkc3b1gw8x7jdrql";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/41e95e41fc429b688f0852f58ec6ce80303b68ce/recipes/git-timemachine";
@@ -28411,12 +28844,12 @@
     gitter = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "gitter";
-        version = "20161203.9";
+        version = "20180122.56";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "gitter.el";
-          rev = "3ff1c72ee85be4e3b648b4c52b0638129f3cf7a6";
-          sha256 = "19vd81pdjjbmiq3md1052x1lf43c8q9pfpq2b8lrdpz6qaphk6f6";
+          rev = "11cb9b4b45f67bdc24f055a9bfac21d2bd19ea1a";
+          sha256 = "14ri86kxqz9qfhcr0bkgfyggy4bgg9imk9akhw6dfzqkl90gn2gy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b8076c3b4d60e4c505bb6f4e426ecc4f69d74684/recipes/gitter";
@@ -28621,12 +29054,12 @@
     gnu-apl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gnu-apl-mode";
-        version = "20180107.513";
+        version = "20180129.2300";
         src = fetchFromGitHub {
           owner = "lokedhs";
           repo = "gnu-apl-mode";
-          rev = "1fce747e48290549c859de7b15e6efc351d60861";
-          sha256 = "1540qqndv17g39s143mjkk12is9hynx6x6nzpk811sv5rph986iq";
+          rev = "fa569827c916ed46e410e9f28e4b4d28f8567654";
+          sha256 = "0x1i1xcd3d34c9c87isd39d9ra69ywd01ag0hgkkgdzrk44znshj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/369a55301bba0c4f7ce27f6e141944a523beaa0f/recipes/gnu-apl-mode";
@@ -29251,12 +29684,12 @@
     go-tag = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "go-tag";
-        version = "20180110.713";
+        version = "20180116.2332";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "emacs-go-tag";
-          rev = "c04928bfd7ac571c831c1e5afe4cea6e009c3498";
-          sha256 = "0433zy7fb1j15s74b8xsz0vl2z44613aimgv7r1y7bdlkgf7ma12";
+          rev = "3e334d9ef3c85fd09b05973734584f401ea18c21";
+          sha256 = "1nr6ijbc4g7mwrhsbl2pacagcrhkyb32vmbp2wdc3c5j9831h7j1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc4cd3fd8fb0707912e205b9d71789ea8126c442/recipes/go-tag";
@@ -29293,12 +29726,12 @@
     god-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "god-mode";
-        version = "20180114.1119";
+        version = "20180117.334";
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "god-mode";
-          rev = "d58f57b98ab13bbf4dc5775bdf456b2a57c41127";
-          sha256 = "0x9f4rrfrz96kiwcnpgklw23bffxl7f14scck2vmp1wmkwzig7kb";
+          rev = "344167ed9b4c212273dd056e7481cf1373b461d0";
+          sha256 = "0y7phh7amrdphv9dkf0304z2knyas745ir59ybngh1a55dfc2mf4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2dff8dc08583048f9b7b4cb6d8f05a18dd4e8b42/recipes/god-mode";
@@ -29395,6 +29828,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    goldendict = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "goldendict";
+        version = "20180121.120";
+        src = fetchFromGitHub {
+          owner = "stardiviner";
+          repo = "goldendict.el";
+          rev = "1aac19daaec811deb9afe45eea4929309c09ac8b";
+          sha256 = "1il432f6ayj2whl4s804n5wykgs51jhbx4xkcbfgqra58cbjrjhi";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/af87026905478d9134a4a036e792f6afd9c10768/recipes/goldendict";
+          sha256 = "0zvrlz169pg9bj1bmks4lh5zn8cygqzwiyzg49na2a7wf2sk9m1f";
+          name = "goldendict";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/goldendict";
+          license = lib.licenses.free;
+        };
+      }) {};
     golint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "golint";
@@ -29461,12 +29915,12 @@
     google-c-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "google-c-style";
-        version = "20140929.1118";
+        version = "20180130.936";
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "9663cabfeeea8f1307b1acde59471f74953b8fa9";
-          sha256 = "0277vsj0shrlgb96zgy8lln55l2klzkk6h28g4srbpgkwz5xxsx7";
+          rev = "cfce3c3a866cfa9ec12fff08d5e575ca875f787b";
+          sha256 = "0h35802dp9y29yvrqvkhd2b9x6jkqlwz46k5lgvabsiddqq4x2sn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -29734,12 +30188,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20171108.1429";
+        version = "20180129.905";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "ea983f87a41cd624eb743413193b6dd4a8a70e32";
-          sha256 = "1fy507si285mk9ix0l3l6dm1df466dn2xv9bxxjnn2xjyx10n1xa";
+          rev = "81743157fb5ccf548d6bd5088c25ee6156a359ee";
+          sha256 = "10jj1d9k0gg4an7hnbiavm2l4y4ppwxz49yi39821kbchygkl58m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -29776,12 +30230,12 @@
     grab-mac-link = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grab-mac-link";
-        version = "20171117.1047";
+        version = "20180116.251";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "grab-mac-link.el";
-          rev = "efac050750551fcbe323c44d94f49ac8c75ae845";
-          sha256 = "009l3z4qyk017x0vn56accfi3v7bhk9dxvp4j7kkrm49jhmagjws";
+          rev = "19369badf8b0621eb03ea9e3adeecb22b9710c23";
+          sha256 = "0bp4x8s16zj2v7z0i5sxvqafka9v27riizjdrgfbvlvw9idlnsq0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e4cc8a72a9f161f024ed9415ad281dbea5f07a18/recipes/grab-mac-link";
@@ -29797,12 +30251,12 @@
     grab-x-link = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grab-x-link";
-        version = "20161130.2147";
+        version = "20180205.346";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "grab-x-link";
-          rev = "d2ef886097f59e1facc5cb5d8cd1c77bf340be76";
-          sha256 = "1iny8ga9xb7pfd59l4ljlj6zvvxzr7bv468sibkhlaqvjljn2xq1";
+          rev = "d19f0c0da0ddc55005a4c1cdc2b8c5de8bea1e8c";
+          sha256 = "1l9jg2w8ym169b5dhg3k5vksbmicg4n1a55x7ddjysf8n887cpid";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/64d4d4e6f9d6a3ea670757f248afd355baf1d933/recipes/grab-x-link";
@@ -29902,12 +30356,12 @@
     grandshell-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grandshell-theme";
-        version = "20171230.440";
+        version = "20180131.1439";
         src = fetchFromGitHub {
           owner = "steckerhalter";
           repo = "grandshell-theme";
-          rev = "c8f1dd4ceb3b752bcb4a0122af45e3a197c4fa99";
-          sha256 = "1b0azylab54183kf9nmpx6qb8hrr91fsxladwfmiljrcpvf6pdh8";
+          rev = "823232a83a51e8a3f7b4db09e23658fc1a1c93ca";
+          sha256 = "0a1svfbxw7g31rnf3lcjsy2x21s14c2gpbrzjpl06qa0p3cnn4db";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b04b0024f5a0367e2998d35ca88c2613a8e3470/recipes/grandshell-theme";
@@ -30141,6 +30595,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    gregorio-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gregorio-mode";
+        version = "20170705.751";
+        src = fetchFromGitHub {
+          owner = "jsrjenkins";
+          repo = "gregorio-mode";
+          rev = "736fd3d05fb67f707cca1a7ce24e3ee7ca5e9567";
+          sha256 = "1w13a3irak6i74kl7va8d2simd2kjvw5253s8jvapi1mg4ifw379";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/34cdc536cd0509c5a151c16f44f4db2c5b44365f/recipes/gregorio-mode";
+          sha256 = "1x3z4gc88h13miz72a597lz9hcn2lxps9jvldl2j62s6nvr88pff";
+          name = "gregorio-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/gregorio-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     grep-a-lot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grep-a-lot";
@@ -30625,12 +31100,12 @@
     hackernews = callPackage ({ fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "hackernews";
-        version = "20170930.1313";
+        version = "20180206.1739";
         src = fetchFromGitHub {
           owner = "clarete";
           repo = "hackernews.el";
-          rev = "520e8dca91b8c2bc1de852f577af46ed1b7cabcd";
-          sha256 = "0951vb08sjpxx28cpaa8njirjw6fml60m91wa146cnxpngd68w6b";
+          rev = "087af78262c40fddf9412fa73f7d4d8c6811282a";
+          sha256 = "0s8hazfw1nd7sk7nky22d1lq8vqhfba5a2gm4y96s6g31h5wd71d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c43a342e47e5ede468bcf51a60d4dea3926f51bd/recipes/hackernews";
@@ -31232,12 +31707,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20180114.2330";
+        version = "20180206.604";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "43569379167f4cce6d7ab3f6b490135054de2c39";
-          sha256 = "10wwm5d9s6h9lq365gbg7hj4j21k7z4k1dspzy7ir546gmj7n4ki";
+          rev = "1c4d5562eb2a5d33cf7d27ffdb41f80011614b3c";
+          sha256 = "1imzkx0ngh61qxn8126z1rmhzmiqlmz19j3ky6pizzd6xazz2qip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -31463,12 +31938,12 @@
     helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
     melpaBuild {
         pname = "helm-bibtex";
-        version = "20180110.1209";
+        version = "20180124.338";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "adf0e363ef1a1feaa1c83ef7f16a7d6c408b62ce";
-          sha256 = "0jj2qgia2sf4954g56ldgx1wf734qzqhxjy31m06xanvsmamyl6i";
+          rev = "f5f7d45fb9d636fad1429867ccbc327a446bb350";
+          sha256 = "1dpxw8h6aqdajqf929hwmrm2iik7vwhkv05m0vl8vf1i5zbz307i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
@@ -31694,12 +32169,12 @@
     helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-cider";
-        version = "20170708.1525";
+        version = "20180202.1818";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "helm-cider";
-          rev = "9480e969d5387efdd5e66c6db089e02a296b2025";
-          sha256 = "0ci0z1zaypbdnjxk6bhf83kx808j4xi5ikqwq4w5mlsbz8f5iqx1";
+          rev = "f498727b2a742560256942ea184dcb28c455fee2";
+          sha256 = "1g7hy6fjym11yznzb8m5cn9bq5ys5iszf81hhwyia5n8qdvnlmm5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-cider";
@@ -31799,12 +32274,12 @@
     helm-codesearch = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-codesearch";
-        version = "20171215.26";
+        version = "20180203.2033";
         src = fetchFromGitHub {
           owner = "youngker";
           repo = "helm-codesearch.el";
-          rev = "ccb99aee4851bc156a67835299b24099aa8ff5c1";
-          sha256 = "0yhhiax06arvimgxvh9xdflgjbkflhi1cp0g8816bwr0hdmv57dh";
+          rev = "87a68168b7c1490769305db0df60035e47799a75";
+          sha256 = "0wiyz0kh2m2mpjhnl2mvsx2gvhkmmk0xaw432mxr48zz9jjnlha9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0a992824e46a4170e2f0915f7a507fcb8a9ef0a6/recipes/helm-codesearch";
@@ -31862,12 +32337,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20180113.40";
+        version = "20180206.10";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "43569379167f4cce6d7ab3f6b490135054de2c39";
-          sha256 = "10wwm5d9s6h9lq365gbg7hj4j21k7z4k1dspzy7ir546gmj7n4ki";
+          rev = "1c4d5562eb2a5d33cf7d27ffdb41f80011614b3c";
+          sha256 = "1imzkx0ngh61qxn8126z1rmhzmiqlmz19j3ky6pizzd6xazz2qip";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -31925,12 +32400,12 @@
     helm-ctest = callPackage ({ dash, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-ctest";
-        version = "20171101.934";
+        version = "20180125.2058";
         src = fetchFromGitHub {
           owner = "danlamanna";
           repo = "helm-ctest";
-          rev = "6de962e355e12a69e4aeaf6484f497e28b2e8a68";
-          sha256 = "0nd1ij7iqf02hni4d77mndbxi8w27vawjd9b3d7fia22vdsha040";
+          rev = "034927a922f40d9f5978786feed9bc9fe1f7655f";
+          sha256 = "0mbsxlc0isfzqlwvwqxyjkcdvpn9a6qsa29r7mqqihy0jkqi4473";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1cc85ff5554df10fc2066eec4d90de3b25536923/recipes/helm-ctest";
@@ -32156,12 +32631,12 @@
     helm-emms = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-emms";
-        version = "20180104.2127";
+        version = "20180124.1023";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-emms";
-          rev = "8133c1a854c8f9e32b3b4c74638fe197535c08f1";
-          sha256 = "06111034rvh770ljzdbw7d6rkvy40bjvp4c06ss5s624pyd6qd74";
+          rev = "6e05efc4612262b39732d2d82d606c48fd6bf46b";
+          sha256 = "04iaxzx3r5f7jr42nycnvrrs3rx51nf9a20l2zpyz14i2g4pqjvn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/db836b671705607f6cd9bce8229884b1f29b4a76/recipes/helm-emms";
@@ -32219,12 +32694,12 @@
     helm-exwm = callPackage ({ emacs, exwm, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-exwm";
-        version = "20171218.1335";
+        version = "20180115.311";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-exwm";
-          rev = "26f85e253010aa4782c6d77d17d4f6067a0c5edd";
-          sha256 = "0zvgfb0ky72yxj6f13knzcp473a03s083q5la4prswchg0r3xrir";
+          rev = "0b557cbf0f1c84b80a83ffafb17c5aadf753859b";
+          sha256 = "0i2sbdxjv3nbnv2250gwghqk202s3z43s6dn1pa5sdsp7gkvwxjz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdf9e00cf19fabbeade12a66d66cd010561366/recipes/helm-exwm";
@@ -32639,12 +33114,12 @@
     helm-google = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-google";
-        version = "20171215.1159";
+        version = "20180207.242";
         src = fetchFromGitHub {
           owner = "steckerhalter";
           repo = "helm-google";
-          rev = "bf3b04e04db5bc99b621b90b7d58a5438db14c66";
-          sha256 = "06848hjbwj8bkdinbmmzh2sc92l9chzwbglyfl17bwxkcdbxd54i";
+          rev = "a2b8ecdd92a78acf75aa2503939077dd3a339843";
+          sha256 = "1j1x853308ljmfygqvc11zidpmcz0ipdz8h2qisq692ga37vp79x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/88ed6db7b53d1ac75c40d12c21de1dec6d717fbe/recipes/helm-google";
@@ -33042,8 +33517,8 @@
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "3403179a38693a221bfa86def0c99f6342c5eb73";
-          sha256 = "0w6zc1w7kic3ds5hf30i3mj9wxbq2c8wdywbslfprwwi1hxyzmsq";
+          rev = "ae90bd280588c96d540892d0f42247db5a126f51";
+          sha256 = "06d5f577rv82g72m719w8z9w7m63amxjsdppcyvg2i6icymlhnqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/helm-lean";
@@ -33399,8 +33874,8 @@
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "helm-pass";
-          rev = "05a56bb04115153aa84d285e2068e9dd99ed6a38";
-          sha256 = "0j7rlgv71cnl0flny6hpjsa99d3mslmxzkshgj0h3zmikp39gimj";
+          rev = "986af08301476bc6a1c8645dc5d2302a31d5044d";
+          sha256 = "1hbpwi4sbibsckrldlgny3wc9cw3y9qv7x98b4x3w78ldns50qpq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8100599d69a760cd4548004a552cc0adcdb3bed/recipes/helm-pass";
@@ -33647,12 +34122,12 @@
     helm-rage = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-rage";
-        version = "20170422.510";
+        version = "20180118.732";
         src = fetchFromGitHub {
           owner = "bomgar";
           repo = "helm-rage";
-          rev = "3cae7f309b45cc6e40507be68c0cc2e5595c1392";
-          sha256 = "0j8yvxvd78lcfpss327xc6rahkqva66rrqjjx5cmdl82xncb53vz";
+          rev = "5d0aefb53d859186181d4bdcfeff7d315339c7b8";
+          sha256 = "0msj3rrv9bwhhwz7r1ayr6qvnxjsq7374j0xfhqbrx49pix4qf3q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84f831fdc5a0e90c23ac11c79f193f4d3c1ebb04/recipes/helm-rage";
@@ -33819,8 +34294,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -34088,12 +34563,12 @@
     helm-system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "helm-system-packages";
-        version = "20171224.50";
+        version = "20180201.541";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-system-packages";
-          rev = "bfc4b6f6f2f05edd6009a2295ed90e8448a52474";
-          sha256 = "0jnjgwiqfc2lr452wamdln2fhi7p4r2d9wvkha260gdbld54871q";
+          rev = "cf6158e50bb167991ed25b54a48e7e4a9eb59ab6";
+          sha256 = "1yihqvjhnz9nfwz1lvgvkw7w43lirncnrfbk98831s2kr4zv83yl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages";
@@ -34109,12 +34584,12 @@
     helm-systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "helm-systemd";
-        version = "20160517.2333";
+        version = "20180130.2034";
         src = fetchFromGitHub {
           owner = "lompik";
           repo = "helm-systemd";
-          rev = "0892535baa405a2778be2f0f013bac768e72b1f9";
-          sha256 = "1yqwq8a5pw3iaj69kqvlgn4hr18ssx39lnm4vycbmsg1bi2ygfzw";
+          rev = "96f5cd3ee3412539c2f8d145201f47c4f8e53b4f";
+          sha256 = "0wyabh76q2lighd7qxpkzp35fkblxlz8g7p4lpgfwvjid0ixmnvq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-systemd";
@@ -34155,8 +34630,8 @@
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "cb2d2df7e95fc249ebe38ea843288b7194afbd9a";
-          sha256 = "0cr36kyzs2q2qbi2815m4c303cc50zcmyn2sw3x5ja3qixi0c087";
+          rev = "94e05b0bf6f2604a2786ef6ff358363b9d4790ec";
+          sha256 = "0b0d1ka9jx68dfkdw2l7sbawa85yzkzxigjwlwki1i5l7m3cr5pd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp";
@@ -34358,22 +34833,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
+    helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
     melpaBuild {
         pname = "helpful";
-        version = "20180111.1504";
+        version = "20180204.114";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "helpful";
-          rev = "5746e9dbe486c75fe4904575f9663c2da455013e";
-          sha256 = "1any3ikbr8q1i5shwiwmal2d2i3bcnlkjfhq56xaxcm5rx2k1ss2";
+          rev = "75f9b5fafd7b63bd701d1d9c6cb4c92b5fc8aeac";
+          sha256 = "1r36kjfjzpgyzwk9qpbmmd8dpg26d5g93hxss23v3fff713b00j2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
           sha256 = "17w9j5v1r2c8ka1fpzbr295cgnsbiw8fxlslh4zbjqzaazamchn2";
           name = "helpful";
         };
-        packageRequires = [ dash dash-functional elisp-refs emacs s shut-up ];
+        packageRequires = [ dash dash-functional elisp-refs emacs f s shut-up ];
         meta = {
           homepage = "https://melpa.org/#/helpful";
           license = lib.licenses.free;
@@ -34631,6 +35106,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    highlight = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "highlight";
+        version = "20180131.1216";
+        src = fetchFromGitHub {
+          owner = "steckerhalter";
+          repo = "highlight.el";
+          rev = "bb8694b8e642a45f07ce8897de0785c5a776441c";
+          sha256 = "0s4fkxnd4x3j864mgaiv95iwdjmps4xj2mlaljljc8y04k9q5l9k";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/89c619b90665385c8f5408935105c52b4d0290ab/recipes/highlight";
+          sha256 = "0hc515042gpwqj2wqa3lmbgmccb3im5d313nk5lma9sphqi2yx9q";
+          name = "highlight";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/highlight";
+          license = lib.licenses.free;
+        };
+      }) {};
     highlight-blocks = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-blocks";
@@ -35576,12 +36072,12 @@
     ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ht";
-        version = "20171213.1334";
+        version = "20180129.1434";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ht.el";
-          rev = "64af52688eb09eb42b7228a4e8e40d4a81cd983b";
-          sha256 = "1qz1zynkb1nanyi0ylllv80gzkgl2bgx9y82g07w1rfa86qgaghg";
+          rev = "5a665d00dc8fda77bad2a43277d8809c23e46ab8";
+          sha256 = "0w0zi393ixgi154c6dq2i1kf3kraqyfw8alfxcn6fhhxy1g9p02y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
@@ -35891,12 +36387,12 @@
     hy-mode = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "hy-mode";
-        version = "20180111.2238";
+        version = "20180115.1230";
         src = fetchFromGitHub {
           owner = "hylang";
           repo = "hy-mode";
-          rev = "c2a86c9d5e763723abb52a603614bfa39d2ddde4";
-          sha256 = "11pf65616hrzfglmwgiwc4ar866hdz1f3zbfraiqigm0fczmm5fa";
+          rev = "5c1167c17372c7448fedbbabbca6abc0e7e50050";
+          sha256 = "09pvgrbbq1z9s4bbr40iabcxpw1z08hqbr8i997hmfy7whmv8mwp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc9ab5cf16b61bb27559cd8ec5cf665a5aab2154/recipes/hy-mode";
@@ -35975,12 +36471,12 @@
     hydra = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hydra";
-        version = "20171120.1042";
+        version = "20180201.846";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "hydra";
-          rev = "1deed8a00e6936903cace1dac123364b6c0cde90";
-          sha256 = "0jraj3l7w0bw2c6qkq1bfdfa2zf7xssmk9cdkdgbjjip5xvq31ns";
+          rev = "cf961400796aea8b385b64ac0ad31c1e2500cf6a";
+          sha256 = "03ffjrq4hidvxb6m4kk0xp8rmi53al16nab6lbid5brky67hvpmq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a4375d8ae519290fd5018626b075c226016f951d/recipes/hydra";
@@ -36036,12 +36532,12 @@
     ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ialign";
-        version = "20180112.757";
+        version = "20180202.1447";
         src = fetchFromGitHub {
           owner = "mkcms";
           repo = "interactive-align";
-          rev = "f022c86d566a4b0b4ffdc5c8c75a4a7b9468fa71";
-          sha256 = "087rjk26pfa29igq3cbp48yaxlm4xqz62svszbdb1hjfip5y453a";
+          rev = "523df320197b587abd8c0ec4e9fbc763aeab1cf6";
+          sha256 = "04jak5j4yywl7fn5sggc125yh6cy0livf55194mfxs2kmbs5wm0h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
@@ -36145,8 +36641,8 @@
         src = fetchFromGitHub {
           owner = "svend";
           repo = "ibuffer-tramp";
-          rev = "41fab2ad174f53a4cf5ef7d2ebef518dede82ab4";
-          sha256 = "1mfrbr725p27p3s5nxh7xhm81pdr78ysz8l3kwrlp97bb6dmljmq";
+          rev = "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3";
+          sha256 = "1ry7nbhqhjy6gkxd10s97nbm6flk5nm0l5q8071fprx8xxphqj8f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a7449b15cb2a89cf06ea3de2cfdc6bc387db3b/recipes/ibuffer-tramp";
@@ -36351,12 +36847,12 @@
     ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, s }:
     melpaBuild {
         pname = "ido-completing-read-plus";
-        version = "20170820.3";
+        version = "20180122.1340";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-completing-read-plus";
-          rev = "e2ea358725f03ae623ae03ed90715efb92a61030";
-          sha256 = "1bai04fz6ln4dbc3lgglv11g6mibg40wci5ylmc90wgd38iw9gkn";
+          rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
+          sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+";
@@ -36666,12 +37162,12 @@
     ido-ubiquitous = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-ubiquitous";
-        version = "20170923.842";
+        version = "20180122.1340";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-completing-read-plus";
-          rev = "e2ea358725f03ae623ae03ed90715efb92a61030";
-          sha256 = "1bai04fz6ln4dbc3lgglv11g6mibg40wci5ylmc90wgd38iw9gkn";
+          rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
+          sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-ubiquitous";
@@ -36792,12 +37288,12 @@
     iedit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iedit";
-        version = "20170916.1024";
+        version = "20180207.219";
         src = fetchFromGitHub {
           owner = "victorhge";
           repo = "iedit";
-          rev = "5b14cc9fcaef509c50f25cff872fba5d70b2c799";
-          sha256 = "1vlfqh616id2kh35diwig6jswq5q5z22zwrpbdxkginag3sq8732";
+          rev = "412490db4387ad9d040bfb5854f25de4c40c2146";
+          sha256 = "1995j0yvvls5i7zfxw8zwfk05in8b0n82k05qdrap29v6nq2v4bx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/iedit";
@@ -37146,16 +37642,16 @@
     impatient-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, simple-httpd }:
     melpaBuild {
         pname = "impatient-mode";
-        version = "20170505.1921";
+        version = "20180124.1828";
         src = fetchFromGitHub {
-          owner = "netguy204";
-          repo = "imp.el";
-          rev = "48e6c4842b1fc2657a3c6c23029f89e35fafc859";
-          sha256 = "0srjgzcmdgvdi9fm127wlj7zsbq00wsmb3fkzzpy05nvmm2dgng5";
+          owner = "skeeto";
+          repo = "impatient-mode";
+          rev = "4099906914cee4991907fc501799fb80cafa3f7d";
+          sha256 = "1j9s5zpdi03qvvga59izxx3389k0g1vk2hiiivc8bph6zyr52fw0";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb1fbd03f17d2069a461260ad5e2ad4e5441919b/recipes/impatient-mode";
-          sha256 = "05vp04zh5w0ss959galdrnridv268dzqymqzqfpkfjbg8kryzfxg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/aaa64c4d43139075d77f4518de94bcbe475d21fc/recipes/impatient-mode";
+          sha256 = "07z5ds3zgzkxvxwaalp9i5x2rl5sq4jjk8ygk1rfmsl52l5y1z6j";
           name = "impatient-mode";
         };
         packageRequires = [ cl-lib htmlize simple-httpd ];
@@ -37272,12 +37768,12 @@
     indent-tools = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild, s, yafolding }:
     melpaBuild {
         pname = "indent-tools";
-        version = "20171215.327";
+        version = "20180124.408";
         src = fetchFromGitLab {
           owner = "emacs-stuff";
           repo = "indent-tools";
-          rev = "7d7ff66e699f28478c0d63f39ff6b1477cf0bee7";
-          sha256 = "1y2dlq2n0rn70bccjd20s44ihyq1jja7lh2h3d8syy31xc6i1i6z";
+          rev = "b650b2ca82ccd9ccb4f3142afa0da4737ddd364f";
+          sha256 = "01xkkrdfn3c8ivs2wc3ck2278m75gq73wv59fchb6gw1a9d6xj7d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/indent-tools";
@@ -37314,12 +37810,12 @@
     indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
     melpaBuild {
         pname = "indium";
-        version = "20180108.728";
+        version = "20180131.943";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Indium";
-          rev = "2b1ff2742c9b443529524d293c327817733b8d92";
-          sha256 = "1zrfxn1k5npiqz9x2x30sxkxdni5d0dilps6131348lmf1lhli51";
+          rev = "71299e9bc0d3c75b25ef65e57e9a57c9a17294b4";
+          sha256 = "0f9lnsz8fp68qr67l5rq2ippr1fc0rw8nk2f8cm9x90fd82fxwdl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@@ -37356,12 +37852,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "20180102.1324";
+        version = "20180129.1828";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "247ca70f8ba5104be292aea20fbde6adb37e359f";
-          sha256 = "11hyva006bc4hbhzjwb4brilm6fb7qfm5h66nl0gmmyva40y6412";
+          rev = "630471b5141cb493305b623e6800c26bc91b3913";
+          sha256 = "00jfx1bavyzla7cid9bhw6fcdfqw8bgnwr920kzg3wmfd8nfv5ry";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -37374,6 +37870,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    inf-crystal = callPackage ({ crystal-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "inf-crystal";
+        version = "20180118.1811";
+        src = fetchFromGitHub {
+          owner = "brantou";
+          repo = "inf-crystal.el";
+          rev = "02007b2a2a3bea44902d7c83c4acba1e39d278e3";
+          sha256 = "18627gvpgw2ay7zcbglw6gwpslgh69hbvynwcyqln4c17fk9h0kw";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ff84c742eebb84577f362b2739f4bcf1434d58ac/recipes/inf-crystal";
+          sha256 = "09ssq7i5c2fxxbrsp3nn1f1ah1yv2nb19n5s1iqyykkk316k2q26";
+          name = "inf-crystal";
+        };
+        packageRequires = [ crystal-mode emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/inf-crystal";
+          license = lib.licenses.free;
+        };
+      }) {};
     inf-mongo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-mongo";
@@ -37398,12 +37915,12 @@
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
-        version = "20171211.225";
+        version = "20180121.2300";
         src = fetchFromGitHub {
           owner = "nonsequitur";
           repo = "inf-ruby";
-          rev = "5ae6149a15068d3e2f83a5bd08e9cd7605f75fa9";
-          sha256 = "0778ykgsmhry9h4n6wcszwh0gzkl9n7rx4jd60rplk38qj3p89hv";
+          rev = "d39ea0bd59e5f62eb92a051c1ab3d7a0f896ae0c";
+          sha256 = "0jfcdmyvxk8vj097qiq2zsr2h6v7wmsxlm8yldpsan8wa0s4rkzx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby";
@@ -37479,6 +37996,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    info-colors = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "info-colors";
+        version = "20180205.350";
+        src = fetchFromGitHub {
+          owner = "ubolonton";
+          repo = "info-colors";
+          rev = "a8ebb7b8efa314c08ea8110d8b1876afb562bb45";
+          sha256 = "0wvyf2w5s184kwacs6lbpjryx6hziayvdrl3crxir8gmg2kcv07m";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d671ae8dc27439eea427e1848fc11c96ec5aee64/recipes/info-colors";
+          sha256 = "1mbabrfdy9xn7lpqivqm8prp83qmdv5r0acijwvxqd3a52aadc2x";
+          name = "info-colors";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/info-colors";
+          license = lib.licenses.free;
+        };
+      }) {};
     inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inherit-local";
@@ -37817,12 +38355,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20180102.1220";
+        version = "20180207.610";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "322b3c017153a536ffa3559b64fc1ac16af19a69";
-          sha256 = "14gmm3l2wwm96xzijjl070mg8d48zj5hqqxs4vh56hadjd2aijlp";
+          rev = "7852d631fc2ae756e038966a60ac6529008d6557";
+          sha256 = "1w8bsnvn2j3gvxyy3bgc9vdcn4hv6wwymwfbgphidda0h346akbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -38258,12 +38796,12 @@
     isortify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "isortify";
-        version = "20171223.1812";
+        version = "20180206.450";
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "isortify";
-          rev = "2db50c1f585db8a8ec5fa28a90a8179516c16cd0";
-          sha256 = "04wzq9cf1bzbyx3jn7anrzc1r64l23s073xqsfcqb8hgh2swcpl6";
+          rev = "18c273ff401643fb903e90dff73c47a4b52268ef";
+          sha256 = "18ziajgjij66g01fyrr1z95z4x2ynfvcyas92b2rvdc1dnsdhs10";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9d4ad18492e7f4a56a1515873bc0b66fa49829bb/recipes/isortify";
@@ -38426,12 +38964,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20180112.958";
+        version = "20180131.1134";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "80a51e0cac4f0554b0008674f49c664ebaded7b4";
-          sha256 = "1n5fv39bpk4wpf1ar1f7h7g37jhnadi7kdp4i74j2awn5qhmz8hl";
+          rev = "1f5c4ff1df9d617a79bc969b99d6c2c667f5eaad";
+          sha256 = "1b0ig4gza8lwwlx0z5bwqn60cakq551bgm82wl1xdscwwzrrdza3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -38447,12 +38985,12 @@
     ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
     melpaBuild {
         pname = "ivy-bibtex";
-        version = "20180110.1209";
+        version = "20180124.338";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "adf0e363ef1a1feaa1c83ef7f16a7d6c408b62ce";
-          sha256 = "0jj2qgia2sf4954g56ldgx1wf734qzqhxjy31m06xanvsmamyl6i";
+          rev = "f5f7d45fb9d636fad1429867ccbc327a446bb350";
+          sha256 = "1dpxw8h6aqdajqf929hwmrm2iik7vwhkv05m0vl8vf1i5zbz307i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
@@ -38489,12 +39027,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "20170709.2151";
+        version = "20180201.427";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "acd6322571cb0820868a6febdc5326782a29b729";
-          sha256 = "158cmxhky8nng43jj0d7w8126phx6zlr6r0kf9g2in5nkmbcbd33";
+          rev = "9783970f7dc39aaa8263d420d9d1ed6912c8e19d";
+          sha256 = "1fanxpynp3cigll0x3vknxr8r6plvsbyn34qs28zjfi0l062a8jv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -38577,8 +39115,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "80a51e0cac4f0554b0008674f49c664ebaded7b4";
-          sha256 = "1n5fv39bpk4wpf1ar1f7h7g37jhnadi7kdp4i74j2awn5qhmz8hl";
+          rev = "1f5c4ff1df9d617a79bc969b99d6c2c667f5eaad";
+          sha256 = "1b0ig4gza8lwwlx0z5bwqn60cakq551bgm82wl1xdscwwzrrdza3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -38678,12 +39216,12 @@
     ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-rich";
-        version = "20180109.1933";
+        version = "20180129.2051";
         src = fetchFromGitHub {
           owner = "yevgnen";
           repo = "ivy-rich";
-          rev = "efe35d2f579202ca14a90cfd46ecac624109558c";
-          sha256 = "1vsgz2qg8mxd3lw590zzy9zn72lcvmrixp8j9h65gjqqdwz7xzwn";
+          rev = "d5ce9e90003eeac54654d5ce1f19da55448b05f2";
+          sha256 = "1jjlrz6af7mkdfg66qsrx6q879l4vxjsljl0fbkld77i9fnm005a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich";
@@ -38703,8 +39241,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -38762,12 +39300,12 @@
     ivy-xref = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-xref";
-        version = "20171229.252";
+        version = "20180201.1919";
         src = fetchFromGitHub {
           owner = "alexmurray";
           repo = "ivy-xref";
-          rev = "aa97103ea8ce6ab8891e34deff7d43aa83fe36dd";
-          sha256 = "1j4xnr16am5hz02y1jgiz516rqmn43564394qilckmzvi9clhny8";
+          rev = "4d2c437b479733e4159a356c9909ed3e110403a1";
+          sha256 = "19gzsphcmkzyihcijb0609ykv98ak24p3z4k0ifil5r40iss1d1n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a4cd8724e8a4119b61950a97b88219bf56ce3945/recipes/ivy-xref";
@@ -39663,12 +40201,12 @@
     js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js-auto-format-mode";
-        version = "20180103.718";
+        version = "20180123.830";
         src = fetchFromGitHub {
           owner = "ybiquitous";
           repo = "js-auto-format-mode";
-          rev = "37e83641fd5eab45e813e4bc74a835fe7229c160";
-          sha256 = "0hmrhp3lijd77kl0b98nbl1p8fmgjfry2hhvh5vickx3315w7qgw";
+          rev = "6bd44162ac422304803f606278bb0c08ab940a5d";
+          sha256 = "1hy4wyw7yi93ngagg9qmkljjqaypfnzks3vny1pn6d5nw2acb1vx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode";
@@ -39835,8 +40373,8 @@
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "d72ed2060337e9f4400bcec85f8daaf18cb05413";
-          sha256 = "1l3dvgac3pdirsigfkxnhfr2nrrwmn7pkjxr32yrrskfd2li8vhr";
+          rev = "40885b6b50e497d2af53161785b3c9cc3133e42d";
+          sha256 = "1yr96bm3vd6na967nn13p462ggh16k0lczgjmwg2qafmpyypn1di";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -39852,12 +40390,12 @@
     js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
     melpaBuild {
         pname = "js2-refactor";
-        version = "20171207.202";
+        version = "20180118.251";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "js2-refactor.el";
-          rev = "a86cb31b1c9f9719b4c4199a721fe2b8b58a015c";
-          sha256 = "06hv1agmwyqxgb37p9f6sazg12mk90cahvym0qpdx9daqcslx381";
+          rev = "c005a0df51fd671213a45d8693a1d9cf5b21a06f";
+          sha256 = "1jyrirfnrb38jcl24ad2v427arzw3ynxwsw29b58zm9c6rxr7k6h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@@ -40520,12 +41058,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "20180114.917";
+        version = "20180206.1333";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "8689b8533bc8530f5380e913c8e3f8f467501732";
-          sha256 = "1q3178s22m3vxqikjzwlzwrk32xac1ksvrpqpjbqj0f9mzs6ljsg";
+          rev = "d730208cff185ee86a81f8a5a6feadfea78ab9cc";
+          sha256 = "0xfb8zi6jvwdivklc3lk5dzf8nnx05pm4fip44s4al6ajns8hgya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -40583,12 +41121,12 @@
     kdeconnect = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kdeconnect";
-        version = "20161022.700";
+        version = "20180126.1540";
         src = fetchFromGitHub {
           owner = "carldotac";
           repo = "kdeconnect.el";
-          rev = "a91a045cd4aabd671b689361efa10f2e01ad8e8e";
-          sha256 = "0j9j3mlzkr8zw03fghpmvkb3i8r1ar0rarjcmvh9k6m4dk7l0g2d";
+          rev = "ca0cbf9a628ba7b519b43fa85e0d988ca26bf853";
+          sha256 = "07aqzfg2nn35bkikrmk1lszqkc6h8vn2551m22mwc19lmdx94p2i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c363866d30fb86ae636d30def8c3847711ada762/recipes/kdeconnect";
@@ -41028,8 +41566,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "00c161d076fc754357a133e483699146cdd81518";
-          sha256 = "14xlqqxpsp2pvcgzmqk98psff23a5s09637s0aqcij51rd7g5zsv";
+          rev = "752f6d404a90f95e6cbaffe67fabcb4cf7f5d32d";
+          sha256 = "1475nn4k0a7af3vk438w20ygrkiryrsaj34aqdimlaqabfgkj7gi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -41108,12 +41646,12 @@
     kodi-remote = callPackage ({ elnode, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, melpaBuild, request }:
     melpaBuild {
         pname = "kodi-remote";
-        version = "20171008.2226";
+        version = "20180205.1242";
         src = fetchFromGitHub {
           owner = "spiderbit";
           repo = "kodi-remote.el";
-          rev = "479075d96857696cf029cd1f482b9f2f31d82452";
-          sha256 = "0kvx43ny49j115kj6zpy1i5g87bjgiimfgj9xp2fn9830adymc24";
+          rev = "4be03d90ac8249ce31df3ef0edb71e0ca11b5ff3";
+          sha256 = "19xg7xss7j1b8hq1wk3kvfprn1lsnym59728v144cxc2f801fh17";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/08f06dd824e67250afafdecc25128ba794ca971f/recipes/kodi-remote";
@@ -41776,6 +42314,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lcr = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "lcr";
+        version = "20180202.112";
+        src = fetchFromGitHub {
+          owner = "jyp";
+          repo = "lcr";
+          rev = "071d23ee5453741a8724d7f8bfa7f5c20612a29d";
+          sha256 = "05gvij9lgs9hh04wnxb90zx9ncsdjyp36fjbmrqrq07xbkxaw82a";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/29374d3da932675b7b3e28ab8906690dad9c9cbe/recipes/lcr";
+          sha256 = "07syirjlrw8g95zk273953mnmg9x4bv8jpyvvzghhin4saiiiw3k";
+          name = "lcr";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/lcr";
+          license = lib.licenses.free;
+        };
+      }) {};
     ldap-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ldap-mode";
@@ -41800,12 +42359,12 @@
     lean-mode = callPackage ({ dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s }:
     melpaBuild {
         pname = "lean-mode";
-        version = "20180105.1619";
+        version = "20180123.413";
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "3403179a38693a221bfa86def0c99f6342c5eb73";
-          sha256 = "0w6zc1w7kic3ds5hf30i3mj9wxbq2c8wdywbslfprwwi1hxyzmsq";
+          rev = "ae90bd280588c96d540892d0f42247db5a126f51";
+          sha256 = "06d5f577rv82g72m719w8z9w7m63amxjsdppcyvg2i6icymlhnqa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/lean-mode";
@@ -41842,12 +42401,12 @@
     ledger-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20180112.1950";
+        version = "20180205.1432";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "eff3e16d7b98af3f74ebc464d7bd4f156335600d";
-          sha256 = "0lnvqhgcc1wg485x2qvjy13bfdkysrdfg30x3zjgpgrqxmv123ih";
+          rev = "a88e05d52b49048fe7cab543b2b21afa6ff0210a";
+          sha256 = "17gcgddxsd2a66fcn6q9155i0chvbypg2k2ms6hlzq4p3c8abc7w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1549048b6f57fbe9d1f7fcda74b78a7294327b7b/recipes/ledger-mode";
@@ -42304,12 +42863,12 @@
     linum-relative = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "linum-relative";
-        version = "20160510.118";
+        version = "20180124.247";
         src = fetchFromGitHub {
           owner = "coldnew";
           repo = "linum-relative";
-          rev = "b8a99dcfe38a491172a8193053fb7849634b43c0";
-          sha256 = "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s";
+          rev = "c74a6981b688a5e1e6b8e0809363963ff558ce4d";
+          sha256 = "0svxi1l3s4rg1k1apfw25gzi127rsks56b5yfg79a48b5rf1xmkh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/97ae01be4892a7c35aa0f82213433a2944041d87/recipes/linum-relative";
@@ -42393,15 +42952,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    lispxmp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "lispxmp";
+        version = "20170925.1723";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "lispxmp";
+          rev = "7ad077b4ee91ce8a42f84eeddb9fc7ea4eac7814";
+          sha256 = "1156jynii783v9sjj3a7s20ysa26mqaq22zk5nbia949hwbibx16";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/lispxmp";
+          sha256 = "1a641v5cx4wy2v8a2swxzn1y9cz4g2bp4mn9q290n3ifpn5356dl";
+          name = "lispxmp";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/lispxmp";
+          license = lib.licenses.free;
+        };
+      }) {};
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20180114.605";
+        version = "20180202.917";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "3ef046fab34c3ed645d03f3ab0d8c510454aa647";
-          sha256 = "089w81565k915j2bzg8d7xqf2k30004j0sn720kd434f2qjgx05y";
+          rev = "327e54553c3216c480f2d2e51b06fee838a89529";
+          sha256 = "1gqb95i8v2ayz36ml0gg73k54h94gf9wsqz5n73s0rdx2hmi9fbg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -42438,12 +43018,12 @@
     lispyville = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, lispy, melpaBuild }:
     melpaBuild {
         pname = "lispyville";
-        version = "20170907.926";
+        version = "20180120.1206";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "lispyville";
-          rev = "522fd8dcce23b2719c758e64f99b64591406f2f5";
-          sha256 = "0sbqw585lv5j3w13zq2adrcqybw88y36qnnd2vp8nk9kgzvl4p62";
+          rev = "d9ae0dd5e3e86b5c0ae37bd3b469949b0dc71374";
+          sha256 = "0a3l5a836slh99vzwc6a46nc6xj0wjcfj9726rs8haxkav6wzv61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b5d96d3603dc328467fcce29d3ac1b0a02833d51/recipes/lispyville";
@@ -42711,12 +43291,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20180114.2302";
+        version = "20180129.2352";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "84d165ad5abddd2579ebad0bf0bf5bde92d307fd";
-          sha256 = "1mhdw2nw30zy253icw0wviwxz9yxpkbd7pga2diclwcmapn9l2w7";
+          rev = "e0a5627e6591e1cbb9f93aabc44adbdc50b346c9";
+          sha256 = "0dhm7gdd1smlibj5jmzps97kwkpzcigbdp0l26baa2mkc6155y66";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -42813,26 +43393,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    llvm-mode = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "llvm-mode";
-        version = "20150910.644";
-        src = fetchgit {
-          url = "https://llvm.org/git/llvm";
-          rev = "3b8332372a3b2083da26a11a2de4a5a452e1119c";
-          sha256 = "0fi732z5ilav8dx7zbq86398pq3glxf67z2xanj9r8j9v0zyvks7";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/llvm-mode";
-          sha256 = "0jxwa7gaxv9kkgjp87ggzlfqbf6xs19z0s9ycnv2h5hlxpnzrlnb";
-          name = "llvm-mode";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://melpa.org/#/llvm-mode";
-          license = lib.licenses.free;
-        };
-      }) {};
     lms = callPackage ({ emacs, fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lms";
@@ -43106,12 +43666,12 @@
     logview = callPackage ({ datetime, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "logview";
-        version = "20170928.820";
+        version = "20180128.1429";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "logview";
-          rev = "72b6c5349206172a146b2c730b8ac040a92ebc3f";
-          sha256 = "1f93iyxf8v0jazzh6jljrm7r28z00nn14wr90qrh9y9chyq72n63";
+          rev = "60b86ec5888d3bbd857f4abb434a6ae3406b7c93";
+          sha256 = "0f292yh493lpwllgs9mihfdmp6ian2rqmldfv92qz0jb348khmdn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview";
@@ -43295,12 +43855,12 @@
     lsp-haskell = callPackage ({ fetchFromGitHub, fetchurl, haskell-mode, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-haskell";
-        version = "20171021.330";
+        version = "20180131.459";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-haskell";
-          rev = "16ca9fa975e64e840e062485ed30e4b297d72424";
-          sha256 = "03zrk3h76hpacrqw7lchjbslh0lg081jqkgf9n5nhxj2jg60v3vd";
+          rev = "cf3739e96b623fe8b95617561bb29476d7553462";
+          sha256 = "0739kclc6g80r38yjwwsyx7arc0z4jlmp4x7gmf30ijdpn32qb4b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-haskell";
@@ -43337,12 +43897,12 @@
     lsp-javacomp = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, s }:
     melpaBuild {
         pname = "lsp-javacomp";
-        version = "20171024.1547";
+        version = "20180203.1204";
         src = fetchFromGitHub {
           owner = "tigersoldier";
           repo = "lsp-javacomp";
-          rev = "ed23aaeee27e6253bed5752fb8fbb7a5fa61967c";
-          sha256 = "096rbyv0qwa454p1ns7g0py9lni5r6h1gw85wm5mwr00shjzq23n";
+          rev = "57554723983c5d76c21a7a5c16534066de6dcf23";
+          sha256 = "0n105j1i8gwayfzwvr9d37b9ra35l9prlgx7vqblvv167q4w9d63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6b8a1c034554579a7e271409fa72020cfe441f68/recipes/lsp-javacomp";
@@ -43358,12 +43918,12 @@
     lsp-javascript-typescript = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-javascript-typescript";
-        version = "20171125.147";
+        version = "20180203.52";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-javascript";
-          rev = "456854bdee8729c21331f93ee9054f2d980fe2ab";
-          sha256 = "1vrzi12zsrrbyihin1n83adk7q0vvksalpizd5g42g8d1pnf3zfx";
+          rev = "8df90bc27852da2cf05951870d94ce7920d8c09f";
+          sha256 = "0pqk8p0z30p0j7lc5i2mvy7vmg8k5hphgwp4djhgm1ickm9pcx20";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/999a4b0cd84e821c7e785ae4e487f32cff5c346b/recipes/lsp-javascript-typescript";
@@ -43379,12 +43939,12 @@
     lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20180110.1914";
+        version = "20180205.809";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-mode";
-          rev = "a8f23913753a2df7901c19bcc98d620feeafb1d9";
-          sha256 = "0g9sglwvqwbzy5wilhjwcy8xc56mjvd0m33y3bjxrwyy1vfk99mh";
+          rev = "0a1543dc46e08450c2dcc8e086a30a8f6a896e79";
+          sha256 = "1xs2g4nx3n8j6863kqcmzlrb8lni62198cx7r8zr96jrkf796njb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
@@ -43418,6 +43978,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lsp-php = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
+    melpaBuild {
+        pname = "lsp-php";
+        version = "20180104.152";
+        src = fetchFromGitHub {
+          owner = "tszg";
+          repo = "lsp-php";
+          rev = "6f332a08c28d2f402a783b91e1846234e55ec130";
+          sha256 = "05rq7sqb6chymzfqvk5xk9bgi7nsdf1ldimams8df9ml6242zjsg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/be00893ec6db70624acf1b4527cca05486d6b090/recipes/lsp-php";
+          sha256 = "1fpmg8mbp0r8krlbp4j0bk6kslmm88lrpki0w961s4gqrqxw287c";
+          name = "lsp-php";
+        };
+        packageRequires = [ emacs lsp-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/lsp-php";
+          license = lib.licenses.free;
+        };
+      }) {};
     lsp-python = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-python";
@@ -43439,43 +44020,43 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-rust = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, rust-mode }:
+    lsp-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, markdown-mode, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "lsp-rust";
-        version = "20180115.556";
+        version = "20180126.6";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-rust";
-          rev = "bdd9e82864a2fb34f7a67775158caa948e237e7e";
-          sha256 = "00rlmsq9pab5r6lari82bhqfh6yr875p5vn7npckl0gfcwzad8kv";
+          rev = "660dfa99917440acf79e1e2d3ede4d3a90f0d196";
+          sha256 = "1drr2wlbgn6zyr15hjgdwldw94ryi1dbazbb44f4h9qakw7nqd2b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-rust";
           sha256 = "0p86223pfpi4hh8m66ccksxgl0yi7zrigd1gmbz0bzqa6yjgbp28";
           name = "lsp-rust";
         };
-        packageRequires = [ lsp-mode rust-mode ];
+        packageRequires = [ dash emacs lsp-mode markdown-mode rust-mode ];
         meta = {
           homepage = "https://melpa.org/#/lsp-rust";
           license = lib.licenses.free;
         };
       }) {};
-    lsp-ui = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, lsp-mode, markdown-mode, melpaBuild }:
+    lsp-ui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-ui";
-        version = "20180114.811";
+        version = "20180206.941";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-ui";
-          rev = "2c108f2dd7b7c09c43ae6b446762eb70fdc0716b";
-          sha256 = "1m9ghm1wlp8fgfjsmisw0xyy17782n68q6zahqal2h9hnrndjdrp";
+          rev = "c5229342274da42691d5f094450295f4af179145";
+          sha256 = "1qfmf3xwl8hcp93fbxfndlg8srs0cwkx7jhyg2n2b91c9m7d7d14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e4fa7cdf71f49f6998b26d81de9522248bc58e6/recipes/lsp-ui";
           sha256 = "00y5i44yd79z0v00a9lvgixb4mrx9nq5vcgmib70h41ffffaq42j";
           name = "lsp-ui";
         };
-        packageRequires = [ emacs flycheck lsp-mode markdown-mode ];
+        packageRequires = [ dash emacs flycheck lsp-mode ];
         meta = {
           homepage = "https://melpa.org/#/lsp-ui";
           license = lib.licenses.free;
@@ -43484,12 +44065,12 @@
     lsp-vue = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-vue";
-        version = "20171202.917";
+        version = "20180129.1805";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-vue";
-          rev = "9085d6c7646d80728d14bf5e4ec9037dfb91e3d1";
-          sha256 = "1y9gd20rdyxih823b1x8ika7s6mwiki0dggq67r4jdgpd9f5yabg";
+          rev = "faf976ee9b333919653b4b98e2886b488707e866";
+          sha256 = "1d6sw5jsjhwd5bbl2p8k6hdwpg1pmnsmvbq8g33h80qlg05fwj60";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0d9eb7699630fd7e11f38b4ba278a497633c9733/recipes/lsp-vue";
@@ -43568,12 +44149,12 @@
     lusty-explorer = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lusty-explorer";
-        version = "20171126.1221";
+        version = "20180127.1443";
         src = fetchFromGitHub {
           owner = "sjbach";
           repo = "lusty-emacs";
-          rev = "303618cafa01da3c8f99da4849d3ddbdc146a5d1";
-          sha256 = "0i8hgg3hpmmvchldxlqmvd1c5j24qv0k8vv222k026ilk95dpy2p";
+          rev = "3df794ed4829e353ee3c1e3c6686440f9e868ef6";
+          sha256 = "1z2nzjlmmcnin3h0713kqaaikyc0h4iiazv50lsvrp0agjbmhcqp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/efedaa3b1de5f6406c7dcd842eee42eefaf8ab50/recipes/lusty-explorer";
@@ -43610,12 +44191,12 @@
     lyrics = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "lyrics";
-        version = "20160920.1945";
+        version = "20180123.2004";
         src = fetchFromGitHub {
           owner = "emacs-pe";
           repo = "lyrics.el";
-          rev = "1378d534614793a51ebbed661c59eb8818299182";
-          sha256 = "10mp9vavmbkhgb133n490kjfbk63j2b0plvaf57w432nalxcwf5n";
+          rev = "fb35b387796f64f48b4daa5a163f4a576210f200";
+          sha256 = "17al49f633h3fsa6aq9v5c1r8dp2gj97f46z1fhmgxbijmpfzs0w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b04c8f3dfa9fc07cc0ff3df5c4069f864b6db92e/recipes/lyrics";
@@ -43820,16 +44401,16 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, ghub, git-commit, let-alist, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20180112.900";
+        version = "20180205.629";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "24ce90832ddff0db86581c1b7e947e83a13fe83e";
-          sha256 = "0sxham9vg6m4j7f7p5ral56s4rzxfmy8an23zvq2n3832jsvvri1";
+          rev = "07ce571818734103182bed43fa73f580b0bb630d";
+          sha256 = "1ya8mi37j8mrg926b0jz59j7xdpnrfr7r4f5m10qr19d1sl5zqa4";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit";
-          sha256 = "03cmja9rcqc9250bsp1wwv94683mrcbnz1gjn8y7v62jlfi5qws5";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9a6277974a7a38c0c46d9921b54747a85501a/recipes/magit";
+          sha256 = "1wbqz2s1ips0kbhy6jv0mm4vh110m5r65rx0ik11dsqv1fv3hwga";
           name = "magit";
         };
         packageRequires = [
@@ -43850,12 +44431,12 @@
     magit-annex = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-annex";
-        version = "20170913.659";
+        version = "20180120.1534";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-annex";
-          rev = "895c229c2b0d822a4debb302d8638105ecb4ee20";
-          sha256 = "0316csgc95dalqmkxj6qlb7inzcg4csfs9n3im1ygswcswpdaajh";
+          rev = "44eaef7d55647d5d4bd466742b738d7a9563d07f";
+          sha256 = "1wka4aj9jv4i8a8aj1wffg8aba23qgg02636fx7ky919jr97f3za";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-annex";
@@ -43976,12 +44557,12 @@
     magit-imerge = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-imerge";
-        version = "20170805.819";
+        version = "20180120.1554";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-imerge";
-          rev = "1cd0fa843095f4ce8aa4eae89476c116414d060c";
-          sha256 = "1h9m0miiv44az4bigg5gjgkpdgdy4hh114kavzjgjhmw5zsg6qfg";
+          rev = "1969c445d16e5c59db9548a61a5fe5f0b7448cd3";
+          sha256 = "0yiqjaxnrb46z38bbcg1dlswi6sp8994hcmbnp31xf27m29vr2fx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e78a5c27eedfc9b1d79e37e8d333c5d253f31a3c/recipes/magit-imerge";
@@ -44039,12 +44620,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20180114.904";
+        version = "20180119.111";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-popup";
-          rev = "5a2a6f2907a09c7592c4631d2678dd7ab44fd5a2";
-          sha256 = "0m8h6jc87bcl3lhygc06la4hs7sh6c7vflxlqvwr3bfmknl8l8yw";
+          rev = "ab75385a1fb8c0fba0769d448b13ba8324835261";
+          sha256 = "0ky4l3k3camh1paa5ap9frr9hcadj7nj40l3imiiqfcvgyl8ijp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
@@ -44060,12 +44641,12 @@
     magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-rockstar";
-        version = "20171213.737";
+        version = "20171215.1135";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "magit-rockstar";
-          rev = "44e3bf03b0c5db914ce391c0c645267f0a5759bd";
-          sha256 = "0nqb6ipzql4jxipmh262j9q72sjk4s4cbyz5c61akwxbpr32nz3l";
+          rev = "c8320472e8a50c8299140ba0943bb1fe485d294a";
+          sha256 = "1xjym51z0v7ibxw059f6k3zljli6z390rmxvrywbfzkb8hqms0l1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
@@ -44123,12 +44704,12 @@
     magit-tbdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-tbdiff";
-        version = "20170725.1850";
+        version = "20180120.1553";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-tbdiff";
-          rev = "1d1333af9d76b9e832212e9da152397df65f7205";
-          sha256 = "1rhjqvdg43n0qa9qdq9rlq4v8msy48y912m9dcjdvsaw45hh8062";
+          rev = "aaa040037c38f13c0e6bbce83e38959ef30c1925";
+          sha256 = "1hc2mkmd4cni0sgkypp32xlsn749c6i2lz8l3crmgk48q6qx2i18";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ad97eea866c8732e3adc17551d37a6d1ae511e6c/recipes/magit-tbdiff";
@@ -44165,12 +44746,12 @@
     magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, git-commit, lib, magit, markdown-mode, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "20171224.845";
+        version = "20180205.1714";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "08a1c1341d0982248ec86e1697fa1b6418cd80f5";
-          sha256 = "062xghazkm8lh207fpqp7csd3nwgkz47g831hqa94iz28n97x0pq";
+          rev = "23030d205e2acd08b45c618c3c9d65b8f63fc186";
+          sha256 = "1mqbmkjacamwbzyn67wa9q3x9il12w37r695npvlicrg1p5n9r3m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
@@ -44225,27 +44806,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    main-line = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
-    melpaBuild {
-        pname = "main-line";
-        version = "20151120.1806";
-        src = fetchFromGitHub {
-          owner = "emacsfodder";
-          repo = "emacs-mainline";
-          rev = "2ef3175854f5b6c85f2e1bed26507cdca2f6ad16";
-          sha256 = "1zkm51gp1lkaz6n8ixf31rwjqms49mi8qdq10a7nibdzivpj8mg7";
-        };
-        recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/main-line";
-          sha256 = "06rihx9h2h8ayrirbx74d9qdf26laz9yxffvxyldzm9hymlbzadd";
-          name = "main-line";
-        };
-        packageRequires = [ cl-lib ];
-        meta = {
-          homepage = "https://melpa.org/#/main-line";
-          license = lib.licenses.free;
-        };
-      }) {};
     majapahit-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "majapahit-theme";
@@ -44312,12 +44872,12 @@
     make-it-so = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "make-it-so";
-        version = "20171129.655";
+        version = "20180128.1307";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "make-it-so";
-          rev = "4f8b61011700036c98993e287d7aa36a52f2e206";
-          sha256 = "1ks3mj78xcsi7f4xx95hhpi2gpdgz9fhy60qy3z780814ylq856w";
+          rev = "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be";
+          sha256 = "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aad592089ed2200e2f8c5191e8adeac1db4bce54/recipes/make-it-so";
@@ -44677,12 +45237,12 @@
     markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "20180101.503";
+        version = "20180124.138";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "fc4e143831f8590dc9b25da76961536eade02411";
-          sha256 = "05q7962wc8px9v2810v6z68qrqr7kvjicc53byyqbxlp4sqcz6x4";
+          rev = "668de4a965980d618637a3b5754e721b54c51e83";
+          sha256 = "00biiz0s5mwq092qxdh9943f6qf6k6n7dhrrj7nvj2b8iciid9as";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
@@ -44873,12 +45433,12 @@
     marshal = callPackage ({ eieio ? null, fetchFromGitHub, fetchurl, ht, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "marshal";
-        version = "20180102.201";
+        version = "20180124.439";
         src = fetchFromGitHub {
           owner = "sigma";
           repo = "marshal.el";
-          rev = "e25b170779ca8d0cdef0bfeb6f35c264a23a44e8";
-          sha256 = "01m5cjjhi02aqpv1c9h7n4kq1b7vplb9cwncb4kx17k5xyml7yb1";
+          rev = "f038689cbd5b3680b80b44edd0c7a63ca3038e26";
+          sha256 = "1n79im1r7h1ilvppn9alqwl96zhyxbm5hk7kbmqh022dggw0cx15";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/203f2061c5c7d4aefab3175de5e0538f12158ee3/recipes/marshal";
@@ -44999,11 +45559,11 @@
     matlab-mode = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "matlab-mode";
-        version = "20160902.459";
+        version = "20180125.1010";
         src = fetchgit {
           url = "https://git.code.sf.net/p/matlab-emacs/src";
-          rev = "3b3c48ac0c27039e0bef89c643f0ee4c0b53d3d0";
-          sha256 = "0kizmzpmc8iw15n6xkrf7m5kbjcs5rwdrxyrfij6cj43szlnkf1z";
+          rev = "50266ff812607e55bddacd71a46d1b96e36fb0bd";
+          sha256 = "1spyfnkw6j0v947m6yj6mv6ni1za0a9m9iycpjycpcb42q7d9rlg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/matlab-mode";
@@ -45205,6 +45765,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    md4rd = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, hierarchy, lib, melpaBuild, request, s, tree-mode }:
+    melpaBuild {
+        pname = "md4rd";
+        version = "20180123.1244";
+        src = fetchFromGitHub {
+          owner = "ahungry";
+          repo = "md4rd";
+          rev = "be0fc4951b2d1f5194ffa1fcaac706dbac560500";
+          sha256 = "1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/48d4a3b3337e16e68631409d1de0ce67ae22b837/recipes/md4rd";
+          sha256 = "0ayr5qw0cz7bd46djfhm8slr2kfgssi5bsnzqcasr8n4lyg9jvfc";
+          name = "md4rd";
+        };
+        packageRequires = [ cl-lib dash emacs hierarchy request s tree-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/md4rd";
+          license = lib.licenses.free;
+        };
+      }) {};
     mediawiki = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mediawiki";
@@ -45443,8 +46024,8 @@
         src = fetchFromGitHub {
           owner = "myTerminal";
           repo = "meta-presenter";
-          rev = "e882ac7f7658dd9507aca0ff88c88fcf74618252";
-          sha256 = "0h8zg2nvb0yn0z8xv1101r8rjxgs05k08j3n71inr7n118sa98bj";
+          rev = "4e7aae56e5abf6deaadbda84fd5ec4e3e19c22be";
+          sha256 = "0nb64i9ikkcbb6s21rzc2d5i84dpy0zvqk7f3zynlprzaqy11b7n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b73e9424515b3ddea220b786e91c57ee22bed87f/recipes/meta-presenter";
@@ -45565,12 +46146,12 @@
     mhc = callPackage ({ calfw, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mhc";
-        version = "20171016.335";
+        version = "20180127.621";
         src = fetchFromGitHub {
           owner = "yoshinari-nomura";
           repo = "mhc";
-          rev = "03a50a7dd5f90fb981b72e4b9e9385e4d1fe3be3";
-          sha256 = "17p6gkf6xmx6sflzd3pyc3p3x7ma8p497hmj1yc7w863kqm8jclk";
+          rev = "5c5265be1a0099d48ada502aaa28c7f3f08f9078";
+          sha256 = "0xaqbkdmn3hlalnzz69812a2cigpgh1199fl6hp20d4dq4hj4m6c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d8d3efa0fcd6cd4af94bc99b35614ef6402cbdba/recipes/mhc";
@@ -45900,12 +46481,12 @@
     minizinc-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "minizinc-mode";
-        version = "20171208.958";
+        version = "20180201.650";
         src = fetchFromGitHub {
           owner = "m00nlight";
           repo = "minizinc-mode";
-          rev = "8bb428b52e974ecea35f3f2b20ad161735085a30";
-          sha256 = "10b8y23vamj9r0dnqqcn36w4n8zz61p17njakinfadqa813s4hhv";
+          rev = "2512521ba7f8e263a06db88df663fc6b3cca7e16";
+          sha256 = "1yrawvvn3ndzzrllh408v4a5n0y0n5p1jczdm9r8pbxqgyknbk1n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc86b4ba54fca6f1ebf1ae3557fe564e05c1e382/recipes/minizinc-mode";
@@ -45918,6 +46499,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    minor-mode-hack = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "minor-mode-hack";
+        version = "20170925.1734";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "minor-mode-hack";
+          rev = "9688994e23ccb2de568225ef125b41c46e5667c3";
+          sha256 = "0f6kafr7zqgdlw914bxh2390a1bjz5zy3h30yrfpavz283ycvrrw";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/minor-mode-hack";
+          sha256 = "07ga48xvbi641i053bykv9v4wxhka6jhhg76b1ll24rys02az526";
+          name = "minor-mode-hack";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/minor-mode-hack";
+          license = lib.licenses.free;
+        };
+      }) {};
     mip-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mip-mode";
@@ -45963,12 +46565,12 @@
     mixed-pitch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mixed-pitch";
-        version = "20180103.1839";
+        version = "20180121.1039";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "mixed-pitch";
-          rev = "e6f063bdc968f8ff21418e9f3b1d501cd0e5d4bd";
-          sha256 = "1jgwg8y77gm8fkggmi64vcv855swnb0nra2b59np6k1qacqj1zkq";
+          rev = "5915172c86a1d249854fed32c0e472501d1df1e6";
+          sha256 = "1mm5nkc167bli01lbng1iiswh5mgz0a48k11aipki213inhm29jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/20e85b11dc864500d44b25e36c5e7c4c67c1ebe2/recipes/mixed-pitch";
@@ -46358,6 +46960,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    molecule = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "molecule";
+        version = "20180120.1514";
+        src = fetchgit {
+          url = "https://git.daemons.it/drymer/molecule.el/";
+          rev = "758dad6f5701c3a2e1146ba5895c08ef734a93d2";
+          sha256 = "0syirvzjgbf1yvcvp00a19m4gi49yh1g95ba896mh741wrkilhb4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7421b67dc51abf13bb028e467bb4c83f857a342e/recipes/molecule";
+          sha256 = "0kdwmn4gb382igy979y7x2fdqcnfxlb4dvqvm6w7ghs564grzgj4";
+          name = "molecule";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/molecule";
+          license = lib.licenses.free;
+        };
+      }) {};
     molokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "molokai-theme";
@@ -46487,12 +47109,12 @@
     monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monokai-theme";
-        version = "20180104.429";
+        version = "20180201.553";
         src = fetchFromGitHub {
           owner = "oneKelvinSmith";
           repo = "monokai-emacs";
-          rev = "bb5cbbd5895b8b3fbc6af572b1fd0aacd4988a8a";
-          sha256 = "1f0jl4a3b6i9skbcym0qzpszy620385m947l2ba2wxf1na7rc626";
+          rev = "031849ab863a29e7576535af92b11d535e762440";
+          sha256 = "1xl6b71r0j90n9r96f6hfvd9fzwzwy7rmn44c1p2r76inyxvlyil";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme";
@@ -46505,15 +47127,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    monotropic-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "monotropic-theme";
+        version = "20180205.2000";
+        src = fetchFromGitHub {
+          owner = "caffo";
+          repo = "monotropic-theme";
+          rev = "a5dc696e79115f96a2482ba2e01f0569c5e4c4be";
+          sha256 = "17985wdlgz4d45jznl9df34826mm5xc8h5xcar70rdrw4gqp4ccy";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/38222d109ece0030b0bfafb242aa100694b2bfcf/recipes/monotropic-theme";
+          sha256 = "129yqjh4gaab1kjijzkzbw50alzdiwmpv9cl3lsy04m8zk02shl8";
+          name = "monotropic-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/monotropic-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     monroe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "monroe";
-        version = "20180108.224";
+        version = "20180116.817";
         src = fetchFromGitHub {
           owner = "sanel";
           repo = "monroe";
-          rev = "c1dd7fe6e14a0ec2dae3135e74dffa797c9df28a";
-          sha256 = "1853vvipyngv6chs10rswx5mhm9p3fgm1n3kpp4chhbc3040q97r";
+          rev = "666431c047479e414b47ca1f83fe0a2ecc02144a";
+          sha256 = "0k7d2k3m9rf77a1812clqvmsva27c7wpvkgdhkgvi7kpglj1dz2n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/590e5e784c5a1c12a241d90c9a0794d2737a61ef/recipes/monroe";
@@ -46928,12 +47571,12 @@
     mtg-deck-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mtg-deck-mode";
-        version = "20170925.1338";
+        version = "20180129.1637";
         src = fetchFromGitHub {
           owner = "mattiasb";
           repo = "mtg-deck-mode";
-          rev = "546a62ada70aa89d325cc3941c8c9379a4c21553";
-          sha256 = "1gbgsfd04jdw6jrsp13h13jkkac5ndrn684pl18q0wjgx9kk11b6";
+          rev = "4eeb1a5115d60d064dcd79b9e0dd48619cd2ee4c";
+          sha256 = "16qmqqq7297idr2x4fr22ihhx6z91484x0hpmskbh6fn05bvls2y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/425fa66cffe7bfda71de4ff2b49e951456bdeae1/recipes/mtg-deck-mode";
@@ -47134,6 +47777,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    multi-run = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, window-layout }:
+    melpaBuild {
+        pname = "multi-run";
+        version = "20180122.709";
+        src = fetchFromGitHub {
+          owner = "sagarjha";
+          repo = "multi-run";
+          rev = "87d9eed414999fd94685148d39e5308c099e65ca";
+          sha256 = "0m4wk6sf01b7bq5agmyfcm9kpmwmd90wbvh7fkhs61mrs86s2zw8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e05ad99477bb97343232ded7083fddb810ae1781/recipes/multi-run";
+          sha256 = "1iv4a49czdjl0slp8590f1ya0vm8g2ycnkwrdpqi3b55haaqp91h";
+          name = "multi-run";
+        };
+        packageRequires = [ emacs window-layout ];
+        meta = {
+          homepage = "https://melpa.org/#/multi-run";
+          license = lib.licenses.free;
+        };
+      }) {};
     multi-term = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "multi-term";
@@ -47389,12 +48053,12 @@
     mwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mwim";
-        version = "20161004.647";
+        version = "20180116.740";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "mwim.el";
-          rev = "e53da113b88a7e0693fd8f91862ce5948ad80a5b";
-          sha256 = "0vm6iynkx328zc4ww6zjibj7impiz53g2cqzxfa8bjfs2src2sw3";
+          rev = "a27879c4d0ef1d3f8494efa18490dd17d707375b";
+          sha256 = "0v2qar878z6imh6ih4qxwc7jmwga8l6c626zrzz81l60b675li8x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7e1aa2fa1294b27ed7b6c5bdd5844fa5c37df72/recipes/mwim";
@@ -47473,12 +48137,12 @@
     mysql-to-org = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "mysql-to-org";
-        version = "20170205.1306";
+        version = "20180123.714";
         src = fetchFromGitHub {
           owner = "mallt";
           repo = "mysql-to-org-mode";
-          rev = "d87e9b6117fc0db4b156e8a12550cf9ee4bd692a";
-          sha256 = "10wz20842j6yj4k9kg7pd93pzppsc31klbfzlvlkfywqv6j311cz";
+          rev = "2526205ad484ad3fa38d41e7d537ace38c27645c";
+          sha256 = "1yinix08mzr7v2jm3yx1j3h15cw7i202wi100nmnmvqrylpd9zr2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/mysql-to-org";
@@ -47519,8 +48183,8 @@
         src = fetchFromGitHub {
           owner = "myTerminal";
           repo = "myterminal-controls";
-          rev = "3edcef051f882342ca769b84527bf92dfb755e14";
-          sha256 = "0g9vyy639aqnk0g9rmrlszc7i0rl2f2ygnzfs4pwakgfiwig5r0c";
+          rev = "aae4f50f9f22d374eaaac2ce95e522f13dcc8fc0";
+          sha256 = "08xgzrpp5l5d43j1b8ai3d41jzk9i70r2pqdcj53h79ml56bicgp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a82a45d9fcafea0795f832bce1bdd7bc83667e2/recipes/myterminal-controls";
@@ -47976,12 +48640,12 @@
     ncl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ncl-mode";
-        version = "20170903.2355";
+        version = "20180128.2303";
         src = fetchFromGitHub {
           owner = "yyr";
           repo = "ncl-mode";
-          rev = "84599a730169b9b19f9dcc532e20dcdc9648bbaa";
-          sha256 = "0sqbrvlx9n7abn71r4hb5fgps7nm6cfyg84hjwdbkrw0cgy2w1hc";
+          rev = "602292712a9e6b7e7c25155978999e77d06b7338";
+          sha256 = "0sv44hn2ylick7ywpcbij8h2vxdj06zridjdmcfgpv5d090dbl9n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2eea3936b8a3a7546450d1d7399e0f86d855fefd/recipes/ncl-mode";
@@ -48228,12 +48892,12 @@
     ng2-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "ng2-mode";
-        version = "20170504.2007";
+        version = "20180206.1128";
         src = fetchFromGitHub {
           owner = "AdamNiederer";
           repo = "ng2-mode";
-          rev = "adbfe16a47cf26edeb1b508cbedae5307b4efbf6";
-          sha256 = "0ll850wpr4dyh25mq41afwbz17mqz82i53hfn970n9vw2icf36py";
+          rev = "00822c2e43ff4793cf030fbbd67f83cfdb689b3a";
+          sha256 = "19qbs0c0q98rp506a8sj7wkigrk8xzv0s87q9bcl5zxk9jx6m304";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a856ecd8aca2d9232bb20fa7019de9e1dbbb19f4/recipes/ng2-mode";
@@ -48353,12 +49017,12 @@
     nimbus-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nimbus-theme";
-        version = "20180106.437";
+        version = "20180129.536";
         src = fetchFromGitHub {
           owner = "m-cat";
           repo = "nimbus-theme";
-          rev = "3cb301760d3ff8bb26cad325dc29001893672a46";
-          sha256 = "1h1yxn0whyb8wf13vs55a8zs66jz9svm9780sxaxcdr3gkvgqmd7";
+          rev = "22c4a1cf1ce8686c01a341477502d2676829699b";
+          sha256 = "1sf8ijk08kivfj0dxgmx73l10hkd921z766z5x4w1p3axwc8w9j1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0e6b456b76e2379c64a86ad844362c58146dc6/recipes/nimbus-theme";
@@ -48416,12 +49080,12 @@
     nix-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nix-mode";
-        version = "20170831.1721";
+        version = "20180126.1935";
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix-mode";
-          rev = "3294f8a2f83ace2d71f16c274a262ff76be412dc";
-          sha256 = "1p1dka9v8fm6rklspkscj5rs5f21dwi3bq44d3hjqw6xva4q7bx4";
+          rev = "664fa51cfa9d8e4c39f2086ad1b6b6fdc1e8fbd7";
+          sha256 = "0nnxd2lis4qx2zakfcy5ypvlp1nrw70dq2jcf0gldg0qmr1dhlgk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1870d786dbfac3b14386c8030e06f2d13ab9da6/recipes/nix-mode";
@@ -48584,12 +49248,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20180111.947";
+        version = "20180125.1539";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "no-littering";
-          rev = "8e321f1036770c20637a0f946b655805cd070e25";
-          sha256 = "11hxf0fkka4mv1qsw0nx3ymvgcav95r2bvk1gwyj5m5cbwb4a1n9";
+          rev = "5156e005d59453f2608b9c38e9fe92ba8df550db";
+          sha256 = "086y8y5309hhmhiq9c5yqvya0fm6j3vxba47861ckwjqyp7d3ygk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering";
@@ -48770,6 +49434,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    nordless-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "nordless-theme";
+        version = "20180204.48";
+        src = fetchFromGitHub {
+          owner = "lethom";
+          repo = "nordless-theme.el";
+          rev = "3fb123eaaf7f38d024effdda4b3e88cc66e67300";
+          sha256 = "0i5b7qg97qcgvhk8vv7x5xpwps06q140jndkz4i2rakg5hr3z98g";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/dc0c7eec5bff1efa6be799aad36353a03a496a88/recipes/nordless-theme";
+          sha256 = "0mfp2dm3z49fjgrw6sdc9yrn9a8q4dm5v3i3gi8bwx8zll70aq2m";
+          name = "nordless-theme";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/nordless-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     nose = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "nose";
         version = "20140520.948";
@@ -48794,8 +49479,8 @@
         version = "20180104.1635";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "12541fea7fe333f7c154a4a12a1d40394c2d6364";
-          sha256 = "1r5a5smg2mc28wy3iq4sp8p0rmpqsi5ajk31hwc9lhldklz2c0nj";
+          rev = "a9f1c7c294526afb2a2ac18003a654ea4c780b7b";
+          sha256 = "0pv6rpymhf1m10011hw5plsfz18d7gm10w396dc2rm05c9szffjr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -48832,12 +49517,12 @@
     nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nov";
-        version = "20171104.1641";
+        version = "20180115.1407";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "nov.el";
-          rev = "7d14b6a2aa649e2213348883893a24a6a6083cb9";
-          sha256 = "0l8b4847rig76d974akpkbb43i7pnhx75wmlgczqscmripspdxyb";
+          rev = "4ef20ebb587ffb0ab73c85ad5748d41af1071596";
+          sha256 = "03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
@@ -49380,22 +50065,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ob-coffeescript = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    ob-coffeescript = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-coffeescript";
-        version = "20170719.121";
+        version = "20180125.2319";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "ob-coffeescript";
-          rev = "d68a8335d29c947f388b4fa556de4f3ee75a19c6";
-          sha256 = "0hjyvvq089c0m9hqjlk3fb07z24vha7fmvfy8w9203jxqkazm1di";
+          rev = "5a5bb04aea9c2a6eab5b05f90f5c7cb6de7b4261";
+          sha256 = "0yy20w1127xmz0mx2swbr294vg0jh8g0ibj5bpdf55xwdnv6im2l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ba1a808c77653bac1948d6c44bd1db09301ffeff/recipes/ob-coffeescript";
           sha256 = "05q1wnabw52kd3fpcpinpxs9z6xmi4n1p19jbcz0bgjpnw05s27p";
           name = "ob-coffeescript";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/ob-coffeescript";
           license = lib.licenses.free;
@@ -49404,12 +50089,12 @@
     ob-crystal = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-crystal";
-        version = "20171101.347";
+        version = "20180125.2318";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "ob-crystal";
-          rev = "9d58b880b74e0ad83b37596bb44635e5d7ae5c3f";
-          sha256 = "11qly91h6cm0qdj2dx8lvmfgp7bakrvvwf106rqh4f98y1qv22xh";
+          rev = "d84c1adee4b269cdba06a97caedb8071561a09af";
+          sha256 = "1fny4fj4407lcp4k3379gbixk3wd171snw49p1kny2mvxrliz22h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a7d43199a83ab6f672aaa69ef4e158c868f180/recipes/ob-crystal";
@@ -49593,12 +50278,12 @@
     ob-hy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-hy";
-        version = "20171101.344";
+        version = "20180125.2316";
         src = fetchFromGitHub {
           owner = "brantou";
           repo = "ob-hy";
-          rev = "cad6a1aaa463e8d72d37b12744be1c5732bb8cc4";
-          sha256 = "0cm238139vf356vayv3xzx5gw2hlklzgrbpzk3ixnfh4gkgnmdj0";
+          rev = "44b1afb42c8a72febdbe68b6816134bc5957e5ba";
+          sha256 = "0j34fsyqz28qjpggibbaqfwja10f06d9gh3pndlj6ghfx8i0plrh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12a7a7dba169010a3a047f961010236a203c16c2/recipes/ob-hy";
@@ -50227,8 +50912,8 @@
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "20517e96299e147ef349b9e8913f036a6c35399d";
-          sha256 = "12wdqv5fkzrizl8ls9pbbzl6y0rf5pldsrxkfdl8k1ix2a03p8xd";
+          rev = "764d8dfa931f2336fa9f469aea7d38bcb4990723";
+          sha256 = "1h0rgcifhzqxb7glax7b7whxkcrrd1mmvsdn7z2xgwjla3qmx4w2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -50370,12 +51055,12 @@
     olivetti = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "olivetti";
-        version = "20171209.644";
+        version = "20180205.2323";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "olivetti";
-          rev = "e824a21f5e284bc7e111b6f325258bba8396d9ec";
-          sha256 = "07hz7nj81pj0vwql30ln8isypqyhwv4y36gfzs475hgjim2mvdh2";
+          rev = "6893bef23e576fd776ca69517dbf0981a8dc4b2a";
+          sha256 = "0jxqnc7cwrrl9kw0fng515kl9hblkqkd5yf2gqq7di09q3rccq65";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti";
@@ -50517,12 +51202,12 @@
     omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
     melpaBuild {
         pname = "omnisharp";
-        version = "20171226.1147";
+        version = "20180121.702";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "95f56022edf9fcaba8402db05a6927af050b12a8";
-          sha256 = "133maq29hfjaq4vilz9wvr9vjkschkpydkw2197sscv7whfzv78j";
+          rev = "588b8482685adedbc56933cb13c58d9cc6a82456";
+          sha256 = "1iqwxc19jvcb2gsm2aq59zblg1qjmbxgb2yl3h3aybqp968j3i00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -50570,12 +51255,12 @@
     on-parens = callPackage ({ dash, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, smartparens }:
     melpaBuild {
         pname = "on-parens";
-        version = "20150702.1506";
+        version = "20180202.1441";
         src = fetchFromGitHub {
           owner = "willghatch";
           repo = "emacs-on-parens";
-          rev = "16a145bf73550d5000ffbc2725c541a8458d0d3c";
-          sha256 = "1616bdvrf1bawcqgj7balbxaw26waw81gxiw7yspnvpyb009j66y";
+          rev = "7a41bc02bcffd265f8a69ed4b4e0df3c3009aaa4";
+          sha256 = "0pkc05plbjqfxrw54amlm6pzg9gcsz0nvqzprplr6rhh7ss419zn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2ea1eb5eb5a40e95ba06b0a4ac89ad8843c9cc2c/recipes/on-parens";
@@ -51051,12 +51736,12 @@
     org-brain = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-brain";
-        version = "20180111.1500";
+        version = "20180116.2216";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "org-brain";
-          rev = "a21280a0dec3a44d9673deec0e4bb4d57da4db5f";
-          sha256 = "15ikqddngdzfsbsapdfnn6c10waxy4cf228k4f02pcp2zk4zchhg";
+          rev = "754adb19ee88cba2757f0dd214abc85a6b05491f";
+          sha256 = "1f581785rkvy1qjriwpjc3xqsz2a4jvbzi3ghzz76zz3j36yisln";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/47480fbae06e4110d50bc89db7df05fa80afc7d3/recipes/org-brain";
@@ -51198,12 +51883,12 @@
     org-clock-csv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "org-clock-csv";
-        version = "20170904.1745";
+        version = "20180128.2130";
         src = fetchFromGitHub {
           owner = "atheriel";
           repo = "org-clock-csv";
-          rev = "20ab6ee4395bedc0a7b8dfaf7b51f2c63dc8d2c6";
-          sha256 = "00lcvmls7zlkqmsi0yfiihyxv49803jlc9khcbqawxlkijvr65pm";
+          rev = "e3b1c4236f6b74105b291ec68c0909226621b4ac";
+          sha256 = "1ykam54wz53n0gx0raywhd92diggyxw8669w988sw6jghhg65ivs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e023cb898699f76f6c3d9ffe8162aacfc6a8c34f/recipes/org-clock-csv";
@@ -51701,12 +52386,12 @@
     org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-journal";
-        version = "20171113.53";
+        version = "20180118.31";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
-          sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
+          rev = "1d6f7ddf3baa296bf7ca7ed008f0d86c10397021";
+          sha256 = "02r4h7l8mj5blxwsiv0zyfiwagmxckxdsi39vbx2kxjvxasv4zw3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@@ -51911,12 +52596,12 @@
     org-noter = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-noter";
-        version = "20180109.1823";
+        version = "20180206.1436";
         src = fetchFromGitHub {
           owner = "weirdNox";
           repo = "org-noter";
-          rev = "3f1f1c7856e3e3b1482acba990bf440c13274752";
-          sha256 = "1ll0ips9hs8ayk2ykh3297kby8imjl638rv12zps480mg15fmrvi";
+          rev = "26c081e71aeb7613a1adfbe3c2a352fbfd19c474";
+          sha256 = "1mjqfw1xmpy0hwz442n5anwn69lrv2nqrk001qx3kgdl9z16wsdx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2bc0d95dc2744277d6acbba1f7483b4c14d75c/recipes/org-noter";
@@ -52323,12 +53008,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 = "20180109.1919";
+        version = "20180131.1914";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "4e32cc616df85b3e23874697abb2d1a0ac538679";
-          sha256 = "1qg51km535s0i1m1zcgx6lvcsv687fx60dmvpq6p8cfqfq31h5z7";
+          rev = "a96d36b425fdd4d90c9787f149fe3912c6f62147";
+          sha256 = "0ar1f5ib6vdyzgdag7vxcfvhfnri1c71rx8pi9r0dv1mgkprpqkh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -52439,12 +53124,12 @@
     org-send-ebook = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "org-send-ebook";
-        version = "20171231.2313";
+        version = "20180117.1824";
         src = fetchFromGitHub {
           owner = "stardiviner";
           repo = "org-send-ebook";
-          rev = "a22d565413b82c415c4f12daab5bfcc489053ec5";
-          sha256 = "19qf3a8vagbfbdj2cd7wklran4z6w9ddlimy0r15pxs23abicwjl";
+          rev = "3e8030a16e420fe4a6fc73b6f166af73880c4843";
+          sha256 = "19v9vjbpvib9jcv4z0jflqym2z101a2xaf2mcjcf692nlrz8y2wk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/646106cf43649544056285aef8c4035b6e5bbbdb/recipes/org-send-ebook";
@@ -52814,27 +53499,48 @@
           license = lib.licenses.free;
         };
       }) {};
-    org-web-tools = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
+    org-web-tools = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "org-web-tools";
-        version = "20171014.804";
+        version = "20180117.1915";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "org-web-tools";
-          rev = "e9583248e838806271643770102e786671fabaf5";
-          sha256 = "07kdgkkl3f7w1nxdw1j7vcm2f05sdpd06dlw7vpdd77pdbwafp3h";
+          rev = "8d2e7556947f6647f55e41ed3ad3710878631fb3";
+          sha256 = "1wx85ah89x2fg69kn2ilk950dnz5asmq205kar95c3rrxymf4yia";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f082bfb480649d21f586b7eb331c19d57e7a84cf/recipes/org-web-tools";
           sha256 = "19zpspap85fjqg5a20ps34rcigb0ws986pj6dzd7xik8s6ia29s7";
           name = "org-web-tools";
         };
-        packageRequires = [ dash emacs org s ];
+        packageRequires = [ dash emacs esxml org s ];
         meta = {
           homepage = "https://melpa.org/#/org-web-tools";
           license = lib.licenses.free;
         };
       }) {};
+    org-wild-notifier = callPackage ({ alert, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-wild-notifier";
+        version = "20180125.721";
+        src = fetchFromGitHub {
+          owner = "akhramov";
+          repo = "org-wild-notifier.el";
+          rev = "3f87465d6c4ea63010b9beab8de3cfa54429bce8";
+          sha256 = "1vxjlfdkl6yxgh50nmz87qsyga71wf8cmrggnp6bkljak88vgz98";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier";
+          sha256 = "1lmpa614jnkpmfg3m1d2wjn9w0zig3gwd02n3dyjn23n71fiyhkp";
+          name = "org-wild-notifier";
+        };
+        packageRequires = [ alert dash org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-wild-notifier";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-wunderlist = callPackage ({ alert, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org, request-deferred, s }:
     melpaBuild {
         pname = "org-wunderlist";
@@ -53519,12 +54225,12 @@
     outrespace = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "outrespace";
-        version = "20170904.511";
+        version = "20180126.857";
         src = fetchFromGitHub {
           owner = "articuluxe";
           repo = "outrespace";
-          rev = "0a3b53d283fe8adb8de45766d284704ed4557e23";
-          sha256 = "0cas2divgdjai06f6jk5c808vhvg5dcwyc9nam2krvd8k5y5nd8q";
+          rev = "5c3e036e0d72889b5084c67eeac317e88b1bf2f6";
+          sha256 = "025lgvy8m70m72zxzdsdxgsayi3hr0hfp076mf0b97zfcw6h87c3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2659a78181b8fe98ca4a80c75ec8c9b6dff44bb5/recipes/outrespace";
@@ -53687,12 +54393,12 @@
     ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-epub";
-        version = "20171105.0";
+        version = "20171202.1713";
         src = fetchFromGitHub {
           owner = "ofosos";
           repo = "ox-epub";
-          rev = "93bd7b42ad4a70d7008470820266546d261222d6";
-          sha256 = "078ihlpwajmzb0l4h5pqqx1y9ak7qwbrh7kfrqwd0jn114fah1yd";
+          rev = "3d958203e169cbfb2204c43cb4c5543befec0b9d";
+          sha256 = "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
@@ -53750,12 +54456,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "20180111.1032";
+        version = "20180206.1515";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "53cfa26dd7518b13f0d39e3fce060a844e485de1";
-          sha256 = "02v4gf88lc6v3kwxx419bpg71wlb949gnz0ywjh45knbgn5kyb1b";
+          rev = "79616a30eb0ea40e6b68e1e32b46196a7a266a29";
+          sha256 = "0n2sinp2pasygb5fmla8s2m288g3hpbm74vzw8f7p6drr2g7fmic";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -53855,12 +54561,12 @@
     ox-minutes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ox-minutes";
-        version = "20170323.835";
+        version = "20180202.934";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-minutes";
-          rev = "ad9632f35524ac546c6d55dfa827e8597669e1e1";
-          sha256 = "07knwl6d85sygqyvc7pm23y7v4nraiq1wl1b7szkzi2knd8wzi0s";
+          rev = "27c29f3fdb9181322ae56f8bace8d95e621230e5";
+          sha256 = "10rw12gmg3d6fvkqijmjnk5bdpigvm8fy34435mwg7raw0gmlq75";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/162d0dacbb7252508147edb52fe33b1927a6bd69/recipes/ox-minutes";
@@ -54170,12 +54876,12 @@
     package-build = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "package-build";
-        version = "20171127.902";
+        version = "20180205.1521";
         src = fetchFromGitHub {
           owner = "melpa";
           repo = "package-build";
-          rev = "fc706968dc0bb60e06c5d21025a6ea82d3279e96";
-          sha256 = "020cafc6mihkx6kzhlbxncyb8v7i3zs3l7gydivb6mhm5w36614q";
+          rev = "d6f926e3688d1c8d3c9d06cbfdd5a31f85accf00";
+          sha256 = "072dlzskl0w4xcnrzgy36gzn4sla4hw84yr82rv04akb9mg4ya9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/948fb86b710aafe6bc71f95554655dfdfcab0cca/recipes/package-build";
@@ -54464,12 +55170,12 @@
     pamparam = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, lispy, melpaBuild, worf }:
     melpaBuild {
         pname = "pamparam";
-        version = "20180111.1014";
+        version = "20180122.1325";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "pamparam";
-          rev = "1eddc9be67ff66cc4a8e4eefc28f891f455df8d9";
-          sha256 = "1pgkxyrgcf7c2yydq3694kgaz2h85iw2ybh9z4w297yh0zkp9a45";
+          rev = "f531518bd9952d39af8605f461fc43aa6b6fa5f4";
+          sha256 = "110jnj7yp6j2qj5ar72c5kgkpj43b4b82ipq725xivk6zsvrhicr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/067b5e3594641447478db8c1ffcb36d63018b1b2/recipes/pamparam";
@@ -54482,6 +55188,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    panda-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "panda-theme";
+        version = "20180203.2318";
+        src = fetchFromGitHub {
+          owner = "jamiecollinson";
+          repo = "emacs-panda-theme";
+          rev = "f93ad6ded20d71cab9bf29a0c7040e07e1ba4f05";
+          sha256 = "1y9yppkprbnqf59p94kkpxsma2s7z8cp195na05mdgcs0pmbs6l7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a90ca1275ceab8e1ea4fdfa9049fbd24a5fd0bf5/recipes/panda-theme";
+          sha256 = "1q3zp331hz8l54p8ym9jrs4f36aj15r8aka6bqqnalnk237xqxl7";
+          name = "panda-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/panda-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     pandoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pandoc";
@@ -54506,12 +55233,12 @@
     pandoc-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }:
     melpaBuild {
         pname = "pandoc-mode";
-        version = "20171216.1545";
+        version = "20180122.108";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "pandoc-mode";
-          rev = "242bc6fb154ed02d5829644778586234e31c0710";
-          sha256 = "1ghkphkpvabmzds6pib88fpwgv83rcfqv78j59kjxhkcgpzd8bw2";
+          rev = "883e131c53a6351a239c422f05027aa526181ddb";
+          sha256 = "1qb50m4zyk57hs8siwiz21q5qymhl585crmhgqnvkspk6dg0063s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/pandoc-mode";
@@ -54545,22 +55272,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    paper-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, hexrgb, lib, melpaBuild }:
+    paper-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "paper-theme";
-        version = "20180107.1613";
+        version = "20180125.926";
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "8925ea85143c4c91589213fbacb275e81968d76d";
-          sha256 = "1f02idd8dw02q3ddr3p33xz3n3nhc33qv6fjsbz00pslw082gr8c";
+          rev = "c94a05d3b8a247a1abc9d0739a1b18387c26839f";
+          sha256 = "0q833z76fysv66anrng0skgfa3wc2gcb8rw0xr759rblxmxmnp1r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/paper-theme";
           sha256 = "1ph6c6g907cnxzl74byc754119qia8rs8y7wvaj8i6q3fz2658zr";
           name = "paper-theme";
         };
-        packageRequires = [ emacs hexrgb ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/paper-theme";
           license = lib.licenses.free;
@@ -54693,12 +55420,12 @@
     paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "paren-face";
-        version = "20161028.1127";
+        version = "20180124.352";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "paren-face";
-          rev = "0a7cbd65bb578cc52a9dc495a4fcaf23a57507bf";
-          sha256 = "0wsnng874dbyikd4dgx2rxmcp0774ix5v29dq372zynq6lamqkl7";
+          rev = "166975683225367c866e6ae6f6acb88d24e21a35";
+          sha256 = "02mh8w2na6qa94p3bh6pvdvmg36p2vrbp5hpjnwjcayrb92dskgy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face";
@@ -54777,12 +55504,12 @@
     parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parsebib";
-        version = "20180111.20";
+        version = "20180116.627";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "parsebib";
-          rev = "c8d59deb20552f9a1885297b5ae0b8f753d191a5";
-          sha256 = "1b1iiiy184czp014gg1bb3jks9frmkw8hs5z2l2lnzjmfjr6jm6g";
+          rev = "683c970a6fb51591bc88ee80e295fedee876e044";
+          sha256 = "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@@ -54840,12 +55567,12 @@
     pass = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, password-store-otp }:
     melpaBuild {
         pname = "pass";
-        version = "20180109.201";
+        version = "20180201.451";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "pass";
-          rev = "855e89446676f03065ed01e4a5c8dfba5eca3610";
-          sha256 = "0s784pvv8jxiicvqcb9x0nynnpp0m431vw835qhp1pi1y4cfbbf8";
+          rev = "da08fed8dbe1bac980088d47b01f90154dbb8d8b";
+          sha256 = "1j5fdcqmqw62zvmwd80bjvkrr5vg59l5k6673hvvhjx77c8nvidv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/428c2d53db69bed8938ec3486dfcf7fc048cd4e8/recipes/pass";
@@ -54949,8 +55676,8 @@
         src = fetchFromGitHub {
           owner = "zx2c4";
           repo = "password-store";
-          rev = "bd1cadd5620279b5ee781434b4f0731eb9ad730d";
-          sha256 = "017na2x0hrx4837w5xky3qnzrq3a36fi3mnjpdrv92pr06hbnc4n";
+          rev = "94ac2ba2c6baa268a64cb4e96421f6f1bf96fd96";
+          sha256 = "0prl9c1sl3426lsni1h4xcwlv3vvjl4nr6mbh9nb51fv9ak9y2sf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/207f8ec84572176749d328cb2bbc4e87c36f202c/recipes/password-store";
@@ -55570,6 +56297,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    perl6-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
+    melpaBuild {
+        pname = "perl6-mode";
+        version = "20161228.430";
+        src = fetchFromGitHub {
+          owner = "perl6";
+          repo = "perl6-mode";
+          rev = "4867c6d268545f5356111d72c4ae77917d34cb21";
+          sha256 = "1bpq2wa27rlmyx13vg0ig2nzzivzxzh9hdmhyw285dcn8agashnp";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4e912dccdee12f745272d26ea10d5f106a27cabc/recipes/perl6-mode";
+          sha256 = "0r5q2nggb9kbjcdfv81d7sm41jqz040j9z52fnck4b9mlz2dy6d0";
+          name = "perl6-mode";
+        };
+        packageRequires = [ emacs pkg-info ];
+        meta = {
+          homepage = "https://melpa.org/#/perl6-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     perlbrew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "perlbrew";
@@ -56203,12 +56951,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20180105.541";
+        version = "20180205.2247";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "c3f3ac1665a77a0d3ee425244c77d923eadc9621";
-          sha256 = "1flhbqqg2jnlh8l8p7g130arq3fx27z5h8ki98wgd070s794x39y";
+          rev = "5598dd31bac7dad1cd5e7c8eceefa4873800b4f7";
+          sha256 = "06wjy4adr5xyigkvkpf2khxljhxkqgpv9r2gwvn55p9dqnabybs3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -56578,6 +57326,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pipenv = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "pipenv";
+        version = "20180123.1146";
+        src = fetchFromGitHub {
+          owner = "pwalsh";
+          repo = "pipenv.el";
+          rev = "fd933729ff91e84bbac42fbf29571cb865465fd9";
+          sha256 = "0k0g1zn90mc4kz112dkl4dz77nmkr1iwxk65d5mjsspg7jxf7xjm";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d46738976f5dfaf899ee778b1ba6dcee455fd271/recipes/pipenv";
+          sha256 = "110ddg6yjglp49rgn1ck41rl97q92nm6zx86mxjmcqq35cxmc6g1";
+          name = "pipenv";
+        };
+        packageRequires = [ emacs f s ];
+        meta = {
+          homepage = "https://melpa.org/#/pipenv";
+          license = lib.licenses.free;
+        };
+      }) {};
     pippel = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "pippel";
@@ -56788,6 +57557,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    plaster = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "plaster";
+        version = "20180127.1250";
+        src = fetchFromGitHub {
+          owner = "Shirakumo";
+          repo = "plaster";
+          rev = "11eb23920410818fe444887b97ad4c8722d66c85";
+          sha256 = "0lqz8m8a2ahvgm0i9cz0j4bisi34czc4s29z70p5p6rdg4g21fk1";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7e363cffa021e649c052f38cedb7cc01dbe9e24a/recipes/plaster";
+          sha256 = "0vfixc0f5n4flsmdf1iqlbx03yv28w3nqm1ycz2fx6p5jvhkvfqk";
+          name = "plaster";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/plaster";
+          license = lib.licenses.free;
+        };
+      }) {};
     platformio-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "platformio-mode";
@@ -56872,6 +57662,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "playground";
+        version = "20180207.1011";
+        src = fetchFromGitHub {
+          owner = "akirak";
+          repo = "emacs-playground";
+          rev = "0fe3fa1eaeb48cecd123d8a1de8c1da680128c76";
+          sha256 = "1cgw4zqdnqagl4v19m3fy2979hl6b32pllgs2a4kzxdld1lc9658";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f062a74fe1746129879ad19c1735621f58509d33/recipes/playground";
+          sha256 = "1xjmxkl8h4l87fvv1sr478r6mkmy9gkzw2fxmzqn5fcsahzkyg4d";
+          name = "playground";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/playground";
+          license = lib.licenses.free;
+        };
+      }) {};
     plenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "plenv";
@@ -57001,8 +57812,8 @@
         version = "20170419.303";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/gettext.git";
-          rev = "d4e434046121b395e8e96ac3dcb4a8f6113f4fd3";
-          sha256 = "1abk6v8afmbn1sfyjkw14zvq1xgfnpsvi6m4qaglpa460awsnq9c";
+          rev = "7b967191976bf013cca0a5b21b1e3dbe34e86889";
+          sha256 = "18ar8m5sj3drflcpl7z528x28nskhahjl5bwa8624csdzn0fhngy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/po-mode";
@@ -57263,8 +58074,8 @@
         src = fetchFromGitHub {
           owner = "TatriX";
           repo = "pomidor";
-          rev = "612912789b01d5d53975f0b2e64322ab79035be1";
-          sha256 = "0ia344z9gvnq37kvac534mpcl5rx84qg2cjgr6lrxa4svnq6353x";
+          rev = "000dd3800829c469a072e788a272edca24313ee2";
+          sha256 = "1rhc1n4r3yjlrxxj1mkziflb475z7gqcqm2r7r7b667f8k1b5wg4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0d4f313081594df23f357c40feb456847d8bd0/recipes/pomidor";
@@ -57592,6 +58403,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    posframe = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "posframe";
+        version = "20180207.124";
+        src = fetchFromGitHub {
+          owner = "tumashu";
+          repo = "posframe";
+          rev = "5456ca7f0aba63301c3d681d112419ec5742c5e5";
+          sha256 = "0gdha5l619k1i1lalzr81114xva43xp6xbx3zd9b0r2cvyaqda5n";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fa3488f2ede1201faf4a147313456ed90271f050/recipes/posframe";
+          sha256 = "02chwkc7gn7fxaaxsz9msmrhrd62bji5hhb71kdm019x8d84z06w";
+          name = "posframe";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/posframe";
+          license = lib.licenses.free;
+        };
+      }) {};
     postcss-sorting = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "postcss-sorting";
@@ -57658,12 +58490,12 @@
     powerline = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "powerline";
-        version = "20171023.750";
+        version = "20180115.1942";
         src = fetchFromGitHub {
           owner = "milkypostman";
           repo = "powerline";
-          rev = "fda4fb96984607d4a6502b1d8c8898e56d10cf6c";
-          sha256 = "1lz3kr8w9z9xx5amqqvim85asjji13q84d4r1cb5x77wajmj1p21";
+          rev = "2933f2b6d00a8cab39f73fc6231fac311cba5b29";
+          sha256 = "0fxkz7rqj057bnxfqgh3i88waqxnla05dqw20v8njf9swchry0ya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f805053cd4dd9ed53ee0df17ad69429bc62325bb/recipes/powerline";
@@ -58054,6 +58886,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    prog-fill = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "prog-fill";
+        version = "20180128.2019";
+        src = fetchFromGitHub {
+          owner = "ahungry";
+          repo = "prog-fill";
+          rev = "ad38e2f6a45a8dd7eb08c407506256dd2e045de1";
+          sha256 = "13dsihqs0wc2bjxgyiqb5xbav9va432qqkpl84a0rdrwndpc7lpc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/90d680ed481688c9899adb28fbd9a22a17fa8943/recipes/prog-fill";
+          sha256 = "0wnqzkzhaywcyw93z86pngpycsrd1mi79psmck6qbhms1aia79p3";
+          name = "prog-fill";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/prog-fill";
+          license = lib.licenses.free;
+        };
+      }) {};
     prognth = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "prognth";
@@ -58203,12 +59056,12 @@
     projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20180107.2233";
+        version = "20180128.655";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "293849974df45b60bad572bfdc5166575fbbf0a5";
-          sha256 = "0pi1m7wzw772hvxx1iaqj33nw9mlgdp8pnir41205awl2hh7w2i0";
+          rev = "c3562c3a182d3c9948db9c8f364e84da2e90c218";
+          sha256 = "044fdvcjqkp25kn20lr77jirgdnzjrxp8i024zp3lz7wa4gywyhy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
@@ -58648,8 +59501,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "47b7d2c7cadf74ceec90fc5042232819cd0dd557";
-          sha256 = "0kjhxqrbyj5rlfrkfbn8wlr4w1yi2i2r8pgsw7dz63rabf1xd0fd";
+          rev = "07f023188e929019f506e9b390dde70539ea857f";
+          sha256 = "09fh3cc4x2yzydbgpmgh5gldhwgv56jdcbf1m22cql01rhc04qry";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -58738,12 +59591,12 @@
     psession = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "psession";
-        version = "20171107.2313";
+        version = "20180202.44";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "psession";
-          rev = "d087644db226e2c66481d3c248e26afa9e4eb670";
-          sha256 = "1hb8cs8kkqpd96fb5dc8fysgg29fvay0ky83n9nawwzq516396ag";
+          rev = "0d5091ae1090bad41d8e10a2f3f94a9e87711610";
+          sha256 = "1h60j33nygivwa9hgn98ibyvxmxr02p338iq80z0nhqqkhzg24rp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession";
@@ -58948,12 +59801,12 @@
     purescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "purescript-mode";
-        version = "20171203.2234";
+        version = "20180120.709";
         src = fetchFromGitHub {
           owner = "dysinger";
           repo = "purescript-mode";
-          rev = "2d1fa590a6de875ea4bd964349df0ba5e24fb1f3";
-          sha256 = "00n15i3b33glhqc2yqs3axrdyc8id20w543cx74nn5ab4ybbjm4s";
+          rev = "b76c7f37f1a3527e8ace66bbd584851e1f803cc8";
+          sha256 = "0nnrfs1siz4wwn56razlig6cvi8fqgcgk5wv5b0iyizq8a8wwia7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77175fa470e517fa134751fbb38e144eb5b979ff/recipes/purescript-mode";
@@ -59307,8 +60160,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "pyenv-mode";
-          rev = "215b7f0ed3847e0c844adbff7d9b19057aa7c820";
-          sha256 = "0wb9xgpp9bc045kkw0jg14qnxa1y7ydsv1zw4nmy0mw7acxpcjgn";
+          rev = "eabb1c66f9e0c0500fef4d089508aad246d81dc0";
+          sha256 = "1zmgm24d6s56jc4ix61058p1k0h95vdvdllr7fh1k3bq4mw22qn3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/pyenv-mode";
@@ -59384,22 +60237,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    pyim = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pyim-basedict }:
+    pyim = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pyim-basedict }:
     melpaBuild {
         pname = "pyim";
-        version = "20180111.1529";
+        version = "20180206.1419";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "pyim";
-          rev = "157bfbab77ac74d504567ce2a3874b575976f7a5";
-          sha256 = "0l9p7yc57agiq7hh2jkb8jb93nswm9skg4s6di32n99cpjv22npw";
+          rev = "c670df2a338ca956b6103fd388f81a551bfc33f8";
+          sha256 = "1pkjwcwz6xagamigsv25bxydda1yxzphw0xfclpi21raqnr9f1s6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/151a0af91a58e27f724854d85d5dd9668229fe8d/recipes/pyim";
           sha256 = "1ly4xhfr3irlrwvv20j3kyz98g7barridi9n8jppc0brh2dlv98j";
           name = "pyim";
         };
-        packageRequires = [ async cl-lib emacs popup pyim-basedict ];
+        packageRequires = [ async emacs popup pyim-basedict ];
         meta = {
           homepage = "https://melpa.org/#/pyim";
           license = lib.licenses.free;
@@ -59517,8 +60370,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "f5a7e4327d2f31744d3ae84e46ac4cde1b76b2d3";
-          sha256 = "138zpjb1ckvh5bwl3l7ig7wl57b7zlr91yx2mgk71j3bbwjcjjg4";
+          rev = "19c4f6714a5a8da3e19c42e324fb31a57ddc696b";
+          sha256 = "1mf54n2hz4936wi9a1dqd1fqq0ak36isd25q2b9sbvcq101gwhnv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -59531,6 +60384,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pynt = callPackage ({ deferred, ein, emacs, epc, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pynt";
+        version = "20180203.2100";
+        src = fetchFromGitHub {
+          owner = "ebanner";
+          repo = "pynt";
+          rev = "76fa85dd0c791a6493d59bd564ce5f6ec20ab40d";
+          sha256 = "06rhaqf5wkwk6xl8mp2kyyncnyjclvykal06iqj9sbd4kn5nnq5p";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fdb297084188a957a46dcd036e65d9d893044bea/recipes/pynt";
+          sha256 = "07c0zc68r3pskn3bac3a8x5nrsykl90a1h22865g3i5vil76vvg3";
+          name = "pynt";
+        };
+        packageRequires = [ deferred ein emacs epc helm ];
+        meta = {
+          homepage = "https://melpa.org/#/pynt";
+          license = lib.licenses.free;
+        };
+      }) {};
     pytest = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "pytest";
@@ -59660,12 +60534,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20180104.1009";
+        version = "20180121.50";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "ff5ca6ed9e5eabad355bfb1218bd8020a846b77f";
-          sha256 = "1na11xf6w781kifh8rp02909difn4jy66z38h0q1lhjdm82p2p25";
+          rev = "c9009f6753e05a4182674fdd3d9f80808de2dc2f";
+          sha256 = "01r54skcxkjd6ihx7spx4rmp1b4x02yy9my93qgb4bkg3mwsbq5w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -59765,12 +60639,12 @@
     pyvenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pyvenv";
-        version = "20171215.1329";
+        version = "20180126.303";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "pyvenv";
-          rev = "651a624fb41898d0c68970889ef7a72bad78b10b";
-          sha256 = "0plpj3ndwvdzmnwinhpkq4z3pk6zmhjwxq0wjkkgl8vy12jkywpx";
+          rev = "f925bcb46ea64b699f7cd06933c48e0d5db88b73";
+          sha256 = "1a346qdimr1dvj53q033aqnahwd2dhyn9jadrs019nm0bzgw7g63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv";
@@ -59895,8 +60769,8 @@
         src = fetchFromGitHub {
           owner = "quelpa";
           repo = "quelpa";
-          rev = "355d06d5364a1be62e662eec77d32ae3c7b6d739";
-          sha256 = "083qm5zpxcnf03179bkpba89m5l9l6vamnhwlp2fnaqxshh5nb9x";
+          rev = "fc393aeb3bb1a9a35e603515d13c90cc008caece";
+          sha256 = "1zkx7bpzmphhfwgqf5pfwf6qb4vjwgvhmds38vm6h2302hl4racx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7dc3ba4f3efbf66142bf946d9cd31ff0c7a0b60e/recipes/quelpa";
@@ -60147,8 +61021,8 @@
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "132175062ca4b8436bfc69b60e0de1feac0d2c8c";
-          sha256 = "10bqg28znv1frfvdg8gp3iv5j3dpimnvi96l8gdg7w9217v82ja8";
+          rev = "240a52f5e944ca6aa1799cb32160301b1d128917";
+          sha256 = "1r14q751g87846ilvqkifaq0nqyl02dgkfdfdpmsw9k006ml8rfa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -60185,12 +61059,12 @@
     railscasts-reloaded-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "railscasts-reloaded-theme";
-        version = "20170314.146";
+        version = "20180131.2246";
         src = fetchFromGitHub {
           owner = "thegeorgeous";
           repo = "railscasts-reloaded-theme";
-          rev = "bd6e385752c89760fdee7bdf331e24d1d80ee7e9";
-          sha256 = "17vr2mbz1v20w7r52iqb7hicy131yaqhifbksvknx8xnm6z27pnm";
+          rev = "6312f01470dcc73537dbdaaccabd59c4d18d23a9";
+          sha256 = "1fqpqgkpn36kj3fb4na0w4cjwln05rvy6w1q5czas8z37rk2bs33";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9817851bd06cbae30fb8f429401f1bbc0dc7be09/recipes/railscasts-reloaded-theme";
@@ -60605,12 +61479,12 @@
     rdf-prefix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rdf-prefix";
-        version = "20170915.1200";
+        version = "20180127.1006";
         src = fetchFromGitHub {
           owner = "simenheg";
           repo = "rdf-prefix";
-          rev = "25cc3c8902f16191496b549705b00ffc7dff51f1";
-          sha256 = "00ycsqzgn5rq8r4r86z1j43i2a7wj4r3c2vcggdaizyf4parmgmy";
+          rev = "164136d05505275d42d1ca3a390f55fcc89694b8";
+          sha256 = "18jp3yynnk2248mzwf8h62awfw8fh25m5ah5di0dg62xw56l9nig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f083bd629697038ea6391c7a4eeedc909a5231/recipes/rdf-prefix";
@@ -60773,12 +61647,12 @@
     realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }:
     melpaBuild {
         pname = "realgud";
-        version = "20180115.127";
+        version = "20180203.433";
         src = fetchFromGitHub {
           owner = "rocky";
           repo = "emacs-dbgr";
-          rev = "a5853d53a63e8a23b7b4c2ae0faf575623637c8d";
-          sha256 = "0yalj4nn42g32xjr2s5hvlhinyhz1jjyx74494c018prybs16z75";
+          rev = "28fa560afa5fe1ea871e5fbe35ba9b02e58b16de";
+          sha256 = "01wkbp8118njr8s2x25j3ngrhp3jd2rw365ij1xjbgss30adjccf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud";
@@ -60944,6 +61818,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    recentf-ext = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "recentf-ext";
+        version = "20170925.1735";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "recentf-ext";
+          rev = "450de5f8544ed6414e88d4924d7daa5caa55b7fe";
+          sha256 = "1jylpqgngbl594a1qvd305m9lda48cib4dsasimdqxp20d4c56iy";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/recentf-ext";
+          sha256 = "122kns45l75cdwxbfjznks3kvm5jc89ik714ij2qx14qyik0xmni";
+          name = "recentf-ext";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/recentf-ext";
+          license = lib.licenses.free;
+        };
+      }) {};
+    recentf-remove-sudo-tramp-prefix = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "recentf-remove-sudo-tramp-prefix";
+        version = "20180204.2156";
+        src = fetchFromGitHub {
+          owner = "ncaq";
+          repo = "recentf-remove-sudo-tramp-prefix";
+          rev = "6d23ebc3f52b0a66236c171c45cc77a4d3aba541";
+          sha256 = "0rzs9fmy1iqips6px0v57wnplbxmm3sbnk6xcszwhkwwp563hk32";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0bf1761715ee4917ba0823adbda03859d5b8131a/recipes/recentf-remove-sudo-tramp-prefix";
+          sha256 = "01kdpx7kqd39a5hjym5plcj5d8szzghigq9mq186mggayg8q44cr";
+          name = "recentf-remove-sudo-tramp-prefix";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/recentf-remove-sudo-tramp-prefix";
+          license = lib.licenses.free;
+        };
+      }) {};
     recompile-on-save = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "recompile-on-save";
@@ -61094,12 +62010,12 @@
     redprl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "redprl";
-        version = "20180112.838";
+        version = "20180207.1002";
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "191555243a38977493954276f61851c182f7ee06";
-          sha256 = "091j5f1i5fscvlpr68mfdsb7gbcl0xkbzqibphyarlnmgzw31wsa";
+          rev = "4c24963eb6eee494125b71578cf363cc1467ca99";
+          sha256 = "1g9l61k9d76y9k7lamxzwrqyv16hvnkg6bmpyxj59gggkhw6km66";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -61115,12 +62031,12 @@
     redshank = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }:
     melpaBuild {
         pname = "redshank";
-        version = "20171115.1156";
+        version = "20180128.1348";
         src = fetchFromGitHub {
           owner = "emacsattic";
           repo = "redshank";
-          rev = "9b64da7895973a29a32320a13c08de69befa0006";
-          sha256 = "0vzha8pn4bgdnri1j5cgmasvn9j3ny0rh0i0plhjbys26f88klnb";
+          rev = "f3eef7d4891570e6bcb74eb52c73edb765a639b8";
+          sha256 = "00mihmjd0amr9wzb3qsz69bp7y5iqx9vvh1hg77i57zlm88x6ma6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2677a5cf74ebace6510517f47eaa43b35f736683/recipes/redshank";
@@ -61157,12 +62073,12 @@
     refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }:
     melpaBuild {
         pname = "refine";
-        version = "20170322.1527";
+        version = "20180205.956";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refine";
-          rev = "55984dbd570c361e7d56d85f2d4ecfbcc567bda1";
-          sha256 = "0amj5i69cgk0p0c3wlm68dgrav8in5n19msglnks210mbfd1vzhj";
+          rev = "6b432bef019e7af38ee7145956fa28d512256420";
+          sha256 = "0sf70cb3ahz42pb7lyp380w4k3698z6in9ng10pm47dv7j660llq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine";
@@ -61555,12 +62471,12 @@
     req-package = callPackage ({ dash, fetchFromGitHub, fetchurl, ht, lib, log4e, melpaBuild, use-package }:
     melpaBuild {
         pname = "req-package";
-        version = "20180114.2334";
+        version = "20180121.2100";
         src = fetchFromGitHub {
           owner = "edvorg";
           repo = "req-package";
-          rev = "770234c5b3370f758ed4d1935bf7e1d0d3a7dcec";
-          sha256 = "0650x87dp692rkn8z04kvxxzyxygx65fn5cmjjjy9wgvgxr3w0dy";
+          rev = "0c0ac7451149dac6bfda2adfe959d1df1c273de6";
+          sha256 = "0sx3kw1gpliifbc0gh2z1lvig68v3gwqjbj0izgn77js8kqxad84";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package";
@@ -61870,12 +62786,12 @@
     rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "rg";
-        version = "20171121.1151";
+        version = "20180122.855";
         src = fetchFromGitHub {
           owner = "dajva";
           repo = "rg.el";
-          rev = "68984092d0e0725057e7b67ba32016903170f189";
-          sha256 = "0qd3qh640339n1dn1isk23xhnkj0pds08yzfak4ijxyzlgl63bdq";
+          rev = "0a4df0c3a64ace6a5aebbfeea5c0161e752471ab";
+          sha256 = "0z1igj5c74qdjx5knsf73d7qwfyybfixyilw7z7chbyffw77z1km";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -62311,12 +63227,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "20180107.2358";
+        version = "20180130.942";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "3584c326a93a994cd329cd7d15d627d9375b678b";
-          sha256 = "0j123j6gmbgkk58k188wa3dm68dmdvs67b1awhwfx0jkdfdkx61h";
+          rev = "6ceeb7dd27b242123c69a5ae95b69d8ac2238a68";
+          sha256 = "00cp3v1gwj0flmlzhghnxvy5zy7rfdrnvwv0c8704ddfsavxp6i3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -62504,8 +63420,8 @@
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ruby-hash-syntax";
-          rev = "bc05c3130a5d3237f04c6064297e56de5f73887d";
-          sha256 = "1jwvyj3kqchd40h37m75ydl0gjrbm873dhfn1grqg4sgk60hr414";
+          rev = "90e0fc89a2b28c527fcece7ee90d5783694a4406";
+          sha256 = "1lkicxingcvs4inxvkrpxknylf09a506plbzx6bfiq9dicsnlw14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7d21a43a4bf267507bdc746ec9d0fd82049c0af/recipes/ruby-hash-syntax";
@@ -62623,6 +63539,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    rum-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "rum-mode";
+        version = "20180126.1622";
+        src = fetchFromGitHub {
+          owner = "rumlang";
+          repo = "rum-mode";
+          rev = "893b1a26244ef6ea82833a9afbc13cb82c0cfb53";
+          sha256 = "0lgahv25a9b2dfgkcm9ipyziiqnr3sb9l2dvzm35khwf3m8dwxgq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0c9f8ce2dee376f1f34e89e9642c472a148fca77/recipes/rum-mode";
+          sha256 = "1838w8rk5pgp1hn7a0m83mfw9jin4qv5mkyl68hl3gj7g9lhn7sd";
+          name = "rum-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/rum-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     run-stuff = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "run-stuff";
@@ -62854,6 +63791,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    s3ed = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "s3ed";
+        version = "20180204.549";
+        src = fetchFromGitHub {
+          owner = "mattusifer";
+          repo = "s3ed";
+          rev = "13503cb057bed29cb00a14dffe4472b5cb7748ad";
+          sha256 = "1ak5nmay12s4ipmvm1a36kyny05xhzmj7wp6dry391db9n7g2wy0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/32ba78167bd6908b49f340f6da48643ac38f25f2/recipes/s3ed";
+          sha256 = "08scv3aqnidz28rad5npz7b4pz9dx05rs72qkp3ybkk2vhqf2qwa";
+          name = "s3ed";
+        };
+        packageRequires = [ dash emacs seq ];
+        meta = {
+          homepage = "https://melpa.org/#/s3ed";
+          license = lib.licenses.free;
+        };
+      }) {};
     sackspace = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sackspace";
@@ -62941,12 +63899,12 @@
     salt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
     melpaBuild {
         pname = "salt-mode";
-        version = "20170702.246";
+        version = "20180118.1754";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "salt-mode";
-          rev = "a41c07660199cfad3f9dd928d5674d2727508035";
-          sha256 = "0y7z4lfvhd1aiyhy0yhrx9jdjsy2k1di6y747rjmf0rlwcq2gb2q";
+          rev = "e46c28ef77663391519646c79641c9d177f70d35";
+          sha256 = "13zk20bif05qgpqsx9hf6ri7qkxqq7nicp2lb84dg7id24md22x9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
@@ -63155,8 +64113,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "b8327fda10f90801209c584e596a572275452f1c";
-          sha256 = "06p5ig8haz03vd0by60b5nrf3qy0damwhidvr2s5ycm5mapqaxkc";
+          rev = "6abfe950893af1446f99103fb7bb9a790b3f2931";
+          sha256 = "1v88h61jj9s9c5vvmypv9fb7h0kbki9xzwvxraaimz5fwgcqvlck";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -63591,12 +64549,12 @@
     scss-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "scss-mode";
-        version = "20150107.1400";
+        version = "20180123.908";
         src = fetchFromGitHub {
           owner = "antonj";
           repo = "scss-mode";
-          rev = "b010d134f499c4b4ad33fe8a669a81e9a531b0b2";
-          sha256 = "113pi7nsaksaacy74ngbvrvr6qcl7199xy662nj58bz5307yi9q0";
+          rev = "cf58dbec5394280503eb5502938f3b5445d1b53d";
+          sha256 = "0raja19l0igwr0pn0ghr1pj1d8i9k3m3764ma4r8nwzxcj9qw4ja";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/scss-mode";
@@ -63863,12 +64821,12 @@
     semi = callPackage ({ fetchFromGitHub, fetchurl, flim, lib, melpaBuild }:
     melpaBuild {
         pname = "semi";
-        version = "20160816.239";
+        version = "20180204.1448";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "semi";
-          rev = "6b9c62a76f22caf1476c837ee1976eaf0eaf38e7";
-          sha256 = "0h0f6w13kiyy90vnsa4jlfdlsnd04wq6b0vrbmz74q1krfs8b0kz";
+          rev = "44aa82ecf78273d8ff4c84f2121b885fb7149f41";
+          sha256 = "1wl12gsz9pn4wzgbffv3ymr49kcxjggc2jx19kxqyjmwdnw004yf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e78849c2d1df187b7f0ef4c34985a341e640ad3e/recipes/semi";
@@ -63986,6 +64944,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    sequential-command = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "sequential-command";
+        version = "20170925.1740";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "sequential-command";
+          rev = "a48cbcbe273b33edd3ae56e68f44b4100fa3a48a";
+          sha256 = "1f05amz22klvs2yqyw7n5bmivgdn5zc7vkv5x6bgc9b5k977lggj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/sequential-command";
+          sha256 = "0qhrpwcgn89sqdj8yhgax0qk81ycdanlgwx25cxy8wnxkqqcvh9m";
+          name = "sequential-command";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/sequential-command";
+          license = lib.licenses.free;
+        };
+      }) {};
     servant = callPackage ({ ansi, commander, dash, epl, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up, web-server }:
     melpaBuild {
         pname = "servant";
@@ -64518,8 +65497,8 @@
         src = fetchFromGitHub {
           owner = "emacsorphanage";
           repo = "w3m";
-          rev = "d56e64b44cebb53a06c5a1eadafdbeba696dc9df";
-          sha256 = "1l5kl8y46c62q9fhb173zkygfli9cnya8n9k3vc52k3i43xikg90";
+          rev = "92be3a5bf5940826882bb6e17a85952a6b4eb537";
+          sha256 = "1n3020y18brpi7d286s3qia8fp4nbws16224nqga18hcx00zzdna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/shimbun";
@@ -64955,12 +65934,12 @@
     simple-httpd = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "simple-httpd";
-        version = "20171004.938";
+        version = "20180205.1031";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "emacs-web-server";
-          rev = "e7775d3bc5c6b73255814d0a62dc954e23a12c15";
-          sha256 = "0pjhxhzzxrpcczwvd7b6a6q1nfmsr6m6mnlxn13nwf3r270grz87";
+          rev = "be73a176a19fff8260369652f688a316e652fc03";
+          sha256 = "1ifl1qsg6vxxmj3vysrvw94nn31x8krydin42vpp35w6pspx9f0z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/simple-httpd";
@@ -64997,12 +65976,12 @@
     simple-paren = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "simple-paren";
-        version = "20180104.1016";
+        version = "20180205.1141";
         src = fetchFromGitHub {
           owner = "andreas-roehler";
           repo = "simple-paren";
-          rev = "6a8c33443a1e8d502d272584a4a09b23a2342679";
-          sha256 = "01lr9rndk5l2ssdqvrxikwhl9sswcp3hn233bjsq9kv6i5f9r8ca";
+          rev = "f5cc9b4325a07efe92379a11a1a61035c9a1e8c4";
+          sha256 = "1p931vqdnh6agrrzxf55x34ikb1x53mz1a17kskzlqchlzfmc3da";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e8886feb4a034fddd40d7381508b09db79f608f/recipes/simple-paren";
@@ -65039,12 +66018,12 @@
     simple-screen = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "simple-screen";
-        version = "20141023.758";
+        version = "20161009.220";
         src = fetchFromGitHub {
           owner = "wachikun";
           repo = "simple-screen";
-          rev = "4fcbdb4575310c0a2b4dd17fc8aeb4d7e6e9ffae";
-          sha256 = "0zf9wgyp0n00i00zl1lxr0d60569zgcjdnmdvgpcibvny5s1fp2i";
+          rev = "596e3a451d9af24730ab31a8fe15c91a4264d09d";
+          sha256 = "0mqlwrkipgf977s0gx57fv5xrqli67hixprvra6q64isapr86yh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/02db9a649002ed9dec03661a518f74f3c7a176d9/recipes/simple-screen";
@@ -65190,8 +66169,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "skewer-mode";
-          rev = "7df248a4b7ec2eb0f3cabcbdfb052593d1f86590";
-          sha256 = "07l90cqcngwy8vxx4yxx7i72lp10wzv44ypn07zwyrl69bcmf2q8";
+          rev = "c8fc64300cbe85896f6e0719ef2c91bfba9c4fcd";
+          sha256 = "1rl5rmvq0qgdr8zrzbdvahf8rxsdajj7zbyzxyqfmyqr83c9yrz5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/10fba4f7935c78c4fc5eee7dbb161173dea884ba/recipes/skewer-mode";
@@ -65270,12 +66249,12 @@
     slack = callPackage ({ alert, circe, emojify, fetchFromGitHub, fetchurl, lib, melpaBuild, oauth2, request, websocket }:
     melpaBuild {
         pname = "slack";
-        version = "20180103.1928";
+        version = "20180125.450";
         src = fetchFromGitHub {
           owner = "yuya373";
           repo = "emacs-slack";
-          rev = "58b1309255563819ee8f83f625af49ac0353bed1";
-          sha256 = "1bj43ircd9djk4i58qwxvmcbhzybxb954k52l80pk441ffk8v4vx";
+          rev = "8b92582a1b7567bd85de2996e5883982ef9c2f1b";
+          sha256 = "1h7bd8dvcw0sqknh5wdnvci47l5ffhj539sz2vjf90fvmqhf51id";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack";
@@ -65333,12 +66312,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20180111.429";
+        version = "20180130.537";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "2e7f94633acebd5cf4074ce9601b021624ad8233";
-          sha256 = "15brbny68wjfcm1sm6981d3w6hylvblg1y4jiq652bp04nhzdr84";
+          rev = "7ea1ba6863ce864bbc91af2865885be5203c0b24";
+          sha256 = "0l1hiz19y24mclm6na7ns85j3bqrvqbsk67g9ssxrxi5h67wxspf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -65351,22 +66330,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    slime-company = callPackage ({ company, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
+    slime-company = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }:
     melpaBuild {
         pname = "slime-company";
-        version = "20180108.426";
+        version = "20180119.1043";
         src = fetchFromGitHub {
           owner = "anwyn";
           repo = "slime-company";
-          rev = "fb54d166ca3e61e8f82020b7c5cfeafd3f4ad425";
-          sha256 = "1sqsnvgr83h6v51fmin5ng2sbdpkj4cl4p2vy2xh7fa6zh00137m";
+          rev = "4c2e2805540dea700130607fa235018a87e4a070";
+          sha256 = "0ihwchp6hc1rxmahrhaly1cnhqs6k6ks32iiywwsyw7fjc34alc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company";
           sha256 = "195s5fi2dl3h2jyy4d45q22jac35sciz81n13b4lgw94mkxx4rq2";
           name = "slime-company";
         };
-        packageRequires = [ company slime ];
+        packageRequires = [ company emacs slime ];
         meta = {
           homepage = "https://melpa.org/#/slime-company";
           license = lib.licenses.free;
@@ -65501,12 +66480,12 @@
     sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
-        version = "20180113.717";
+        version = "20180201.341";
         src = fetchFromGitHub {
           owner = "capitaomorte";
           repo = "sly";
-          rev = "70df0149391302619b69cf56884ac8711430974e";
-          sha256 = "1nw5h6icmvfd88n51hlrrpr39zm2h8387364sfk2s1kr41y2d707";
+          rev = "d47bab36259ad3d23d8c19879d60b552ee3dd89d";
+          sha256 = "1w939s2229aswa6m93k5v0sjy3z01bkrsz9xdy3ibngdm1vaal3l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly";
@@ -65794,12 +66773,12 @@
     smart-jump = callPackage ({ dumb-jump, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smart-jump";
-        version = "20180107.1054";
+        version = "20180121.2252";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "smart-jump";
-          rev = "7042923b6edff126d59808fa718bf38c5f53464e";
-          sha256 = "1g7vbqzh03cxqk9wjrq6j9dy4ij2m4x0p7iq08nrvlqsl6xr9g9r";
+          rev = "5431fcd2052918d85507ac31c40256adb67eb77e";
+          sha256 = "12224rfgb9193dmjgshcaxac70fprfl7r0m64p4aw0f6cxfr0pqp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/52f29e14e61b28cd1637ca5d6bd878d91a71251f/recipes/smart-jump";
@@ -65836,12 +66815,12 @@
     smart-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rich-minority }:
     melpaBuild {
         pname = "smart-mode-line";
-        version = "20171013.849";
+        version = "20180129.130";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "1facbe9816b602c640ddb23602e30588d6d904ca";
-          sha256 = "1fgh4yss9brchnfphdijy23qknv30hxkgsbz6p2d5ck6w7xml4lc";
+          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
+          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line";
@@ -65861,8 +66840,8 @@
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "1facbe9816b602c640ddb23602e30588d6d904ca";
-          sha256 = "1fgh4yss9brchnfphdijy23qknv30hxkgsbz6p2d5ck6w7xml4lc";
+          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
+          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60072b183151e519d141ec559b4902d20c87904c/recipes/smart-mode-line-powerline-theme";
@@ -66025,12 +67004,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20171201.242";
+        version = "20180204.844";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "65fbcfc849afb89e2642f9b87f66e6a96382f88c";
-          sha256 = "0k4ar82axgxs84l2qdmrhhgf82309j2cxrv2gaxc3g7cxnj16ska";
+          rev = "2e3d2850ea0736c390d69f7e4c5a9f55c680795a";
+          sha256 = "1nxhhb88b9kwl3b2i7j3zixr1svl638igmanydjjzyx3xryb8vfx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -66361,12 +67340,12 @@
     snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "snakemake-mode";
-        version = "20171030.1016";
+        version = "20180128.752";
         src = fetchFromGitHub {
           owner = "kyleam";
           repo = "snakemake-mode";
-          rev = "990d6d8e98b96b9afe5b9b340507b1aecd8de1ce";
-          sha256 = "1bd6kwzkk8vfhfc7m384y40lh6rdw90g6624c0hlfrs9zwihmvs3";
+          rev = "6cf6d20db2e5253ce3f86e302651faa28f220aa7";
+          sha256 = "0dmvd5f5rb5kkzjkhzz17b40hlld23sy5wyzr8vq763f6pzs37kk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode";
@@ -66977,12 +67956,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20180107.1039";
+        version = "20180117.1333";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "3c43532474164ff5829a7558b49173b5b565a048";
-          sha256 = "1kxqqvnkkjf2rfgc62mlqhb6ffx34hbhdcv9m7idiyf54nqxm13k";
+          rev = "fb2a88a604b0eb6bdeb02506733b947e155a9e64";
+          sha256 = "0ic09n4ddxv78sb4h5gz9a1frnnbsdkvizdhj2lfdr5xy00hais2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -67100,18 +68079,19 @@
           license = lib.licenses.free;
         };
       }) {};
-    speechd-el = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }:
+    speechd-el = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "speechd-el";
-        version = "20160710.359";
-        src = fetchgit {
-          url = "git://git.freebsoft.org/git/speechd-el";
-          rev = "ec344edd498f95e3c945958475b31bae6505c34c";
-          sha256 = "1ycq2ncixkm6imnhp2iqdray5f1mngnzfb3f2i3f0pi9k6xgavkb";
+        version = "20180105.1217";
+        src = fetchFromGitHub {
+          owner = "brailcom";
+          repo = "speechd-el";
+          rev = "0b25d3eb7ae219d2af9a7e9df2f3334652156bf5";
+          sha256 = "00b2851pgrzvcl828l48gxrmy779w8s1k4ngf8pf0sh1y9bd2715";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/2d28c4550ae3b0f7e5fc032754d698cccda6ac0c/recipes/speechd-el";
-          sha256 = "07g6jwymmwkx26p3as3r370viz1cqq360cagw9ji6i0hvgrr66a0";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/96669a664122c2fb69acd4cad2d7bf75d3e8272d/recipes/speechd-el";
+          sha256 = "0p8zih9s2x6l2xcfjbzriyhsicaiwxz54iq9h3c8szlzq708mayc";
           name = "speechd-el";
         };
         packageRequires = [];
@@ -67228,12 +68208,12 @@
     spiral = callPackage ({ a, avy, clojure-mode, emacs, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild, treepy }:
     melpaBuild {
         pname = "spiral";
-        version = "20180114.342";
+        version = "20180125.900";
         src = fetchFromGitHub {
           owner = "unrepl";
           repo = "spiral";
-          rev = "7c79f538524b8ffef2cd8592dbdd6ec2965a2f7d";
-          sha256 = "10rc84p30iqy19bdiz0bnki8c47jv42fdidxi7dkizjxmymx0hn5";
+          rev = "8e9707af9d6d61d8ec54edc98b958f1c829e98dd";
+          sha256 = "1p91k6xvy0w11p08nbk1b9x33ck6kxz4khgsc39wlhyv02rhqqi0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77609e10c836a26de43ddb304ecfa275e314da21/recipes/spiral";
@@ -67337,8 +68317,8 @@
         src = fetchFromGitLab {
           owner = "iankelling";
           repo = "spray";
-          rev = "df326991acb2bd64af373bcf09816df9c6424d0d";
-          sha256 = "1jk7qyj7yvbcs9m977fi73ypgp9bgsckgrqcf95wsfcfviajf8z4";
+          rev = "00638bc916227f2f961013543d10e85a43a32e29";
+          sha256 = "1avbfr32dvff26kgvd5vgan99nb5c6al9kv5xbmy2rcls17py7r2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e4f5053aa4e1af3f636febe9c3ce8c6ae20c090d/recipes/spray";
@@ -67627,12 +68607,12 @@
     ssh-agency = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-agency";
-        version = "20170807.1152";
+        version = "20180127.1301";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "ssh-agency";
-          rev = "e572e031852561f98a7053afcdc9a3796dde2137";
-          sha256 = "0z2ywkiwv983vz4bk5vc62p3xapp15a4715l9sp5c8x70nlq02y3";
+          rev = "31b2b41e33d315fff54ace8bc2234abc38adf7cc";
+          sha256 = "02kw4h3hzpad39ir6y8cg8lnldd01cl0lm8p22kf4bf5f7f3sdlw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a9e4bd0205908bfb99762c7daaf3be276bb03a/recipes/ssh-agency";
@@ -67669,12 +68649,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "20171211.311";
+        version = "20180129.245";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "ee808acef916c7cf828923e6517a6867044caaf5";
-          sha256 = "0dv2d6rhp23ckpzzdda3w3p5l7pps8vxs7b98r6320w2a2villq5";
+          rev = "5d70d89cddae17e4e412c9246871c3cbc860e3c6";
+          sha256 = "02cdd5jx03n1xzkkswlcb0l4zf32ysmz2hn76cc7lh4i20iqi06q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy";
@@ -67939,6 +68919,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    sticky = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "sticky";
+        version = "20170925.1736";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "sticky";
+          rev = "fec4e1af38f17f5cd80eca361d8e8ef8772db366";
+          sha256 = "126zs059snzpg83q9mrb51y0pqawwrj9smr3y7rza4q4qkdp1nk0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/sticky";
+          sha256 = "0g98qagqchwq9j5nvdz315wak8fvdw1l972cfh0fr4yyg7gxi6xr";
+          name = "sticky";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/sticky";
+          license = lib.licenses.free;
+        };
+      }) {};
     stickyfunc-enhance = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "stickyfunc-enhance";
@@ -68360,12 +69361,12 @@
     suggest = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }:
     melpaBuild {
         pname = "suggest";
-        version = "20180111.1523";
+        version = "20180206.1327";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "suggest.el";
-          rev = "79d3b73848b41498d33f009dfa20dcdfe52837ff";
-          sha256 = "1zcl53knrwqz7ifhdlg6ya77zd9glnn1hfixhhqfp46c71c3ns56";
+          rev = "27c5c7722248baff572a0f3a672662618be4eebc";
+          sha256 = "0pwd0cic3kj977171mpl0kkzas5l6cr806w1mhymcncgbybnr1pk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9fd27e812549587dc2ec26bb58974177ff263ff/recipes/suggest";
@@ -68612,12 +69613,12 @@
     swap-regions = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "swap-regions";
-        version = "20180114.936";
+        version = "20180116.253";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "swap-regions.el";
-          rev = "c74ddad3d3916fc57becfbad90c8981d063c27c6";
-          sha256 = "1ag5y81v3z8jgwjvi7dk8g63f2dawixmdb7ghna516dnjsdg2njq";
+          rev = "6e7a1bc68f11afe00809c8e27c13bca08393a91c";
+          sha256 = "02z552qsc96big3davdj3yaz6f4fg72ljpn7nvzccp2wwchzfa1c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6805c7710618ed1178ffd3488295d4d6b33e8ebe/recipes/swap-regions";
@@ -68675,12 +69676,12 @@
     swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "swift-mode";
-        version = "20171228.2315";
+        version = "20180124.2324";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "swift-mode";
-          rev = "8c45f69a078c41619a7a3db6d54a732c3fad8e3f";
-          sha256 = "1isy71vkws3ywm4iwa85dk12810az3h85n6bimd36dfqbhfwdrli";
+          rev = "7739e4954cc614ecd6b37e935f82ad057e256d56";
+          sha256 = "09mvwfi3nv4hkdvh76d7737nl3zaxn4a5vpmv2645q9s4vcq8zj8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
@@ -68717,12 +69718,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20180112.1001";
+        version = "20180124.1142";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "80a51e0cac4f0554b0008674f49c664ebaded7b4";
-          sha256 = "1n5fv39bpk4wpf1ar1f7h7g37jhnadi7kdp4i74j2awn5qhmz8hl";
+          rev = "0e70aaa672012ca067f207dab690bafab68c5bb5";
+          sha256 = "11xxf1ymwy8pywh77x6ng8j99adpcd1qbrnwin9xnzbi7bjgbd3a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -68738,12 +69739,12 @@
     swiper-helm = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "swiper-helm";
-        version = "20151116.330";
+        version = "20180131.944";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper-helm";
-          rev = "57012ab626486fcb3dfba0ee6720b0625e489b8c";
-          sha256 = "1fr9vs0574g93mq88d25nmj93hrx4d4s2d0im6wk156k2yb8ha2b";
+          rev = "93fb6db87bc6a5967898b5fd3286954cc72a0008";
+          sha256 = "05n4h20lfyg1kis5rig72ajbz680ml5fmsy6l1w4g9jx2xybpll2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/674c709490e13267e09417e08953ff76bfbaddb7/recipes/swiper-helm";
@@ -68843,12 +69844,12 @@
     sx = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, markdown-mode, melpaBuild }:
     melpaBuild {
         pname = "sx";
-        version = "20171225.1159";
+        version = "20180128.1705";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "sx.el";
-          rev = "9488c03726464e4bd0ed0b448d203c5c7f8c212f";
-          sha256 = "14b0cqq2qbr2nxl9pqpbb9m948bdlsjwgzmkif2hdfvrwrr2sbzd";
+          rev = "0bc0adf1b5c93795ca814f3f123405d2782088f8";
+          sha256 = "0r54y80x44ydpbhsx4rgxwcf37x9w099wis0yy8cbb95asl7765j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f16958a09820233fbe2abe403561fd9a012d0046/recipes/sx";
@@ -68990,12 +69991,12 @@
     synosaurus = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "synosaurus";
-        version = "20170621.957";
+        version = "20180125.1034";
         src = fetchFromGitHub {
           owner = "hpdeifel";
           repo = "synosaurus";
-          rev = "acc4c634eb7c7f6dd9bce8610efa7fc900e9c47b";
-          sha256 = "0q8ggyfzvclgxvma2nvkfc89870hmii9cc8022ff0n7729rfj7m0";
+          rev = "ceeb06e24d3af3643862ecfdb263590eec1f492f";
+          sha256 = "1qdppyx24zmz9dzm9kjvcx30g6znik602mg2h2s835cww9n97idm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/synosaurus";
@@ -69036,8 +70037,8 @@
         src = fetchFromGitHub {
           owner = "emacs-berlin";
           repo = "syntactic-close";
-          rev = "0118d3a041448dbf98c1ab8cc25ed75d7649ca17";
-          sha256 = "0s1hamnrnh64v8sl816vd259y6j7r8rjy8avxwlfp65ah4xlcdcr";
+          rev = "a6db84f988911bd394c9623e7df6f8ea42554cc2";
+          sha256 = "0qy5d1lhsyahbpqp6rh5cccf8gvska0a20gv3d5nw292hrkdamvw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2c15c0c8ee37a1de042a974c6daddbfa7f33f1d/recipes/syntactic-close";
@@ -69094,12 +70095,12 @@
     system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "20180109.1407";
+        version = "20180131.1624";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "936bb1a1f3df903e73d1485a14dc483a790b2573";
-          sha256 = "0hrs1mmw03aylxmmrp6gcnzs5by2fp18zsyiw4jkmzwg4fhxb1ik";
+          rev = "ba902ce6602649aefda675e3c3cfcf20ac7995f2";
+          sha256 = "017gif03773wlb0jfy45lsmq5vxqhghslxck9g6rgap22xn3xbcs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
@@ -69454,8 +70455,8 @@
         src = fetchFromGitHub {
           owner = "phillord";
           repo = "tawny-owl";
-          rev = "a8fc8300481a1e033a3811ccda54e552392d1689";
-          sha256 = "1lkldr6rr21f97vp6kms2ha8hsszhmba4sn07is4k55lpvlnxd49";
+          rev = "ba321af1103d463ee46cef68416cab635884cc7c";
+          sha256 = "17038h6yxq8h0nb35vrjgxh0iwhqibbxympxlnxa1z2k46imzyhg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ea9a114ff739f7d6f5d4c3167f5635ddf79bf60c/recipes/tawny-mode";
@@ -70101,12 +71102,12 @@
     texfrag = callPackage ({ auctex, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "texfrag";
-        version = "20180109.1546";
+        version = "20180117.2025";
         src = fetchFromGitHub {
           owner = "TobiasZawada";
           repo = "texfrag";
-          rev = "204349999ed8655f1013267e90caed68c1e7b6e7";
-          sha256 = "0x6mgpds5gbm9igqwzglnddxbm3dbdba16xg73m7c20ws3wjdz2r";
+          rev = "aca88ea6440dc9a8ac35692e72ee00aac27ce575";
+          sha256 = "0bgjsqsxpfncfab5wnjpwy64wli6k7xw77dn7l1lpbymmsm9mnr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/756649bbe2dc6233c66c3d128a8096be12231078/recipes/texfrag";
@@ -70252,8 +71253,8 @@
         src = fetchFromGitHub {
           owner = "myTerminal";
           repo = "theme-looper";
-          rev = "0feeed3c93fc54305499bda5953112487f25a3a0";
-          sha256 = "18fkfr7cihnkxbz7r2p6dl5w2yzaibx3qxgwqgmx3g47lb1g13gc";
+          rev = "875c2cfc84b3c143d3b14a7aba38905e35559157";
+          sha256 = "145gbjizkkmdil1mmhsppmda22xg6blz81zqfsrd5aznwpiyw36q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/theme-looper";
@@ -70378,8 +71379,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "f64a3fcaf9ae03b94b6b462168eb6f990f71084e";
-          sha256 = "06fc8gxxyf4x5j7hbp6p7zipncqwmai7k6clcma5d5wmgjal3wj6";
+          rev = "00645162ba1e73ea4fd6e7a47cecf910a29b3281";
+          sha256 = "0zkh23l229cgs1azw0nmxa84mcf5yaq2f511p1xxz3v1dc2mdp33";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -70458,12 +71459,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20171214.543";
+        version = "20180205.413";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "008f8f9cf44c81e230d58ed3d932e0ee43c2e09f";
-          sha256 = "0s42f66lp3mn44jq04r4ccxac0l150w9nvy3bbvx8xxza2zn7lrw";
+          rev = "636f52a6ba095433976fc8c463569c7e1b8761b2";
+          sha256 = "0x0dp5c41w9jqywqx72g0crq0l6v516ljg1w4af3f2lhc46n80y2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -70719,12 +71720,12 @@
     tldr = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tldr";
-        version = "20171023.1929";
+        version = "20180122.312";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "tldr.el";
-          rev = "fe1bd5cee3d30741c816f3ccc118b94105ceba4c";
-          sha256 = "1hdkrgv03w968qf8fm7c35k5pahk9wfwz5vy8xz6568ci1af47h3";
+          rev = "398b197c8d2238628b07e1b32d0f373876279f4c";
+          sha256 = "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/45af2c5d1a36fcbf739812594c5cc878bf319a26/recipes/tldr";
@@ -71170,8 +72171,8 @@
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "9835ecb758c09400082eb8f1c0336eedbfed0134";
-          sha256 = "0vhzqcqmhl3rzxrhfyy6r2yp5d07wd8y820cf0hfby6j5i4j247p";
+          rev = "58fc1a3c7f9f6e3126585b1ab2f3d00f824b7d7c";
+          sha256 = "1vsh2x794zaf02zql4s6bn3v0m3xm43icvrn7jfmi660qh3f4bsy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@@ -71271,12 +72272,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "20180101.1803";
+        version = "20180201.1506";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "b52760e0160f99312a1773953e7725800c13bb40";
-          sha256 = "195z30yaj0qibkaci7imfhp4sr7zxhmlg4fq4bjzvawlmxi1i56p";
+          rev = "03a36853f141387654b7cb9217c7417db096a083";
+          sha256 = "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -71373,22 +72374,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
+    treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, ht, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "20180110.923";
+        version = "20180203.417";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "692f5be4ab6a4868978dcb2639334f78a267cfd2";
-          sha256 = "1r279a4avaccqjgw4wczai293rxcvacp9iw8gfqimfhl02gacklp";
+          rev = "e6e82f10a4795063e47cf0f421d6f0f281976ff0";
+          sha256 = "11zv73kz7qnqf1ml259cmhiqb1rl7rv4z5rvzvzaihrs5d9v1npm";
         };
         recipeFile = fetchurl {
           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 ];
+        packageRequires = [ ace-window cl-lib dash emacs f ht hydra pfuture s ];
         meta = {
           homepage = "https://melpa.org/#/treemacs";
           license = lib.licenses.free;
@@ -71397,12 +72398,12 @@
     treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
     melpaBuild {
         pname = "treemacs-evil";
-        version = "20180110.905";
+        version = "20180203.416";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "692f5be4ab6a4868978dcb2639334f78a267cfd2";
-          sha256 = "1r279a4avaccqjgw4wczai293rxcvacp9iw8gfqimfhl02gacklp";
+          rev = "e6e82f10a4795063e47cf0f421d6f0f281976ff0";
+          sha256 = "11zv73kz7qnqf1ml259cmhiqb1rl7rv4z5rvzvzaihrs5d9v1npm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
@@ -71418,12 +72419,12 @@
     treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
     melpaBuild {
         pname = "treemacs-projectile";
-        version = "20171204.845";
+        version = "20180203.416";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "692f5be4ab6a4868978dcb2639334f78a267cfd2";
-          sha256 = "1r279a4avaccqjgw4wczai293rxcvacp9iw8gfqimfhl02gacklp";
+          rev = "e6e82f10a4795063e47cf0f421d6f0f281976ff0";
+          sha256 = "11zv73kz7qnqf1ml259cmhiqb1rl7rv4z5rvzvzaihrs5d9v1npm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
@@ -71626,12 +72627,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20171204.1417";
+        version = "20180207.836";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "a6d1589e256d861bfb51c59756b0aa25e88dfb89";
-          sha256 = "0i9x6cvx61djavn35v8j4ildli0s9ixalxbwc4yb7sdax7379xhb";
+          rev = "45f73c8fb4c6467fc54a5a905deea322ffae180c";
+          sha256 = "1xhbnz0lv771bbpb6vizacdn2j47y2spdf42m72iv5iix6cgpnmq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -71899,12 +72900,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20171229.810";
+        version = "20180118.2305";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "330c887241cf585aa4e2e3f3e9d851f28b92b08e";
-          sha256 = "05bsr5drz8d5p0fx4ai2cfgmgzyi3245gpbr61iyv37an3zkcrav";
+          rev = "7249d76e2d4580c5c2f1f5978490b1fe0ffc57dc";
+          sha256 = "0bvarlk3pmzh1g489rdbsh0c255fj78si99m9a6l4ha9jk4xa5b6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -72683,15 +73684,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    usage-memo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "usage-memo";
+        version = "20170925.1737";
+        src = fetchFromGitHub {
+          owner = "rubikitch";
+          repo = "usage-memo";
+          rev = "88e15a9942a3e0a6e36e9c3e51e3edb746067b1a";
+          sha256 = "1aalrgyk8pwsc07qmczqhgccjli6mcckkbgpass3kvrkcfxdl2zk";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ad10a684b4b2f01bc65883374f36fef156ff55d2/recipes/usage-memo";
+          sha256 = "0fv96xd6gk12nv98zccwncr00qms0pmrp0cv7iipbz54s20g0745";
+          name = "usage-memo";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/usage-memo";
+          license = lib.licenses.free;
+        };
+      }) {};
     use-package = callPackage ({ bind-key, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "use-package";
-        version = "20180108.1754";
+        version = "20180206.1414";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "05a4033b830bf52c596ceedea10b2cbd91f85fdb";
-          sha256 = "1y8slvsmlgfriaa6svanyypv0qq5hq8gbyfzsxif4wbr9hcyfikf";
+          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
+          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/51a19a251c879a566d4ae451d94fcb35e38a478b/recipes/use-package";
@@ -72707,12 +73729,12 @@
     use-package-chords = callPackage ({ bind-chord, bind-key, fetchFromGitHub, fetchurl, key-chord, lib, melpaBuild, use-package }:
     melpaBuild {
         pname = "use-package-chords";
-        version = "20171207.2240";
+        version = "20180127.1413";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "05a4033b830bf52c596ceedea10b2cbd91f85fdb";
-          sha256 = "1y8slvsmlgfriaa6svanyypv0qq5hq8gbyfzsxif4wbr9hcyfikf";
+          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
+          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-chords";
@@ -72725,15 +73747,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    use-package-el-get = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, use-package }:
+    melpaBuild {
+        pname = "use-package-el-get";
+        version = "20180130.2105";
+        src = fetchFromGitHub {
+          owner = "edvorg";
+          repo = "use-package-el-get";
+          rev = "f33c448ed43ecb003b60ff601ee7ef9b08cff947";
+          sha256 = "1wzn3h8k7aydj3hxxws64b0v4cr3b77cf7z128xh3v6xz2w62m4z";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ee4a96cf467bcab171a0adfd4ef754abec1a9971/recipes/use-package-el-get";
+          sha256 = "0sg9ijkjax6w25p0q7rw5rjn8r2i83z5jfzjkvy8pxil5cg8zyh0";
+          name = "use-package-el-get";
+        };
+        packageRequires = [ use-package ];
+        meta = {
+          homepage = "https://melpa.org/#/use-package-el-get";
+          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 = "20171205.1029";
+        version = "20180127.46";
         src = fetchFromGitHub {
           owner = "jwiegley";
           repo = "use-package";
-          rev = "05a4033b830bf52c596ceedea10b2cbd91f85fdb";
-          sha256 = "1y8slvsmlgfriaa6svanyypv0qq5hq8gbyfzsxif4wbr9hcyfikf";
+          rev = "6af4b6caf67f5fbd63429d27fa54a92933df966a";
+          sha256 = "13qp22m3sd1x84776d9v3h2071zj1xlmkdqi6s6wks6gk3ybyia1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-ensure-system-package";
@@ -72746,6 +73789,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    usql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "usql";
+        version = "20180204.1407";
+        src = fetchFromGitHub {
+          owner = "nickbarnwell";
+          repo = "usql.el";
+          rev = "b6bd210ba3feec946576ab1f130d9f91ad2e2c44";
+          sha256 = "1y1da6ipig7r5wcnb1v4pj0j56dsykvgy2pw0h4jxxibcr50pa42";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c8f6b968312a09d062fcc8f942d29c93df2a5a3c/recipes/usql";
+          sha256 = "10ks164kcly5gkb2qmn700a51kph2sry4a64jwn60p5xl7w7af84";
+          name = "usql";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/usql";
+          license = lib.licenses.free;
+        };
+      }) {};
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
@@ -73229,6 +74293,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    vertica-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
+    melpaBuild {
+        pname = "vertica-snippets";
+        version = "20180207.453";
+        src = fetchFromGitHub {
+          owner = "baron42bba";
+          repo = "vertica-snippets";
+          rev = "80f04bbe2f9640cae1612e2c6df8049bfd050624";
+          sha256 = "16fhrzwr65k71ais1378rvr54qcpv5wpvcmm2w09nnrxn56zij8m";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c8cb5c0fdbb6820a08091d8936dd53a3c43c56/recipes/vertica-snippets";
+          sha256 = "0044qcf6dyxp2h14ij6w19zs7ikx9xalfrz6jqbl8sy35wcihmhn";
+          name = "vertica-snippets";
+        };
+        packageRequires = [ yasnippet ];
+        meta = {
+          homepage = "https://melpa.org/#/vertica-snippets";
+          license = lib.licenses.free;
+        };
+      }) {};
     vertigo = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vertigo";
@@ -73610,12 +74695,12 @@
     vlf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "vlf";
-        version = "20170830.1148";
+        version = "20180201.1454";
         src = fetchFromGitHub {
           owner = "m00natic";
           repo = "vlfi";
-          rev = "a01e9ed416cd81ccddebebbf05d4ca80060b07dc";
-          sha256 = "0ziz08ylhkqwj2rp6h1z1yi309f6791b9r91nvr255l2331481pm";
+          rev = "31b292dc85a374fb343789e217015683bfbdf5f1";
+          sha256 = "18ll47if9ajv0jj2aps8592bj7xqhxy74sbsqn07x9ywinxxi9mn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9116b11eb513dd9e1dc9542d274dd60f183b24c4/recipes/vlf";
@@ -73778,12 +74863,12 @@
     w3m = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "w3m";
-        version = "20171221.2317";
+        version = "20180116.135";
         src = fetchFromGitHub {
           owner = "emacsorphanage";
           repo = "w3m";
-          rev = "d56e64b44cebb53a06c5a1eadafdbeba696dc9df";
-          sha256 = "1l5kl8y46c62q9fhb173zkygfli9cnya8n9k3vc52k3i43xikg90";
+          rev = "92be3a5bf5940826882bb6e17a85952a6b4eb537";
+          sha256 = "1n3020y18brpi7d286s3qia8fp4nbws16224nqga18hcx00zzdna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/w3m";
@@ -73924,12 +75009,12 @@
     wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }:
     melpaBuild {
         pname = "wanderlust";
-        version = "20171209.227";
+        version = "20180202.2223";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "wanderlust";
-          rev = "2a058670d9f65e7c9e5b203b31d5946bcb2bf144";
-          sha256 = "1kpw9al401x7mwzan273dz38699hirz5rdlpwihmrvccpa279r6p";
+          rev = "d4d08d452dfab8d96e090d007083532c82b0855c";
+          sha256 = "1xx5032y85zl2xfa3nziy0py296rcsvb8akh8wwjcsdppagv60cd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust";
@@ -74155,12 +75240,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20171118.1132";
+        version = "20180207.123";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "78d49396b0ddb5e60596dc4a2c09d7cbb5812ff5";
-          sha256 = "1hs1fx4269qbnajhhsvnf61clbl1smbkyz4w74p72balpgjxnpy7";
+          rev = "08e00718e8574a038880aa39d8707d12e12d3fdd";
+          sha256 = "13hslj2v2nplww212p5i4sx3lhrkjqywfcyyrhin1sz1flhrfgpg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -74281,12 +75366,12 @@
     webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "webpaste";
-        version = "20171025.956";
+        version = "20180127.1434";
         src = fetchFromGitHub {
           owner = "etu";
           repo = "webpaste.el";
-          rev = "f047313c656e0ea85033bacc564d02ae6f4605ff";
-          sha256 = "00mawa0n415dcnrldqmgwwjcj2rv59wblrbzkc2g9i388nl41rp5";
+          rev = "14fd97bc3c8554d9394b698610dca1186ff68b03";
+          sha256 = "1q7pqkww6ggh9sdnqa4vbq6nzivw0w011w3mvwx1mi4zp0dv50zs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste";
@@ -74533,12 +75618,12 @@
     which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "which-key";
-        version = "20180108.1930";
+        version = "20180131.606";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-which-key";
-          rev = "1219622b756f149efe4b44c625f2140c5229f936";
-          sha256 = "14wfaqlixiqg79q6vb89jjvgvxwfgcdkgxyqh2bqsjwam9xksmlp";
+          rev = "fce520f8af727bd33861f8d0f7655c01ea84ad85";
+          sha256 = "1sgaln0d6rslvln4bvznkp401sizngwp6ypscp4gn95ygq2aam39";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
@@ -75687,12 +76772,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20180114.506";
+        version = "20180120.241";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "281b079fca7e3889f56f754dd00b0ae08fb55090";
-          sha256 = "1mszy0xav31wk936gwj1xb43mp10l3nfh2cnk3baq2jx55z1cm1c";
+          rev = "ee1c71cd2b3fc00a76e55789ad9a74eed4ae59c2";
+          sha256 = "16wbdm2a5wdpfhxwd1wlqnj0h1ivrrq00nk8ddzp7qsdc8m1i4gn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-css-mode";
@@ -75750,12 +76835,12 @@
     xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-fly-keys";
-        version = "20180107.1546";
+        version = "20180206.1601";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-fly-keys";
-          rev = "c7ebabe6ccff0bce35cf7feb1cef34f4c69aee50";
-          sha256 = "1r4ld1b8dd39bggjhzj6rd3wan3yhw5sm3zi623yad7w48c4xpna";
+          rev = "e00c4213ee8f77cc82691e7fbec7c84726fac926";
+          sha256 = "1w5clsrhi8m9aqgq0cl2xx4mrm98g2fpwrxqs7xmmhy6wa0kjb9g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-fly-keys";
@@ -76212,12 +77297,12 @@
     xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xterm-color";
-        version = "20170102.1525";
+        version = "20180202.1518";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "xterm-color";
-          rev = "5873477fd7bd6e54142ab35fbc623ea9b55200aa";
-          sha256 = "1328avc28barirwipasnhq81sn4nw6w6x6fffgqcxayv2r5bl1d8";
+          rev = "42374a98f1039e105cad9f16ce585dffc96a3f1c";
+          sha256 = "09mzzql76z3gn39qnfjspm8waps8msbkilmlk3n2zrizpbps6crj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color";
@@ -76464,12 +77549,12 @@
     yaml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yaml-mode";
-        version = "20170727.1531";
+        version = "20180204.2333";
         src = fetchFromGitHub {
           owner = "yoshiki";
           repo = "yaml-mode";
-          rev = "28c34033194130d452d5c958b5241c88d42ca02b";
-          sha256 = "1m3fr19sfkr7d94qzqkl7x1jmhpar2hnhq6mjscd3lfcqkifh6kv";
+          rev = "7f4103736178fc6e3a9a9ba3b3d0516986ab8b71";
+          sha256 = "0y153522yg5qmkdcbf7h87zcambgl9hf9bwk8dq22c0vgdc04v3i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/yaml-mode";
@@ -76548,12 +77633,12 @@
     yankpad = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yankpad";
-        version = "20171221.636";
+        version = "20180127.254";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "yankpad";
-          rev = "aa643aeaaf72fa19c4610ce47088a1fbc4e33ecb";
-          sha256 = "0815ki5fx6jr15ljjw48spxjknqwhcm6qzk8pl7hxw162r3nxh6p";
+          rev = "4b04dd134599b2e360c10d8be9110078aa1aca9d";
+          sha256 = "031v4r5spgsl8i0vgfzrwvcp8s8vbdw0kf56wj7qz9732hmb14j7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64746d10f9e0158621a7c4dc41dc2eca6ad573c/recipes/yankpad";
@@ -76695,12 +77780,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20180111.1533";
+        version = "20180204.1613";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "203059a95e320b031ac0d2cabe9c1de68604baec";
-          sha256 = "186varms4zmvlvakwnyip19z46fagwa05mnahhpb8ncmpjg6i7cl";
+          rev = "caf3dba32006acd9196b06e0d9845786915f7b6d";
+          sha256 = "04lkliy50m27f2s2mgaji9w9d17fg4d54j54qp8ybbaf3b6k1yra";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -76716,12 +77801,12 @@
     yasnippet-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "yasnippet-snippets";
-        version = "20180112.516";
+        version = "20180122.521";
         src = fetchFromGitHub {
           owner = "AndreaCrotti";
           repo = "yasnippet-snippets";
-          rev = "f76efc2054ac41434544de96ed0a09a455b6c040";
-          sha256 = "0lnmhlz1xml9ykishqn18ivpyf5il6lgv3bi5dx9bfnnd55j41wi";
+          rev = "b42c2b670bdd761b9c1c232998ebf4bbc5b914e8";
+          sha256 = "0mzfck8jdcy6p18r37nc06w888zhvd3kamaaxzspbda4yws7y2wk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25b8d4efe2e7833eb95dfdf33aa3ecc34af7a687/recipes/yasnippet-snippets";
@@ -76741,8 +77826,8 @@
         src = fetchFromGitHub {
           owner = "mineo";
           repo = "yatemplate";
-          rev = "caa8734afc559a28eb4ec5dc3f240434e51cafc9";
-          sha256 = "0zzmhkadyyw56j1z6dgj3x81sb5mxd0s2r20vy5mrfm18cyvsdd1";
+          rev = "c1de31d2b16d98af197a4392b6481346ab4e8d57";
+          sha256 = "0lp5ym2smmvmlxpdyv4kh75qsz8dsdz9afd8nxaq8y4fazzabblx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ba3cdb74f121cbf36b6d9d5a434c363905ce526/recipes/yatemplate";
@@ -76757,11 +77842,11 @@
       }) {};
     yatex = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "yatex";
-        version = "20180108.2035";
+        version = "20180122.1744";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "cef987df070f";
-          sha256 = "1nryf7pizmwhyk2jw5dgild031xb6xylyyhr8pwx74iijcbpz2qh";
+          rev = "b1896ef49747";
+          sha256 = "1a8qc1krskl5qdy4fikilrrzrwmrghs4h1yaj5lclzywpc67zi8b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";
@@ -76823,8 +77908,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "7f394d02f6f3149b215adcc96043c78d5f32d612";
-          sha256 = "0q7y0cg2gw15sm0yi45gc81bsrybv8w8z58vjlq1qp0nxpcz3ipl";
+          rev = "e21c99de8fd2992031adaa758df0d495e55d682a";
+          sha256 = "1l9xsqlcqi25mdka806gz3h4y4x0dh00n6bajh3x908ayixjgf91";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd";
@@ -76892,12 +77977,12 @@
     yoficator = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yoficator";
-        version = "20171206.1630";
+        version = "20180129.1252";
         src = fetchFromGitLab {
           owner = "link2xt";
           repo = "yoficator";
-          rev = "5ad60258097147cdd8d71147722cc4203a59a0b0";
-          sha256 = "0b2xzkw0rxbxfk6rxapy82zl61k51cis9nsnw67v7h2s2423jhcr";
+          rev = "e0dc076cb0d1999cb41585b5f36322681109fe86";
+          sha256 = "1vq07ndxrdry26dx3ci4yz1a1qdcr20yznj62y2f0wkyccrai9y9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5156f01564978718dd99ab3a54f19b6512de5c3c/recipes/yoficator";
@@ -76976,12 +78061,12 @@
     zeal-at-point = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zeal-at-point";
-        version = "20170427.2042";
+        version = "20180131.1554";
         src = fetchFromGitHub {
           owner = "jinzhu";
           repo = "zeal-at-point";
-          rev = "50a1bd4240ff0db7c8f2046c3b00c5a8e14b9d2f";
-          sha256 = "1xy9nbbk0fkd9dm8n0c0gy52vi34s6vgzbnab0hrghn6whs89ig8";
+          rev = "0fc3263f44e95acd3e9d91057677621ce4d297ee";
+          sha256 = "0aq9w9pjyzdgf63hwffhph6k43vv3cxmffklrjkjj3hqv796k8yd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4bcb472b6b18b75acd9c68e1fc7ecce4c2a40d8f/recipes/zeal-at-point";
@@ -77039,12 +78124,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20180114.907";
+        version = "20180123.59";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "ce1f08372391fa17a974769930b904a0b893fec2";
-          sha256 = "0dx7xcvgvsbd3y0glc8pwjzrra3a5gpwm894lay2ql1fcf8z8lhh";
+          rev = "4b3e541721f52dbfa307e2cab3cd682e25987fdd";
+          sha256 = "0x3b3dbkgpf9py7z3bf9629q3vqi303xp2hy7vi2qdfrnqn0600q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -77122,12 +78207,12 @@
     zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "zerodark-theme";
-        version = "20180103.535";
+        version = "20180201.246";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "zerodark-theme";
-          rev = "12ca2cc6348decc964c148c36a3cde0846f4fc1a";
-          sha256 = "11vpqkgspp2abf2rgpzcpz4miaq1lgbhg5w0li1qai6ybslz212z";
+          rev = "553ba2ba9907e56bda1d2ebf142ba7cbf9bd16f1";
+          sha256 = "1d9fclil0nf06gc9734y3p6clkxpwxa8nqh9mk9kpj8k9b36lxcn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d00b78ead693e844e35c760fe2c39b8ed6cb0d81/recipes/zerodark-theme";
@@ -77479,11 +78564,11 @@
     zpresent = callPackage ({ dash, emacs, fetchhg, fetchurl, lib, melpaBuild, org-parser, request }:
     melpaBuild {
         pname = "zpresent";
-        version = "20171008.2152";
+        version = "20180205.2109";
         src = fetchhg {
           url = "https://bitbucket.com/zck/zpresent.el";
-          rev = "eb6f5bf71b00";
-          sha256 = "1q3xz4gwqb7ac49w0nq7zvl4n790wk6r97by1kldv54y2fj0ja9g";
+          rev = "53a247d2c21b";
+          sha256 = "1a45l3i1gg0pyka13z6hra3wyp6x564cz66gbi10sqly2jlwgxda";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae38ad54490fa650c832fb7d22e2c73b0fb060/recipes/zpresent";
@@ -77499,12 +78584,12 @@
     ztree = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ztree";
-        version = "20170223.1014";
+        version = "20180204.941";
         src = fetchFromGitHub {
           owner = "fourier";
           repo = "ztree";
-          rev = "febc2d02373312ce69f56c9dbe54cabea3e0813c";
-          sha256 = "0sj30f87gvxbqwi1k7xxqc1h0w7n53630d04csqayiwvc6a2z2sz";
+          rev = "1ebb00cea3f4d85422d733a51e989bdb237ae3eb";
+          sha256 = "1r00a8mqrrr63amkb83qgnwsxymcad6s8q3cics643c1vs9piw61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f151e057c05407748991f23c021e94c178b87248/recipes/ztree";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 61257c5b5735..6b986aa7499c 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -131,9 +131,6 @@ self:
       # upstream issue: mismatched filename
       link-hint = markBroken super.link-hint;
 
-      # part of a larger package
-      llvm-mode = dontConfigure super.llvm-mode;
-
       # upstream issue: missing file header
       maxframe = markBroken super.maxframe;
 
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 567ba06c82af..9e579bebd0cc 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -548,12 +548,12 @@
     ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "ac-php";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "519b5cd886f484693fd69b226e307d56137b321b";
-          sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
+          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
+          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -569,12 +569,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "519b5cd886f484693fd69b226e307d56137b321b";
-          sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
+          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
+          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -611,12 +611,12 @@
     ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ac-rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -1094,12 +1094,12 @@
     ahungry-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ahungry-theme";
-        version = "1.8.0";
+        version = "1.10.0";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "color-theme-ahungry";
-          rev = "32ce7765c95559f6a0552cdaeedb6eb97bb7a476";
-          sha256 = "0c1xwqknhjx6y29fwca949r8d2fqb17mca5qc79pdxdlp3l606fg";
+          rev = "45bf75f17752c8e8dd4c8a4531c0aa419cdccb84";
+          sha256 = "03xypgq6vy7819r42g23kgn7p775bc0v9blzhi0zp5c61p4cw8v3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/520295978fd7de3f4266dd69cc30d0b4fdf09db0/recipes/ahungry-theme";
@@ -1217,22 +1217,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild, memoize }:
+    all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "3.1.1";
+        version = "3.2.0";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "bb69345ead914345faad582723a2b61618f13289";
-          sha256 = "0h8a2jvn2wfi3bqd35scmhm8wh20mlk09sy68m1whi9binzkm8rf";
+          rev = "52d1f2d36468146c93aaf11399f581401a233306";
+          sha256 = "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
           sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q";
           name = "all-the-icons";
         };
-        packageRequires = [ emacs font-lock-plus memoize ];
+        packageRequires = [ emacs memoize ];
         meta = {
           homepage = "https://melpa.org/#/all-the-icons";
           license = lib.licenses.free;
@@ -1544,12 +1544,12 @@
     anti-zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anti-zenburn-theme";
-        version = "2.4";
+        version = "2.5.1";
         src = fetchFromGitHub {
           owner = "m00natic";
           repo = "anti-zenburn-theme";
-          rev = "53591a18aee564c6d08a5be69b4060a299903255";
-          sha256 = "06cn81sksvl88l1g3cfgp1kf8xzfv00b31j2rf58f45zlbl5ckv9";
+          rev = "c80cc51bb1aaf11dd53b9d08e01d61bc9b32622f";
+          sha256 = "1c97d2jkh7iawgsbcg19gha9ffnxypbcfz0sgcsgf9vy4bvnc350";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f6f803dc99a1b1fdb5b4e79f1c9cf72b702d091/recipes/anti-zenburn-theme";
@@ -3376,12 +3376,12 @@
     bug-reference-github = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bug-reference-github";
-        version = "0.2.0";
+        version = "1.0.0";
         src = fetchFromGitHub {
           owner = "arnested";
           repo = "bug-reference-github";
-          rev = "671d32083aad5cf813a5e61075b70889bc95dec5";
-          sha256 = "07jzg58a3jxs4mmsgb35f5f8awazlvzak9wrhif6xb60jq1wrp0v";
+          rev = "f570a0532bfb44f095b42cf68ab1f69799101137";
+          sha256 = "09rbxgrk7jp9xajya6nccj0ak7fc48wyxq4sfmjmy3q1qfszdsc3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5dfce86371692dddef78a6c1d772138b487b82cb/recipes/bug-reference-github";
@@ -3775,12 +3775,12 @@
     caml = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "caml";
-        version = "4.6.0";
+        version = "4.6.1pre2";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "0d68080b95016f747b7cb63dd36ccdd42d40016e";
-          sha256 = "1dxg82xqjx4yh4sg2dy48ybn4czv9yq0q3zpr29sxp1grvwvrg2b";
+          rev = "b057bd0758f63f41fd8853ee025c58368e33ed21";
+          sha256 = "1s066clvar4ws0mingh68jrj87dak52grs8mnd2ibcf1kf21w08q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -3838,12 +3838,12 @@
     cask = callPackage ({ cl-lib ? null, dash, epl, f, fetchFromGitHub, fetchurl, lib, melpaBuild, package-build, s, shut-up }:
     melpaBuild {
         pname = "cask";
-        version = "0.8.1";
+        version = "0.8.2";
         src = fetchFromGitHub {
           owner = "cask";
           repo = "cask";
-          rev = "58f641960bcb152b33fcd27d41111291702e2da6";
-          sha256 = "1sl094adnchjvf189c3l1njawrj5ww1sv5vvjr9hb1ng2rw20z7b";
+          rev = "afdd191b97e76c8393f656336699419a2b39ca1a";
+          sha256 = "10qiapg6kp890q8n2pamvnnpxwcgcldw20mp23pmwzh9nsvqrpbs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask";
@@ -4361,12 +4361,12 @@
     circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "circe";
-        version = "2.6";
+        version = "2.7";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "59f1096238e6c30303a6fe9fc1c635f49e5946c6";
-          sha256 = "19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j";
+          rev = "661a2cdb3a3d9bc11ee511a4f90116c88e0d3484";
+          sha256 = "19fcvmm915dz9l2w1rna4yik96rb3hrk7042012g961xn4sgs0ih";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
@@ -4772,12 +4772,12 @@
     cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cmake-mode";
-        version = "3.10.1";
+        version = "3.10.2";
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "166bf4c490b8f46eca057fc23c3f3c2e042e9cb3";
-          sha256 = "1qgny1px7afgxi7hj12fg0zk55sy9mbk0w5sigamyzxp336nfxmz";
+          rev = "c1e087a9d3af74299d7681c9f9de59e5977a1539";
+          sha256 = "08qw6kq3l7dv37s5mppqxb6ys22h733k0qh2llzk2430wv5y9crk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -5486,12 +5486,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "519b5cd886f484693fd69b226e307d56137b321b";
-          sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
+          rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
+          sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -5555,12 +5555,12 @@
     company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "company-rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -6059,12 +6059,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "1.3.7";
+        version = "1.3.9";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "921fa5a062bda9a0f9226fdaa76530ad809ff7b9";
-          sha256 = "1qvp3ihchfwy57sfnnkk6m591s381w57ppig9c0izlbzw3n7hi7n";
+          rev = "2219bf8d9a4584abc905c7470455777553496056";
+          sha256 = "0kcxcbf1rm7cm74s5z87pv0bflx42h4j2lnb8b3r0nznj94ywnj3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -6374,12 +6374,12 @@
     csound-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multi, shut-up }:
     melpaBuild {
         pname = "csound-mode";
-        version = "0.1.2";
+        version = "0.2.0";
         src = fetchFromGitHub {
           owner = "hlolli";
           repo = "csound-mode";
-          rev = "877c7c9d5bdc6a2acf4ac1a10e9e24ba1bd3cc76";
-          sha256 = "1vsngs42n8xp72701ppvmwyy6b90vnj39fq12yvp7x9zqf29lmq1";
+          rev = "5a892e6ad72e7844e8e14c0da04fcb6bc125fe5e";
+          sha256 = "1gzg2r7agllz2asp7dbxykydpnw3861whs2pfhr3fwwb39xf1pva";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c940d29de11e43b4abf2901c466c94d426a21818/recipes/csound-mode";
@@ -6542,12 +6542,12 @@
     cwl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yaml-mode }:
     melpaBuild {
         pname = "cwl-mode";
-        version = "0.2.4";
+        version = "0.2.5";
         src = fetchFromGitHub {
           owner = "tom-tan";
           repo = "cwl-mode";
-          rev = "c5110c1e035535a1133a7107c0d2d55e5fe3c5b9";
-          sha256 = "088998r78bpy77pb2rhbr6a2fks5mcy3qyvyzlqwwl0v2gnscl59";
+          rev = "bdeb9c0734126f940db80bfb8b1dc735dab671c7";
+          sha256 = "0x9rvyhgy7ijq2r9pin94jz7nisrw6z91jch7d27lkhrmyb1rwk3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2309764cd56d9631dd97981a78b50b9fe793a280/recipes/cwl-mode";
@@ -6854,22 +6854,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    datetime = callPackage ({ emacs, extmap, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "datetime";
-        version = "0.3";
+        version = "0.4";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "datetime";
-          rev = "082d2c7b0e38c26a8c46af9c9956a2e100d88e71";
-          sha256 = "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5";
+          rev = "2a92d80cdc7febf620cd184cf1204a68985d0e8b";
+          sha256 = "0lzdgnmvkvap5j8hvn6pidfnc2ax317sj5r6b2nahllhh53mlr4j";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime";
-          sha256 = "0mnkckibymc5dswmzd1glggna2fspk06ld71m7aaz6j78nfrm850";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime";
+          sha256 = "0c000fnqg936dhjw5qij4lydzllw1x1jgnyy960zh6r61pk062xj";
           name = "datetime";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs extmap ];
         meta = {
           homepage = "https://melpa.org/#/datetime";
           license = lib.licenses.free;
@@ -7277,12 +7277,12 @@
     dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dimmer";
-        version = "0.2.1";
+        version = "0.3.0";
         src = fetchFromGitHub {
           owner = "gonewest818";
           repo = "dimmer.el";
-          rev = "b0faaa6919e633229ced07ff8bd8b5c68b90243a";
-          sha256 = "04k7m5kg2a32ldgxfc2jkdwbmxzyc3yv66871ywv9152db2g7iml";
+          rev = "12fc52a6570ec25020281735f5a0ca780a9105af";
+          sha256 = "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
@@ -7935,12 +7935,12 @@
     dotenv-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dotenv-mode";
-        version = "0.2.1";
+        version = "0.2.3";
         src = fetchFromGitHub {
           owner = "preetpalS";
           repo = "emacs-dotenv-mode";
-          rev = "8d45b98beb04f486eb13d71765589e7dccb8ffa9";
-          sha256 = "00hm097m1jn3pb6k3r2jhkhn1zaf6skcwv1v4dxlvdx8by1md49q";
+          rev = "574bf1e3dfa79aa836c67759d9eec904a6878c77";
+          sha256 = "0rx0f9vs68lbrjmzsajcxxhv6dm3wjiil12xzqg924d7fx3b1w52";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9fc022c54b90933e70dcedb6a85167c2d9d7ba79/recipes/dotenv-mode";
@@ -8103,12 +8103,12 @@
     dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dtrt-indent";
-        version = "0.3";
+        version = "0.4";
         src = fetchFromGitHub {
           owner = "jscheid";
           repo = "dtrt-indent";
-          rev = "69d0c5e143453708dbf0ebec4e368bc26fff683c";
-          sha256 = "154m53hhzjawmrg2vlqjcg9npgq1igw9f0fz6gh7vscmbxl5dnjq";
+          rev = "1cca0834800e8f775a558e84fc6d4fdcb6a235d0";
+          sha256 = "0vq1qz12kbphl9hfsnq1v2yzsy0p6v6wi4h9b3a0iwvbya4f110l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent";
@@ -8354,12 +8354,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "1.0.3";
+        version = "1.1.1";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "ef58d13fbff4b5c49f934cfb9e3fd6ee219ef4b2";
-          sha256 = "0xxxzdr6iddxwx8z4lfay4n9r1ry8571lj2gadz5ycff6f6bxmhb";
+          rev = "ec601f3a8da331dd0a9e7a93d40ae3925bd06700";
+          sha256 = "1kgayh2q97rxzds5ba1zc9ah08kbah9lqbwhmb7pxxgvgx9yfagg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -8732,12 +8732,12 @@
     edit-server = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "edit-server";
-        version = "1.13";
+        version = "1.15";
         src = fetchFromGitHub {
           owner = "stsquad";
           repo = "emacs_chrome";
-          rev = "f0db18f0d6e9885e4aef3ace8342fd6f635fadf6";
-          sha256 = "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn";
+          rev = "4e959de2f78268b348d2eaac4e43c846792d345f";
+          sha256 = "0xxby3ghs38i1l7kag12rnzlzcg9297pm8k6kqq3aqzsg9d2950y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
@@ -8901,13 +8901,13 @@
         pname = "eide";
         version = "2.1.2";
         src = fetchgit {
-          url = "git://git.tuxfamily.org/gitroot/eide/emacs-ide.git";
+          url = "https://git.tuxfamily.org/eide/emacs-ide.git";
           rev = "5f046ea74eee7af9afbd815c2bfd11fa9c72e6b3";
           sha256 = "1bd9vqqzhbkpfr80r91r65gv6mqnjqfnyclylivg79sfkkahil9n";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eide";
-          sha256 = "1i5brijz7pnqdk411j091fb8clapsbsihaak70g12fa5qic835fv";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/34b70a5616e27ff9904a2803c86e049acfe9b26d/recipes/eide";
+          sha256 = "168f4mz10byq1kdcfd029gkb3j6jk6lc4kdr4g204823x073f0ni";
           name = "eide";
         };
         packageRequires = [];
@@ -9094,22 +9094,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
+    el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el-spice";
-        version = "0.2.2";
+        version = "0.3.0";
         src = fetchFromGitHub {
           owner = "vedang";
           repo = "el-spice";
-          rev = "53921ffe9a84d9395eea90709309d3d5529921ea";
-          sha256 = "0390pfgfgj7hwfmkwikwhip0hmwkgx784l529cqvalc31jchi94i";
+          rev = "972dace20ec61cd27b9322432d0c7a688c6f061a";
+          sha256 = "1wrb46y4s4v0lwwyriz2qn1j1l804jyb4dmadf462jxln85rml70";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4666eee9f6837d6d9dba77e04aa4c8c4a93b47b5/recipes/el-spice";
           sha256 = "0i0l3y9w1q9pf5zhvmsq4h427imix67jgcfwq21b6j82dzg5l4hg";
           name = "el-spice";
         };
-        packageRequires = [ thingatpt-plus ];
+        packageRequires = [];
         meta = {
           homepage = "https://melpa.org/#/el-spice";
           license = lib.licenses.free;
@@ -9157,6 +9157,48 @@
           license = lib.licenses.free;
         };
       }) {};
+    elbank = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "elbank";
+        version = "1.1";
+        src = fetchFromGitHub {
+          owner = "NicolasPetton";
+          repo = "Elbank";
+          rev = "245cbc218e94793909ecede2e0d360c7d86f3122";
+          sha256 = "1qcxh8v5dj2wcxxs3qcdny00p906nj33wsxyswwa4jbhh2vfxz12";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank";
+          sha256 = "1ry84aiajyrnrspf7w4yjm0rmdam8ijrz0s7291yr8c70hslc997";
+          name = "elbank";
+        };
+        packageRequires = [ emacs seq ];
+        meta = {
+          homepage = "https://melpa.org/#/elbank";
+          license = lib.licenses.free;
+        };
+      }) {};
+    elcord = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elcord";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "Zulu-Inuoe";
+          repo = "elcord";
+          rev = "91c665fd832ef3b79c3eb810b7a6b08979a352cd";
+          sha256 = "04nxyj94rmi22wfasi4lavn3lzkcpxpr5ksfqc8dfq9bllz4c9pa";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/36b64d0fead049df5ebd6606943a8f769324539e/recipes/elcord";
+          sha256 = "044mwil9alh2v7bjj8yvx8azym2b7a5xb0c7y0r0k2vj72wiirjb";
+          name = "elcord";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/elcord";
+          license = lib.licenses.free;
+        };
+      }) {};
     eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eldoc-eval";
@@ -9223,12 +9265,12 @@
     elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed";
-        version = "2.2.0";
+        version = "2.3.0";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "79077efc34aad25bb43cf46a28a69a308196c972";
-          sha256 = "1xsy7qr9k9ad5ig9vvf9bbxc5ik5xi1kpmq87q9iq3g321idcwnl";
+          rev = "00b25d974abc4f3e61676068397758035bfdfc30";
+          sha256 = "0qivqhz2mhjyqrqkfjrv8q6387cbzwvmyay2jbws5vibwbxjciwz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
@@ -9244,12 +9286,12 @@
     elfeed-protocol = callPackage ({ cl-lib ? null, elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed-protocol";
-        version = "0.5.1";
+        version = "0.5.2";
         src = fetchFromGitHub {
           owner = "fasheng";
           repo = "elfeed-protocol";
-          rev = "97049eb980ce1cc2b871e4c7819133f1e4936a83";
-          sha256 = "1d2i3jg5a2wd7mb4xfdy3wbx12yigqq4ykj3zbcamvx59siip591";
+          rev = "e809a0f1c5b9713ec8d1932fa6412c57bc10150b";
+          sha256 = "0ly7g9a85r5vm8fr45km43vdl9jbzdqyiy9a7d95wx63p6aip7vs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol";
@@ -9265,12 +9307,12 @@
     elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
     melpaBuild {
         pname = "elfeed-web";
-        version = "2.2.0";
+        version = "2.3.0";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "79077efc34aad25bb43cf46a28a69a308196c972";
-          sha256 = "1xsy7qr9k9ad5ig9vvf9bbxc5ik5xi1kpmq87q9iq3g321idcwnl";
+          rev = "00b25d974abc4f3e61676068397758035bfdfc30";
+          sha256 = "0qivqhz2mhjyqrqkfjrv8q6387cbzwvmyay2jbws5vibwbxjciwz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
@@ -9493,15 +9535,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
+    elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "1.17.0";
+        version = "1.18.0";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "99f0b6401bff25d40b9f58123533271f7870a286";
-          sha256 = "06n0vr8y5s8y7q9v96z030l1i9n29p622p36biyi5cjcmgf5h09j";
+          rev = "30cb5e3c344edef572b6cffac94c6ff80bf6595f";
+          sha256 = "17iwdaly9kw17ih86rk9w1iswn8r6vvj9sh71picsxg6gqdrqnrk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -9510,6 +9552,7 @@
         };
         packageRequires = [
           company
+          emacs
           find-file-in-project
           highlight-indentation
           pyvenv
@@ -9587,12 +9630,12 @@
     elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elx";
-        version = "1.2.0";
+        version = "1.2.1";
         src = fetchFromGitHub {
           owner = "emacscollective";
           repo = "elx";
-          rev = "127fd4fca8ac6470cfda62f47bb1c29859862cfc";
-          sha256 = "0j7j7wh89a34scilw11pbdb86nf515ig38pjkwyarfvj93gigc04";
+          rev = "9f32e91ebbaebd7f1125107dce2aa979827b26c0";
+          sha256 = "1hc4jw2fy25ri2hh3xw7sp67yfl2jvrgj1a25xa6svchjq3h1yf2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
@@ -9742,8 +9785,8 @@
           sha256 = "07gvx0bbpf6j3g8kpk9908wf8fx1yb3075v6407wjxxighl0n5zz";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-sqlite";
-          sha256 = "1vywq3ypcs61s60y7x0ac8rdm9yj43iwzxh8gk9zdyrcn9qpis0i";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite";
+          sha256 = "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x";
           name = "emacsql-sqlite";
         };
         packageRequires = [ cl-generic cl-lib emacs emacsql ];
@@ -10213,12 +10256,12 @@
     epl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "epl";
-        version = "0.8";
+        version = "0.9";
         src = fetchFromGitHub {
           owner = "cask";
           repo = "epl";
-          rev = "a76ec344a7fee3ca7e7dfb98b86ebc3b8c1a3837";
-          sha256 = "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr";
+          rev = "fd906d3f92d58ecf24169055744409886ceb06ce";
+          sha256 = "0d3z5z90ln8ipk1yds1n1p8fj9yyh2kpspqjs7agl38indra3nb4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c6cf24e86d8865bd2e4b405466118de1894851f/recipes/epl";
@@ -11324,12 +11367,12 @@
     evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-matchit";
-        version = "2.2.5";
+        version = "2.2.6";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-matchit";
-          rev = "ceb13ad1b34eb0debe2472c024841bdddce9e593";
-          sha256 = "1wal8kwz1gx0cw1a91rf0d9wl490kjiilv6kwd779zf5041hnhwf";
+          rev = "50bb88241983f0bf06d35a455a87c04eddc11c83";
+          sha256 = "1qn5nydh2pinjlyyplrdxrn2r828im6mgij95ahs8z14y9yxwcif";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit";
@@ -11992,6 +12035,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    extmap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "extmap";
+        version = "1.0";
+        src = fetchFromGitHub {
+          owner = "doublep";
+          repo = "extmap";
+          rev = "3860b69fb19c962425d4e271ee0a24547b67d323";
+          sha256 = "1vjwinb7m9l2bw324v4m1g4mc9yqjs84bfjci93m0a1ih8n4zdbr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/extmap";
+          sha256 = "0c12gfd3480y4fc22ik02n7h85k6s70i5jv5i872h0yi68cgd01j";
+          name = "extmap";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/extmap";
+          license = lib.licenses.free;
+        };
+      }) {};
     exwm-x = callPackage ({ bind-key, cl-lib ? null, exwm, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper, switch-window }:
     melpaBuild {
         pname = "exwm-x";
@@ -12076,6 +12140,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    f3 = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "f3";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "cosmicexplorer";
+          repo = "f3";
+          rev = "19120dda2d760d3dd6c6aa620121d1de0a40932d";
+          sha256 = "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5b40de62a82d6895a37ff795d56f7d0f783461e6/recipes/f3";
+          sha256 = "099wibgp9k6sgglaqigic5ay6qg7aqijnis5crwjl7b81ddqp610";
+          name = "f3";
+        };
+        packageRequires = [ cl-lib emacs helm ];
+        meta = {
+          homepage = "https://melpa.org/#/f3";
+          license = lib.licenses.free;
+        };
+      }) {};
     fabric = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fabric";
@@ -12205,16 +12290,16 @@
     faust-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "faust-mode";
-        version = "0.4";
+        version = "0.6";
         src = fetchFromGitHub {
-          owner = "magnetophon";
+          owner = "rukano";
           repo = "emacs-faust-mode";
-          rev = "85f67bc4daabe6fd8dc6f5195c470716b543faa1";
-          sha256 = "0rmq6ca75x47hk2bpsk1j2ja62kpplgyanpiqq4hk6q259rd4lyv";
+          rev = "7c31b22bdbfd2f8c16ec117d2975d56dd61ac15c";
+          sha256 = "0a3p69ay88da13cz2cqx00r3qs2swnn7vkcvchcqyrdybfjs7y4z";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/31f4177ce35313e0f40e9ef0e5a1043ecd181573/recipes/faust-mode";
-          sha256 = "1lfn4q1wcc3vzazv2yzcnpvnmq6bqcczq8lpkz7w8yj8i5kpjvsc";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b362e7daeabd07c726ad9770d7d4941dfffd5b19/recipes/faust-mode";
+          sha256 = "0l8cbf5i6lv6i5vyqp6ngfmrm2y6z2070b8m10w4376kbbnr266z";
           name = "faust-mode";
         };
         packageRequires = [];
@@ -12351,12 +12436,12 @@
     find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "find-file-in-project";
-        version = "5.4.6";
+        version = "5.4.7";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "find-file-in-project";
-          rev = "31ebfd65d254904ba3e5ec96507c0b01d7768940";
-          sha256 = "1xy7a6crng5x7k0x810ijrm882gm597ljwzi4cj2i93js625cw2b";
+          rev = "7be14de3c737e70606d208d8d443b89e58cd646d";
+          sha256 = "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@@ -13090,6 +13175,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck-mmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "flycheck-mmark";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "mmark-md";
+          repo = "flycheck-mmark";
+          rev = "b73b40cb9c5cf6bc6fa501aa87a4c30b210c0c5f";
+          sha256 = "1w75accl67i0qwadwp7dgpxaj0i8zwckvv5isyn93vknzw5dz66x";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/2fd10423ab80e32245bb494005c8f87a8987fffb/recipes/flycheck-mmark";
+          sha256 = "0lnw7pz40hijcpi9b92vjxvvyh9v50ww2f2r8z9pyhl9mjy2245x";
+          name = "flycheck-mmark";
+        };
+        packageRequires = [ emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/flycheck-mmark";
+          license = lib.licenses.free;
+        };
+      }) {};
     flycheck-nimsuggest = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, nim-mode }:
     melpaBuild {
         pname = "flycheck-nimsuggest";
@@ -13282,12 +13388,12 @@
     flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "flycheck-rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -14164,12 +14270,12 @@
     fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fountain-mode";
-        version = "2.4.1";
+        version = "2.4.2";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "fountain-mode";
-          rev = "f1dc9dff6779c0ce6ab0a1c0ae349df1194a314f";
-          sha256 = "0j1s6qws773aq3si7pnc1xmlrh9x3v3sfdni6pnlsirv2sc7c4g9";
+          rev = "e2878da13e7b87a824ebd6c842e9f552369b220c";
+          sha256 = "091c8scwdxfrg710d1rkqad6l2y8hiw8f5jg4ayvrjm7d0s29hsa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@@ -14382,12 +14488,12 @@
     futhark-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "futhark-mode";
-        version = "0.2.0";
+        version = "0.3.0";
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "e574976f5d8df1089672549a913a86c4039ab2cb";
-          sha256 = "0p32sxswyjj22pg25i509d9a4j8k7c6xkbv55pd8jvjfxc2hdy3p";
+          rev = "81b858a79b29622a1db732f97225cad705c4acf5";
+          sha256 = "04zxal7j58whcy384sscwc7npcqdjlq01jjjn0i35pf2v7r045xy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -14445,12 +14551,12 @@
     fwb-cmds = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fwb-cmds";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "fwb-cmds";
-          rev = "57973f99cf4a185b5cccbf941478fad25e8428c3";
-          sha256 = "1c7h043lz10mw1hdsx9viksy6q79jipz2mm18y1inlbqhmg33n2b";
+          rev = "7d4abf8aa13b2235e4e2f0bb9049ebd6b491f710";
+          sha256 = "10xjs8gm9l3riffxip1ffg8xhcf8srffh01yn6ifyln5f70b063d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fe40cdeb5e19628937820181479897acdad40200/recipes/fwb-cmds";
@@ -14883,6 +14989,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    git-attr = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "git-attr";
+        version = "0.0.3";
+        src = fetchFromGitHub {
+          owner = "arnested";
+          repo = "emacs-git-attr";
+          rev = "c03078637a00ea301cbcc7ae301ae928b10af889";
+          sha256 = "05wzy8g0yjkks0zmcvwn9dmr6kxk1bz91xic3c08b0j1z5lbsdv7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3417e4bc586df60b5e6239b1f7683b87953f5b7c/recipes/git-attr";
+          sha256 = "084l3zdcgy1ka2wq1fz9d6ryhg38gxvr52njlv43gwibzvbqniyi";
+          name = "git-attr";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/git-attr";
+          license = lib.licenses.free;
+        };
+      }) {};
     git-auto-commit-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-auto-commit-mode";
@@ -15135,22 +15262,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-timemachine = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    git-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "git-timemachine";
-        version = "3.0";
+        version = "4.4";
         src = fetchFromGitHub {
           owner = "pidu";
           repo = "git-timemachine";
-          rev = "7c66a878ee89861dcd59b5dfc598520daa156052";
-          sha256 = "1brz9dc7ngywndlxbqbi3pbjbjydgqc9bjzf05lgx0pzr1ppc3w3";
+          rev = "020d02cd77df6bf6f0efd4d4c597aad2083b6302";
+          sha256 = "1g7gxa2snh8ya8r3wim834qszhcmpp154gnvqkc3b1gw8x7jdrql";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/41e95e41fc429b688f0852f58ec6ce80303b68ce/recipes/git-timemachine";
           sha256 = "0nhl3g31r4a8j7rp5kbh17ixi16w32h80bc92vvjj3dlmk996nzq";
           name = "git-timemachine";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/git-timemachine";
           license = lib.licenses.free;
@@ -16188,12 +16315,12 @@
     grab-x-link = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "grab-x-link";
-        version = "0.4.1";
+        version = "0.5";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "grab-x-link";
-          rev = "d2ef886097f59e1facc5cb5d8cd1c77bf340be76";
-          sha256 = "1iny8ga9xb7pfd59l4ljlj6zvvxzr7bv468sibkhlaqvjljn2xq1";
+          rev = "d19f0c0da0ddc55005a4c1cdc2b8c5de8bea1e8c";
+          sha256 = "1l9jg2w8ym169b5dhg3k5vksbmicg4n1a55x7ddjysf8n887cpid";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/64d4d4e6f9d6a3ea670757f248afd355baf1d933/recipes/grab-x-link";
@@ -17120,12 +17247,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "2.8.7";
+        version = "2.8.8";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5b2057c7755f6ea20e1ea011c6fb992d12650161";
-          sha256 = "0hf27j1rv3xnnari70k7p1b51pdyv6zsp1r6b8xk4qwp8y0crpx9";
+          rev = "5b7237acc11ed0fbee10af9cf6345da7c3d9dd26";
+          sha256 = "18ay4c5mvr5b5i8qfn1h75yy5znzm1l6h5rhhzhhaiidvb2arr69";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -17348,22 +17475,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, seq }:
+    helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-cider";
-        version = "0.3.0";
+        version = "0.4.0";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "helm-cider";
-          rev = "a24ef274e382c1a158a76eae2570f1f007031cb8";
-          sha256 = "062abfb4sfpcc6fx3nrf3j0bisglrhyrg7rxwhhcqm9jhalksmdl";
+          rev = "9a948b834dd31b3f60d4701d6dd0ecfab0adbb72";
+          sha256 = "0wssd9jv6xighjhfh3p8if1anz3rcrjr71a4j063v6gyknb7fv27";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-cider";
           sha256 = "0ykhrvh6mix55sv4j8q6614sibksdlwaks736maamqwl3wk6826x";
           name = "helm-cider";
         };
-        packageRequires = [ cider emacs helm-core seq ];
+        packageRequires = [ cider emacs helm-core ];
         meta = {
           homepage = "https://melpa.org/#/helm-cider";
           license = lib.licenses.free;
@@ -17456,12 +17583,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "2.8.7";
+        version = "2.8.8";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5b2057c7755f6ea20e1ea011c6fb992d12650161";
-          sha256 = "0hf27j1rv3xnnari70k7p1b51pdyv6zsp1r6b8xk4qwp8y0crpx9";
+          rev = "5b7237acc11ed0fbee10af9cf6345da7c3d9dd26";
+          sha256 = "18ay4c5mvr5b5i8qfn1h75yy5znzm1l6h5rhhzhhaiidvb2arr69";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -18422,12 +18549,12 @@
     helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "helm-rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -18545,6 +18672,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "helm-system-packages";
+        version = "1.8.0";
+        src = fetchFromGitHub {
+          owner = "emacs-helm";
+          repo = "helm-system-packages";
+          rev = "beb7e488454402a122b9dec9a019ea190b9b7dc3";
+          sha256 = "0wclsv69v84d7bknnlralham94s7iqal7aczsvfxgj97hpwgywfz";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages";
+          sha256 = "01mndx2zzh7r7gmpn6gd1vy1w3l6dnhvgn7n2p39viji1r8b39s4";
+          name = "helm-system-packages";
+        };
+        packageRequires = [ emacs helm seq ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-system-packages";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-themes = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-themes";
@@ -19451,12 +19599,12 @@
     ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ialign";
-        version = "0.3.0";
+        version = "0.4.1";
         src = fetchFromGitHub {
           owner = "mkcms";
           repo = "interactive-align";
-          rev = "f022c86d566a4b0b4ffdc5c8c75a4a7b9468fa71";
-          sha256 = "087rjk26pfa29igq3cbp48yaxlm4xqz62svszbdb1hjfip5y453a";
+          rev = "523df320197b587abd8c0ec4e9fbc763aeab1cf6";
+          sha256 = "04jak5j4yywl7fn5sggc125yh6cy0livf55194mfxs2kmbs5wm0h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
@@ -19490,6 +19638,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ibuffer-tramp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ibuffer-tramp";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "svend";
+          repo = "ibuffer-tramp";
+          rev = "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3";
+          sha256 = "1ry7nbhqhjy6gkxd10s97nbm6flk5nm0l5q8071fprx8xxphqj8f";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a7449b15cb2a89cf06ea3de2cfdc6bc387db3b/recipes/ibuffer-tramp";
+          sha256 = "11a9b9g1jk2r3fldi012zka4jzy68kfn4991xp046qm2fbc7la32";
+          name = "ibuffer-tramp";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/ibuffer-tramp";
+          license = lib.licenses.free;
+        };
+      }) {};
     ibuffer-vc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ibuffer-vc";
@@ -19598,12 +19767,12 @@
     ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, s }:
     melpaBuild {
         pname = "ido-completing-read-plus";
-        version = "4.5";
+        version = "4.7";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-completing-read-plus";
-          rev = "e8cfebac1df2bfca52003f28ed84cb1a39dc8345";
-          sha256 = "14g5v823wsr0sgrawqw9kwilm68w0k4plz3b00jd7z903np9cxih";
+          rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
+          sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+";
@@ -19700,22 +19869,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
+    ido-ubiquitous = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-ubiquitous";
-        version = "4.5";
+        version = "4.7";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-completing-read-plus";
-          rev = "e8cfebac1df2bfca52003f28ed84cb1a39dc8345";
-          sha256 = "14g5v823wsr0sgrawqw9kwilm68w0k4plz3b00jd7z903np9cxih";
+          rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
+          sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-ubiquitous";
           sha256 = "11sdk0ymsqnsw1gycvq2wj4j0g502fp23qk6q9d95lm98nz68frz";
           name = "ido-ubiquitous";
         };
-        packageRequires = [ cl-lib emacs ido-completing-read-plus ];
+        packageRequires = [ cl-lib ido-completing-read-plus ];
         meta = {
           homepage = "https://melpa.org/#/ido-ubiquitous";
           license = lib.licenses.free;
@@ -20062,14 +20231,14 @@
         pname = "impatient-mode";
         version = "1.0.0";
         src = fetchFromGitHub {
-          owner = "netguy204";
-          repo = "imp.el";
+          owner = "skeeto";
+          repo = "impatient-mode";
           rev = "eba1efce3dd20b5f5017ab64bae0cfb3b181c2b0";
           sha256 = "0vr4i3ayp1n8zg3v9rfv81qnr0vrdbkzphwd5kyadjgy4sbfjykj";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/bb1fbd03f17d2069a461260ad5e2ad4e5441919b/recipes/impatient-mode";
-          sha256 = "05vp04zh5w0ss959galdrnridv268dzqymqzqfpkfjbg8kryzfxg";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/aaa64c4d43139075d77f4518de94bcbe475d21fc/recipes/impatient-mode";
+          sha256 = "07z5ds3zgzkxvxwaalp9i5x2rl5sq4jjk8ygk1rfmsl52l5y1z6j";
           name = "impatient-mode";
         };
         packageRequires = [ cl-lib htmlize simple-httpd ];
@@ -20204,6 +20373,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    inf-crystal = callPackage ({ crystal-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "inf-crystal";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "brantou";
+          repo = "inf-crystal.el";
+          rev = "71a330f2d29e2fb4f51d223cf6230b88620a80af";
+          sha256 = "0vija33n2j4j5inzm29qk1bjzaxjm97zn263j15258pqxwkbddv3";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ff84c742eebb84577f362b2739f4bcf1434d58ac/recipes/inf-crystal";
+          sha256 = "09ssq7i5c2fxxbrsp3nn1f1ah1yv2nb19n5s1iqyykkk316k2q26";
+          name = "inf-crystal";
+        };
+        packageRequires = [ crystal-mode emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/inf-crystal";
+          license = lib.licenses.free;
+        };
+      }) {};
     inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-ruby";
@@ -20267,6 +20457,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    info-colors = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "info-colors";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "ubolonton";
+          repo = "info-colors";
+          rev = "13dd9b6a7288e6bb692b210bcb9cd72016658dae";
+          sha256 = "1h2q19574sc1lrxm9k78668pwcg3z17bnbgykmah01zlmbs264sx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/d671ae8dc27439eea427e1848fc11c96ec5aee64/recipes/info-colors";
+          sha256 = "1mbabrfdy9xn7lpqivqm8prp83qmdv5r0acijwvxqd3a52aadc2x";
+          name = "info-colors";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/info-colors";
+          license = lib.licenses.free;
+        };
+      }) {};
     inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inherit-local";
@@ -20815,12 +21026,12 @@
     ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ivy-rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -21191,12 +21402,12 @@
     js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js-auto-format-mode";
-        version = "1.0.6";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "ybiquitous";
           repo = "js-auto-format-mode";
-          rev = "37e83641fd5eab45e813e4bc74a835fe7229c160";
-          sha256 = "0hmrhp3lijd77kl0b98nbl1p8fmgjfry2hhvh5vickx3315w7qgw";
+          rev = "6bd44162ac422304803f606278bb0c08ab940a5d";
+          sha256 = "1hy4wyw7yi93ngagg9qmkljjqaypfnzks3vny1pn6d5nw2acb1vx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode";
@@ -21632,12 +21843,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "1.2.0";
+        version = "1.3.0";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "88a25b89a480f1193cc1c5502f3a5d0b68cb7227";
-          sha256 = "03bbpaih29yx8s16v59mca8v6sak6294zq7d534613la28n4h6w7";
+          rev = "d730208cff185ee86a81f8a5a6feadfea78ab9cc";
+          sha256 = "0xfb8zi6jvwdivklc3lk5dzf8nnx05pm4fip44s4al6ajns8hgya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -22196,6 +22407,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lcr = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "lcr";
+        version = "0.9";
+        src = fetchFromGitHub {
+          owner = "jyp";
+          repo = "lcr";
+          rev = "3bc341205bba437c8fec4fefefaf39793c0405ae";
+          sha256 = "0jvdnb3fn33wq7ixb7ayrallq1j5gc9nh3i3nmy03yg11h60h1am";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/29374d3da932675b7b3e28ab8906690dad9c9cbe/recipes/lcr";
+          sha256 = "07syirjlrw8g95zk273953mnmg9x4bv8jpyvvzghhin4saiiiw3k";
+          name = "lcr";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/lcr";
+          license = lib.licenses.free;
+        };
+      }) {};
     leanote = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pcache, request, s }:
     melpaBuild {
         pname = "leanote";
@@ -22409,12 +22641,12 @@
     linum-relative = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "linum-relative";
-        version = "0.5";
+        version = "0.6";
         src = fetchFromGitHub {
           owner = "coldnew";
           repo = "linum-relative";
-          rev = "b8a99dcfe38a491172a8193053fb7849634b43c0";
-          sha256 = "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s";
+          rev = "896df4b40c1e1eb59f55fcee48a1543f0ccd724e";
+          sha256 = "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/97ae01be4892a7c35aa0f82213433a2944041d87/recipes/linum-relative";
@@ -22626,12 +22858,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "2.20.1";
+        version = "2.21.1";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "eed38dc66430802e754c48bb44aaf524d7b1596c";
-          sha256 = "1rl279h18z9fka4zdaqm2h4jxpq3wykja3x7jyhj4bnrqvkw66gh";
+          rev = "e0a5627e6591e1cbb9f93aabc44adbdc50b346c9";
+          sha256 = "0dhm7gdd1smlibj5jmzps97kwkpzcigbdp0l26baa2mkc6155y66";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -23011,8 +23243,8 @@
           sha256 = "1zvib46hn2c0g2zdnf4vcwjrs9dj5sb81hpqm7bqm8f97p9dv6ym";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit";
-          sha256 = "03cmja9rcqc9250bsp1wwv94683mrcbnz1gjn8y7v62jlfi5qws5";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9a6277974a7a38c0c46d9921b54747a85501a/recipes/magit";
+          sha256 = "1wbqz2s1ips0kbhy6jv0mm4vh110m5r65rx0ik11dsqv1fv3hwga";
           name = "magit";
         };
         packageRequires = [
@@ -23115,12 +23347,12 @@
     magit-gh-pulls = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, magit, melpaBuild, pcache, s }:
     melpaBuild {
         pname = "magit-gh-pulls";
-        version = "0.5.2";
+        version = "0.5.3";
         src = fetchFromGitHub {
           owner = "sigma";
           repo = "magit-gh-pulls";
-          rev = "e4a73781e3c1c7e4a09232b25e3474463cdf77b6";
-          sha256 = "19iqa2kzarpa75xy34hqvpy1y7dzx84pj540wwkj04dnpb4fwj2z";
+          rev = "d526f4c9ee1709c79f8a4630699ce1f25ae054e7";
+          sha256 = "11fd3c7wnqy08khj6za8spbsm3k1rqqih21lbax2iwvxl8jv4dv0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9b54fe4f51820c2f707e1f5d8a1128fff19a319c/recipes/magit-gh-pulls";
@@ -23178,12 +23410,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "2.12.1";
+        version = "2.12.2";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit-popup";
-          rev = "5a2a6f2907a09c7592c4631d2678dd7ab44fd5a2";
-          sha256 = "0m8h6jc87bcl3lhygc06la4hs7sh6c7vflxlqvwr3bfmknl8l8yw";
+          rev = "ab75385a1fb8c0fba0769d448b13ba8324835261";
+          sha256 = "0ky4l3k3camh1paa5ap9frr9hcadj7nj40l3imiiqfcvgyl8ijp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
@@ -23199,12 +23431,12 @@
     magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
     melpaBuild {
         pname = "magit-rockstar";
-        version = "1.0.6";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "magit-rockstar";
-          rev = "a65042e3445008b55190f1258ae54bd78e12174b";
-          sha256 = "1wbbg9jr9kl69sbq9b9dgwvnplmdzjyanwfcncamw3lfcjfnw1bn";
+          rev = "c8320472e8a50c8299140ba0943bb1fe485d294a";
+          sha256 = "1xjym51z0v7ibxw059f6k3zljli6z390rmxvrywbfzkb8hqms0l1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
@@ -25594,12 +25826,12 @@
     nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nov";
-        version = "0.2.1";
+        version = "0.2.2";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "nov.el";
-          rev = "19ab463864f137b43704b4f34173349c88e84d8e";
-          sha256 = "00f5hhw157nwdwy26yn6l3z2hgk6xxvx5xl0hasskj1l9rg0zgh2";
+          rev = "4ef20ebb587ffb0ab73c85ad5748d41af1071596";
+          sha256 = "03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
@@ -26245,12 +26477,12 @@
     omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
     melpaBuild {
         pname = "omnisharp";
-        version = "4.1";
+        version = "4.2";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "95f56022edf9fcaba8402db05a6927af050b12a8";
-          sha256 = "133maq29hfjaq4vilz9wvr9vjkschkpydkw2197sscv7whfzv78j";
+          rev = "588b8482685adedbc56933cb13c58d9cc6a82456";
+          sha256 = "1iqwxc19jvcb2gsm2aq59zblg1qjmbxgb2yl3h3aybqp968j3i00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -27460,6 +27692,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-wild-notifier = callPackage ({ alert, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-wild-notifier";
+        version = "0.2.2";
+        src = fetchFromGitHub {
+          owner = "akhramov";
+          repo = "org-wild-notifier.el";
+          rev = "28f6af12a9efbcab53e310363c451f53ce8ea3f2";
+          sha256 = "00v4f26np4i947xgqr03wylz4ichc168znlwxn4l6np1s85i3mzb";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier";
+          sha256 = "1lmpa614jnkpmfg3m1d2wjn9w0zig3gwd02n3dyjn23n71fiyhkp";
+          name = "org-wild-notifier";
+        };
+        packageRequires = [ alert dash org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-wild-notifier";
+          license = lib.licenses.free;
+        };
+      }) {};
     org2blog = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, metaweblog, org, xml-rpc }:
     melpaBuild {
         pname = "org2blog";
@@ -27871,12 +28124,12 @@
     ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-epub";
-        version = "0.2.4";
+        version = "0.3";
         src = fetchFromGitHub {
           owner = "ofosos";
           repo = "ox-epub";
-          rev = "4b4585264a28152f2eda0f7e5ceed132f9d23e16";
-          sha256 = "1k3lv4qqkp87piwlwl3gahac1zpjzv397f65g4khbpby2kgg8dpi";
+          rev = "3d958203e169cbfb2204c43cb4c5543befec0b9d";
+          sha256 = "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
@@ -27913,12 +28166,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "0.7";
+        version = "0.8";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "b47f6f79603adb4f505500ed83150afca7601cfc";
-          sha256 = "1xlkmiwgxsai0hsx9r1gx88bdj72vxaq0icr399ksnwba58rwmr1";
+          rev = "9751d34e1133b89a533a978c085b0715f85db648";
+          sha256 = "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -28183,6 +28436,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    panda-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "panda-theme";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "jamiecollinson";
+          repo = "emacs-panda-theme";
+          rev = "ae24179e7a8a9667b169f00dbd891257530c1d22";
+          sha256 = "05vv4idl9h59jd089hpd09xcy1ix30bq0c4fif2b66170aychvii";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a90ca1275ceab8e1ea4fdfa9049fbd24a5fd0bf5/recipes/panda-theme";
+          sha256 = "1q3zp331hz8l54p8ym9jrs4f36aj15r8aka6bqqnalnk237xqxl7";
+          name = "panda-theme";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/panda-theme";
+          license = lib.licenses.free;
+        };
+      }) {};
     pandoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pandoc";
@@ -28310,12 +28584,12 @@
     paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "paren-face";
-        version = "1.0.2";
+        version = "1.0.3";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "paren-face";
-          rev = "0a7cbd65bb578cc52a9dc495a4fcaf23a57507bf";
-          sha256 = "0wsnng874dbyikd4dgx2rxmcp0774ix5v29dq372zynq6lamqkl7";
+          rev = "166975683225367c866e6ae6f6acb88d24e21a35";
+          sha256 = "02mh8w2na6qa94p3bh6pvdvmg36p2vrbp5hpjnwjcayrb92dskgy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face";
@@ -30663,6 +30937,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pynt = callPackage ({ deferred, ein, emacs, epc, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pynt";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "ebanner";
+          repo = "pynt";
+          rev = "bc750cd244141005ea3b7bb87f75c6f6c5a5778f";
+          sha256 = "0mj8lkc40iv8d6afl4dba7gsbi0mgnx9ivanvczq6pxp5d4kgfsn";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fdb297084188a957a46dcd036e65d9d893044bea/recipes/pynt";
+          sha256 = "07c0zc68r3pskn3bac3a8x5nrsykl90a1h22865g3i5vil76vvg3";
+          name = "pynt";
+        };
+        packageRequires = [ deferred ein emacs epc helm ];
+        meta = {
+          homepage = "https://melpa.org/#/pynt";
+          license = lib.licenses.free;
+        };
+      }) {};
     python-environment = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-environment";
@@ -30750,12 +31045,12 @@
     pyvenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pyvenv";
-        version = "1.10";
+        version = "1.11";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "pyvenv";
-          rev = "91c47b8d2608ccbcac2eba91f0e36b422101ce55";
-          sha256 = "09c0f7ln1in8h03idbzggvmqkxj6i9jdjbmg1nnyarhffmgbcvnh";
+          rev = "f925bcb46ea64b699f7cd06933c48e0d5db88b73";
+          sha256 = "1a346qdimr1dvj53q033aqnahwd2dhyn9jadrs019nm0bzgw7g63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv";
@@ -31170,12 +31465,12 @@
     rdf-prefix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rdf-prefix";
-        version = "1.9";
+        version = "1.10";
         src = fetchFromGitHub {
           owner = "simenheg";
           repo = "rdf-prefix";
-          rev = "25cc3c8902f16191496b549705b00ffc7dff51f1";
-          sha256 = "00ycsqzgn5rq8r4r86z1j43i2a7wj4r3c2vcggdaizyf4parmgmy";
+          rev = "164136d05505275d42d1ca3a390f55fcc89694b8";
+          sha256 = "18jp3yynnk2248mzwf8h62awfw8fh25m5ah5di0dg62xw56l9nig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f083bd629697038ea6391c7a4eeedc909a5231/recipes/rdf-prefix";
@@ -31600,8 +31895,8 @@
         src = fetchFromGitHub {
           owner = "edvorg";
           repo = "req-package";
-          rev = "15c0dfecad2bb939e97abf9d0c7fa086676e5c05";
-          sha256 = "0qidddvnv2qdcqx4b1fkp8lbax6hzp7np4c6r66h0d33dk6b7m77";
+          rev = "0c0ac7451149dac6bfda2adfe959d1df1c273de6";
+          sha256 = "0sx3kw1gpliifbc0gh2z1lvig68v3gwqjbj0izgn77js8kqxad84";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package";
@@ -31785,12 +32080,12 @@
     rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "rg";
-        version = "1.4.0";
+        version = "1.4.1";
         src = fetchFromGitHub {
           owner = "dajva";
           repo = "rg.el";
-          rev = "5de611eae7787ecbc285fe7e31e412b9281a4e14";
-          sha256 = "18mhcipj5yywd5648pwm955wx3ipsnp9nwjyyl270qnn56hwkb6g";
+          rev = "68984092d0e0725057e7b67ba32016903170f189";
+          sha256 = "0qd3qh640339n1dn1isk23xhnkj0pds08yzfak4ijxyzlgl63bdq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
@@ -32058,12 +32353,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "2.16";
+        version = "2.18";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "8ef7554852541eced514c56d5e39d6073f7a2ef9";
-          sha256 = "0hh9m0ykw3r9h4gv4a99px00py1h5hs86043mp1m0nmkjibf6w56";
+          rev = "98d668e85cf9ae84e775742752c5656dd2df2f17";
+          sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -33673,12 +33968,12 @@
     smart-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rich-minority }:
     melpaBuild {
         pname = "smart-mode-line";
-        version = "2.10.1";
+        version = "2.11.0";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "8fd76a66abe4d37925e3d6152c6bd1e8648a293a";
-          sha256 = "1176fxrzzk4fyp4wjyp0xyqrga74j5csr5x37mlgplh9790248dx";
+          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
+          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line";
@@ -33694,12 +33989,12 @@
     smart-mode-line-powerline-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, smart-mode-line }:
     melpaBuild {
         pname = "smart-mode-line-powerline-theme";
-        version = "2.10.1";
+        version = "2.11.0";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "smart-mode-line";
-          rev = "8fd76a66abe4d37925e3d6152c6bd1e8648a293a";
-          sha256 = "1176fxrzzk4fyp4wjyp0xyqrga74j5csr5x37mlgplh9790248dx";
+          rev = "5aca51956fae55d7310c1f96b5d128201087864a";
+          sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/60072b183151e519d141ec559b4902d20c87904c/recipes/smart-mode-line-powerline-theme";
@@ -33946,12 +34241,12 @@
     snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "snakemake-mode";
-        version = "1.2.1";
+        version = "1.3.0";
         src = fetchFromGitHub {
           owner = "kyleam";
           repo = "snakemake-mode";
-          rev = "22b3efd741e26f59e18c9fd28691d8b84c9130ab";
-          sha256 = "0hjp5ci7miggw0gs2y8q867gi7p3dq2yyfkckkh52isrp0yvz0wf";
+          rev = "6cf6d20db2e5253ce3f86e302651faa28f220aa7";
+          sha256 = "0dmvd5f5rb5kkzjkhzz17b40hlld23sy5wyzr8vq763f6pzs37kk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode";
@@ -35037,12 +35332,12 @@
     swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "swift-mode";
-        version = "4.0.1";
+        version = "4.1.0";
         src = fetchFromGitHub {
           owner = "chrisbarrett";
           repo = "swift-mode";
-          rev = "8c45f69a078c41619a7a3db6d54a732c3fad8e3f";
-          sha256 = "1isy71vkws3ywm4iwa85dk12810az3h85n6bimd36dfqbhfwdrli";
+          rev = "7739e4954cc614ecd6b37e935f82ad057e256d56";
+          sha256 = "09mvwfi3nv4hkdvh76d7737nl3zaxn4a5vpmv2645q9s4vcq8zj8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
@@ -35100,12 +35395,12 @@
     swiper-helm = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "swiper-helm";
-        version = "0.1.0";
+        version = "0.2.0";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper-helm";
-          rev = "f3d6dba865629eed8fb14f92dab1fad50734891b";
-          sha256 = "1y2dbd3ikdpjvi8xz10jkrx2773h7cgr6jxm5b2bldm81lvi8x64";
+          rev = "93fb6db87bc6a5967898b5fd3286954cc72a0008";
+          sha256 = "05n4h20lfyg1kis5rig72ajbz680ml5fmsy6l1w4g9jx2xybpll2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/674c709490e13267e09417e08953ff76bfbaddb7/recipes/swiper-helm";
@@ -36044,12 +36339,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "2.6.2";
+        version = "2.7.1";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "1ee2e6e5f6e22b180af08264e5654b26599f96fe";
-          sha256 = "0gd149vlf3297lm595xw3hc9jd45wisbrpbr505qhkffrj60q1lq";
+          rev = "6ca5319cdd581d323944584242a1ba45a115ee3d";
+          sha256 = "1jcnzx8g742pfh9nv3gcsxdj31kfpjzl202by30pzg2xz54i48gb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -36211,12 +36506,12 @@
     tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tracking";
-        version = "2.6";
+        version = "2.7";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "circe";
-          rev = "59f1096238e6c30303a6fe9fc1c635f49e5946c6";
-          sha256 = "19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j";
+          rev = "661a2cdb3a3d9bc11ee511a4f90116c88e0d3484";
+          sha256 = "19fcvmm915dz9l2w1rna4yik96rb3hrk7042012g961xn4sgs0ih";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
@@ -36232,12 +36527,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "0.12";
+        version = "0.12.1";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "0de5a5fa2438890ae9c2ca61999042ab175df3e9";
-          sha256 = "1wqlbbm71s1hvglsdp1qs7nvj6gnkjkai4rr8hhp1lliiyd5vmia";
+          rev = "03a36853f141387654b7cb9217c7417db096a083";
+          sha256 = "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -36274,12 +36569,12 @@
     treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "1.15.3";
+        version = "1.16.1";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
-          sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
+          rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
+          sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
@@ -36295,12 +36590,12 @@
     treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
     melpaBuild {
         pname = "treemacs-evil";
-        version = "1.15.3";
+        version = "1.16.1";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
-          sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
+          rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
+          sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
@@ -36316,12 +36611,12 @@
     treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
     melpaBuild {
         pname = "treemacs-projectile";
-        version = "1.15.3";
+        version = "1.16.1";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
-          sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
+          rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
+          sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
@@ -36970,6 +37265,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    usql = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "usql";
+        version = "0.0.1";
+        src = fetchFromGitHub {
+          owner = "nickbarnwell";
+          repo = "usql.el";
+          rev = "4cd8f4cf5c2e75485343321f02d621915aef10e8";
+          sha256 = "0cw25g8jvfjpzq3sabc3zbp0qynknzc0mq5psspcbxffk2qalbb9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c8f6b968312a09d062fcc8f942d29c93df2a5a3c/recipes/usql";
+          sha256 = "10ks164kcly5gkb2qmn700a51kph2sry4a64jwn60p5xl7w7af84";
+          name = "usql";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/usql";
+          license = lib.licenses.free;
+        };
+      }) {};
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
@@ -37708,12 +38024,12 @@
     webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "webpaste";
-        version = "2.0.0";
+        version = "2.1.0";
         src = fetchFromGitHub {
           owner = "etu";
           repo = "webpaste.el";
-          rev = "aed3e00b6332a068d53ce482f5139a95c3dcd245";
-          sha256 = "1p4sgn0rh8a5f0f6f1njq329zwgs6yp8j3zqs0yfz4kaikw1xw10";
+          rev = "2da60b8857d107721b089346121a7d51296a58bf";
+          sha256 = "1r945qz7z5z80qvzlqvz985mz51zy3pj3fk36y0flc380y4ap6hd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste";
@@ -38715,12 +39031,12 @@
     xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xterm-color";
-        version = "1.6";
+        version = "1.7";
         src = fetchFromGitHub {
           owner = "atomontage";
           repo = "xterm-color";
-          rev = "ed3d0f4ccb2b28ff034192c50f244a97197d3911";
-          sha256 = "0djh18lm3xn9h4fa5ra0jrlzdzwhvhcalipj73j5gmmfaif4ya9q";
+          rev = "42374a98f1039e105cad9f16ce585dffc96a3f1c";
+          sha256 = "09mzzql76z3gn39qnfjspm8waps8msbkilmlk3n2zrizpbps6crj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color";
@@ -38859,6 +39175,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    yapfify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "yapfify";
+        version = "0.0.6";
+        src = fetchFromGitHub {
+          owner = "JorisE";
+          repo = "yapfify";
+          rev = "9e63a9135bd8dbfbee55819837a3aa0d119c5e6f";
+          sha256 = "1bf09hah2g8x0jbrdh4fm1v01qjymiv38yvv8a5qmfpv5k93lcrc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/060c32d8e9fdc56fe702d265a935d74d76082f86/recipes/yapfify";
+          sha256 = "0scl8lk1c5i7jp1qj5gg8zf3zyi8lkb57ijkmvcs4czzlyv3y9bm";
+          name = "yapfify";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/yapfify";
+          license = lib.licenses.free;
+        };
+      }) {};
     yard-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yard-mode";
@@ -38943,22 +39280,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    yatemplate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
+    yatemplate = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "yatemplate";
-        version = "2.0";
+        version = "3.0";
         src = fetchFromGitHub {
           owner = "mineo";
           repo = "yatemplate";
-          rev = "90c14d2e2b8247eeba464a52560af484f8542558";
-          sha256 = "00q3803nz89r91v1rwld98j1wgfc7kc6ni5a3h3zjwz1issyv5is";
+          rev = "c1de31d2b16d98af197a4392b6481346ab4e8d57";
+          sha256 = "0lp5ym2smmvmlxpdyv4kh75qsz8dsdz9afd8nxaq8y4fazzabblx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ba3cdb74f121cbf36b6d9d5a434c363905ce526/recipes/yatemplate";
           sha256 = "05gd9sxdiqpw2p1kdagwgxd94wiw1fmmcsp9v4p74i9sqmf6qn6q";
           name = "yatemplate";
         };
-        packageRequires = [ yasnippet ];
+        packageRequires = [ emacs yasnippet ];
         meta = {
           homepage = "https://melpa.org/#/yatemplate";
           license = lib.licenses.free;
@@ -38969,8 +39306,8 @@
         version = "1.80";
         src = fetchhg {
           url = "https://www.yatex.org/hgrepos/yatex/";
-          rev = "cef987df070f";
-          sha256 = "1nryf7pizmwhyk2jw5dgild031xb6xylyyhr8pwx74iijcbpz2qh";
+          rev = "b1896ef49747";
+          sha256 = "1a8qc1krskl5qdy4fikilrrzrwmrghs4h1yaj5lclzywpc67zi8b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index 9673166c2fd1..f011d361cbcb 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 = "20180115";
+        version = "20180205";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20180115.tar";
-          sha256 = "1zc75kxbx9bk1xag46s027a290fnva1id8vv92lz9i5nkqnrm430";
+          url = "https://orgmode.org/elpa/org-20180205.tar";
+          sha256 = "03045w9pr45byrj7wqzkb6i56d4r7xykfr066qmywspk764wmfyh";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20180115";
+        version = "20180205";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20180115.tar";
-          sha256 = "1gm6b0hpa4y83bxsbps39b1xvq99m1dh9nbvn9r4spw4rxhhfppy";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20180205.tar";
+          sha256 = "0pbs3b0miqmpjw3d6mcw61dqyy6gnpdq6m18xmkbfvk5nn9lv7i6";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
index 1cdcb9b85544..de72b24f87ac 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-11-06";
+  version = "2018-01-30";
 
   src = fetchFromGitHub {
     owner = "ProofGeneral";
     repo = "PG";
-    rev = "2eab72c33751768c8a6cde36b978ea4a36b91843";
-    sha256 = "1l3n48d6d4l5q3wkhdyp8dc6hzdw1ckdzr57dj8rdm78j87vh2cg";
+    rev = "945cada601c5729edd16fcc989a3969c8b34d20a";
+    sha256 = "1zjmbhq6c8g8b93nnsvr5pxx6mlcndb0fz152b2h80vfh9663cn8";
   };
 
   buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el
index b41ca92db086..cc1ab1d0e303 100644
--- a/pkgs/applications/editors/emacs/site-start.el
+++ b/pkgs/applications/editors/emacs/site-start.el
@@ -1,18 +1,39 @@
-;;; NixOS specific load-path
-(setq load-path
-      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                               (split-string (or (getenv "NIX_PROFILES") ""))))
-              load-path))
+(defun nix--profile-paths ()
+  "Returns a list of all paths in the NIX_PROFILES environment
+variable, ordered from more-specific (the user profile) to the
+least specific (the system profile)"
+  (reverse (split-string (or (getenv "NIX_PROFILES") ""))))
+
+;;; Extend `load-path' to search for elisp files in subdirectories of
+;;; all folders in `NIX_PROFILES'. Also search for one level of
+;;; subdirectories in these directories to handle multi-file libraries
+;;; like `mu4e'.'
+(require 'seq)
+(let* ((subdirectory-sites (lambda (site-lisp)
+                             (when (file-exists-p site-lisp)
+                               (seq-filter (lambda (f) (file-directory-p (file-truename f)))
+                                           ;; Returns all files in `site-lisp', excluding `.' and `..'
+                                           (directory-files site-lisp 'full "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)")))))
+       (paths (apply #'append
+                     (mapcar (lambda (profile-dir)
+                               (let ((site-lisp (concat profile-dir "/share/emacs/site-lisp/")))
+                                 (cons site-lisp (funcall subdirectory-sites site-lisp))))
+                             (nix--profile-paths)))))
+  (setq load-path (append paths load-path)))
+
 
 ;;; Make `woman' find the man pages
 (eval-after-load 'woman
   '(setq woman-manpath
-         (append (reverse (mapcar (lambda (x) (concat x "/share/man/"))
-                                  (split-string (or (getenv "NIX_PROFILES") ""))))
+         (append (mapcar (lambda (x) (concat x "/share/man/"))
+                         (nix--profile-paths))
                  woman-manpath)))
 
 ;;; Make tramp work for remote NixOS machines
 (eval-after-load 'tramp
+  ;; TODO: We should also add the other `NIX_PROFILES' to this path.
+  ;; However, these are user-specific, so we would need to discover
+  ;; them dynamically after connecting via `tramp'
   '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
 
 ;;; C source directory
@@ -22,9 +43,9 @@
 ;;; from: /nix/store/<hash>-emacs-<version>/share/emacs/site-lisp/site-start.el
 ;;; to:   /nix/store/<hash>-emacs-<version>/share/emacs/<version>/src/
 (let ((emacs
-       (file-name-directory                      ;; .../emacs/
-        (directory-file-name                     ;; .../emacs/site-lisp
-         (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/
+       (file-name-directory                      ; .../emacs/
+        (directory-file-name                     ; .../emacs/site-lisp
+         (file-name-directory load-file-name)))) ; .../emacs/site-lisp/
       (version
        (file-name-as-directory
         (concat
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 3dabbea5ea7a..0e77094b819c 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -234,12 +234,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2017.3.1"; /* updated by script */
+    version = "2017.3.3"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "19pb78s5pa5ywifi1azs8gpg0a65c9n3yiqng348a7s27azkw01z"; /* updated by script */
+      sha256 = "0j090863y68ppw34qkldm8h4lpbhalhqn70gb0ifj9bglf17503d"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -260,12 +260,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2017.3"; /* updated by script */
+    version = "2017.3.1"; /* 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 = "0l4l0lsmq1g4fwfrxhbrnfsp8nk38ml48cryvdr241zsxz43fax0"; /* updated by script */
+      sha256 = "0cfjfv01ra67sr8n8ijqwd9zm2yzb1nm447kf0mr5cynr124ch0z"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "goland_release";
@@ -273,12 +273,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2017.3.2";
+    version = "2017.3.4"; /* 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 = "70cc4f36a6517c7af980456758214414ea74c5c4f314ecf30dd2640600badd62"; /* updated by script */
+      sha256 = "15qsfirzmmjhwzkhx36zr4n0z5lhs021n2n3wim01g309ymr4gl9"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IDEA_Release";
@@ -286,12 +286,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2017.3.4"; /* 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 = "0lygnhn2wbs1678g3jbd3c5yzxnjp106qx7v9kgvb1k6l9mqb3my"; /* updated by script */
+      sha256 = "0f937s6zc1sv0gdlxf9kkc8l8rg78a5mxsfr2laab0g37rfy8c99"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IDEA_Release";
@@ -299,12 +299,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2017.3.2";
+    version = "2017.3.4"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1grkqvj4j33d8hmy11ipkcci20sw7jpnc5zl28a9g85f2pzvsvs0";
+      sha256 = "1hxkn0p0lp021bbysypwn8s69iggb76iwq38jv5a1ql7v5r1nwvd"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PS2017.3";
@@ -312,12 +312,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2017.3.3"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1xp4hva2wj2r3haqwmji4vpg6xm9fsx2xihslwmq89vfrbzybyq6"; /* updated by script */
+      sha256 = "1j9pp8lfy62d9l3953d5mpij60s6sqyv3bcjimgy85hsrw570x3r"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm_Release";
@@ -325,12 +325,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2017.3.3"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0bqavq9f9pg82yh04bpzpb3a36980v2bn70j1ch6gsm3hdd75swv"; /* updated by script */
+      sha256 = "180cwva49air4j7g409algrm4svvmcbapspf9als3djhazqmczgr"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm_Release";
@@ -351,12 +351,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2017.3.1"; /* updated by script */
+    version = "2017.3.2"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "01y89blg30y41j2h254mhf7b7d7nd3bgscinn03vpkjfg7hzr689"; /* updated by script */
+      sha256 = "1dc14k7i0nfhkzi0j53hysqzxcls29j487jr9kv1aqp81k544bdy"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "rm2017.3";
@@ -364,12 +364,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2017.3.2"; /* updated by script */
+    version = "2017.3.4"; /* 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 = "1if99qjpnf9x7d3f1anpiglg9lwc3phamfd4wbyi9yjnk3rf5qcr"; /* updated by script */
+      sha256 = "0d5whqa6c76l6g5yj0yq8a3k1x6d9kxwnac1dwsiy5dbr5jk0cyj"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WS_Release";
diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix
index a1506eb9d6cc..751b78ab674b 100644
--- a/pkgs/applications/editors/moe/default.nix
+++ b/pkgs/applications/editors/moe/default.nix
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
     sha256 = "1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q";
   };
 
+  prePatch = ''
+    substituteInPlace window_vector.cc --replace \
+      "insert( 0U, 1," \
+      "insert( 0U, 1U,"
+  '';
+
   nativeBuildInputs = [ lzip ];
   buildInputs = [ ncurses ];
 
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 87ead669b70e..a4dd39b8f762 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "0m9xm085pi0fhmmshgppipjimr1jkxksbyg8pa5cwaap3d2vgk2f";
+    sha256 = "04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index d7cfcf34a4d2..149f7804a799 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -32,20 +32,20 @@ let
       description = "VT220/xterm/ECMA-48 terminal emulator library";
       homepage = http://www.leonerd.org.uk/code/libvterm/;
       license = licenses.mit;
-      maintainers = with maintainers; [ nckx garbas ];
+      maintainers = with maintainers; [ garbas ];
       platforms = platforms.unix;
     };
   };
 
   neovim = stdenv.mkDerivation rec {
     name = "neovim-unwrapped-${version}";
-    version = "0.2.1";
+    version = "0.2.2";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "19ppj0i59kk70j09gap6azm0jm4y95fr5fx7n9gx377y3xjs8h03";
+      sha256 = "1dxr29d0hyag7snbww5s40as90412qb61rgj7gd9rps1iccl9gv4";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
index 61df9ed79323..87b011c4f8b4 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -1,9 +1,9 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    msgpack (1.1.0)
-    multi_json (1.12.2)
-    neovim (0.6.1)
+    msgpack (1.2.2)
+    multi_json (1.13.1)
+    neovim (0.6.2)
       msgpack (~> 1.0)
       multi_json (~> 1.0)
 
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
index 85bff42b64dd..aefecbf5ba83 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -2,26 +2,26 @@
   msgpack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7";
+      sha256 = "1ai0sfdv9jnr333fsvkn7a8vqvn0iwiw83yj603a3i68ds1x6di1";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.2";
   };
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "1.13.1";
   };
   neovim = {
     dependencies = ["msgpack" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dnv2pdl8lwwy4av8bqc6kdlgxw88dmajm4fkdk6hc7qdx1sw234";
+      sha256 = "15r3j9bwlpm1ry7cp6059xb0irvsvvlmw53i28z6sf2khwfj5j53";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "0.6.2";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index e2218473d723..187474de5b6f 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -1,6 +1,5 @@
-{ stdenv, lib, makeDesktopItem, makeWrapper, lndir
+{ stdenv, lib, makeDesktopItem, makeWrapper
 , vimUtils
-, neovim
 , bundlerEnv, ruby
 , pythonPackages
 , python3Packages
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 6ff67728ea11..6b7881c490cf 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -4,7 +4,10 @@
 }:
 
 let
-  version = "1.1.414";
+  verMajor = "1";
+  verMinor = "1";
+  verPatch = "423";
+  version = "${verMajor}.${verMinor}.${verPatch}";
   ginVer = "1.5";
   gwtVer = "2.7.0";
 in
@@ -19,46 +22,30 @@ stdenv.mkDerivation rec {
     owner = "rstudio";
     repo = "rstudio";
     rev = "v${version}";
-    sha256 = "1rr2zkv53r8swhq5d745jpp0ivxpsizzh7srf34isqpkn5pgx3v8";
+    sha256 = "02kpmzh0vr0gb5dhiwcm4gwjbc3biwz0km655mgzmx9j64cyd3nf";
   };
 
   # Hack RStudio to only use the input R.
   patches = [ ./r-location.patch ];
   postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
 
-  inherit ginVer;
   ginSrc = fetchurl {
     url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip";
     sha256 = "155bjrgkf046b8ln6a55x06ryvm8agnnl7l8bkwwzqazbpmz8qgm";
   };
 
-  inherit gwtVer;
   gwtSrc = fetchurl {
     url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip";
     sha256 = "1cs78z9a1jg698j2n35wsy07cy4fxcia9gi00x0r0qc3fcdhcrda";
   };
 
-  hunspellDictionaries = builtins.attrValues hunspellDicts;
+  hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts);
 
   mathJaxSrc = fetchurl {
     url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip;
     sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
   };
 
-  rmarkdownSrc = fetchFromGitHub {
-    owner = "rstudio";
-    repo = "rmarkdown";
-    rev = "v1.8";
-    sha256 = "1blqxdr1vp2z5wd52nmf8hq36sdd4s2pyms441dqj50v35f8girb";
-  };
-
-  rsconnectSrc = fetchFromGitHub {
-    owner = "rstudio";
-    repo = "rsconnect";
-    rev = "953c945779dd180c1bfe68f41c173c13ec3e222d";
-    sha256 = "1yxwd9v4mvddh7m5rbljicmssw7glh1lhin7a9f01vxxa92vpj7z";
-  };
-
   rstudiolibclang = fetchurl {
     url = https://s3.amazonaws.com/rstudio-buildtools/libclang-3.5.zip;
     sha256 = "1sl5vb8misipwbbbykdymw172w9qrh8xv3p29g0bf3nzbnv6zc7c";
@@ -71,31 +58,31 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      export RSTUDIO_VERSION_MAJOR=${verMajor}
+      export RSTUDIO_VERSION_MINOR=${verMinor}
+      export RSTUDIO_VERSION_PATCH=${verPatch}
+
       GWT_LIB_DIR=src/gwt/lib
 
-      mkdir -p $GWT_LIB_DIR/gin/$ginVer
-      unzip $ginSrc -d $GWT_LIB_DIR/gin/$ginVer
+      mkdir -p $GWT_LIB_DIR/gin/${ginVer}
+      unzip ${ginSrc} -d $GWT_LIB_DIR/gin/${ginVer}
 
-      unzip $gwtSrc
+      unzip ${gwtSrc}
       mkdir -p $GWT_LIB_DIR/gwt
-      mv gwt-$gwtVer $GWT_LIB_DIR/gwt/$gwtVer
+      mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer}
 
       mkdir dependencies/common/dictionaries
-      for dict in $hunspellDictionaries; do
-          for i in "$dict/share/hunspell/"*
-	  do ln -sv $i dependencies/common/dictionaries/
-	  done
+      for dict in ${builtins.concatStringsSep " " hunspellDictionaries}; do
+        for i in "$dict/share/hunspell/"*; do
+          ln -sv $i dependencies/common/dictionaries/
+        done
       done
 
-      unzip $mathJaxSrc -d dependencies/common/mathjax-26
-      mkdir -p dependencies/common/rmarkdown
-      ln -s $rmarkdownSrc dependencies/common/rmarkdown/
-      mkdir -p dependencies/common/rsconnect
-      ln -s $rsconnectSrc dependencies/common/rsconnect/
+      unzip ${mathJaxSrc} -d dependencies/common/mathjax-26
       mkdir -p dependencies/common/libclang/3.5
-      unzip $rstudiolibclang -d dependencies/common/libclang/3.5
+      unzip ${rstudiolibclang} -d dependencies/common/libclang/3.5
       mkdir -p dependencies/common/libclang/builtin-headers
-      unzip $rstudiolibclangheaders -d dependencies/common/libclang/builtin-headers
+      unzip ${rstudiolibclangheaders} -d dependencies/common/libclang/builtin-headers
 
       mkdir -p dependencies/common/pandoc
       cp ${pandoc}/bin/pandoc dependencies/common/pandoc/
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 0dde8fbe7297..438ae26f06f3 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "tiled-${version}";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = "tiled";
     rev = "v${version}";
-    sha256 = "1c6n5xshadxv5qwv8kfrj1kbfnkvx6nyxc9p4mpzkjrkxw1b1qf1";
+    sha256 = "1bzp89914rlrwf2whky3fx10rwxqiwbw9acyqllvam3l4hmv4nlz";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       bsd2	# libtiled and tmxviewer
       gpl2Plus	# all the rest
     ];
+    maintainers = with maintainers; [ dywedir ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.nckx ];
   };
 }
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 22e7c3d31b36..7c6d186b8830 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "typora-${version}";
-  version = "0.9.41";
+  version = "0.9.44";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
-        sha256 = "e4916f86c7c12aec8fd59b3ef79c2a4d3f77b02a0a9e962916c688871c9fda1d";
+        sha256 = "9442c090bf2619d270890228abd7dabb9e217c0b200615f8ed3cb255efd122d5";
       }
     else
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_i386.deb";
-        sha256 = "18960fb4b2cd6cf9cb77025a4035a3258f1599b1d225fb673b49c1588fa272d6";
+        sha256 = "ae228ca946d03940b85df30c995c4de3f942a780e32d4dcab872dec671c66ef3";
       }
     ;
 
diff --git a/pkgs/applications/editors/vbindiff/default.nix b/pkgs/applications/editors/vbindiff/default.nix
index 3a3a0d1a7812..8d3a5353c989 100644
--- a/pkgs/applications/editors/vbindiff/default.nix
+++ b/pkgs/applications/editors/vbindiff/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "vbindiff-${version}";
-  version = "3.0_beta4";
+  version = "3.0_beta5";
 
   buildInputs = [ ncurses ];
 
   src = fetchurl {
     url = "https://www.cjmweb.net/vbindiff/${name}.tar.gz";
-    sha256 = "0gcqy4ggp60qc6blq1q1gc90xmhip1m6yvvli4hdqlz9zn3mlpbx";
+    sha256 = "1f1kj4jki08bnrwpzi663mjfkrx4wnfpzdfwd2qgijlkx5ysjkgh";
   };
 
   meta = {
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 417f2d805163..5155f94eef52 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.0.1257";
+  version = "8.0.1451";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "1y4c7wn5gr7n4c2ni36kadr26aldydxlf06yj7nsmw22ywwg78ig";
+    sha256 = "1vxd5mr8c62qyf7ax7gi2wka48282yplckq91154yd55xcqw36zx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 2f110749277c..067179974b1e 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     "vim_cv_toupper_broken=no"
     "--with-tlib=ncurses"
     "vim_cv_terminfo=yes"
+    "vim_cv_tgetent=zero" # it does on native anyway
     "vim_cv_tty_group=tty"
     "vim_cv_tty_mode=0660"
     "vim_cv_getcwd_broken=no"
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 6b449193337d..8599ff8e93e4 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.19.2";
+  version = "1.20.0";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "05qfcmwl1r43slwkb2rxh99hwpzd8c622la0ffd9p2jg4lbkgs1p";
-    "x86_64-linux" = "0kjwmw68av9mnqcg1vaazm3k240y9jvbng6n7ycgzxwddzx0qlac";
-    "x86_64-darwin" = "1mjmi5r9qlc6ggh3w566454ar06by15xsm6dymr8zv4sb352w70h";
+    "i686-linux" = "0lhfljcdb05v0p3kc6zimgd2z057397blfp56bhr7v7wnsi6i40k";
+    "x86_64-linux" = "138kvqa5cixry62yry0lwzxlk9fs8hb4zqzmsd8ag1jjfma8y45k";
+    "x86_64-darwin" = "1adnwlqf2kw8wfjf86a3xg83j1yqnlsdckksw82b06x3j11g91i8";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 6aa2ba118d69..e716146ec7a9 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
 , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
 , ApplicationServices
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.7-21";
-    sha256 = "0680dbg77gcyb3g4n22z5mp7c8mg0jpkqb0g4nj7d7r78nl869rv";
+    version = "7.0.7-22";
+    sha256 = "1ad7mwx48xrkvm3v060n2f67kmi0qk7gfql1shiwbkkjvzzaaiam";
     patches = [];
   };
 in
@@ -24,13 +24,10 @@ stdenv.mkDerivation rec {
   name = "imagemagick-${version}";
   inherit (cfg) version;
 
-  src = fetchurl {
-    urls = [
-      "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
-      # the original source above removes tarballs quickly
-      "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
-      "https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
-    ];
+  src = fetchFromGitHub {
+    owner = "ImageMagick";
+    repo = "ImageMagick";
+    rev = cfg.version;
     inherit (cfg) sha256;
   };
 
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index bb6b8c89a2f6..be3a369c28b6 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-33";
-    sha256 = "05931wfhllrb1c2g2nwnwaf1wazn60y5f70gd11qcqp46rif7z21";
+    version = "6.9.9-34";
+    sha256 = "0sqrgyfi7i7x1akna95c1qhk9sxxswzm3pkssfi4w6v7bn24g25g";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index b7d9f4a81599..f9ea2b9aa84e 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, libpng, python3, boost, mesa, qtbase, ncurses, cmake, flex, lemon }:
 
 let
-  gitRev    = "e8480c718e8c49ae3cc2d7af10ea93ea4c2fff9a";
+  gitRev    = "020910c25614a3752383511ede5a1f5551a8bd39";
   gitBranch = "master";
-  gitTag    = "0.9.2";
-in 
+  gitTag    = "0.9.3";
+in
   stdenv.mkDerivation rec {
     name    = "antimony-${version}";
     version = gitTag;
@@ -13,7 +13,7 @@ in
       owner = "mkeeter";
       repo = "antimony";
       rev = gitTag;
-      sha256 = "0fpgy5cb4knz2z9q078206k8wzxfs8b9g76mf4bz1ic77931ykjz";
+      sha256 = "1vm5h5py8l3b8h4pbmm8s3wlxvlw492xfwnlwx0nvl0cjs8ba6r4";
     };
 
     patches = [ ./paths-fix.patch ];
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index 9b1dd4c25aeb..459e07f9838b 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -22,6 +22,5 @@ stdenv.mkDerivation rec {
     description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 5fd636ff7c59..e9932b93fbe0 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -1,34 +1,28 @@
-{ stdenv, fetchurl, libsoup, graphicsmagick, SDL, json_glib
-, GConf, atk, cairo, cmake, curl, dbus_glib, exiv2, glib
-, libgnome_keyring, gtk3, ilmbase, intltool, lcms, lcms2
-, lensfun, libXau, libXdmcp, libexif, libglade, libgphoto2, libjpeg
-, libpng, libpthreadstubs, librsvg, libtiff, libxcb
-, openexr, osm-gps-map, pixman, pkgconfig, sqlite, bash, libxslt, openjpeg
-, mesa, lua, pugixml, colord, colord-gtk, libxshmfence, libxkbcommon
-, epoxy, at_spi2_core, libwebp, libsecret, wrapGAppsHook, gnome3
+{ stdenv, fetchurl, libsoup, graphicsmagick, json_glib, wrapGAppsHook
+, cairo, cmake, ninja, curl, perl, llvm, desktop_file_utils, exiv2, glib
+, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
+, libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
+, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
 }:
 
-assert stdenv ? glibc;
-
 stdenv.mkDerivation rec {
-  version = "2.4.0";
+  version = "2.4.1";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx";
+    sha256 = "014pq80i5k1kdvvrl7xrgaaq3i4fzv09h7a3pwzlp2ahkczwcm32";
   };
 
-  buildInputs =
-    [ GConf atk cairo cmake curl dbus_glib exiv2 glib libgnome_keyring gtk3
-      ilmbase intltool lcms lcms2 lensfun libXau libXdmcp libexif
-      libglade libgphoto2 libjpeg libpng libpthreadstubs
-      librsvg libtiff libxcb openexr pixman pkgconfig sqlite libxslt
-      libsoup graphicsmagick SDL json_glib openjpeg mesa lua pugixml
-      colord colord-gtk libxshmfence libxkbcommon epoxy at_spi2_core
-      libwebp libsecret wrapGAppsHook gnome3.adwaita-icon-theme
-      osm-gps-map
-    ];
+  nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop_file_utils wrapGAppsHook ];
+
+  buildInputs = [
+    cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libX11 libexif
+    libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
+    libsoup graphicsmagick json_glib openjpeg lua pugixml
+    colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme
+    osm-gps-map
+  ];
 
   cmakeFlags = [
     "-DBUILD_USERMANUAL=False"
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 80f893e7c3c9..d517306c1d61 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
-, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper }:
+, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper, makeDesktopItem }:
 
 let
   pythonPackages = python27Packages;
@@ -32,8 +32,40 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
       --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
+
+    mkdir -p $out/share/mime/packages
+    cat << EOF > $out/share/mime/packages/freecad.xml
+    <?xml version="1.0" encoding="UTF-8"?>
+    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+      <mime-type type="application/x-extension-fcstd">
+        <sub-class-of type="application/zip"/>
+        <comment>FreeCAD Document</comment>
+        <glob pattern="*.fcstd"/>
+      </mime-type>
+    </mime-info>
+    EOF
+
+    mkdir -p $out/share/applications
+    cp $desktopItem/share/applications/* $out/share/applications/
+    for entry in $out/share/applications/*.desktop; do
+      substituteAllInPlace $entry
+    done
   '';
 
+  desktopItem = makeDesktopItem {
+    name = "freecad";
+    desktopName = "FreeCAD";
+    genericName = "CAD Application";
+    comment = meta.description;
+    exec = "@out@/bin/FreeCAD %F";
+    categories = "Science;Education;Engineering;";
+    startupNotify = "true";
+    mimeType = "application/x-extension-fcstd;";
+    extraEntries = ''
+      Path=@out@/share/freecad
+    '';
+  };
+
   meta = with stdenv.lib; {
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
     homepage = https://www.freecadweb.org/;
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
new file mode 100644
index 000000000000..6fb7182035b6
--- /dev/null
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, scons, pkgconfig, wrapGAppsHook
+, glfw3, gtk3, libpng12 }:
+
+stdenv.mkDerivation rec {
+  name = "goxel-${version}";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "guillaumechereau";
+    repo = "goxel";
+    rev = "v${version}";
+    sha256 = "1d6waj8zz9iq3ddbi9wbpcnh200ajjy9x53xrj5bij01pb8jwskv";
+  };
+
+  nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];
+  buildInputs = [ glfw3 gtk3 libpng12 ];
+
+  buildPhase = ''
+    make release
+  '';
+
+  installPhase = ''
+    install -D ./goxel $out/bin/goxel
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open Source 3D voxel editor";
+    homepage = https://guillaumechereau.github.io/goxel/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tilpner ];
+  };
+}
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index 11a2b3a8c8b9..f086a8f5ba60 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -2,14 +2,14 @@
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
 , libwebp, quantumdepth ? 8, fixDarwinDylibNames }:
 
-let version = "1.3.27"; in
+let version = "1.3.28"; in
 
 stdenv.mkDerivation {
   name = "graphicsmagick-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "0rq35p3rml10cxz2z4s7xcfsilhhk19mmy094g3ivz0fg797hcnh";
+    sha256 = "0jlrrimrajcmwp7llivyj14qnzb1mpqd8vw95dl6zbx5m2lnhall";
   };
 
   patches = [
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index d9e0f42e53e3..161e89151249 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -6,12 +6,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "gthumb";
-  version = "${major}.3";
-  major = "3.5";
+  version = "${major}.0";
+  major = "3.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "0hka1b3l8mf94zsk7jff87wsb8bz4pj5pixjrs0w2j8jbsa9sggk";
+    sha256 = "1zc7myvnzgq7dawjg03rqvwfad7p938m20f25sfhv65jsfq8n928";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index a9c238ead3c1..791cd7be2d09 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -9,11 +9,11 @@
 
 mkDerivation rec {
   name = "krita-${version}";
-  version = "3.3.2";
+  version = "3.3.3";
 
   src = fetchurl {
-    url = https://download.kde.org/stable/krita/3.3.2/krita-3.3.2.1.tar.xz;
-    sha256 = "0i3l27cfi1h486m74xf4ynk0pwx32xaqraa91a0g1bpj1jxf2mg5";
+    url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz";
+    sha256 = "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/graphics/meme/default.nix b/pkgs/applications/graphics/meme/default.nix
new file mode 100644
index 000000000000..2fddc39e0d07
--- /dev/null
+++ b/pkgs/applications/graphics/meme/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "meme-unstable-${version}";
+  version = "2017-09-10";
+
+  owner = "nomad-software";
+  repo = "meme";
+  goPackagePath = "github.com/${owner}/${repo}";
+
+  src = fetchFromGitHub {
+    inherit owner repo;
+    rev = "a6521f2eecb0aac22937b0013747ed9cb40b81ea";
+    sha256 = "1gbsv1d58ck6mj89q31s5b0ppw51ab76yqgz39jgwqnkidvzdfly";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A command line utility for creating image macro style memes";
+    homepage = "https://github.com/nomad-software/meme";
+    license = licenses.mit;
+    maintainers = [ maintainers.fgaz ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index e7a05c522ca2..06a1a946cdf6 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2015.03-1";
+  version = "2015.03-3";
   name = "openscad-${version}";
 
   src = fetchurl {
     url = "http://files.openscad.org/${name}.src.tar.gz";
-    sha256 = "61e0dd3cd107e5670d727526700104cca5ac54a1f0a84117fcc9e57bf3b6b279";
+    sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx";
   };
 
   buildInputs = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     homepage = http://openscad.org/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; 
+    maintainers = with stdenv.lib.maintainers;
       [ bjornfor raskin the-kenny ];
   };
 }
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
index 0d1adcff6e83..73bbd5003bd8 100644
--- a/pkgs/applications/graphics/photivo/default.nix
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = [ maintainers.mornfall ];
+      maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/graphics/sane/backends/generic.nix b/pkgs/applications/graphics/sane/backends/generic.nix
index 5d35857f05e1..2ca1fead84c8 100644
--- a/pkgs/applications/graphics/sane/backends/generic.nix
+++ b/pkgs/applications/graphics/sane/backends/generic.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
     homepage = http://www.sane-project.org/;
     license = licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ nckx peti ];
+    maintainers = with maintainers; [ peti ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index 53bdbcd12740..94666531c0c8 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -57,6 +57,5 @@ stdenv.mkDerivation rec {
     homepage = http://swingsane.com/;
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix
index bb7dac1b62a0..da7cd2e8d79d 100644
--- a/pkgs/applications/kde/akonadi/default.nix
+++ b/pkgs/applications/kde/akonadi/default.nix
@@ -19,13 +19,13 @@ mkDerivation {
   ];
   propagatedBuildInputs = [ boost kitemmodels ];
   outputs = [ "out" "dev" ];
-  NIX_CFLAGS_COMPILE = [
-    ''-DNIXPKGS_MYSQL_MYSQLD="${lib.getBin mysql}/bin/mysqld"''
-    ''-DNIXPKGS_MYSQL_MYSQLADMIN="${lib.getBin mysql}/bin/mysqladmin"''
-    ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB="${lib.getBin mysql}/bin/mysql_install_db"''
-    ''-DNIXPKGS_MYSQL_MYSQLCHECK="${lib.getBin mysql}/bin/mysqlcheck"''
-    ''-DNIXPKGS_POSTGRES_PG_CTL=""''
-    ''-DNIXPKGS_POSTGRES_INITDB=""''
+  CXXFLAGS = [
+    ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"''
+    ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"''
+    ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"''
+    ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"''
+    ''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
+    ''-DNIXPKGS_POSTGRES_INITDB=\"\"''
   ];
   preConfigure = ''
     NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\""
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index dc57a3554f31..8fd65770afd5 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -100,6 +100,7 @@ let
       kdepim-runtime = callPackage ./kdepim-runtime.nix {};
       kdepim-apps-libs = callPackage ./kdepim-apps-libs {};
       kdf = callPackage ./kdf.nix {};
+      kdialog = callPackage ./kdialog.nix {};
       keditbookmarks = callPackage ./keditbookmarks.nix {};
       kget = callPackage ./kget.nix {};
       kgpg = callPackage ./kgpg.nix {};
diff --git a/pkgs/applications/kde/kdialog.nix b/pkgs/applications/kde/kdialog.nix
new file mode 100644
index 000000000000..df301af0cbac
--- /dev/null
+++ b/pkgs/applications/kde/kdialog.nix
@@ -0,0 +1,18 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  kinit, kguiaddons, kwindowsystem
+}:
+
+mkDerivation {
+  name = "kdialog";
+
+  meta = {
+    license = with lib.licenses; [ gpl2 fdl12 ];
+    maintainers = with lib.maintainers; [ peterhoeg ];
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+
+  propagatedBuildInputs = [ kinit kguiaddons kwindowsystem ];
+}
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 7bfcc6e72c89..0f629aace456 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -30,18 +30,18 @@ let
   ];
 in buildRustPackage rec {
   name = "alacritty-unstable-${version}";
-  version = "2017-12-29";
+  version = "2018-01-31";
 
   # 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 = "0pk4b8kfxixmd9985v2fya1m7np8ggws8d9msw210drc0grwbfkd";
+    sha256 = "0jc8haijd6f8r5fqiknrvqnwc9q4cp93852lr2p7zak7dv29v45p";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "0acj526cx4xl52vbcbd3hp1klh4p756j6alxqqz3x715zi2dqkzf";
+  cargoSha256 = "0023jpc6krilmp5wzbbwapxafsi6m1k13mvjh4zlvls1nyyhk808";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 186cdc6c62e2..919f949ff660 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.15.0";
+  version = "3.16.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "1zvk499g3ddl82f6655ddqzl7r62hj1fq3qjsxpn07an2lizail7";
+    sha256 = "0dsnn974lfd6xbnyjhgxl2hd07kjhm1w9plqi28mx8nqa8bwqira";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index cb0e08613719..caf40ef5faf9 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "4.3.2";
+  version = "4.3.3";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.jkiss.org/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0spiwx5dxchpl2qq10rinj9db723w2hf7inqmg4m7fjaj75bpl3s";
+    sha256 = "063h2za2m33b4k9s756lwicxwszzsqr2sqr2gi4ai05dqkgkw951";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix
new file mode 100644
index 000000000000..467c2b3c2d59
--- /dev/null
+++ b/pkgs/applications/misc/diff-pdf/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, cairo, poppler, wxGTK ? null, wxmac ? null, darwin ? null }:
+
+let
+  wxInputs =
+    if stdenv.isDarwin then
+      [ wxmac darwin.apple_sdk.frameworks.Cocoa ]
+    else
+      [ wxGTK ];
+in
+stdenv.mkDerivation rec {
+  name = "diff-pdf-${version}";
+  version = "2017-12-30";
+
+  src = fetchFromGitHub {
+    owner = "vslavik";
+    repo = "diff-pdf";
+    rev = "c4d67226ec4c29b30a7399e75f80636ff8a6f9fc";
+    sha256 = "1c3ig7ckrg37p5vzvgjnsfdzdad328wwsx0r31lbs1d8pkjkgq3m";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  buildInputs = [ cairo poppler ] ++ wxInputs;
+
+  preConfigure = "./bootstrap";
+
+  meta = with stdenv.lib; {
+    homepage = http://vslavik.github.io/diff-pdf;
+    description = "Simple tool for visually comparing two PDF files";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/applications/misc/dump1090/default.nix b/pkgs/applications/misc/dump1090/default.nix
index 3e9fe133d93c..29f6c6085602 100644
--- a/pkgs/applications/misc/dump1090/default.nix
+++ b/pkgs/applications/misc/dump1090/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libusb rtl-sdr ];
 
-  makeFlags = [ "PREFIX=$out" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share
-    cp -v dump1090 $out/bin/dump1090
+    cp -v dump1090 view1090 $out/bin
     cp -vr public_html $out/share/dump1090
   '';
 
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 919ad10fa706..9906b1fd8587 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,34 +1,39 @@
 { stdenv, fetchFromGitHub, fetchpatch
-, pkgconfig, which, perl, gtk2, xrandr
-, cairo, dbus, gdk_pixbuf, glib, libX11, libXScrnSaver
+, pkgconfig, which, perl, libXrandr
+, cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver
 , libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg
 }:
 
 stdenv.mkDerivation rec {
   name = "dunst-${version}";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "dunst-project";
     repo = "dunst";
     rev = "v${version}";
-    sha256 = "0jncnb4z4hg92ws08bkf52jswsd4vqlzyznwbynhh2jh6q0sl18b";
+    sha256 = "0i518v2z9fklzl5w60gkwwmg30yz3bd0k4rxjrxjabx73pvxm1mz";
   };
 
-  nativeBuildInputs = [ perl pkgconfig which ];
+  nativeBuildInputs = [ perl pkgconfig which systemd ];
 
   buildInputs = [
     cairo dbus gdk_pixbuf glib libX11 libXScrnSaver
-    libXinerama libnotify libxdg_basedir pango xproto librsvg gtk2 xrandr
+    libXinerama libnotify libxdg_basedir pango xproto librsvg libXrandr
   ];
 
   outputs = [ "out" "man" ];
 
-  makeFlags = [ "PREFIX=$(out)" "VERSION=$(version)" ];
+  makeFlags = [
+    "PREFIX=$(out)"
+    "VERSION=$(version)"
+    "SERVICEDIR_DBUS=$(out)/share/dbus-1/services"
+    "SERVICEDIR_SYSTEMD=$(out)/lib/systemd/user"
+  ];
 
   meta = with stdenv.lib; {
     description = "Lightweight and customizable notification daemon";
-    homepage = http://www.knopwob.org/dunst/;
+    homepage = https://dunst-project.org/;
     license = licenses.bsd3;
     # NOTE: 'unix' or even 'all' COULD work too, I'm not sure
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix
index bde8d5b81e3e..c98efa547b39 100644
--- a/pkgs/applications/misc/electrum-dash/default.nix
+++ b/pkgs/applications/misc/electrum-dash/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
+  version = "2.9.3.1";
   name = "electrum-dash-${version}";
-  version = "2.4.1";
 
   src = fetchurl {
-    url = "https://github.com/dashpay/electrum-dash/releases/download/v${version}/Electrum-DASH-${version}.tar.gz";
-    sha256 = "02k7m7fyn0cvlgmwxr2gag7rf2knllkch1ma58shysp7zx9jb000";
+    url = "https://github.com/akhavr/electrum-dash/releases/download/${version}/Electrum-DASH-${version}.tar.gz";
+    #"https://github.com/dashpay/electrum-dash/releases/download/v${version}/Electrum-DASH-${version}.tar.gz";
+    sha256 = "9b7ac205f63fd4bfb15d77a34a4451ef82caecf096f31048a7603bd276dfc33e";
   };
 
   propagatedBuildInputs = with python2Packages; [
@@ -20,10 +21,11 @@ python2Packages.buildPythonApplication rec {
     pyqt4
     qrcode
     requests
-    slowaes
+    pyaes
     tlslite
     x11_hash
     mnemonic
+    jsonrpclib
 
     # plugins
     trezor
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index caa050581bf7..6835db35b606 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "06z0a5p1jg93jialphslip8d72q9yg3651qqaf494gs3h9kw1sv1";
+    sha256 = "01dnqiazjl2avrmdiq68absjvcfv24446y759z2s9dwk8ywzjkrg";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix
index 1b29def11ad8..2257b2a98fb7 100644
--- a/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -51,6 +51,5 @@ stdenv.mkDerivation rec {
     # ‘GPL3-compatible’. See ${downloadPage} for detailed information.
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 470e046e85e5..58d8e9fae618 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     addGRCBlocksPath() {
       addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks
     }
-    envHooks+=(addGRCBlocksPath)
+    addEnvHooks "$targetOffset" addGRCBlocksPath
   '';
 
   setupHook = [ grcSetupHook ];
diff --git a/pkgs/applications/misc/gnuradio/wrapper.nix b/pkgs/applications/misc/gnuradio/wrapper.nix
index db2b453913f4..ffed3da03187 100644
--- a/pkgs/applications/misc/gnuradio/wrapper.nix
+++ b/pkgs/applications/misc/gnuradio/wrapper.nix
@@ -1,7 +1,6 @@
-{ stdenv, gnuradio, makeWrapper, python
-, extraPackages ? [] }:
+{ stdenv, gnuradio, makeWrapper, python, extraPackages ? [] }:
 
-with stdenv.lib;
+with { inherit (stdenv.lib) appendToName makeSearchPath; };
 
 stdenv.mkDerivation {
   name = (appendToName "with-packages" gnuradio).name;
@@ -11,13 +10,15 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     ln -s "${gnuradio}"/bin/* $out/bin/
 
-    for file in $(find $out/bin -type f -executable); do
-        wrapProgram "$file" \
-            --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":"
-                                     (map (path: "$(toPythonPath ${path})") extraPackages)} \
-            --prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages}
+    for file in $(find -L $out/bin -type f); do
+        if test -x "$(readlink -f "$file")"; then
+            wrapProgram "$file" \
+                --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":"
+                                         (map (path: "$(toPythonPath ${path})") extraPackages)} \
+                --prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages}
+        fi
     done
-
   '';
+
   inherit (gnuradio) meta;
 }
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 00735624ad96..d87ac459d021 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gpxsee-${version}";
-  version = "4.14";
+  version = "4.19";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "0yv3hcs5b8a88mp24h8r2sn69phwrahdff5pp74lz24270il3jgb";
+    sha256 = "1xjf2aawf633c1ydhpcsjhdlfkjkfsjbcgjd737xpfv1wjz99l4l";
   };
 
   nativeBuildInputs = [ qmake qttools ];
@@ -26,11 +26,14 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://tumic.wz.cz/gpxsee;
+    homepage = http://www.gpxsee.org/;
     description = "GPX viewer and analyzer";
+    longDescription = ''
+      GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX,
+      TCX, KML, FIT, IGC and NMEA files.
+    '';
     license = licenses.gpl3;
     maintainers = [ maintainers.womfoo ];
     platforms = platforms.linux;
   };
-
 }
diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix
index 27bda1e20928..f6d9f4edb627 100644
--- a/pkgs/applications/misc/gqrx/default.nix
+++ b/pkgs/applications/misc/gqrx/default.nix
@@ -8,13 +8,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
   name = "gqrx-${version}";
-  version = "2.8";
+  version = "2.10";
 
   src = fetchFromGitHub {
     owner = "csete";
     repo = "gqrx";
     rev = "v${version}";
-    sha256 = "0niy4c05886mhbfmix93j2bnj4kzdh9bvrmymawl6z28glyz5d3c";
+    sha256 = "1qc944sn1kjdnhdhcsdc39764vqcryk86808xxl49vy8sznqr0mf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index 6c3f317707d9..bd4a891a3291 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE, libXext
-, freetype, libXrender, fontconfig, libXft, libXinerama, libnotify, glib
-, gtk3, libappindicator-gtk3, curl }:
+{ stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE
+, libXext , freetype, libXrender, fontconfig, libXft, libXinerama
+, libXfixes, libXScrnSaver, libnotify, glib , gtk3, libappindicator-gtk3
+, curl }:
 
 let
 
-  version = "1.2.15-590e8bc";
+  version = "1.3.0-9b2ba62";
 
   rpath = stdenv.lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
       libXinerama stdenv.cc.cc.lib libnotify glib gtk3 libappindicator-gtk3
-      curl ];
+      curl libXfixes libXScrnSaver ];
 
 in
 
@@ -18,14 +19,14 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
-    sha256 = "142q8xvwn5gdmpv5x25py2lindr74jqncf8vvw22yb9nj5aqqsi6";
+    sha256 = "1dxzyl3yxbfmbw1pv8k3vhqzbmyyf16zkgrhzsbm866nmbgnqk1s";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
 
   unpackCmd = ''
     # MojoSetups have a ZIP file at the end. ZIP’s magic string is
-    # most often PK\x03\x04. This *should* work for future updates,
+    # most often PK\x03\x04. This has worked for all past updates,
     # but feel free to come up with something more reasonable.
     dataZipOffset=$(grep --max-count=1 --byte-offset --only-matching --text ''$'PK\x03\x04' $curSrc | cut -d: -f1)
     dd bs=$dataZipOffset skip=1 if=$curSrc of=data.zip 2>/dev/null
@@ -38,17 +39,18 @@ stdenv.mkDerivation {
   installPhase = ''
     # TODO: handle 32-bit arch?
     rm -r x86
+    rm -r x86_64/lib64
 
     opt=$out/opt/hubstaff
     mkdir -p $out/bin $opt
     cp -r . $opt/
 
-    prog=$opt/x86_64/HubstaffClient.bin.x86_64
+    for f in "$opt/x86_64/"*.bin.x86_64 ; do
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $f
+      wrapProgram $f --prefix LD_LIBRARY_PATH : ${rpath}
+    done
 
-    patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $prog
-    wrapProgram $prog --prefix LD_LIBRARY_PATH : ${rpath}
-
-    ln -s $prog $out/bin/HubstaffClient
+    ln -s $opt/x86_64/HubstaffClient.bin.x86_64 $out/bin/HubstaffClient
 
     # Why is this needed? SEGV otherwise.
     ln -s $opt/data/resources $opt/x86_64/resources
diff --git a/pkgs/applications/misc/j4-dmenu-desktop/default.nix b/pkgs/applications/misc/j4-dmenu-desktop/default.nix
index 6b4762c0de47..f24951624c58 100644
--- a/pkgs/applications/misc/j4-dmenu-desktop/default.nix
+++ b/pkgs/applications/misc/j4-dmenu-desktop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "j4-dmenu-desktop-${version}";
-  version = "2.15";
+  version = "2.16";
 
   src = fetchFromGitHub {
     owner  = "enkore";
     repo   = "j4-dmenu-desktop";
     rev    = "r${version}";
-    sha256 = "1yn45i3hpim2hriaqkq7wmawwsmkynvy2xgz7dg6p5r0ikw5bn1r";
+    sha256 = "0714cri8bwpimmiirhzrkbri4xi24k0za6i1aw94d3fnblk2dg9f";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index 32683ab701a8..fe2503625938 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -19,12 +19,12 @@
 
 stdenv.mkDerivation rec {
   pname = "kdeconnect";
-  version = "1.2";
+  version = "1.2.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
-    sha256 = "0w3rdldnr6md70r4ch255vk712d37vy63ml7ly2fhr4cfnk2i1ay";
+    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-v${version}.tar.xz";
+    sha256 = "01v432p9ylwss9gl6fvby8954bnjd91dni5jk1i44vv7x26yn8zg";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 49e4711550da..bee86cb0ed39 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -8,34 +8,17 @@
 # plugin derivations in the Nix store and nowhere else.
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.37";
+  version = "2.38";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "1wfbpfjng1blzkbjnxsdnny544297bm9869ianbr6l0hrvcgv3qx";
+    sha256 = "0m33gfpvv01xc28k4rrc8llbyk6qanm9rsqcnv8ydms0cr78dbbk";
   };
 
   sourceRoot = ".";
 
   buildInputs = [ unzip makeWrapper icoutils ];
 
-  pluginLoadPathsPatch =
-    let outputLc = toString (add 7 (length plugins));
-        patchTemplate = readFile ./keepass-plugins.patch;
-        loadTemplate  = readFile ./keepass-plugins-load.patch;
-        loads =
-          lib.concatStrings
-            (map
-              (p: replaceStrings ["$PATH$"] [ (unsafeDiscardStringContext (toString p)) ] loadTemplate)
-              plugins);
-    in replaceStrings ["$OUTPUT_LC$" "$DO_LOADS$"] [outputLc loads] patchTemplate;
-
-  passAsFile = [ "pluginLoadPathsPatch" ];
-  postPatch = ''
-    sed -i 's/\r*$//' KeePass/Forms/MainForm.cs
-    patch -p1 <$pluginLoadPathsPatchPath
-  '';
-
   preConfigure = ''
     rm -rvf Build/*
     find . -name "*.sln" -print -exec sed -i 's/Format Version 10.00/Format Version 11.00/g' {} \;
diff --git a/pkgs/applications/misc/keepass/keepass-plugins-load.patch b/pkgs/applications/misc/keepass/keepass-plugins-load.patch
deleted file mode 100644
index b7bea38e4c81..000000000000
--- a/pkgs/applications/misc/keepass/keepass-plugins-load.patch
+++ /dev/null
@@ -1 +0,0 @@
-+				m_pluginManager.LoadAllPlugins("$PATH$/lib/dotnet/keepass", SearchOption.TopDirectoryOnly, new string[] {});
diff --git a/pkgs/applications/misc/keepass/keepass-plugins.patch b/pkgs/applications/misc/keepass/keepass-plugins.patch
deleted file mode 100644
index 1793f04a1708..000000000000
--- a/pkgs/applications/misc/keepass/keepass-plugins.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- old/KeePass/Forms/MainForm.cs
-+++ new/KeePass/Forms/MainForm.cs
-@@ -386,42 +386,$OUTPUT_LC$ @@ namespace KeePass.Forms
- 			m_pluginManager.UnloadAllPlugins();
- 			if(AppPolicy.Current.Plugins)
- 			{
--				string[] vExclNames = new string[] {
--					AppDefs.FileNames.Program, AppDefs.FileNames.XmlSerializers,
--					AppDefs.FileNames.NativeLib32, AppDefs.FileNames.NativeLib64,
--					AppDefs.FileNames.ShInstUtil
--				};
--
--				string strPlgRoot = UrlUtil.GetFileDirectory(
--					WinUtil.GetExecutable(), false, true);
--				m_pluginManager.LoadAllPlugins(strPlgRoot, SearchOption.TopDirectoryOnly,
--					vExclNames);
--
--				if(!NativeLib.IsUnix())
--				{
--					string strPlgSub = UrlUtil.EnsureTerminatingSeparator(strPlgRoot,
--						false) + AppDefs.PluginsDir;
--					m_pluginManager.LoadAllPlugins(strPlgSub, SearchOption.AllDirectories,
--						vExclNames);
--				}
--				else // Unix
--				{
--					try
--					{
--						DirectoryInfo diPlgRoot = new DirectoryInfo(strPlgRoot);
--						foreach(DirectoryInfo diSub in diPlgRoot.GetDirectories())
--						{
--							if(diSub == null) { Debug.Assert(false); continue; }
--
--							if(string.Equals(diSub.Name, AppDefs.PluginsDir,
--								StrUtil.CaseIgnoreCmp))
--								m_pluginManager.LoadAllPlugins(diSub.FullName,
--									SearchOption.AllDirectories, vExclNames);
--						}
--					}
--					catch(Exception) { Debug.Assert(false); }
--				}
--			}
-$DO_LOADS$+			}
- 
- 			// Delete old files *after* loading plugins (when timestamps
- 			// of loaded plugins have been updated already)
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index bd671a6c90de..9e955860bfc4 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -2,7 +2,7 @@
 
 with python3Packages;
 buildPythonApplication rec {
-  version = "0.6.0";
+  version = "0.7.1";
   name = "kitty-${version}";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonApplication rec {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "1p86gry91m4kicy79fc1qfr0hcsd5xnvxzmm4q956x883h6h766r";
+    sha256 = "0c02xy5psb7v7xfncz4bflrbinifpcm1yn8hvh0zaf7p4vr837p7";
   };
 
   buildInputs = [ fontconfig glfw ncurses libunistring harfbuzz libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext ];
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index f627a3cda22f..9e584217c598 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.10";
+  version = "1.0.12";
   name = "mdp-${version}";
 
   src = fetchFromGitHub {
     owner = "visit1985";
     repo = "mdp";
     rev = version;
-    sha256 = "1swp1hqryai84c8dpzsvjpgg5rz2vnn2vrp0dhwy8r0qgpmby2nn";
+    sha256 = "04izj9i9rxmgswjh2iawqs6qglfv44zfv042smmcvfh1pm43361i";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index e6175356348f..7b4b8f0d780b 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "17.10";
+  version = "17.12";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1yvh4r19kk3bzzgnr4ikrjxqldr6860s35sh4bqr51c7l77k048c";
+    sha256 = "1pxdf0ny3c38gl513zdiaagpvk4bqnsc2fn7476yjdpv2lxsw56f";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/mencal/default.nix b/pkgs/applications/misc/mencal/default.nix
new file mode 100644
index 000000000000..df0a4db7fc70
--- /dev/null
+++ b/pkgs/applications/misc/mencal/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "mencal-3.0";
+
+  src = fetchurl {
+    url = "http://kyberdigi.cz/projects/mencal/files/${name}.tar.gz";
+    sha256 = "9328d0b2f3f57847e8753c5184531f4832be7123d1b6623afdff892074c03080";
+  };
+
+  installPhase = ''
+      mkdir -p $out/bin
+      cp mencal $out/bin/
+    '';
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib; {
+    description = "Menstruation calendar";
+    longDescription = ''
+      Mencal is a simple variation of the well-known unix command cal.
+      The main difference is that you can have some periodically repeating
+      days highlighted in color. This can be used to track
+      menstruation (or other) cycles conveniently.
+    '';
+    homepage = "http://www.kyberdigi.cz/projects/mencal/english.html";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/milu/default.nix b/pkgs/applications/misc/milu/default.nix
index d8d1cff6040b..09c4d1db2904 100644
--- a/pkgs/applications/misc/milu/default.nix
+++ b/pkgs/applications/misc/milu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, pkgconfig, glib, clang, gcc }:
+{ stdenv, fetchFromGitHub, unzip, pkgconfig, glib, llvmPackages }:
 
 stdenv.mkDerivation rec {
   name = "milu-nightly-${version}";
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     sed -i 's#/usr/bin/##g' Makefile
-    sed -i "s#-lclang#-L$(clang --print-search-dirs |
-            sed -ne '/libraries:/{s/libraries: =//; s/:/ -L/gp}') -lclang#g" Makefile
   '';
 
   installPhase = ''
@@ -28,8 +26,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
      glib
      unzip
-     clang
-     gcc
+     llvmPackages.libclang
   ];
 
   meta = {
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
deleted file mode 100644
index ed2049ee5abe..000000000000
--- a/pkgs/applications/misc/monero/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
-
-let
-  version = "0.11.1.0";
-in
-stdenv.mkDerivation {
-  name = "monero-${version}";
-
-  src = fetchFromGitHub {
-    owner = "monero-project";
-    repo = "monero";
-    rev = "v${version}";
-    sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [ boost miniupnpc openssl unbound ];
-
-  # these tests take a long time and don't
-  # always complete in the build environment
-  postPatch = "sed -i '/add_subdirectory(tests)/d' CMakeLists.txt";
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
-
-  doCheck = false;
-
-  installPhase = ''
-    install -Dt "$out/bin/" \
-        bin/monerod \
-        bin/monero-blockchain-export \
-        bin/monero-blockchain-import \
-        bin/monero-wallet-cli \
-        bin/monero-wallet-rpc
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Private, secure, untraceable currency";
-    homepage = https://getmonero.org/;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.ehmry ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/misc/moonlight-embedded/default.nix b/pkgs/applications/misc/moonlight-embedded/default.nix
index c95f935b8555..42f1b58061ef 100644
--- a/pkgs/applications/misc/moonlight-embedded/default.nix
+++ b/pkgs/applications/misc/moonlight-embedded/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "moonlight-embedded-${version}";
-  version = "2.4.2";
+  version = "2.4.6";
 
   # fetchgit used to ensure submodules are available
   src = fetchgit {
     url = "git://github.com/irtimmer/moonlight-embedded";
     rev = "refs/tags/v${version}";
-    sha256 = "0khdbwfclvpjgyk5ar1fs4j66zsjikaj422wlvrvqhyzi1v5arpr";
+    sha256 = "0vs6rjmz8058s9lscagiif6pcizwfrvfpk9rxxgacfi0xisfgmf1";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix
index ad3d72e9ef50..35931707ed6b 100644
--- a/pkgs/applications/misc/ocropus/default.nix
+++ b/pkgs/applications/misc/ocropus/default.nix
@@ -53,7 +53,7 @@ pythonPackages.buildPythonApplication rec {
     description = "Open source document analysis and OCR system";
     license = licenses.asl20;
     homepage = https://github.com/tmbdev/ocropy/;
-    maintainers = with maintainers; [ domenkozar nckx viric ];
+    maintainers = with maintainers; [ domenkozar viric ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix
new file mode 100644
index 000000000000..5787adef2a3e
--- /dev/null
+++ b/pkgs/applications/misc/osm2xmap/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, libroxml, proj, libyamlcpp, boost } :
+
+stdenv.mkDerivation rec {
+  name = "osm2xmap-${version}";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    sha256 = "1d3f18wzk240yp0q8i2vskhcfj5ar61s4hw83vgps0wr2aglph3w";
+    repo = "osm2xmap";
+    owner = "sembruk";
+    rev = "v${version}";
+  };
+
+  makeFlags = [
+    "GIT_VERSION=$(version)"
+    "GIT_TIMESTAMP="
+    "SHAREDIR=$(out)/share/"
+    "INSTALL_BINDIR=$(out)/bin"
+    "INSTALL_MANDIR=$(out)/share/man/man1"
+    "INSTALL_SHAREDIR=$(out)/share/"
+  ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  buildInputs = [ libroxml proj libyamlcpp boost ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/sembruk/osm2xmap";
+    description = "Converter from OpenStreetMap data format to OpenOrienteering Mapper format.";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.mpickering ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index 6d0a348b1f76..1085fed09565 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     # homepage needed you to login to download the tarball
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
+    url = "http://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
       + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2";
     sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j";
   };
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index a13f2bef0c65..556889e126c0 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Show the set of running processes as a tree";
     license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix
index 60a8cf2c6cd1..e162d0d317f7 100644
--- a/pkgs/applications/misc/qlcplus/default.nix
+++ b/pkgs/applications/misc/qlcplus/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   name = "qlcplus-${version}";
-  version = "4.11.0";
+  version = "4.11.1";
 
   src = fetchFromGitHub {
     owner = "mcallegari";
     repo = "qlcplus";
     rev = "QLC+_${version}";
-    sha256 = "0a45ww341yjx9k54j5s8b5wj83rgbwxkdvgy0v5jbbdf9m78ifrg";
+    sha256 = "0lb1mdp7kbnkja14phgyknr65irwkxcmzk96rqacysvwrvzvfzyd";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
@@ -34,5 +34,6 @@ mkDerivation rec {
     maintainers = [ maintainers.globin ];
     license = licenses.asl20;
     platforms = platforms.all;
+    homepage = "http://www.qlcplus.org/";
   };
 }
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index f3198085b9ab..ce1c790614ee 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, file, less
+{ stdenv, fetchFromGitHub, pythonPackages, file, less
 , imagePreviewSupport ? true, w3m ? null}:
 
 with stdenv.lib;
@@ -6,18 +6,14 @@ with stdenv.lib;
 assert imagePreviewSupport -> w3m != null;
 
 pythonPackages.buildPythonApplication rec {
-  name = "ranger-1.8.1";
-
-  meta = {
-    description = "File manager with minimalistic curses interface";
-    homepage = http://ranger.nongnu.org/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.unix;
-  };
-
-  src = fetchurl {
-    url = "http://ranger.nongnu.org/${name}.tar.gz";
-    sha256 = "1d11qw0mr9aj22a7nhr6p2c3yzf359xbffmjsjblq44bjpwzjcql";
+  name = "ranger-v${version}";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "ranger";
+    repo = "ranger";
+    rev = "v${version}";
+    sha256= "0h3qz0sr21390xdshhlfisvscja33slv1plzcisg1wrdgwgyr5j6";
   };
 
   checkInputs = with pythonPackages; [ pytest ];
@@ -50,4 +46,11 @@ pythonPackages.buildPythonApplication rec {
       --replace "set preview_images false" "set preview_images true" \
   '';
 
+  meta =  with stdenv.lib; {
+    description = "File manager with minimalistic curses interface";
+    homepage = http://ranger.github.io/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.magnetophon ];
+  };
 }
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index b4f37719046d..9871c559523c 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -58,6 +58,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     homepage = http://jonls.dk/redshift;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mornfall nckx ];
+    maintainers = with maintainers; [ yegortimoshenko ];
   };
 }
diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix
index 02af4c28d593..c9064d93740c 100644
--- a/pkgs/applications/misc/rtv/default.nix
+++ b/pkgs/applications/misc/rtv/default.nix
@@ -2,14 +2,14 @@
 
 with pythonPackages;
 buildPythonApplication rec {
-  version = "1.19.0";
+  version = "1.21.0";
   name = "rtv-${version}";
 
   src = fetchFromGitHub {
     owner = "michael-lazar";
     repo = "rtv";
     rev = "v${version}";
-    sha256 = "19rnw9cac06ns10vqn2cj0v61ycrj9g1ysa3hncamwxxibmkycp7";
+    sha256 = "0srm01nrb23hdmj3ripsa9p8nv2cgss3m6and9rdr875qw5ii130";
   };
 
   # Tests try to access network
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 281f2176833a..4ee9f461760c 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation (rec {
     inherit description;
     homepage = http://software.schmorp.de/pkg/rxvt-unicode.html;
     downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 })
diff --git a/pkgs/applications/misc/slade/git.nix b/pkgs/applications/misc/slade/git.nix
new file mode 100644
index 000000000000..29e01da1b5b1
--- /dev/null
+++ b/pkgs/applications/misc/slade/git.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, wxGTK, gtk2, sfml, fluidsynth, curl, freeimage, ftgl, glew, zip }:
+
+stdenv.mkDerivation {
+  name = "slade-git-3.1.2.2018.01.29";
+
+  src = fetchFromGitHub {
+    owner = "sirjuddington";
+    repo = "SLADE";
+    rev = "f7409c504b40c4962f419038db934c32688ddd2e";
+    sha256 = "14icxiy0r9rlcc10skqs1ylnxm1f0f3irhzfmx4sazq0pjv5ivld";
+  };
+
+  cmakeFlags = ["-DNO_WEBVIEW=1"];
+  nativeBuildInputs = [ cmake pkgconfig zip ];
+  buildInputs = [ wxGTK gtk2 sfml fluidsynth curl freeimage ftgl glew ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Doom editor";
+    homepage = http://slade.mancubus.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ertes ];
+  };
+}
diff --git a/pkgs/applications/misc/slic3r-prusa3d/default.nix b/pkgs/applications/misc/slic3r-prusa3d/default.nix
new file mode 100644
index 000000000000..ef8bfb1b2be5
--- /dev/null
+++ b/pkgs/applications/misc/slic3r-prusa3d/default.nix
@@ -0,0 +1,93 @@
+{ stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
+  boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, bash, mesa_glu }:
+let
+  AlienWxWidgets = perlPackages.buildPerlPackage rec {
+    name = "Alien-wxWidgets-0.69";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
+      sha256 = "075m880klf66pbcfk0la2nl60vd37jljizqndrklh5y4zvzdy1nr";
+    };
+    propagatedBuildInputs = [
+      pkgconfig perlPackages.ModulePluggable perlPackages.ModuleBuild
+      gtk2 gtk3 wxGTK30
+    ];
+  };
+
+  Wx = perlPackages.Wx.overrideAttrs (oldAttrs: {
+    propagatedBuildInputs = [
+      perlPackages.ExtUtilsXSpp
+      AlienWxWidgets
+    ];
+  });
+
+  WxGLCanvas = perlPackages.buildPerlPackage rec {
+    name = "Wx-GLCanvas-0.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MB/MBARBON/${name}.tar.gz";
+      sha256 = "1q4gvj4gdx4l8k4mkgiix24p9mdfy1miv7abidf0my3gy2gw5lka";
+    };
+    propagatedBuildInputs = [ Wx perlPackages.OpenGL mesa_glu ];
+    doCheck = false;
+  };
+in
+stdenv.mkDerivation rec {
+  name = "slic3r-prusa-edition-${version}";
+  version = "1.38.7";
+
+  buildInputs = [
+    cmake
+    perl
+    makeWrapper
+    tbb
+    which
+    Wx
+    WxGLCanvas
+  ] ++ (with perlPackages; [
+    boost
+    ClassXSAccessor
+    EncodeLocale
+    ExtUtilsMakeMaker
+    ExtUtilsXSpp
+    GrowlGNTP
+    ImportInto
+    IOStringy
+    locallib
+    LWP
+    MathClipper
+    MathConvexHullMonotoneChain
+    MathGeometryVoronoi
+    MathPlanePath
+    ModuleBuild
+    Moo
+    NetDBus
+    OpenGL
+    threads
+    XMLSAX
+  ]);
+
+  postInstall = ''
+    echo 'postInstall'
+    wrapProgram "$out/bin/slic3r-prusa3d" \
+    --prefix PERL5LIB : "$out/lib/slic3r-prusa3d:$PERL5LIB"
+
+    # it seems we need to copy the icons...
+    mkdir -p $out/bin/var
+    cp ../resources/icons/* $out/bin/var/
+    cp -r ../resources $out/bin/
+  '';
+
+  src = fetchFromGitHub {
+    owner = "prusa3d";
+    repo = "Slic3r";
+    sha256 = "1nrryd2bxmk4y59bq5fp7n2alyvc5a9xvnbx5j4fg4mqr91ccs5c";
+    rev = "version_${version}";
+  };
+
+  meta = with stdenv.lib; {
+    description = "G-code generator for 3D printer";
+    homepage = https://github.com/prusa3d/Slic3r;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tweber ];
+  };
+}
diff --git a/pkgs/applications/misc/styx/default.nix b/pkgs/applications/misc/styx/default.nix
index 2cdf047a10fc..f9779beec0f4 100644
--- a/pkgs/applications/misc/styx/default.nix
+++ b/pkgs/applications/misc/styx/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name    = "styx-${version}";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner  = "styx-static";
     repo   = "styx";
     rev    = "v${version}";
-    sha256 = "044zpj92w96csaddf1qnnc2w2w9iq4b7rzlqqsqnd1s0a87lm1qd";
+    sha256 = "01lklz7l9klqmmsncikwjnk3glzyz15c30118s82yd1chwpwhpfl";
   };
 
   server = "${caddy.bin}/bin/caddy";
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 376ea9e293aa..5e1e7bf32258 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -48,9 +48,9 @@ let
     pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
 
     installPhase = ''
-      mkdir -p $out $(dirname ${pluginsSubdir})
-      mkdir -p ${pluginsSubdir}
-      mv *.so ${pluginsSubdir}
+      mkdir -p $out $(dirname ${pluginsSubdir}/geoservices)
+      mkdir -p ${pluginsSubdir}/geoservices
+      mv *.so ${pluginsSubdir}/geoservices
       mv lib $out/
     '';
 
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index 13f3fa98d56d..cc267dceaf8b 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, libnotify, gtk3, libgee
-, keybinder3, json_glib, zeitgeist, vala_0_34, hicolor_icon_theme, gobjectIntrospection
+{ stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee
+, keybinder3, json_glib, zeitgeist, vala_0_38, hicolor_icon_theme, gobjectIntrospection
 }:
 
 let
-  version = "0.2.99.2";
+  version = "0.2.99.3";
 in stdenv.mkDerivation rec {
   name = "synapse-${version}";
 
   src = fetchurl {
     url = "https://launchpad.net/synapse-project/0.3/${version}/+download/${name}.tar.xz";
-    sha256 = "04cnsmwf9xa52dh7rpb4ia715c0ls8jg1p7llc9yf3lbg1m0bvzv";
+    sha256 = "0rwd42164xqfi40r13yr29cx6zy3bckgxk00y53b376nl5yqacvy";
   };
 
   nativeBuildInputs = [
-    pkgconfig intltool vala_0_34
+    pkgconfig gettext vala_0_38
     # For setup hook
     gobjectIntrospection
   ];
diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix
index 1b3ca7dfc03c..0deda8ce35a3 100644
--- a/pkgs/applications/misc/tasknc/default.nix
+++ b/pkgs/applications/misc/tasknc/default.nix
@@ -1,48 +1,42 @@
-{ stdenv, fetchurl, taskwarrior, perl, ncurses }:
+{ stdenv, fetchFromGitHub, makeWrapper, perl, ncurses, taskwarrior }:
 
 stdenv.mkDerivation rec {
-  version = "0.8";
+  version = "2017-05-15";
   name = "tasknc-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/mjheagle8/tasknc/archive/v${version}.tar.gz";
-    sha256 = "0max5schga9hmf3vfqk2ic91dr6raxglyyjcqchzla280kxn5c28";
+  src = fetchFromGitHub {
+    owner = "lharding";
+    repo = "tasknc";
+    rev = "c41d0240e9b848e432f01de735f28de93b934ae7";
+    sha256 = "0f7l7fy06p33vw6f6sjnjxfhw951664pmwhjl573jvmh6gi2h1yr";
   };
 
+  nativeBuildInputs = [
+    makeWrapper
+    perl # For generating the man pages with pod2man
+  ];
+
+  buildInputs = [ ncurses ];
+
   hardeningDisable = [ "format" ];
 
-  #
-  # I know this is ugly, but the Makefile does strange things in this package,
-  # so we have to:
-  #
-  #   1. Remove the "doc" task dependency from the "all" target
-  #   2. Remove the "tasknc.1" task dependency from the "install" target
-  #   3. Remove the installing of the tasknc.1 file from the install target as
-  #      we just removed the build target for it.
-  #
-  # TODO : One could also provide a patch for the doc/manual.pod file so it
-  # actually builds, but I'm not familiar with this, so this is the faster
-  # approach for me. We have no manpage, though.
-  #
-  preConfigure = ''
-    sed -i -r 's,(all)(.*)doc,\1\2,' Makefile
-    sed -i -r 's,(install)(.*)tasknc\.1,\1\2,' Makefile
-    sed -i -r 's,install\ -D\ -m644\ tasknc\.1\ (.*),,' Makefile
-  '';
+  buildFlags = [ "VERSION=${version}" ];
 
   installPhase = ''
-    mkdir $out/bin/ -p
-    mkdir $out/share/man1 -p
-    mkdir $out/share/tasknc -p
-    DESTDIR=$out PREFIX= MANPREFIX=share make install
+    mkdir -p $out/bin/
+    mkdir -p $out/share/man/man1
+    mkdir -p $out/share/tasknc
+
+    DESTDIR=$out PREFIX= MANPREFIX=/share/man make install
+
+    wrapProgram $out/bin/tasknc --prefix PATH : ${taskwarrior}/bin
   '';
 
-  buildInputs = [ taskwarrior perl ncurses ];
 
-  meta = {
-    homepage = https://github.com/mjheagle8/tasknc;
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lharding/tasknc;
     description = "A ncurses wrapper around taskwarrior";
-    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
-    platforms = stdenv.lib.platforms.linux; # Cannot test others
+    maintainers = with maintainers; [ matthiasbeyer infinisil ];
+    platforms = platforms.linux; # Cannot test others
   };
 }
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 74ef55ee8cc8..80e1b9b69efb 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions"
-    ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/"
+    ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/task.bash"
     mkdir -p "$out/share/fish/vendor_completions.d"
     ln -s "../../../share/doc/task/scripts/fish/task.fish" "$out/share/fish/vendor_completions.d/"
   '';
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index e4b1d7f8c1bc..59ea70e3da2d 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchurl, pythonPackages, pango, keybinder, vte, gettext, intltool, file
+{ stdenv, fetchurl, pythonPackages, keybinder, vte, gettext, intltool, file, gtk3, gobjectIntrospection, cairo
+, wrapGAppsHook, gnome3
 }:
 
 pythonPackages.buildPythonApplication rec {
   name = "terminator-${version}";
-  version = "1.0";
+  version = "1.91";
 
   src = fetchurl {
-    url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz";
-    sha256 = "1pfspcxsbax8a835kcld32fax6vcxsn1fmkny9zzvi4icplhkal8";
+    url = "https://launchpad.net/terminator/gtk3/${version}/+download/${name}.tar.gz";
+    sha256 = "95f76e3c0253956d19ceab2f8da709a496f1b9cf9b1c5b8d3cd0b6da3cc7be69";
   };
 
-  nativeBuildInputs = [ file intltool ];
+  nativeBuildInputs = [ file intltool wrapGAppsHook ];
+  buildInputs = [ gtk3 gnome3.vte gobjectIntrospection cairo ];
 
   pythonPath = with pythonPackages; [
-    pygtk pygobject2 vte keybinder notify gettext pango psutil
+    pygobject3 vte keybinder notify gettext psutil
+    pycairo
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix
index e0a29e5de5fe..05deac81af6f 100644
--- a/pkgs/applications/misc/tint2/default.nix
+++ b/pkgs/applications/misc/tint2/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "tint2-${version}";
-  version = "16.1";
+  version = "16.2";
 
   src = fetchFromGitLab {
     owner = "o9000";
     repo = "tint2";
     rev = version;
-    sha256 = "0qhp1i24b03g15393lf8jd2ykznh6kvwvf7k7yqdb99zv5i8r75z";
+    sha256 = "1fp9kamb09qbply8jn0gqwgnv9xdds81jzpl0lkziz8dydyis4wm";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index c43ec5efbaff..ebc951c5bb93 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "vifm-${version}";
-  version = "0.9";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2";
-    sha256 = "1zd72vcgir3g9rhs2iyca13qf5fc0b1f22y20f5gy92c3sfwj45b";
+    sha256 = "1cz7vjjmghgdxd1lvsdwv85gvx4kz8idq14qijpwkpfrf2va9f98";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index 8c554da03621..fbf68f317dee 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.workrave.org/;
     downloadPage = https://github.com/rcaelers/workrave/releases;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ nckx prikhi ];
+    maintainers = with maintainers; [ prikhi ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 54fee5847e18..e35d894e0e7e 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -50,6 +50,6 @@ mkChromiumDerivation (base: rec {
     maintainers = with maintainers; [ chaoflow bendlas ];
     license = licenses.bsd3;
     platforms = platforms.linux;
-    hydraPlatforms = if channel == "stable" then ["x86_64-linux"] else [];
+    hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index ee26588cbc57..b0ce1bb73168 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -138,19 +138,14 @@ let
       # To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled
       # Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325
       ./patches/fix_network_api_crash.patch
-    ] # As major versions are added, you can trawl the gentoo and arch repos at
+      # As major versions are added, you can trawl the gentoo and arch repos at
       # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/
       # https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium
       # for updated patches and hints about build flags
-      ++ optionals (versionRange "63" "64") [
-      ./patches/chromium-gcc5-r4.patch
-      (gentooPatch "chromium-gcc5-r5.patch" "0z7rggizzg85wfr8zhw0yfwd3q69lsh3yp297s939jgzp66cwwkw")
-      ./patches/include-math-for-round.patch
+
+    # (gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
     ] ++ optionals (versionRange "64" "65") [
-      ## This is a first guess on what patches are needed for 64
-      # (gentooPatch "chromium-memcpy-r0.patch" "1d3vra59wjg2lva7ddv55ff6l57mk9k50llsplr0b7vxk0lh0ps5")
       (gentooPatch "chromium-cups-r0.patch" "0hyjlfh062c8h54j4b27y4dq5yzd4w6mxzywk3s02yf6cj3cbkrl")
-      # (gentooPatch "chromium-clang-r2.patch" "1lsqr7cbjsad5pyyp6kyrfmcgcqy2z2yzgp4zxwjq95fknrfi5a4")
       (gentooPatch "chromium-angle-r0.patch" "0izdrqwsyr48117dhvwdsk8c6dkrnq2njida1q4mb1lagvwbz7gc")
     ]  ++ optional enableWideVine ./patches/widevine.patch;
 
@@ -201,6 +196,9 @@ let
             \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
             -delete
       done
+    '' + optionalString stdenv.isAarch64 ''
+      substituteInPlace build/toolchain/linux/BUILD.gn \
+        --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
     '';
 
     gnFlags = mkGnFlags ({
@@ -212,6 +210,7 @@ let
       proprietary_codecs = false;
       use_sysroot = false;
       use_gnome_keyring = gnomeKeyringSupport;
+      ## FIXME remove use_gconf after chromium 65 has become stable
       use_gconf = gnomeSupport;
       use_gio = gnomeSupport;
       enable_nacl = enableNaCl;
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 911b55b115f9..426161475369 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -117,13 +117,19 @@ in stdenv.mkDerivation {
     ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
 
     mkdir -p "$out/share/applications"
-    for f in '${chromium.browser}'/share/*; do
+    for f in '${chromium.browser}'/share/*; do # hello emacs */
       ln -s -t "$out/share/" "$f"
     done
     cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
   '';
 
-  inherit (chromium.browser) meta packageName;
+  inherit (chromium.browser) packageName;
+  meta = chromium.browser.meta // {
+    broken = if enableWideVine then
+          builtins.trace "WARNING: WideVine is not functional, please only use for testing"
+             true
+        else false;
+  };
 
   passthru = {
     inherit (chromium) upstream-info browser;
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index fa42c2f3b115..bac4a361a19b 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -1,6 +1,10 @@
 { stdenv
 , jshon
+, glib
+, nspr
+, nss
 , fetchzip
+, patchelfUnstable
 , enablePepperFlash ? false
 , enableWideVine ? false
 
@@ -45,6 +49,8 @@ let
 
     src = upstream-info.binary;
 
+    nativeBuildInputs = [ patchelfUnstable ];
+
     phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
 
     unpackCmd = let
@@ -63,14 +69,12 @@ let
       ! find -iname '*.so' -exec ldd {} + | grep 'not found'
     '';
 
-    patchPhase = ''
-      for sofile in libwidevinecdm.so libwidevinecdmadapter.so; do
-        chmod +x "$sofile"
-        patchelf --set-rpath "${mkrpath [ stdenv.cc.cc ]}" "$sofile"
-      done
+    PATCH_RPATH = mkrpath [ stdenv.cc.cc glib nspr nss ];
 
-      patchelf --set-rpath "$out/lib:${mkrpath [ stdenv.cc.cc ]}" \
-        libwidevinecdmadapter.so
+    patchPhase = ''
+      chmod +x libwidevinecdm.so libwidevinecdmadapter.so
+      patchelf --set-rpath "$PATCH_RPATH" libwidevinecdm.so
+      patchelf --set-rpath "$out/lib:$PATCH_RPATH" libwidevinecdmadapter.so
     '';
 
     installPhase = let
@@ -94,12 +98,12 @@ let
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "28.0.0.137";
+    version = "28.0.0.161";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "1776jjv2abzrwhgff8c75wm9dh3gfsihv9c5vzllhdys21zvravy";
+      sha256 = "0xhfr2mqmg71dxnsq4x716hzkryj2dmmlzgyi8hf7s999p7x8djw";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index b15bc16c89dd..7b39eb755ef3 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1mkschqjdn3n3709qkxha1zs626vhh33dp80gi3h6hhk8w0gx4sb";
-    sha256bin64 = "05hyfm9j127mprj2wjrq3m9qm4zp3bny40164vscr6vkfxvmjh03";
-    version = "64.0.3282.71";
+    sha256 = "1ki9ii3r9iv6k7df2zr14ysm6w3fkvhvcwaw3qjm4b4q6ymznshl";
+    sha256bin64 = "0i1g0hv2vji8jx9c973x8nr1ynzsvqjaqcncxj77x6vj9wp0v41p";
+    version = "64.0.3282.140";
   };
   dev = {
-    sha256 = "1b7f1bs9i7dhrccssn5zk4s62sfpmkj8b4w6aq8g4jbyg7hw9pql";
-    sha256bin64 = "0lp8m62p8h60hi8h5nskcjdh6k8vq4g00xbq5limg7d6pgc0vyyz";
-    version = "65.0.3311.3";
+    sha256 = "1b3gyj55xyqsb439szisfn8c4mnpws3pfzrndrl5kgdd239qrfqz";
+    sha256bin64 = "1hmkinzn4gpikjfd8c9j30px3i0x6y8dddn9pyvjzsk6dzfcvknz";
+    version = "65.0.3325.31";
   };
   stable = {
-    sha256 = "139x3cbc5pa14x69493ic8i2ank12c9fwiq6pqm11aps88n6ri44";
-    sha256bin64 = "03r97jg1fcb23k1xg5qnw5hp5p9m8anyx346nchbas63rfn439km";
-    version = "63.0.3239.132";
+    sha256 = "1ki9ii3r9iv6k7df2zr14ysm6w3fkvhvcwaw3qjm4b4q6ymznshl";
+    sha256bin64 = "1zsgcnilip9rxbs51xvnchp87gh4fmgxzrcf9dhfrnldhji17ikj";
+    version = "64.0.3282.140";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index d2fd8976015f..63de5391e997 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,965 +1,975 @@
 {
-  version = "58.0b16";
+  version = "59.0b8";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ach/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ach/firefox-59.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "08d5abe55791c1420286dcb3ed1a245a5f4b80a3edab869c27690e2f7cdc9ce497cecadd913fe5796e56ebea89c66bf8bdbb2137a584a3d9027db57c33172eeb";
+      sha512 = "7a5679be37565bd52e2758e6f8bf4068d2a6aa24fc70b89730a904b1be91576422bde7373aec93bca4b8169cd475b22c8404485773abb88f85fac8683b90f8ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/af/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/af/firefox-59.0b8.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "d98ef9d265e894121fc8c2aed631e6204576875a4da04c88d85a4c8e72002f55f0e3e117e295d0095621014281a63616b133bd50e70221f1cc25d5a5d302a391";
+      sha512 = "84bcc29fe8c378f55a9aabb308a153eaa9c5a5eff99fdb44e5738f0e71f263e5aa2131d7efa059b630efb14b7a603f0b080a1919f84c0acff0735fac64cafd62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/an/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/an/firefox-59.0b8.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "759eacc00788759539a0c5bb8bed119653717d68bac6db8677829f63e8c97bb86214acd1ffe640139e443df9bea378faeaa478da300d06efb07c670e0b1f7a82";
+      sha512 = "47ababf55be74a76d88f95531d3553094566597520ee7e675ce0f49c2d4ab572dcdde26b7e73dfd81fffea95758259f23029849d5e7a420830dd54b03a6ce21e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ar/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ar/firefox-59.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "5492898a7c3cec6b06b254016584145ce1c0f5be092d0d86ed2acac5c6c0ffd0e8cdcfb379ead421b3cf9b400c4a5ad7b780f7d24d00b68172dd24b01963f6a4";
+      sha512 = "c32c3424b22facb570f8f5f79421d8a5e1cbfd1fc7f449996b17cd916314eb77e333c4beb2bb4bf97c47da3724a4a88b65727be6d3a781982840c32c1aba7e38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/as/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/as/firefox-59.0b8.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "4f6070a430f3b7d238c73ff6b3e4adb8755d00a67b4a88ccd8ff9cf635534dfef03c9b7c076210ae612d789c46cfb26b88b01323fcfb9a614ab53d7c1f771d71";
+      sha512 = "b611ab04d133504f8d63ed3084c479d45897647050b67a8fd073c70da2c0a7e0d2630a4e631172ff7a0facd35b966c3ddbdb289f65c3429bd552ede47be36504";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ast/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ast/firefox-59.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "d82e6d1aff128bd3d311e26673c4de8924b970c08b77082aa143a75ff2bb9c200fb42f9273c9794175bc77708262ae333a123752f9c8b2a73fb71d33715f2d8e";
+      sha512 = "320d330074e3af53a68457844ea965beb4ee01d89ddb56b3d5dfad74e91645e99ec45c35d06a30e778cd2b0706fac0e7e750f9f834e7a0eda4fb8c8f3284aedd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/az/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/az/firefox-59.0b8.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "5c2936fdc08c357e3a25e48e3703d75a77f2507bf1b4eb9d4a0e3a0ca835f944bfccb93771a6d42be2d2a44f6f8883f6200f58dc21b9d92ea03e3310adc8b206";
+      sha512 = "f6f6576815b4a41ecb6fb108cb54d5c1b26ac6488af2377adc55f3495a40ac8911c19fe376160243d8d700028433ce80294ff6ac05d8ac36c00199e7732f36e9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/be/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/be/firefox-59.0b8.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "25eb2154fb2a07527228af116fc76b1c1ad1991f0767533e9596d417c37f4f2df94927aa0320d377fd32d6881d482f2e6c8359b43d61dbb137fdcf06c311221b";
+      sha512 = "6f23f77ec1f547a95e1c41b075b023d2228c5ad8a144846ce05c637d0a025c5ea590f93ccc824eaa4f751ae751009a00cbc0bb96f570671fbb4d83edb9fd236f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/bg/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/bg/firefox-59.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "53f00bd48a92610dfb28d94c839ae21133c1597e5f0836716a5243dd716bd1e9ac16b224ab3f6d6459cc7629b471255c3046ef2c87c85cab76daf47b60aaa8da";
+      sha512 = "db026f8b44d0e43f872d4959d5e59f9f0e8687ae6e8eb719ad9e5d22d4fd752b0d17f4420cdb7bfc366ca8b999611e111adf13e115046c951897cfac88b9201f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/bn-BD/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/bn-BD/firefox-59.0b8.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "fc111fd590a9854e2a34c450351041d527414819f9cd0b8715a584bebc39cce14b0eaa87deded683e457b40efcc70c70975a38840d7e4553996798d6f934a13c";
+      sha512 = "2858d77032c2ba1ccc121b07f0e19a9bc016f5a547f9156f18a6e4cd21e44c500aef61e99d7231cfec90a9d8bc6a55c2a0fd9b85a274cd778bef85d9f5571185";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/bn-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/bn-IN/firefox-59.0b8.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "dc7ee331572d306ee58584dc4a0b2d19abd724dc2852322c7527f47a48e57a654446e48b0d90e1a3587864df8ed81a2c0d8c63ebc8a656c5b7f69eba3c3f5240";
+      sha512 = "47d847b39e17627aef8fa5de993161ab90eacc4caeb144aca108598b5f426301c705d2bceb7e4def44b718434273798f9546a5a7cce857f1e8c49a085a104ca7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/br/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/br/firefox-59.0b8.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "3893144e37fc0abd2d70d6c2ab9f4cd35d314e885b6134f9159a53dc33ed5abbf89a94ec9169c0d491d09d720f13ac2ee77a9ec2cfc0cfadae2caa2054bad728";
+      sha512 = "7a364e793d8f48b72ffeeff38c04fc82fd0f96255e0ca4773799f55536060a44beb41c40e2fc22073b9850426ef2b720f34c178d209d905701a2197c5dd0ec19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/bs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/bs/firefox-59.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "57171054d7b87644a24dad706c89979544d1ed3d1f91fd6c9eacbbbdbb6592e188d3e9ab5f652131fdd5f3bae78777024ddc14719cd73aa6eb714e3a109f38d5";
+      sha512 = "d41e363242651761d02be942b3f1d5389c5e641d5607e7ef2a627ab91734b1ce34bc6b08116c6979a71890f6953a2599a50988286269a221a70b9d0a9c97984b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ca/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ca/firefox-59.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "52241a785c2105e9bf4d2c9967bebd2aaf7de9ee855dfc330e3dfa4773b28862f7b93b1912e8137a6395f172f6adc146ee20572a3532351e96b40909df993a6d";
+      sha512 = "4683f22b09a2cefd8531ce550f80d553e5f8daa871f979c69cc3f13c726119c6943909f900250971b0036f384f2b763bdc3a4afcd1926878b0ac4933074083db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/cak/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/cak/firefox-59.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "a726215207dee56846347e64a9a8c4d13782af7f4d9dbfc58c90b295933ce051b4c78906c2b6ba5b709b7835b343041cab34b8db26834b0b086778a8ea3378de";
+      sha512 = "8ff49b2d2cf4a28a5e7c0856d7f350442858147a0a2671bb90318c507ae6cd4c505310f110aa7026cdf9ba9a1c7f413528ccfaaba3d732a403997a27a905697e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/cs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/cs/firefox-59.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "fafd44f3a72316ec6111f0ee96c46763d0dad2c009f14fa45a57cc6d47780a23ad4ee0bab33c53d081f5ce815914e79efdcc778483a565523cace541510cc9dc";
+      sha512 = "4bef0725cbf85e2e7f9700df01a0b0c92de45d06cbe61dd9f623fcd87f485dc8dabe6a2000250771af17105f4b9530d69d19d2899da6f00fbf13ec98dad10732";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/cy/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/cy/firefox-59.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "c847d82c3173d8969369d9ef18435c9c30ad5ebb28f4d38c3703b69922efc81b58600c7450df4e2d00d86ba7040f6cb0c5617a611d191c6a08eb3c5be8ecb265";
+      sha512 = "8a3541e9f70aaace1f2b5b6f0d73aab8c6e28130e83abd55ad6ff9ba6687ed44156a43db7fa84d26807d258fbe18f37c49632698837553b9c37f561e88d3c5cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/da/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/da/firefox-59.0b8.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "6101d553785c7882ed8f2a170db620763152c36efbb0a5838009d5d3639d0bdd43c71e7796f05868e6ec4d5b2577b850195e336629a674f283325b815d7fb04a";
+      sha512 = "de8e0ce9a44082fe43c719ea6c1167b178f5a44b6db8ceddc0e4a1434902f5534fb62554201ae3b72c6d79c1a6de2123ef93b248715eeb93b90ee50f09c24a86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/de/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/de/firefox-59.0b8.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "4cf459a3da43db545bf892701bfdd63c3330eef3092be757486b8ffe1d15df95e7ca5c9e48e3f4c04a364279ce5311e3e9ff9c8b42ee5fd9557951b84a1bb952";
+      sha512 = "b409a74ffd41ceb63c8e0af992f5c002a2dc2261531ad300a6a0b5d2c44b5456a9cfe26707b15f76b9194cc142077f82f14cf7bbdb90546d15687a58136219da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/dsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/dsb/firefox-59.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "ef06d6c462de574fded8415597402b5e6794e07a2286fae12584d333cb303c43bf4491078e41dabd06044d6426254afeb3ffa812669946bd054e8e09ba96ba84";
+      sha512 = "ad1bce56157ada39bece9eb4e8e1f554403dcdf75f97161ea7d90779e15857f07a5874df2d0a94de83c482c0a0442500b3943e3b7723f77bf093cdc188d40099";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/el/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/el/firefox-59.0b8.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "cec8f68879ee288371b013ab52bf45ba026556822251a436c7925fe1d9b51621259c562ce4b79c126d064d38677db4166635ecea78fdddb69cc651283b5681aa";
+      sha512 = "bd17f4605999760e8eaf57447bffa572839a7591e2ffa865cdbb85098b7c39019e068ee23b132f03d1238a51e631a1e5e8144835018c4920e1df0fc521f35140";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/en-GB/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/en-GB/firefox-59.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "d798af11de27c42c58b05a3e26ccc511ecb149e32767de42f40a7113ada4331707d0422327f449da46d35a24fa42368ee42a399d671e55635f7aceada2e3ac5a";
+      sha512 = "e4f4a7e9b57286ab268c00794f554297e7b67f19e78f0886e7981ba6834e89e8b337f904d4e2727bda6c6a7b7a1d20b494ffc29caf3e8d5ee2aa909942432981";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/en-US/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/en-US/firefox-59.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "dc10aca03441c8cd8c17a6c584d585cba94a96bbab0ee1631a687bb584cbb309fed5f04a85410b33584ea21bb7af30310328552e4ee664b03244187725c4703e";
+      sha512 = "2a9d56be247596357a1e395c40f0c8eb0110f8ad57cf956a1fa14a7b82fa6f0ad5b6f3e7c87b67015fb10a817a93175a35e7a50dad2ad65094f19755f9e887fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/en-ZA/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/en-ZA/firefox-59.0b8.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "3ce0f81c59416cd5bba3610c9e263d3c859dd880080fbcd6cc0723d9cdf1716309227b67713f70a4fa48f7eeee28861cff15bd44bac4298a0094a880a53bb0ad";
+      sha512 = "2421e480966ceb46f2b271ead15f7e9c1ab817170835ad6195d725ec8bbc97a996b6e591de4071e9f3a1870e012f464703a715f6cc55a89e4258a0d0e48c6878";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/eo/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/eo/firefox-59.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "305ba3e85735e74edabfa2d1b5a39eb88af23b364268b2b681a178e1daaf6cd075f24eab6393a3660138bed31719ee3463d47402f2db848ec810fa5cda14e40e";
+      sha512 = "f391d03c23dc95e39415631b8cda76e9a0273ab3c363ac82bd5729aabbb9dff1533385e6bbc0396ff96e91f481364bafae2af9b4850b589c63e3870208a7edc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/es-AR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/es-AR/firefox-59.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "87a48b92ddec3fb703320209513773b5969c8b05a1a9e984a1e7586c12545e8c8be85c27b9ab65ca34c1056e3370074c03db9cc9e2569e562cd1e27f7ffda0de";
+      sha512 = "485744d2bc192e35e5020cfa81d462af9ed4ebae8b5f9f863bd041b3c161ee0bb499f483629b9af28c81db9893abf16201bb5b37bd17aa385da3f278e45950d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/es-CL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/es-CL/firefox-59.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "8388598b0720caf0f57bd61096adaad5766f028f9a1b0115887de55c99e3018b5813b5987f48df5cf26bc2f35405361dd436d353f95664d40d270c6df4baf9c9";
+      sha512 = "769dc0e88f9e1589bc05167eca358cc7385695017cbe2cd184056b76d25d92ffe93cf031bfa35434306d41acbd4f7876fb3eebbc4684b371108cecc9ece254c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/es-ES/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/es-ES/firefox-59.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "e652a4c2a8ebf828c31dc254102cf227c8f24b4a05004319486daac9e58078bdcf35baca5c34cfcfdb3a0d0b153a77726ad89eb31c1e128f47f9bb2a6fe35ff7";
+      sha512 = "7d6f80386b2bfbd6107b2ba3be2dc8726d8d6861c2c0e1b2257389b326b31fc68de762f4ab48689c6320627ba853ccd9dd8861ab72e8b8f2869ca6aa503e6983";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/es-MX/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/es-MX/firefox-59.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "2ec2e9bbfb523a0836ea9a23b790852fbfa7153676898fa1cef5ab36607c659f2015d06fab715e13e0f873203afeb3278971e4f27447e3ab1f98f51e61300672";
+      sha512 = "e340785fb6d63522a612a0f7b1b21265bf612853e38a96103c88ac4f50770b7aeffbb5b946c2e604af8aed837be92acc83e2adbe15b2734eff4c3bd68834c6e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/et/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/et/firefox-59.0b8.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "d9c443854f2b0e4315eaa7a792cfff1b4ed9759a6a7e0fe4d44626d73ad23ffdda25531b369d034785a903e40c2e24b31f024d660284f37a3e5707b39c345376";
+      sha512 = "f7c549f58c036bd19ad286517b0d77188c84c5308c5b55553a1e37e3b437e39bb95e58428ebe9e47e4239dcbbf4be63204cab94d11175c5e11d04616fb5411a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/eu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/eu/firefox-59.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "3c97e2d743e83c792dde3d2d050ebeb18aaec8369821c653ae141df694ac499f8bb6097c7ebc3293b17d3a9decb81bf41be021166682075e4d22d1b918becc13";
+      sha512 = "ed62617a487ad37f1338fc339b35fe603dbdb041cbe3cdb846266587c06ea1b1c3b1a8d46647b9d7d5d61f694942e0f151b8e7dd54cc59f3955065abf1b204bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/fa/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/fa/firefox-59.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "95fb01686050b70c38f53f2e665376b052497fe2ea6f6b745660f87daa321c9fa940572d649304542abd33e5df2db211e58c56c31ddf61736f10d05c081b647e";
+      sha512 = "d1efa424618df3357b132a70fea5a382566dfb0400053c0377ad3f847e3d17c59d4bed9c44b0762c2efb10211f11d921efcb3c80495d85e8651af67c14c4c57f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ff/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ff/firefox-59.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "25db20cf960e2e71a1633ddac6b2cfd585cbfc23cb79370717a4f003e2ee96317021d727820bd9a6d2e287eaacb35f720691b7163bcf1cebda346a7fae646eda";
+      sha512 = "ab0d89d1924ee0cca13a6d47113e6fe70e6fc89c4524f464ecaf809071b019e2c39bd459179d851d91e341361a963c6d108194b33fa9b507ea3443ea506fdb91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/fi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/fi/firefox-59.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "8c2a9c61e68f90605b9909e9149395dd3d991a74937393b66f3c762c704c01968c30e72eec0805e33c9074af219e27dff4a3ed828073ac8bd495002afb2ffefb";
+      sha512 = "24ac3b3603d9c72127b4dd4c1b217a58f4c80d89b5a035dd44b47a49c93b03ecb64e561c25fa14e9b6062b72e8b8e2ed6f912ac13fbf98c1cf20e4ccecc8dd90";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/fr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/fr/firefox-59.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "8fcbebef3665208a668cd1f6f439384d953182a6d6eacd2dc3850184cff2bfa09f9c7351cf08d1c84fff5bdd4911b7e846bf4e0d95eaf8de240fb0830e8702a0";
+      sha512 = "66f6554775d37257fbd0c53a03cc8c026343b60cfa5b30ab52ea86474ee3092a9ae1e072a63b8540c703ae1639ea9eaecc0160f20f0d479532afd873828beac0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/fy-NL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/fy-NL/firefox-59.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "de0dfb5238015a1856a1b4bc777c68258e96eb92b6f6a854188f5dfad0e063c796ed90781a70eb5ae65322d59ddc9cac1bd9f7fe43f04c3ba6005dac3249c397";
+      sha512 = "46e196145686f562b78af07ac7841f873ccbb1bde655faa105edcf37edb5a79583e4f76c083b6e84988b877f383191fdef46344e50c02d400d8b8a76bfea6f07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ga-IE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ga-IE/firefox-59.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "3bb6a21436525896454c0cf3b8a9eb2da9e2c37db4d8610b3007db7ccc28e270e081cf9cc461c0c4da6506da5d783b943dea0952c41ab857e0d88911d7bcc043";
+      sha512 = "32958f4ac49a0959f84d78074bd4273502ebfef0ba387e45c326708346ff2b684d1087f9733912ddba51a2bd6f8ad2d9b9bc0f4fd2dad86cddb19d2651de46ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/gd/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/gd/firefox-59.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "dc3bba4f48c0dffc82454b898aa64baa72a96d89a73d977fa28c8e1cb245d9f9c761ccb291c2aab57d4a786f9aaa37089241a5faf3851a62f38eda97ea95c7b3";
+      sha512 = "09aaaa2838283d99b6d7bebc8f3082b600a40c1550acf3afe8fb35b3241d26205cd38ab5ec74906a9c5f486eb8313292e45c5c2cf419fc99c2d4a8c07016a57b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/gl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/gl/firefox-59.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "b54ec7e851a3bfa55b67794c7176da64509e29cd45fda97c7cc53d01e3a4b20fdb04fffcb534e873e801a510916a304fd6e0899174682dd9204fdd7e0297ead8";
+      sha512 = "e86690748cc89097e71344981e27c1ebe52b4915961befba70127ba4236647d9e812fba6f34a138133c3638e9b21c066e0bd8ae7fba29293a7727567b2c57988";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/gn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/gn/firefox-59.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "6bc78af663a1c1f1d8fbb93b51b12fc21588eac4e0c7a482b786055db2a7a6cea2f9a1b19be93fe45d7989ebcaf0ce53916e9e27b6355a4d1c3cc085b4acfd18";
+      sha512 = "5bfd6c720ab56d583ef909ed79676ca4137be47ab65fe418a629367b190823dc98870844ab78b1b30370436abe666d18eaf22c9794e1bf3e5c7c61b474d6813c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/gu-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/gu-IN/firefox-59.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "764cde1ff02c7e85be1014b573148615e5261c684669167dfceb4ee1ca7641653b7cd8fad858978eed540c41e3de80e5ecff7c879a829ed3b67d7140c3d26fab";
+      sha512 = "743b8cab80b21829c8200fd11318a0fbb2a0384c17f962c1e5f2113fad5afa4d92df1d566f5fb34e6c7856dd4eac9e90a8e45c1e138bf307d12db0603371f50d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/he/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/he/firefox-59.0b8.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "2076784aba5d84ad98f88bd14cf2c26abfede11cff59a00c74632064be731f53378f5d45667d99a4f2818551646bd264aaaaf37c20696ee427f745a5d615b834";
+      sha512 = "644fa8ebec00b73e6bac18564a6b4d2548cba910a4117a55d4262f539859904876f7917c1f7150a20eb279aa9a00e050d233cd638f7d5201b035bbe017f1528a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/hi-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/hi-IN/firefox-59.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "6296751205809075fe3ca6c9860360e9d381300bf7ec82bccf54a1fa4898c9da6695a442e1408e7de6d59ac96bf46681455a0e44f814793174af284449edf5ef";
+      sha512 = "d470007681136d69f5183db099bfdaeceac426d7d52664622263cb6695a8ddaeb522b79ac66874036cebb2979dff85978fe1dfbeb00871120bd492334662a3dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/hr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/hr/firefox-59.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "de3cd2212c21f9717767bd506149ff9dcee3e64e25fd23e92439a29aca6724503b3697184d39ddc3c2748f507df69f12d0d0b1447ec91ac2d13282eccf3c5432";
+      sha512 = "f246b46f4b74598ef026ba756f1e910f70611ff9926ab51e71d3b9d5fd9c32b05e3d4bcb00bf6bcf3efee5fbd6f974c1b96542faae4cd2bbe897941ea197d3fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/hsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/hsb/firefox-59.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "1442493233f475538180ec213adba3a7963c0032f2ebc441d92ba53b19c4b61a9df41f826440b427ecc825536efda4399fdbbe2308cb6829c00c200ce2e18e69";
+      sha512 = "418799fc9328eee34506c970d237119af7dee1ebf63cf50da8533cad7f9127bc209c70ea36c8dcdfca21191342dcaee997dea29921bfb5fc75ce5b5b9caa6d8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/hu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/hu/firefox-59.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "96783e598b8d639b980382a21758574893cd50aaea98775b7161fab2732c18f4a281db545655dba428ff3e5ce415d398994981ad3011116a468c5ee9dfe276ef";
+      sha512 = "79da43b79f016ba04b7a3d7192fbb2c3b5230d68c316ef0674609f63bb94532b680a404cda57509c0b0d6c4c318b3d2a67a49f45198126549c3d8714ddb8448f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/hy-AM/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/hy-AM/firefox-59.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "cede19be60d2ec4b75cb05039b9eb6aaee91fc9248d08051d4986f5b4789f3103a8155dffe91e91f454d86f007b76e40864289465f5d90fbc2cde09812dbaf2a";
+      sha512 = "db92e6638603ddc2d9a142350ce9442cd77fcc289150cd02b5b7d21774380f5b56ff3b40c1c4432cf1a3c696442265caeff0a846f2a351e4b4bb16289a8e1558";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/id/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ia/firefox-59.0b8.tar.bz2";
+      locale = "ia";
+      arch = "linux-x86_64";
+      sha512 = "ab0b76e444481e61e979804b4e7dcc921ff431937bbd2020135d2de9bcf8a48cf0a02aef612f25c68feca8c8179b6563ad3ac0885a378fa38f9901039f852474";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/id/firefox-59.0b8.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "0068a3fa706a70953c7b0253e4c7d99d5216c701114de4c02407a97aa7071e81a1fed9523ed2919447b1e1ea03e0a0dc9cee493bb6b6a2e1d7c23764633b26b1";
+      sha512 = "a10d95b9d84cc11d700124398db9bd8cf4c43187a6abfa18386b98e4e4aa36e13a1ed970b888c1f64fb9d7824722c4f91b4550a7e9c2e18d71611a4db76aab40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/is/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/is/firefox-59.0b8.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "e093ee9157611581a16d69f9da785a2d991defe6c23e35e8d6e3f784bcfa323f1d9236f405e7f60c89e3f172c698491d30378ea69f93793d5dd045ba684ccf41";
+      sha512 = "f04533d77d87d9a72d8b5653ba21bf369a6053d433d11d96a7a5a178c52efd925623c4c674bb948cc4ab1e9fc9cacbf0deb1b02df541a9fafb6f882f4c4cbf8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/it/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/it/firefox-59.0b8.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "ba1963872495ecaa6815c6764f2627184e7d61c2be2af035fcaf6d1ade8b7d4a8191d0cfb06fd6a36aadb86d91f69b8a2fcf82b664520293b215111834e931a3";
+      sha512 = "6da026b76ae0a11f2a5f07b5f11519735d80d833f65ac1dfb2b89d4a98584553d271daa4ca430495dd5c218cf969f94f7166b99bcf0e706bc8ad5fe74adda157";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ja/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ja/firefox-59.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "7b55e8f0a5b02a4632d91164ee04a3e11d545e39a563166fbe1525a45edde1c809a98545ecc5234805eb931b3054080ed96c06bed75034067ca25fcc3c3cc6fe";
+      sha512 = "39916deed05acd7f379f7ed92e6e654e0bc2e2f6916e23ad22a042d4444015ddbc8ae0aadb92f7bd054024005d5a7a57eb37ff9e155c1b17d533b8234f16d919";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ka/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ka/firefox-59.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "fd55209a8184b20a8ec4821e80a4a6e7102249f02cc820c7d49453b10942b5e6a2f8e1d84327d98a289d7ed9052376997d877f923ae17ed9e3990343ca148d65";
+      sha512 = "aec118afeb98eeb3e973d55f10309a9caeecff81b0b0fe8af515a573c01a82f98b3b22b76fd6495cb4456fe9a1d0e8c3f78d254b1019a4acf707081bdd94c277";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/kab/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/kab/firefox-59.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "808e08ef8b8612e2568a7809d4e20eb11329e6509e41e3ebe875f1842560bfb870a087b3933e925abc7164aa32f6632f2ebfb430f98245b726d2da372872dd52";
+      sha512 = "78cce423d7cfc6c6e268bab1bc21ed5afd97fb7289a5e1e66769e002789fceb65925161a3374651a8fee51aca263356395338d4d001e34592bdbb51a48c61e4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/kk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/kk/firefox-59.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "8806b5ba8b0a787abb0f56f019e73422767807a0de24931d7fc64000d104af4bb06ac7b313f4ac31bc716063bb25459cbdad875d9aca3e9b0edea1681d255820";
+      sha512 = "d10b0a2af08fbdbaad2cdbacd1bc09a990d1b4ddf8923b4fe6bb9d386a918132e5ab427027f97cd8df0892ac474e669c7f67fdd07a0d1c6e24978f8ceacd5670";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/km/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/km/firefox-59.0b8.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "5494863ba500037490fba12b435905819dfc526694300393c59b4dde85199094792649ecfbe09b1114d0b64b0434dc974ed3b6ef28fd84df10e9c7683522eb5a";
+      sha512 = "4eb0b1ff636b6d177d8adc06b3452a460115c78399c1f1f41cbca1f728f492881765876e0fc429ffd5232d996d9d2dfb08c3465fe541a4ea52b0540e7f7b1131";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/kn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/kn/firefox-59.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "7577b45dac2dd8182eafaeb6e3fa5562ecc0e6ec4b492a3c6562eaf4c880969eb2ea1c43ead93362fed21ad97cb91f545b9c0cd3b32e3c95aafdf6ca1eec5b24";
+      sha512 = "a4f93038db440f03034398f8a95fbf9f329622a0c6efba0b3a0621e7eb03d223aed352ba4c29584ae5335e60b4138360f3a53f326224372777355d1feee93e8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ko/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ko/firefox-59.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "80157f9b78abf2b80512fd4e3d68374f384d1bb68444dc3aed35bdb938232e8a5629e30343e958b84fac123d4c66fd787b9a5c5c86941377f81ae36b5432c1d9";
+      sha512 = "5229674900d3a2c68a6d43adade5c8bec81f6570d0d068d1ca8b9afa02db5e743271b3da0f32a90ed513adefaf1179b9bf5747160542bfbc393191db2160129c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/lij/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/lij/firefox-59.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "c800c615437ba7ae40a43cc07368f68265a40b99f0f47d7b7683d532ab734c494827cdc4ab0e76efeb2481196eb15b3b8359a1e05bdadb68b1e172baafb04bd3";
+      sha512 = "e1334ca736e90dcb27e4e61de29ea97b06c9281e249fd0760a913abe4b8d9251258e6c759c8865418dd83b373451cd9d63c48f6edee636bbbfda926bf04f033a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/lt/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/lt/firefox-59.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "f6427da7e63b042dfaa704d22bf03843804964887170a97edabf402a0995c25d10c21b000098abffb8358bc0f5a762c31e3503604d907e40dbda46b070431217";
+      sha512 = "7aa3c280fbf1f2464e1cc93d8e4d90bcc734f481159d587ff6d852885e1ada4a9e4bd9a3d40bc21de49d1c25f98d8e0d831377b57f87e69857a6a3ba8d2619de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/lv/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/lv/firefox-59.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "3d432402189ac2ce2c4374cc2a6704264ddc125a8c694e1a2ea625115b13c72dec229d26f1f12d18579801bed9538660eb1a8f32e31c47ea75764767a3f3e49c";
+      sha512 = "156a644f32e1a9fbcba08dd0f9578a491ce3116d1cf7b5000afa0e806ba4ef117d4c510a6e1778cc59eac1a78c43762ec2acd8133d9e32dc45a500f62e8112c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/mai/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/mai/firefox-59.0b8.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "a6fa84106f62b953f92f5d35a37445218c5a64f9dc1b01eb742736385f73bdf568392689424b1099d0b5fbb9aa64de7b662b4e6e154698369792644cde482a88";
+      sha512 = "41f2e24c583108609810ef3d71865bae844f2b91ea065c77303e85e33957f3e5159dd1bce7365964fa0025762255b86252b967070fa76929405efc7420af3dc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/mk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/mk/firefox-59.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "c0e2c5a1d62b28de72baf8ffd2242217c3d53066a96ad9e2488021b8828bf279b546c4641b0bb62b035963d3ea2a8494337b3e4e139e2a077577a706b352a71a";
+      sha512 = "481dd8089ef122e439ea85334b6f7e12f90267a24aadbe47cd881fee7b09a6baa3642698690384385f809d9f4296c842d3fbefe4318e685948d283692856757b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ml/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ml/firefox-59.0b8.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "86dcf95f11268e3961f9a6c23261045e9f567856545c983e4b869a8dd9b0b7f9b3ff5a4069920311bc3744833ff4617d9a84e57b6cedd292413eef9695669c60";
+      sha512 = "8ef67ebc596cb792743b9def3c345a8ff7480a68a626ac1fa7132db31f4840c3546f69f9c5a7da72244f91e5f9de69001b88a59563c95651f3b80961a7355495";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/mr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/mr/firefox-59.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "6b4cd5c5e6147a1763c391c18baf5cfa9dd92d53575fd14f93b2220842584be3ca76845d0ff7ae5be8dc47729d0ea8adc3f234b903137e739d5942e92dbefb17";
+      sha512 = "f3047434026557bb352f9722fc4f38b406308cdb93994a273c0258bffa2ae3c6ff3cd4871569caa5dd71b12b5c579d1ebb67d82e795ad148b1b8534676ef68b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ms/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ms/firefox-59.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "2359d73ba41106d052333f9b74d2c45f8fc59add080e38047218d6eb63c986d8c7ffa017b14e79e9364530627dbcdcba9235e08a42ef01e69957609febea699c";
+      sha512 = "5199c8f96e20243307e48b44fc0fe2e8a31fdf2d373bc4fedc8966f2fa66e24571d3846257886246bfd24bf2091425cb77212152629566fa15268ecf61211590";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/my/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/my/firefox-59.0b8.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "973ed584aabbab85b4845b7612165c89e1efa7828e2af8fc7fe8021472a98f3a95a36dabc966cfae121dfa57cb5cc2630cf393fec6c5b92159511f53973ec500";
+      sha512 = "f8c2ba413be712a1b63d5aaedc7076286c760598f5801c6ecc699a065e4d1bdb8bee88303cc80a6b852854d4a554e13eda5cb4feafd7fecd35aead17c7897266";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/nb-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/nb-NO/firefox-59.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "25255d7e7f211f829c9c0ed8bc22be9459101b432bd5a40c645b96853090f417aeee4330e326cb2293c08cecf47512afb127061853e3acf72d6adc19744932d1";
+      sha512 = "9819f2aba48618b433e953dba16df1635de581ca534f6f3dda2293ac92f1a0b49cd3b4a6f062c89f65ffd642b4e93aad236bef15013fb9ef5847f589a9b7f673";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ne-NP/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ne-NP/firefox-59.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "989cbca6df14d431152e4e55aa7cb45899f0e294ab67ac97effe5643e8ef9b6d95770cb46d7cd8a88b21f4e8dfae9a8ee0fdd8c391b75e9e5d87a39d905a6c9d";
+      sha512 = "8e8d22459e75ef90d5a77ccb4b4d50206a6db84881021e7ca17a6c04967e08bd7702eb7a99c11a7744190ec3892cc5a68e2199ded177825bd1e9c673e8d3a9b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/nl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/nl/firefox-59.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "8a4afc8d63245a19498efdc90f8ac216571bb9a1e61e88fbc7670b12885842b2c102433563f2d09cde0ccb8ab0226026c8cbdb55a68389d4eabbac00cdfa521a";
+      sha512 = "8129da9c224a976827180f7b7edb1236229005ad071724570a56b24a6de52bfe7179ec0e2b85453a1cde939564f5e07162fa8d249db0817de35adee826550b4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/nn-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/nn-NO/firefox-59.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "a3a52f60b8d8f7ac3013d34c87e3d766599a304b2a9162e0514aebd63765ee546af58a6520d6789ac303980e6a192b23a08c2e2a679e6286900a7ba005a510e2";
+      sha512 = "fd6750ae992f9345eb4818ab9ef76ac205372ad6be5e4fccdddd0072c0134250583db1e98093287ecf26f25ccb87fc07683bd82445a521ba8566cef7a60b1ced";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/or/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/or/firefox-59.0b8.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "1741f784ec2256a34e3e72059b0de799303f47353eea9dbe314f3fe4494d2d16e8ade1a1773205f1e482ce157d4a4843ed3cec4f9ccccfbe4bb2551762800c6d";
+      sha512 = "26e919e0aa33bc2bcb51bd49690d1dadf9dc33dc35727d9aac90467a8e7694b2c244ad046aaf803a2a756091aad72a57c3e0c54175964fd4809f144c63b8735f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/pa-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/pa-IN/firefox-59.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "271aa05a7cbc46a6370fbd8c100cbdb88a16b53703f1491f5108faf22db8816fb7695adc1b8b8528e4068c0b0e212eeb966108ddd82f20c0537e311abfcc3f2c";
+      sha512 = "4cab7857eaed38323dc71359735564a47851f063e81291419e52467322e5726438a44fdec972f799528f1e0fab749772c1519d7af0e834540992fcdf3569b044";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/pl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/pl/firefox-59.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "9b86babc6e956d7447894eddbf95ce47917e04109cc3635739aad0950254416b09783b329504fe27b9dfa3456bf8ecb106eaeadf99dc93fc8ad609ca8caa538d";
+      sha512 = "f95b8d5e79c3b618cf4c8f9d4e2f0e3fcca8d3915de8070d626b8785c35be52d832081ec9521baf6b2034633cab11d97ea205e62ddf00f8cfd242ef282a2c54a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/pt-BR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/pt-BR/firefox-59.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "f35bdaa5502152660d804c83ac494ca1bd8c04b5b47ca18f83d82b8b747ca8d287fcc4fd265c3844510a0d89ee8b9f9883356c20d0fc5967d6dda71ea403b1d2";
+      sha512 = "12c2a2dac0faab5bc1f475fc3f098c7cbe3cd791112f22e797153958771d2124eaa476e5d9427e196e59d5cb9a8c23ae16937fc15b9ea6786f9226fd47000879";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/pt-PT/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/pt-PT/firefox-59.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "5e72ef46d949e99c0ee9e40562c380000a98de07954845a55be88bfc64e0ef5a553026ee640eb2728b86d11be993a20066fb77ac2e6ef072e26c908af725416b";
+      sha512 = "e3867564a068a260a87fd4db0086407128ab82e79a6a9dccc498098a942c1ef6beed1886be2b65e38106e1715a8801d6f16bc712e083d0f63cb8fcd558f79688";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/rm/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/rm/firefox-59.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "5d11db1e7807324f5655706df4615a56d1357c1fbf52fea243ab9cc496e730c359dc555a5d6c0e131debc7de864dbfd19143620317768b9421e1b3302be3b0b5";
+      sha512 = "53f8d98bb0aeba2bc2a2e2b5e9e3f40a0d9ffbeb350d530afc8ac72dd0f58dcba1c0e3097322954c7990c2cd81cb9c6794eeca85d4f39802aff7874d8597fb31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ro/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ro/firefox-59.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "a673a7e42b88d8cf19964ffd98883e651e637eff16979e3ff84b24ee71092efa17d9d52efbb841d885cedd277c6b59e9f7975063bff2f05c1ae9a9045704f85e";
+      sha512 = "a36e9f3cbb6a8b7f3f19ac8f08ca0148d028579aea7e9012cc412621db2e0a4532617daf98f0f4df09cb362ab69e01aa68d747eb71eecf67dddb5543e94fd53a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ru/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ru/firefox-59.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "711d5527fc989280d1b2400d4e30a1bd4375904327327a7729206a73adbf0d18bf09d59ba91910041e93caf0b67aaba37e9bdd1f6117fab5a9e931551aafc03c";
+      sha512 = "626fb189b0c9483e1cf2c3a62dda08080ebe4c28f0244181d29629883d1a422c6f5c677331b4d6918edba5e9971dfd398dae8dba16470de8da583d3c8af39859";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/si/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/si/firefox-59.0b8.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "c04c6d41ef4c90d1209be26e8d6b23fc33841fc84169c50beb0feab447fcb768d1908bbc6ca4e1b622949f3f529928c5ddbef5fec776f8f2c009594650f3d2ea";
+      sha512 = "81ef8fd0a03aaa9bc3c8ad12474068e876cc5ec1cf1699918e9a158dda16097a17f80a57976fb25f16a9f8e438d06b432cf1f24c72f6ccd97894f2c6f89a14bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/sk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/sk/firefox-59.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "ead3badd7ccfc915d33e1158df4f21090b853b46b74d85e4654224ff12404bc405f9295fe89fca7493a2cfaa4594e28f3fe7b82a6aa99fa5380f8855064a5602";
+      sha512 = "d174e431f1f8c33561bcdce1907df4daa08c82fd960f4c7d5dbbb7c598257a5475129fdb7ef7fe9a0865f1f34736fa1ac3c3f688443d8f15ca4af9d106bbf9cb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/sl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/sl/firefox-59.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "f3e56822a6ef2dec52921af7e0c1425a558f10d21ae91474dd2d57498ef417e6a189577700a4d819b71c50422afb5c428544db3b36cfb9bd586f51e281cb44d8";
+      sha512 = "10ee73bea46c0e4b042ee3620acb7a3310d75d1807b3ece2e0d917181a925082293d62efd9b6e9311b54413a3673e011bd708f1557c2999ca1a258e3e45c9a50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/son/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/son/firefox-59.0b8.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "2217433b2fede25270831968ad2a60b2c88ba1f4cf6f92da3de275783f5c99667f725ce359b72d61a51fe2771ced073bf83501ab75624bf2efacded1bded8221";
+      sha512 = "2100bad6b0fa387f7d50fde738e239a883191be0015d139ac93b10f00b1c646dd1ca1d0dbf2a8cd36a15f4b3a7aeeeebe7d925201da69a7a8d4261483bc581f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/sq/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/sq/firefox-59.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "a17a6c05925dbb2911711a09baa2d27048cfaa265be40cb0e258d094ae3e450e49dbbed283e083ce805dde6ef80eb4fdf02033b7871b4caa7dd090a10b5ae9db";
+      sha512 = "7a2937382cd2e33ba7bc398b7fc2428adbf8f8b41c6c60f1f0cc44d8590dc67ae0b8512f2bbc2cab3e9e09ad466e65d39debecc100d83ee87cdfffe57b2026d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/sr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/sr/firefox-59.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "3d7da1e4f6121e3acce5ae2c434d842017430a4c317b6914e9df87d85ad7cf95205ac4bb74224e0045fafa17e26ccfc7f611f13261a3f201389aecacc7a44c69";
+      sha512 = "3519a2630de8828cc66314b3f1a5b8253262d27a68098d0bef8a3b4bc5aff1b8035cb29c2d64e3fa9470295d9ad32cecf5a6c5e17434a03becacbfdd3fdb7dee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/sv-SE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/sv-SE/firefox-59.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "bc562f32d3ce5be25ce518f9cbe999f9a8ac6cd8224ff8a24239285002bbf13c5ce86a81402065b6738b84522482b566e4514d43274770149bb673dcce7b6cfc";
+      sha512 = "a2fc7e664d7b56d5d7b79be9d79d1a782c00708778ee1654e59d31c1b2cbe53bd1eacb20f3264ec592aee13689aab611a3217b3994cc37a590f3c4f2df539092";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ta/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ta/firefox-59.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "c0a3bf5eb5087767fd509b043392f1647503ab826cd647e3ee7d8bbe4683396aa77b628553c66fc8f8e8f5e4998cfa47a0bd1aa8e28eebd189958b632202f5ed";
+      sha512 = "09f4bdf20c9610838896d7626e51f9f2f940deb07e08d483c63aa7c1fb0ff10e9a54b160334edf4d60a92136db5eae109d237329fac1aac1602f715e92dae5e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/te/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/te/firefox-59.0b8.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "97f2f377c78aad1fef959b07af08c15f8925ab0d8b26442e53abba62593d17bcd9663252de8ce53fa000c31ede1c447c8fe3ab7d18c0e6855a537541fe5ca148";
+      sha512 = "a0899a1618e9d6e53fbf1816d7860d1b1e415628e8e3c9a5303f70a974fcf7169b54c1e50f297bd3444527598d3e9cc936349ab0a7462252d7e542fd4c7f1612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/th/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/th/firefox-59.0b8.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "e65beac4e716b71554727cdf44cad47f064d1e83c8d8b6101cb92c544121cf82d8775788fe7699d1fbff2ca6567f03bb51ed80d4c71f3b275184503a332ea2dd";
+      sha512 = "38ec92b8462d92587eed1e947c35b40349d2dcbe67cf1ba2a125cd72f1bb1bac1084d2944229648348cfb305667bd3c7cd48ac90c2706f897eab72bc7756ead6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/tr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/tr/firefox-59.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "8719e88f125b47b5ef0240faa674edd79dee2c2a2b086a5e48291af75979150380ef14e1be589d564e56e3b49f74b7107fa2b6827c6e94e144ea991ad30283c5";
+      sha512 = "4a32a49a037d5f9aa51a856547f484cc93b80a6b1ec78dfc3cf21d47fa6d6f508bffac58306a30c67d160244391a1c63b763b12f4e2b67cf020c2d93c2f64680";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/uk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/uk/firefox-59.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "1a19ec531f967227c21e8ee55c6527011aff695ee17079344cb4ba5a3dcf8797b542dae9f0e001dba667bc8589db7712139a743bf96c1748b69ad2be4e8da2d4";
+      sha512 = "b1b6030725cb6f9a4be4ad5c8633b939f9b3181470b402a213bfcb92ce88e22951f335b9b38d517b0c176b939b641bb29b9cae422cf99b198bebbebf08a2a270";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/ur/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/ur/firefox-59.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "43bb38cfc56288667142ab0e85b3577272870ef4671513cb60fd0e4378e72d41734afb7d1c03d615205cdf2991f5a31a9f40afad5673d6605049b2f07ece268f";
+      sha512 = "71266b7c66e41c8e0fa3ef570dc5b6da803bdb2518d01799b3ce5a89c76101b086f990691cee02c68cccbae94c53064e0368ba8888ba31ce3ec0c588e98125c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/uz/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/uz/firefox-59.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "070f5501a215dab805a8b6a8bc647e52d2b566c784faff72c9dc09049214d03f8fed0fca3b8789c84a54290361bfa7f4c73ad3fb4429ed35f079194a07f21f45";
+      sha512 = "bdb611c69d7ea6fa78f5dbe5e42ccc466cf84ba0f64305b4b6723ec29c959920605e1602ef8bbdc2f36153819920286aaa7e463c614485c7226fd3b1193cba27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/vi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/vi/firefox-59.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "f680076107a66fd983e4608b1793fd2dfff7e9cd2a92708bd85f5a05ca8b7fcc74987499dfa61ced4630fe0a2f2f8190abcaceb6682157546cc82a6f02082bef";
+      sha512 = "543e7a078d5d17f13d014e21ac9e849453015031819b6ba1fc0154afdc314ed5d1d98aad6b8fe2c2b332891dac2192d5d540511af940d4fab8a0f6f89488ed5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/xh/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/xh/firefox-59.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "2b649389c75d4868f3daca017963a6c23788a7664b5015d40a88e7e653cc02f870c0611f846eac8b524d8055d191dd51aecee4490d053d5d8c4c02895bc84d77";
+      sha512 = "6ae353a3941f1143c8850bc5f547b9ba77cf4389c8886b819da3a69ddef89c66ac65b1872d6b9ee421a6b3dc8ce5daf4fba6c1c9c70bc6854f570592dc08143e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/zh-CN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/zh-CN/firefox-59.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "b81442a1449e8f054d4ef6c554bf563e1dec1773053f1bf5501e30d86fd15548f40a84065dc0b50685e30ef0c27141aa12b17d148978d0c41d7dc1bdca406b17";
+      sha512 = "3b9da6da2e026608da7e0ca8d0a38a71b81189d9421bb2d8a779f582decf23a3357c7a8f776bafb979621edd10c3e4feed1ccc1b9de3b36f0f3a2757be513778";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-x86_64/zh-TW/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-x86_64/zh-TW/firefox-59.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "60104dd6541d38a704cc4419b98f3e1857df389b734b8c80ffea677498ea9c729b91b2b4295aaa426097d621597a0ea831d27d2cbedaa53f1d3ae5ded45a3c2c";
+      sha512 = "16d174a5c9ef9d42a69ef8e357329d8a32c6c7b84edee4383261d0143d6f996effe418c25cc1730b0429fb29177f9ace4cd5ea084be5ab4961ee9161abe5c787";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ach/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ach/firefox-59.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "d38deb93d88dd0ce3e3d9f365d3980f2448f3dc8a0187b5d965364e17bf0b89fac5d5aaf1b86fb8fde77bf55450d4283a82cac687c8105a8ade6ce32fa8a0439";
+      sha512 = "46a324dcc6f6d541807737fc05b96db257317df2570c1ea3330690ad1a178e87376912ffb59337a8d73a41286b63dfc10e2d60534019ac4143892d03cb112e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/af/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/af/firefox-59.0b8.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "47fb62091e6467a5152e8ceea68b3f5cffda33b34fbb61e570c4ff02cfab75b80291ecbc6c34c734b5c82b0e51e9c857464320d9aca223e43e6420ddffc602f8";
+      sha512 = "df7f7a4f01163a40389a0302990640450d630437b04b18b5b2465c7dbbb0c7a69dc8ebb5137eb8341540fdd99283b31fc10b9e3713124d6bd56f86ceec4ab894";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/an/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/an/firefox-59.0b8.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "da70c287e686af692d64d72a3892138013bdc6357a9545bebbb8853298e98466c57da1b0c86f87b4e98aaa108a3a7d6fa5bbe205f84d3f5a67cce088ae48f30d";
+      sha512 = "331bbc61e4e35ab23f12f499f27ea57d5d68db92aaf2376d67b36da87773c6ab23dec48f9843c2af4c40d236e1a3e03a354a492e42c3c2075ddff9c05440ca91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ar/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ar/firefox-59.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "afe05c793adb6e7e89f82fe4895f88f0afee75a80cba4115cb1e3eaca9329604249b506e321920630310250415a3d151fc415ff1c5025d1b3ebc2d7b121d0dcb";
+      sha512 = "c7c5f9b29053f8576b806b373f42e9c20e10a068e9bd3984a35a9a5a4c57a7b62e4fafec159cb821585575ec287725fef1e8ae43b79f4275e3b2e38fc1c47686";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/as/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/as/firefox-59.0b8.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "35551b4c3389e744c443a5ee03f7610b9a851524faef114307d1abe3dfd4e5411b926883bded4574570ab1d1e0e004b4a5be22ad01ad569f33fe9ec4409bf6f7";
+      sha512 = "cea048beea793a1dc07c9fc7c114604f4dddce6b83522da399d8c47e771a55614fe4436793ec34cbc140acfd1ba2b12b9d67d4448d33e27048b6d792387a9e65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ast/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ast/firefox-59.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "e5cffcbd2f096bfb75f2b049961b4362b63eb49609f4e083852dcd167a6994a8929d27846d6f2c82404b51ee739839ee2ec5a63e81a3b4c8d892308e5c7a8431";
+      sha512 = "fe40b1d1f6ae5f5193c9ce37e080dea6fdedd5e5fb7d09b0d5e70117625101a3a1add748a6ac343ca2c5ff4a732470f68babd8fbb1a00942354e7b8c4fbc1d87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/az/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/az/firefox-59.0b8.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "f7687c2907184022e09df69e4a36b173e57a1c39b138aed65bc966ef9e9215c2cd61020fccc00d02eadb80c0f9a023de085fda86b118c7960bb86ae5b30f33e7";
+      sha512 = "a6c76629c2e34da1367cf3af91957816c9c785708f5f07c36a7846a84ef84d72b06ba83035360aa53a7775fd5afffd663255bdeb402ed9195011c0a0678f9bdc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/be/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/be/firefox-59.0b8.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "7ce08f845fa60f4aa6f619d75a32ba96e2401f04feb94891fe1d217abe8bec132961e9c0bbd800a8615453b1d6d60404467334ed9b7bfa0caef023184ec953ce";
+      sha512 = "c5d7f954d9f35830334e978026699bfca8b0b09b9ab8d593f254af82afe71c01c483a0d7f85e27f094cd9f3aade61d1cb2524dc57bfa78e30a50535fa04650fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/bg/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/bg/firefox-59.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "332b57407288b61a121e8e1d7829b8998075104cb5a18784ecbc113ed079bc12f7bd24d8dcc27a060dd8469961c6c31bfe4fec02ea6a96aef1b442744bd27b4b";
+      sha512 = "eccc8da9d0d913eee6f7d81e9fc50320240d67e0d62f3f3105526b0061b56c1a87a9393dd4986122a1f9e9aec01b8b2ae152ec2cfe459d1ae47d14418012fc45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/bn-BD/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/bn-BD/firefox-59.0b8.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "a441ec94477abf6e75af59d7554a94cefc682450ead85b72e9c1b1035c81fbc6b3def8d03e7cde935077598fa66ebe09cf73530256e87a5fb2ad6d9162dda772";
+      sha512 = "0eb34e5e674d5e7cb444debc87a2008c92449bac23734c9e123153efbc8e11419830ffadba10ea9f1708233c553a2ca3af6c4721aaa96da3f8c59cafb6c01b2d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/bn-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/bn-IN/firefox-59.0b8.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "e43e8b8dad4493c6870de714f750a7412846c6fe2883faa1f57106480cec8f6a3c4770a1206ae0582ca61d7638d8b5b1187585c6c2c8204b2e3e0f80e22867fe";
+      sha512 = "76200f522ec79ea7f182938060caf74e76dd69daa5309171e3b0315d8fd62e8dc045799712d6d3be321da54cb8f28f287ccacdcdb3609f756ccb7dd9f94d0960";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/br/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/br/firefox-59.0b8.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "7c19cdbad58ff138fad2949f12045abbb3f96f3fa1309c333b268787c4837466c01bce2e57117dd43880fa8d3bcb579695450ad368801e139539ae9deae4ec17";
+      sha512 = "1fbbf4eae7c6e9266e9068d00778362f7f46be274078c66bfb250b4e6dd6f67b8a28a87070287933e5f77b422155a7d933a6584e884a0e7b5bded303ac6349d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/bs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/bs/firefox-59.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "d3fa2d09e7438e72160fcaf4fa1e4b6f61f3edf8e6c213e068f1bdf606f439f8173628563f389c6323ef9e2ec80573340deb3b4e3fcf8dffd95e1a9f7e8979f5";
+      sha512 = "e514ffac0888eb9e699489f95dc54d223f12350885ad26ca4e58763acf33994e7fa737d28a94d31faed27aa09294dbbd785e9530806b30cf233514dbeefeb05d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ca/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ca/firefox-59.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "b1e90c6883d799631fefdc08bdb104c620a666f357dbc7b2106d625f47121130484ddd875f3bf7a973286763472297124861d06a2ee470aeb1951248145664c7";
+      sha512 = "440c02325178c7b102b78aff88effd5d2934c0901136d81b23851ea18888f90a2255ec389014f1cae76ec146d59646a11211716c82b2a9fd81b39c58d34b5bd2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/cak/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/cak/firefox-59.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "bfd01fa4325f3344844772b28fd21bc3ce35d4fb41f26e9261355e8d6acff92816bb7b2876f9024a10b6d326576d5587fb153dbeefbfa765da6dafd5916bf91e";
+      sha512 = "9bba1de85c5f93e80c14793ebd947f8297d9aa69489b2057964d3fbc58d541cbb9f6441ab969b863e603ed1ca1e80fd6d4cf9b208beb8fa99207a9994fc99b42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/cs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/cs/firefox-59.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "2cb501c5786b4baa5d9f3cc8214fa4a3558a8ac5506dd6dafcc2bf8f5328ae4e7705a4f689bec7fca5a21aaaa4447738024038fb765477d8067fa8ebe508fb6f";
+      sha512 = "9a047cd1ea40fc79c285ebeecb327810453950d0912619e044c1142b38f30edc2fdaf5ec191995eafcd00e0603f53439a881196621203a2266863a6145531637";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/cy/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/cy/firefox-59.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "7f173d7520a1475e81da3a32369ba296c74b83ea40bb29181d780a38cf9953e02a021de4eac3e1b1bfd4346672ac04a6c5aa7ee8c211009908f5952265cee0e2";
+      sha512 = "fa2e78cdf7823101f7a1ece26c69b02733daf121700e062875efbc9f30aefb4cba75a6313089d8085ae5f8fba0f28ec05556c5e4c4a13745e5455678d8b9633a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/da/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/da/firefox-59.0b8.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "4b61fe707dd027fa64949bf01d013af63fba522715586b3000171cf57ea533538822b99fdea3e8a84ce63af1fc74de3af10fba936aa8ea81110e23c2affcbf25";
+      sha512 = "c24c0cb23bf600f3b5ee7b79603562d3b990ea8572f510f7b24e23c63af9f617e7de7709941cffc36a4b97e4eb8c5ebe832f07683d5317b9d563fe5f52f09988";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/de/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/de/firefox-59.0b8.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "e50d091075039dc1625e07aa178b46cc2692cd13e5179c2d8dfe8a7ba11906914b399f9de894388026ecb1c9c4da4698775d2d1eb966429d5c8f37094b557046";
+      sha512 = "e9d2b0dfaa2d3242e6849b3e0f4296e630312832928ec4516f01b420d5ded0d2917e682d6446fef3d9b7afbf6e83daf1e0c77d3204063559e1993c59c51845ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/dsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/dsb/firefox-59.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "c67be48ea674109bcc8eedefcd68b8bdcf1d67adfaf53bbc1e23737269d1211c1a0cc3ddd1eeec979bdd991717a650ee605be9b432557ee7bc7736932471688c";
+      sha512 = "70c76d6c00d8b6e96a23f65929cb61e16d1760f3e4b4ec825352be00257241ba1a80fb53ef2647b0fa67864f22f001454297ebb2d1c9cf62b7af2c85f455563e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/el/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/el/firefox-59.0b8.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "6f050f606d70bdd5479f48d7ff8da1373496bc6b55a71523fe0c3de01c01123800389e01b16ee542b0e02ea8e09f448526647bcfd9fd7749f46fe320f69c55dd";
+      sha512 = "445cbfa311edef36218171c25614fb4ad07f8754ef07a85fbc011da90f013f869aeabf8ba9329177bda6322c16d5082e9e35c762475008b20ee078476bf347ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/en-GB/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/en-GB/firefox-59.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "71fd5a93a75fa088f1fab534cc37ae39633133e628c1e63dc12712db7bc81150b449a3a31e1c505b2a19a100c33b3ff2721fd6c8f6a3294f8f4ba5c8b91e6438";
+      sha512 = "bfc0e1b94493da21753ca1d8836219c61bbae48d7229478eddd2a955f46836e782b945d1867c36d4e6f30e773fbca3aead456b3d50355cd7a08dee3e22631a02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/en-US/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/en-US/firefox-59.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "8d8cac6705fa12cc170cd6083c1cc593089647a02124cb25bd4ae6b26e33f3c27dbfb0356a7f01614a4d2e472c357ef27165c142611304e060a4abc54c837610";
+      sha512 = "c7e2e18681c95e320e93dafa1d3f71ea11e59c4344b7723eb7bcb91404cf820ed8377ff1dfa9b934b9f29354920b4c0c892f58133a353fb53532c30190bd3684";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/en-ZA/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/en-ZA/firefox-59.0b8.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "f50bb2f931b3d545e731ea46abf91f5b106135d093d7125ea97c17d8f02f1d0026e9ddad685d883c458bc27646bb703003afcbdfa5a43a81313348181d710b66";
+      sha512 = "8578c50dba6745bb3ab7edd5eb194dd6a543cfa91d0d87962ac6f56dd48427b8ab231d3bb0faa3159b4520a68720695ef20f5c1a07258ab433cb42cac04050ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/eo/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/eo/firefox-59.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "f2978a9f3ae954bae8c5048b7f4350ce1b5e7f07d356e8820bc3e3fe108b1653eec40fc7a9c47c7c213782062b5f8a755d70260fa2fa31e2bc80b9c20a494b94";
+      sha512 = "5f9d54e745d8653a23563f05c31a82bd5d3e03815eea7e7d5a7913da59a155dd8b3d32a30eace52f28845ea4025105b8ad149f96b4f2f8ca933a8b8d6afce44f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/es-AR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/es-AR/firefox-59.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "8a3e14b0ba7c990e803924437fff84b438b7a352e30ce61718450a6f5840d1dd20ede78451efaeeabfae36ddc8d3998b33eb45cd8c8fd3e64750b2770d6d60c3";
+      sha512 = "ea191f2decaa43833c2ea00a9c4bd62b8cb09ab0eb93a58e1cff168426b9423fade3735a9f7400904c0b63770d837a9f04910be59d04ab9baa21c4b90f078b75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/es-CL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/es-CL/firefox-59.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "6857e17e05bb9df3c7a73a5d022926051e8dee1b355619fa8889e42dd9d5c02afec0dc81d9c6ae23bb695b2226200a00dca8fb9243e735ccef2c5cfd4159245c";
+      sha512 = "f136c7c626949523fcd5e86cb9d48ae8badcdb26ae73a4ff99bbfb0b37c9ef958cd5837f248d4b715e2c57ea05e3bfb9342530bbc8a8a5ea957da77df069650c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/es-ES/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/es-ES/firefox-59.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "765327ce2710c78a0e789a08d0ee98cd5345ec85faa099c925cd8ec117fc6730f0d1c6377571cceb997c3a1917b54115286ccb163742d6d298b065dc7479f73c";
+      sha512 = "3a6eeb375beaaad5174c795bfa21b7d80ba8be2ad1197628f40888754f410c6488eaf90f548acc320610c61bc63e365ae0890d4f6429d3bffa85def93dba70da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/es-MX/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/es-MX/firefox-59.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "799674d3546ed41bc457b0cc4c7e13877229f10b8d55b8571fd607fdc331b826683d124579b217fd4b970c01f7447a0f9d4291f64b9a32e16b6874f50b289bd7";
+      sha512 = "87a30abecddbcef1a7caf79639464a95731594db82183517f94dbb85935f8a10f455179a1fbc450c3b13548c06467834372001fe80adffa022a03861f628b22f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/et/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/et/firefox-59.0b8.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "96adf7cc1e639927d094dd78991de215570dfb5cd332b60ffdca9b22607f0417ed2965d9792f01e06e64f6257c471c92a690e1656cd0b60755f9149bbdd18098";
+      sha512 = "59906aad2ed7e7c8f0810b06fae5cfdb895dfc270ac7192b0368fb392e2993435dfd84c7f14e019a661b845b1b34f11f46a77e902bc6bc626e0e68e016e895ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/eu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/eu/firefox-59.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "f6d9573e906e141905e2c6c7b1f4f54f7d1ca9b441800fc6689ae7688b2cd3ee210742cc5a9db40b030966abf7f6de1722cc93e5913d9551fb047ad295bc3607";
+      sha512 = "46c4f3f72d428df57bccbb8ff352ee0679d0824403e9129fcb33007cfe98babc54c08b645b9fef5f523e2e86de92c4aa7358a76ddb0b22161f2bc035bd56ee2e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/fa/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/fa/firefox-59.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "b5e0483c360b015ba0225ab1ddb66e1271e52c9f5909f157815d59fe8e2d8292bc91342e0e0015b6df3093f8e04cabffe42c20aed1e496a795c144a65a5dc924";
+      sha512 = "31052ddbb5d4048a56a7412b89cda13fc23d4561659e59b80953bb56ef06eb6ab7a4a54ebc3dc6354676f83933b9a72ed9e5e07360970198caf0e7f7e1f27ba6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ff/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ff/firefox-59.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "67536679f0c79d497b87f270593610ff54d88699db683360c78e9fb197b0c58f646017c46e42956632f2fd3bc1ba50ba903a90f72b8bee4ac8520e1faa21de7a";
+      sha512 = "3c746da1484144590676429b2f01557f63e599bdccc7c39a776a6bf5bc45bb327507c635a470f25b9b3d0635eecbc1daa74cf1a6a912613c51624cf978917635";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/fi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/fi/firefox-59.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "54ee1c20bf026005d5d22f3688676da09d848780c7275906cf191755eea04e414cc75ddc77d77d76aa88c2ae1b8d37d3e7d064e416f08e4f3256eaf39efe4c7a";
+      sha512 = "3e1a1e4f492860fbc66c6ebed874fcb6378bd226f095a1ca9f78366f3e27ff82f1c1433fb015e33ad3ec379225d721862c5ad5f8108d2e55c7e6539eb504828f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/fr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/fr/firefox-59.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "0a230b1e5203032dcb5174f52a4b293503667111057b929935ea4dec72a711f0d8689dbacd967427bddaacbbc39cd6615808030ba4a8e7bcf3658b0d10a26b59";
+      sha512 = "3ec49a0ea7f5391826b29e3b9a8138c06edfff9ccee3c5b5807eec1d654491d4c2b231bb1050398962f3a2a741ad69c3d40287769a71e20fee4d381664764fcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/fy-NL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/fy-NL/firefox-59.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "0ce7ff09bc1e24e1126f20b16ea6f514693dd108e0feba1d493c0d5d64e298eab4696a3159bfb89dfe95f1233ea55d268927bdb08aa409d13d81fbe345c0f7c9";
+      sha512 = "0e52fba6d487701735860353d85e7f4e098f6a288b5c7f9cc59349a93e72835f459e1c43df3effb60a8d0768ed4b83059c0deba0a564b8caf5e7ef5b863e719d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ga-IE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ga-IE/firefox-59.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "73026666e86038a1aff7226afb44d31b9e4c734f5a4c576abaff83f6d8b2cef2dc6a95bbd1b55f54361dc2f385f31b651dde14cb0a9ef93600cd160195a3a86c";
+      sha512 = "4d4b62000b6b6b0ed2c8c2e98f1924839ed2bd3473bff8f6a236fbd32e7de86eba77f33dd50e22adab6c64453b16347d4311b92dd9a0f86174b23c12582d7bb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/gd/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/gd/firefox-59.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "78b812d39355d2fb1f9724a4955eb99f69f8e8438b409e8a2a1e0ef54dc65463b19d8463bb34d2c9a8204a783d5e47e92a0883b3cf1ebd61a8ab78d82b6351c1";
+      sha512 = "20cf21dda2bb4dc1ca03f08f137638ebd5eea4cb9f6b7edf32b050a58ce650eb095e61be1ad5c36d5a6e6d334c82daafc6e287e67a8ccbe62c69656382082f12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/gl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/gl/firefox-59.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "2826e9be83344d03b967265a51f19fcf81856624fa3902291ea57ed5d480b2d52a03cb94b0d47859c786563b9b36fc9dccd3fd9a7e18a1f942ae9d501854f586";
+      sha512 = "799af61af18f793efa4676604b2b2c927a928423e9a5808c0e423ea992045f779bc3e12070939bf17ba336f5096c52d6e78a8890022534732b54d77ad2b39444";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/gn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/gn/firefox-59.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "4971241c3c47cb4a164c36ea25ef32be63ac58b9c9d7e1e24c2d0a99543518f282bfaff9949eb19d1b4d1378dcc6674c13972f75b3c404047a4f10f87a0059ef";
+      sha512 = "1b967afc065356c8d11427227d3a7f875a0e20bfeac8e92e6d41662d0fc2cf4bc628a4e1b7e16375fc1c5f22030a305df1cfeb4ed75bdaa4c76fbdf68a99a0a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/gu-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/gu-IN/firefox-59.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "8981b097b4162d2eb9de3439ff4b8bdf6b650c05fab15d1bf51210244d7862c1fbe306c2f71e66f2784749bab1f327c8aa576470778b0479bce9138e97d81a9c";
+      sha512 = "4fd246b25233e8599a87ae6706937952d0785d6fd5e07eb387fe7a85f9e461d7b3e3d322f3ca487b042f01a8fce7314c12d38e1ab89b1ea1cc9faacaf30f88e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/he/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/he/firefox-59.0b8.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "30e59d23cffccd313d143c4b73535acbf93bc0ab97dacb6a0dc155f693fc11361b41a8c3ea58efd4f04c9773e26b040361eff74108bf7a27b3a2410b5e06626e";
+      sha512 = "7bc065cfb368e1d7236d2d65337d494aea4dabfff02931cd89fb11e1e49e69473706bef88c54dbb14906edb29c4fc30bbc7a8aa116d50959d90bf30416da7038";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/hi-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/hi-IN/firefox-59.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "a225dab1619d26c2adf77ec81e934a0d4e53dc53a6adcbc639fdae2defccb815bf762948c5d110695af53743f5178ed465dd0f69c28323c6f1170eb085cbc047";
+      sha512 = "73a3c38a08585f67634ec3201934b6f95167e3ad8c0c2a12813cfe41b12667a3d91d0b9f110dcb05ef7d6447fa1e7ab39e995ea495d14e4dc4a07fe0820cd976";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/hr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/hr/firefox-59.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "211f72f372752cc18e68283ccfe756f4dd5aa3b546adeaf7c979e5ac7ce7dd1a05fc51209ea2760d7e7f3241995de8929c4c8157cc644f15c86b7ddd5c6d1672";
+      sha512 = "fb730ec100781fdd7ee6c24562f46995d2c79aa8084519f22ab4b016f50a92f53163c45ee03c60d9d7e09aa28aa18a3796f2e38054ee69cb50c639bfabf90073";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/hsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/hsb/firefox-59.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "d877366900076ec94bbf1868ae8a404daf4de62a5ae3aa0e4e06a90fbcdc2f7917d5b9a7d8c2c6c4671686e031c21208fe09fe4c7cc6afe9442b8a7b802ff1d5";
+      sha512 = "016e1d7342c00db6122bf30d3fa11b2d5f045bc942f8f0fa0dab86364712e7117a4bbfe708c8b758e4f95a6a03793d9ac86985fb3ead048bac726cf2398e1d6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/hu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/hu/firefox-59.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "001e92d12c9823145eeed83d221212ada951ba74ed59989d2bd5c5cdc1a523f1e3b2d7cf0a6f502eae77b655ce0e3b2988fcc64fa3bbf4ed57e6a15b9c29cd9e";
+      sha512 = "66d88c77f981c0d131ce80511e3d4267c6948157131a7b033e13da6eb230aec49e6c5d31dfb79cf857d746539530e178c8b09acc8fc5735eebd61c74b3eaf521";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/hy-AM/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/hy-AM/firefox-59.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "fcc82106ec954f9cf71c7d11bdb31c0fa9cb700eeff301663fecabc12c3b3d7007790c6eab772faa8b17a8dc08d79ca17c0f30611c05a3421569aa02f9cd2bf9";
+      sha512 = "3ab76a5515b635e4d75b5ac98d55d36c98b48535cb8c6f07550dce3e4e0a6443847157b9121ff71052a1a2f0256c3ee93a13c820525eaffb10592a25ec18893e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ia/firefox-59.0b8.tar.bz2";
+      locale = "ia";
+      arch = "linux-i686";
+      sha512 = "ccf008d64f6fb83ebb75290000eba8d0901ac4701ff89720f30d338934c0dc3581bba70e80ebd53bcd6623af2b68e324b8d71cb17142b18b879f86c92f244fc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/id/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/id/firefox-59.0b8.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "f0c2cd6192d218c68f12f2ee3cba1da80a6f13c0d133ab8efc63409d2d81dcdf4f997f62d005bd8481e9d4c2614cfb81eef203299124c5e28c14c64e7a30581f";
+      sha512 = "d56cf734628d8fd76d9f0b44fd15056ec17eeeca96e610002b482a10e1aa2f2f1a14d0e1a1099709d32b822b2a83149b75184eb22719b030a92ec5a8f176777e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/is/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/is/firefox-59.0b8.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "9ce64ef56b5f0d5fc42fc72226e50d2f9497407c2bc60f50b4fa9050b80a356063de73749029502548cb6fc7a77a3caf87be444f5f16e85e1b2564ee2c83f09d";
+      sha512 = "c1c4d5e8ca2ab2c0652521045e0931b0510c7d583b63d7605e9949e1f2a4e02e3b453a95cc2f2754f4390e1149e580ca79a2869909add6fd966fe10c297914ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/it/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/it/firefox-59.0b8.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "8bea2c016abf5c7fbab15affb4a0e45db66ec9b425152e57bd7a67d7a99b658c1b58f563deb9e0b67314565e9bff4ccb4ebf2ac881cc19f0fddd6b164e1f9241";
+      sha512 = "5f331e0245b00140964ab52cba883d41c7e9cb0be849081db7feb80db723d0e815457c288d4e349666670036d6c8f79b92505ed39d00dd8c26808c76fab551fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ja/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ja/firefox-59.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "5d952a5cb6fe885ca0d5013210596226efbbf85bb1a21e4a72b2ce998f468f5a8079be5fcc8cfe8210232dbf9e529262daaf41bae14834f1fda6a9517fac2ec3";
+      sha512 = "7237a882c47aad6cc66adc067959e383aa947ffabec7ff65c83c4851cacdaa78c5ca914ad0fe07ae3cc0df938fe16c9f6eaeacb3c56aa3de53497b8f893bfec7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ka/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ka/firefox-59.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "bb3a71b9291cdb0278aa86b05dfe03b7c42bf0c1018fa6177f9bd5f4a0d6b969365d114fb37e1a52b3d75bd6f704bf577c391c336a0a8fd68767822a8c3eec2c";
+      sha512 = "4d0f88c403b844feb573679eb6b2a370c94c9019fc994ebc557887dc37d7f77a6590402dfc02499a996567fa16c9c39b3cdc6cc08eeee90467d8f01004a46f9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/kab/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/kab/firefox-59.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "8bd5b265d95685ddd336782e2b7a7813794c8ce5b4ec2f901be69c7e09ce4ba8e4cefa5b132f517255c2c2e2b74521733ecb915f00edb824add5ded1be992644";
+      sha512 = "de105bc67ac9a91424f83f39440046d9c4d33908bf1680c1f606423e89e1120ae7c1deff94f90054fe70ade80263a07173225d5bfacb1196b4e45a420b458445";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/kk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/kk/firefox-59.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "1af1ffb451118c713d9388ebd1d1d9e120849717606f7ec00fb2b057ba3f3c0b2913b790e2cf8413742b1134c2b3bcd8f72a1772b191a4dc6518d2c461d57342";
+      sha512 = "709a8d7fa3dfd3169f4282894fd0f8344b2ff445595772ea436f1633971c5d29d4004fd54e6b981b34847e5e89b42e6df4f183eadd87b63a958e9be4371fca75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/km/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/km/firefox-59.0b8.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "d14e9370219fbd06df00e269d1f59806a5aad4018f136cf0d20dcddd10500dadd4019fc2a1735480e97f1c29f779225f543905ecd9e59256066b2e6605c8333d";
+      sha512 = "0a4b29e52ee101c1c25ede2af7aab05c1178152cfb6d36ffc9e71bc0e22924f274178ad5f1a0d7ea30975bec86963ad464e3b304201050b451d6f9f9b1e164d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/kn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/kn/firefox-59.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "acf0c0c84f417ce1d64076c8a6b4b1dda800ffbe97d87f66d6f23063217b82e54189311633887af1f421f6330d4ff19ef0222eb9dceb3fea65c69b1d0ae3afbc";
+      sha512 = "ecd93c818a70be60b24ea9722908f63d13e72b3c2aab3aa02dfb88509f14d28dc04d9df484994cdc7c430df2c62b49ceaa517dcb6107a7bf3df5c1cda3333bb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ko/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ko/firefox-59.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "d1194a39fbfa93ea6b04b724e42084f36f618dad3f178e1651029b1a86e79ce59c89f29d124912281a60089499d7b790f3d68c2a391edcd114f764935e8f7f6f";
+      sha512 = "4a77a865e32e4d923282fc58b671a8454b18e10d313afc269836e119f6259f5c7e042542b86601580a0e207b8c53c03cb084ca53a41d2612e9578e2015f25ca8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/lij/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/lij/firefox-59.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "6a6c0b20a0aa3876569899595a11f18b284520a23c10c7969fc8f415bd560399c0a411292ab46b090bd8fc9f239c59c1ebf3986821ae2628e09fea70ea87007d";
+      sha512 = "8b361b45f9645fd994d42d2f651c0e8078e91dcb5e84d3ae5932c96f537eaf49cac79478d149a1d9ff69a8e35fa2ff1e6a28aa7e19edcc2475a99129e6fccd45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/lt/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/lt/firefox-59.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "eef33ab758a0d3e185475e6fc80bab525e8224933952c915121434e36e2095248f49328216c6d7a9149644772e6be63d612122beee999d7411e3d77ab95c54d4";
+      sha512 = "541775594bd38b9e119e634188e25484c81af4c866b57bff35c4d7e0687cc6ff521c7fb83d101fcd402e33d6f1167e9e589f58670f00849b33fce7a8a254053c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/lv/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/lv/firefox-59.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "f2eb59ad7ca8988755846513a400076548c1bebb9204ecceb2d4528099eb03b45f7dee4245d17b9dabb97e00f009bc22a6ce658058f85797fa49b9167c21e586";
+      sha512 = "e33d481466cbf76b8f85f863740b35ea6e2297c601fb66f346e675696e30afdd6f18a42349dab8b35f9d8ace3a7aed998ae3bf717b3dc3a40fc55a054dc007d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/mai/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/mai/firefox-59.0b8.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "3e3650eb061a78503d6c7991707dbeec655033ae76b659f83319d53da79158da7dd2750f8cff9747d720a02c4c562fe6301caefdc714e78360382f4db3a17e3e";
+      sha512 = "40ad054948f808628e9f4e42a3dcd254158894396c6525f0c53a3a497773ab61403d04ff320d920e9be4c905dfb3ba4fba5d089e6a9176090db00f47ca2fbc32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/mk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/mk/firefox-59.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "88eac74804488bf310626e68ced7f563136edadbbc22af4c19fa77f2a7e25e484a0dfd46b31aaec4cb8bc2300444c2a763e4741150b4ef22bd59af45ca9d73c4";
+      sha512 = "43f8c89635df0c66c145616adf1f79509711eb88033b3bf1d1ac595d08be42769ba9f16c141b87dcf9a4a068d32f9838b0774692bce42031757ecfdcc40a6ae8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ml/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ml/firefox-59.0b8.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "39629c66a483bd9bc87f6dcd10ddfd94e723d000873226c7f989dda56e60a6c43ecfcadc31c346ef5f0681104617822080e30e14b9986364f2afcc2aa78f7365";
+      sha512 = "1de2b834375739ba60d0b399391eecf216ffba67a73c0559c8ee005dd0a97b814d3dd52370b82b8801919da7ecb9da6b5d689a9d7a6786d5c51b2db068e1108f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/mr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/mr/firefox-59.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "985a340a6e89e88c9eb4e4a863f7049a58c0fa4aa0d3a0ddd6cb7828693ae650686804f84d61f282997c4a0f2bee30fd0807c7f090b7821c4018f386ad6a7c7d";
+      sha512 = "b928c245b10fb8886ffd5d2d769e02d5f25ca5ed0de8588a76b9f09abd4c95b8d0caf9dc74051c891231cdaa30e74d80c71e0906658e0cbd51e3626e9cb58244";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ms/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ms/firefox-59.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "50f9106e0d0a0176613c3500257ca9260c6e4d3f9a4cefed1df4c50acf21d4ccad2bef498c5d602389bfe86f874bf314642afe2299e1d9fdd33cf9a576d74c53";
+      sha512 = "b06522dceb246c76cfc6d781040c09998abd1779da9f0d2582cfadea5bd5d1512878559ecf9d650801f4fc02b6002d2ab9b0e579169ba800eb71da99952003dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/my/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/my/firefox-59.0b8.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "44e3037baeb7aca11283845953b6e71758e67eb38aa11b99ed68865aba47aef5adb4be9cd52621960a954437390ce280d31da1734183bd1cbe5497b1b8665e94";
+      sha512 = "696bb8015a1c2f3174bc640114dd934b886c509b60cb426ac35e28c5d7d016d444385c08cce79a7d36e66b3205d1d5439ff25146053e6e82af0687c989793ab0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/nb-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/nb-NO/firefox-59.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "df2a5be883f46e3f6cec167cd8aac344dc69354abae30349a1d2bfe8a6047040cf11355e0f198ede447a71eec362ca28b3332e048fc1740cce4c79ff9e4b72e9";
+      sha512 = "367e0c808e806b8b77eacf0d105bb8acb680f7b3cbc6c03e85e2992921dbb4c4b1dac92c4bc7f7f6edeb821451f0c28045ff16dac1ec424e3e132581153e3793";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ne-NP/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ne-NP/firefox-59.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "9ac55420646198a90680f09a81f8aaf8ff979e972bd4b4ba14711b7390a1916f146e42e295fc2b0988bef542ef140f7a11bf4d3344c3c685e388db9eb1ee81d7";
+      sha512 = "04f31732e2c972e0551b306e8f4bc4e0bd722ac11f0f9c515014e2ebff19718a39be18d1f33334fac1059774a5a8258a8da42ed82a8a273003a42509fb81928b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/nl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/nl/firefox-59.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "3405266b9efa56956575a080e1c02d80fc381f9417a129f65a6b7c75ecbec33c1f20d55ffdd9072098328e06a6a0c339f150d6663ad2d188e125cc20d487b5dc";
+      sha512 = "0ac378a9403af162361ab93af52f7893ed830f86d36b04a681fe164dedd33d55e629f26f3fc4a7ab804344c0dca8b5fdcac5dbed4b84d6d1a4684161eef5d64a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/nn-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/nn-NO/firefox-59.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "3fbe2fc4b40fd0491464f478084a09e349a9c19bd1d8f8439345ccfb19f0c737103ab2d1b355330f757eb2f439f1cb08ed5397fa407acfdef8a9d8e4dec147c9";
+      sha512 = "a9d3edc5e508e3041cccfa2d1f342615272169b4f8d07f169733697f6ea87988367f97945ddbd2a7703a93b5fa7c7fd39db76714cbc5bd790a7bad6f339a55a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/or/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/or/firefox-59.0b8.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "fd8763f78ad1038cbb8c51915b1fbc0545eadaa46acab9acadec4c367795e023e7851e6b7952db339731c81b5030755c54fe1862a04d32363df5d30d42827d21";
+      sha512 = "8b59c41b4411cf682f80b2a7523147873aac97a74eddb237e268b60568c070f23a6df2e8a96688514ae56f71aa309a8a46bedc56701967ff949b2f9294ce80c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/pa-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/pa-IN/firefox-59.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "a73db75bacd003286d080076650e079107b8dfeeb889b868c86c32db0e3a5a1a0c5b4b9f6da340dced677d13f895c12651bea2a08b24bee78f33cea6d6bf81b0";
+      sha512 = "497ac10f29eacd91d7ffa5725eae100861511c585396088acb8a58610fe6772bb59b0b9232b01b64fdbd2d898b6f6fabdecde93e53ba618962d133d33662a3f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/pl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/pl/firefox-59.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "ef17c2be21b5487e471b5a6a0a46c366ba8c5b7da85d4a8ef8dfc8c7523bbbcd520d796c4bb7cb7905d8ddb1850675190105165d7443fa435187f2bffe928e9e";
+      sha512 = "4ffb6128f7008b53ec165926145deae81a09242a2f59680ab482a38231e2f64ed5549514f0f51759eed7108ee6fd56d4fe1f5233c94f50d0e6978c0a34a46199";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/pt-BR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/pt-BR/firefox-59.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "2aa66c9e63f1d0d783c23091994e1df08e977a10d42484ad6265ad78c6fdf4408d096c189b8012bc9e49d91467777ca91b54c4d3df84ead2437d8f18567056fa";
+      sha512 = "41648efa9f8dedcc50c6979875591551851db4bf3acff127ef90331481b921eda4a97c067ba0d6aaa7d6f5bf58d5522f6f810445bae3c1765e515afd552e3ff9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/pt-PT/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/pt-PT/firefox-59.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "f9df65dc74bb7e9da8a015e562191930e9af721cb47241b7edabff56f5d5def8206f91892c2c8f1e1bdbb75bf182c5957eb555db7233aa14fc09c61089a103ab";
+      sha512 = "9f1bab89fb8e9f1c5441bac66623b3cc4a0b0f24f7f0563d488c866165db52a5264838a3c00e0023325c4c93a3c4020c801355a7db9c7f281aafd3db0418f88f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/rm/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/rm/firefox-59.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "afb165e1ef43486041ff3b41ee81dfad2dddbebd1dc2d20595d924a998a8e8464e459b0c146f93af7c8641b2ac38e9ac4e1c0090903a96ed886e7ed895649035";
+      sha512 = "5b012c79032022605ee5285bf74b0aa20af118839cbd0518fb8e492a745501d790d231ac498ffde23c8246d5107bfb8887d801a1e29b9e235b89ef9049901a33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ro/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ro/firefox-59.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "22b64726f265d1036a0a2c4aa37fb5b2c456915f012218d01226d47577740ac0d9b7e788871e829ec89a58e585366157b63170bdb29617ee4c87ac2ce4b97f83";
+      sha512 = "887493e1572846b4b3d832f05646e54cc1e577367887976d70fe81042289e292dcfec8b9790664b2388fee5dbf1b304a5a482bc55e15732e196cd81fc50bd617";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ru/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ru/firefox-59.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "c76012a4c9369eb3fb35ecf1be38351571297e91db0453934169d38ff8e6c6074d6c27e6ad86c14ffd70ef9d95f7cb6db09c88ceb971888f36843f2d650f880c";
+      sha512 = "194d098e80542630b372990e2968f1c0735b6c79627ad9ffe20920f1a2bc0a066d1bb6c5e989d2e4b08f5f26b1879f6a30994226fd34caa42bd92e6128231586";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/si/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/si/firefox-59.0b8.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "b5477aa01e70da839f5ca3459b310eafeac11c1d6c34934b9aa319d7926b363537cc7053d92dd8bb3a34673eb2fb721e5b1934c709a2ca433a33d0bfb140ec06";
+      sha512 = "6bb7a4a08884b0c9e5c9b7fc47907a1dd6fd1610902ea90d66406ec7e8554e24389c78257d2640eeba6d0b479cd9c61858d72b9a8c82c7f728e81651dae6b623";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/sk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/sk/firefox-59.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "3cc9235d5c3ca065133403eafa1a135dfa4edcf05bf3e8ccbc8b102464abb47982dcc4283b45699abdb7080ae82f459204a9514624ca95f84939ecc9d553208b";
+      sha512 = "bb570dc6b7e90b6b306df3c0788fac77ca03dfaad6b66b1f0e7a561eaf52001169864b4a43c871cc5a093fa0f4d9f2eb89dc5b47345a290d61c132c188d59cef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/sl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/sl/firefox-59.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "b442a8d0b7ccf9a6b8252b87bf782f1ce6a85c65eab5f7ea0314c20913e69ffd81bfdce4d965dd28328cc37f4db4e5fe44021e8b1c9cee616caebef0757ffc11";
+      sha512 = "42128cf51c68134990fd83827e523425d061af473185b815610aa358dddcb51c55c72436e609301da23cec7d9c98b0830cfe168c86779881184a30e856d58306";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/son/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/son/firefox-59.0b8.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "088b4e5b68002ba3e44e243935c3ce2e724f5f6b88fea87e0e1ae222fe5d2bea223232aef2c1be8d6bd8fd31a7c57548ab1ff4b34e92df24a9bebf596ae97fd1";
+      sha512 = "ec1f820ad1e274abdd5f368a8f9e71fbf303420e4a3c5fad252ac9ba6ac36bcafc44c59c0d48d30dd0f9f43c4caf01305357b009e9fcb80579a015976d750a3b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/sq/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/sq/firefox-59.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "757715b9781fd0ebca1febbffe04b731d2155dfe36c643fac2850dc182cd939ac57a03061b24aa09011ddaf81ab7849b11ba8e0411345ca7758c5a50d9697f6b";
+      sha512 = "ae4dfcb80492a281c4195c2ce8b15662f8d6693546fd98f240ffa54497e4c5fe2c160e80477c78659068ce37668f61ebc55156df1d384aa4b12689f25622b3c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/sr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/sr/firefox-59.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "507a8096158b1542b938687064a55aab34bb099c6125970a6da98d99c27b5d84af8f9712e0e54eceff379782f40355149ac1bd129f8bd663a6b9238c7bb0e956";
+      sha512 = "eb0162d7aa3e9b4d0ed04f59fc32c5bdc9e6ef1ad4da3feb3370143fa248111e96e734a75081d788cfe85e164c44363230536be6e0b58c2dae08c870ef26a5a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/sv-SE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/sv-SE/firefox-59.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "7de38694a129f4415add651adf1f298bc4647304ddf23d73f3c6c61e478d99683a1ea8b39e0c5f40ac6d8fc31740094dd4ce055af74e863279c430dd6d2011d9";
+      sha512 = "73a5679f36f4cacd1b5017a6a4584b4323ddf65459442a86ccbcbdd3a8f7397a06ba4ff7b12885ee0ed14275cf92e3d06a61bfa71e4c7cac2423a965cf3b5d78";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ta/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ta/firefox-59.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "3181be9589f5f0b5ee1466b64334a696305f4e857c9f9ce70bc0819d89d6283603439febad3bd307d19c1b62a82aa60c08a267c4b513c3f5ea27fae3c8482a70";
+      sha512 = "9097d997df48a574ac708dc8891d52af6da3526d0eee5b8568830aca34e5ec7782aaec19cc741476a6c8529e7373d6b9da9e690df4caee2f8040d0d09e21dce0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/te/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/te/firefox-59.0b8.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "66aac40d162acfb6083117d94b9f75a685d842b9a1946beca9237255ce120e08387534964ebcc3f24d5445c302d5e6196436bdeee08bef02badd856f06b45c90";
+      sha512 = "cc8fefd0d8eb97d444e8877558b48208fc6b8960f86c73c3ba332699ad437981713b85ba039c2335e5d37270866c1a955bd1dce6dcf42fc78b03d2e679f7683f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/th/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/th/firefox-59.0b8.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "d73463bc9fe37f9467fb8401188576c95e294e7a6161d76091e4ab3c0e032d872ea579f84cfa96142e30af8dbe108575656dd245efea4c4f00c5998372d73f59";
+      sha512 = "62f90b756dd973722c8b24447332fa947c26c699b8808bc6934884d6fec2f5573d9d9593ec4e3711d9f23002198b75164bda51222e8c529689b852628e35d816";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/tr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/tr/firefox-59.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "3d0d3e6a3a0701ed630befff5b1ea98034e76415a1e9a46e2df1dfc473d1e7a044081560bedcd4d50cab468d260c3980b0272a007f0ec0a3c6dad62da8b8f8a0";
+      sha512 = "87cfdbfacab87adb24f08fa93115ac8bbcbec2210914f8e8e977a09328c39eb8f181d53ce8e626b0f581241233e961c8bbd69f8dbc43fd5540da8607411732d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/uk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/uk/firefox-59.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "6d34921e196d1c4ed2602187292cbb2395f5e6c2a387b546881b1410d55511da73d1f0e8bc7d085a77fe4e9449d0fdb3979b8b27299044004c846f2099eaea02";
+      sha512 = "8c273c2bffcf05a5d2cb59d041f2866ce1c55081e79fe7ea51a5e8854b74489dc71cf75b8fb17d5d9bd5704e970bdb14d468d7da35340f18ab37c7893b5aea18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/ur/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/ur/firefox-59.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "a626bf0704382669e767ac4b359338cae910bca5565a555d5159b32550f9953b0a500a6e3a6df27ce5fe42e16b745c5235aaabced98f8d407e6f8c1d1ef9ba5f";
+      sha512 = "1307bab876c23b2cbfceb27adcd56617c6e420f2e8822d7ea4ab0b933d05c77d2f9e06e2c0242659633e13fff71a8e565cc77e6356a884caee0f90a1de5c1d4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/uz/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/uz/firefox-59.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "a0f83a3afd7635d6b59c74424724a31d0f2e622f53a22f17d6f63e66c14ba4188e97e0a399c5d6a24ceb907a82b8715b3112e031064183b49a8a05cf39f2c64c";
+      sha512 = "7bbb7e8ebddf34263b0513875811623d11d3488798bd33384e722e83c36ac7f4f1260522c805fea486ff3f9056153c89f36f5e28899b0082e30866cf29a6d32e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/vi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/vi/firefox-59.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "3f39a24d08541adfff333392c8ff31e7f9471dede6725e452720d8043a67c406d5db563c4700dd0cac96df438b1985cd0b892d8dd3fc86cfaac9b1f773d6085a";
+      sha512 = "fe50de233efcce8008005aee2c271ded0cafc013c44a0a7934fa966da6e70fc3197522385f1da7563ab5e825c4b42d56352fab7f68aee506dc732a2974ac3a9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/xh/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/xh/firefox-59.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "16edae1e8791c137cb1af5b3896dcb697698f4358923564d2a17c9784ba12c90720378099a359ad6b0366155e964e3c764ddb2107d49c26448d0704558be5b37";
+      sha512 = "3832b8bf84a7db06463e301352bae16497616c400d07d9f95f87cad0b4b765ea59bd580812363026d2f69f5381bfbacccbacada976a54e4e9bc8d8941ccf5bdf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/zh-CN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/zh-CN/firefox-59.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d1cf1edeecb97f11eb3021750e09f1238cb6ee3dbf598b16a3d6f57da9f2d51d70e3e9165b3eb4e1dfd8a437063ddbea0b9643498cdd3dbdb3ee46f733621ca2";
+      sha512 = "2420b34ef4298e6a707cfaccaf503dca845cf2f862db0148b84bbfd61d53127bcd6b7c6e65aaeb2a65867cc27787f7a2486db24a41a8938397d15652741c6120";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0b16/linux-i686/zh-TW/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/59.0b8/linux-i686/zh-TW/firefox-59.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "23f4e1d0fea76ae01b526e37a396c24ef57382518078170527e34c40d95af656f32ba617ab37c523ae95e1aac964bd488b432ba73a3b23d620df5f653935bccf";
+      sha512 = "b0e1665171b4df6cd81a9333f42306ba1f631b7e140e963bf4f8f5da338adc520e0e2c44fe455c4a911eb54f4a34d2b8c935782956865d0f22ce8d4cf810dd1f";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 7a48acef9bdd..504260b8eb79 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,965 +1,975 @@
 {
-  version = "58.0b16";
+  version = "59.0b8";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ach/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ach/firefox-59.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "71f56d98eb5cbe5fe1ac0fe070bc6e430df0f661cb90c9cfe5eeafff4a852e7f69fb4684130259867ba887ec7788ccdebdc184d169521d2f930b030d51b1cc10";
+      sha512 = "1234478d8ec5a88e47bc5636983757a98e3472c67b487e2884af8dcae224bb18bac729bf965aa0f19b9593ee3d5a30c434215c7f561d9d1ec17327835e0158fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/af/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/af/firefox-59.0b8.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "ab90d6b0cb96752396174ea4e1b71f78739834e47b048b4f1593c3ccf8187939e54ec3e7e7de9e1433d2238c79feefe524635975f89ce05638b75d14dda971ad";
+      sha512 = "7416ee067675ffa238a212434b214a42190d231c7e42288cd0929bc9020c41a9b799acc29b0e9ad83fc2ed1c5170f1a614065f70a10be0c2be1f5f552d7d38c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/an/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/an/firefox-59.0b8.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "56f3d95ffc07c4ff3ddd39e5528ec300b4a5ec52317c23e5d21dc5b752493af35f4dfbea088ab2fdd9c54b57e647b0d1bcc441d359465eae9f32e1edc433e4ed";
+      sha512 = "d741d398d8f5185410370aab54d0691f0db22cbd1e7acdcef84d7381de790fed4a3b35ceaad2166af268c00de568a3d4fc15875325819d66b0d5fd1d6347504a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ar/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ar/firefox-59.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "740fde4321043e1d307aea3b528701b50118fbe05cd06fa6c71dd7e27f4e4923f62e7cca181017764a851d87467f614bda97304c98f6104ab2fa8f59732ecac7";
+      sha512 = "67a164df79c473fc0276491b7efc7c469f37a5c81aca0990e33a349f01bb42f0ad3fdfe1b5161cb7f8a0cb553eb9998fe8c8f97d37d8e2f1ff6b02d6626f1e51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/as/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/as/firefox-59.0b8.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "9600cbebe4bc1af9c476abd3b1a4e1cf8259c426020534b6acae9433afb782ef2aef4d8c9eab8023d18362933319e79557fd1d644d12f30108319ec21a8739b3";
+      sha512 = "a2d2f0fc0cd5a261fde714aa7f2a9c5024e8a5fa37092af829236f20c929e4f617d3aba6637e10e3f18d26263811a329527dda6233b92be6a08d01c7e362a435";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ast/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ast/firefox-59.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "7201fe87dd2f07720dfcc3f9e76e4c617e461b1167fa1422053f7fdc7016b9ddaf012a46d87a25c147cf4755a339ce1a288065af15c43e24857e009364fa24db";
+      sha512 = "b465990d47cf16bac8ac85768d8ef31a9798d2b8e92cc5273bdb7c08f59b22c960fb59b5b7a7179170741f2e68fc6a3222b306346280d3e2b03a467561d6fe1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/az/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/az/firefox-59.0b8.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "2695fd7b77eff2506595e7bb2bf1ce91317d548d3392cbb744f7a00b303c6f62e2f54fb0020778399f4a233b21a4d83ed2892e95f1c89bf2ecbacd0ff2c01a7d";
+      sha512 = "03ffc8c5a40e30a160bb8c6221ca064bd9d380e9d5f2dddbc6efd3fed9146f7f7d27eea5267f6fdaebf668ecaaefbfc2e4b8c138095ff416f56a17c42e875908";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/be/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/be/firefox-59.0b8.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "44be675e893b02c256a3a4de13b7316b0aae2f39c71222253cdfe161dc96e763b541b375ef9624981a3ecbf18a56a179951d19ecdf72137308407c633365f6e2";
+      sha512 = "c271047d953aab016d7d8fd2ba083e85be9d054fdff8edfdd30a1c8c9cb5aa5143ca17b21efdc6c892e6891cdb2aee218a280c4cc79c3acf0bb8a742861f0dec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/bg/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/bg/firefox-59.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "feada9ee171f382667e78c97f34f753bde2c7021d8df4d30d3b973273f697badbcdc4b92ff64980338fc9bdb4c16865d7044f68b000c6cbd1a2763aa743a94e8";
+      sha512 = "0533ec11c0e0565a096f9fe9fd6fc8987248d42bd4810d577f79de337b96d43b5ad55d9751d9dd112f2685fbb3367cb10e68bd22df3271a5f5f39dc7524e9f04";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/bn-BD/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/bn-BD/firefox-59.0b8.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "dea480bb19f04ddb3ca74d405e3460d7e75d5cf26f70509f3c9c71a145eb7283b0590d2fdf5a7e1bcacecb610c19b706c6972b911cf766ae1f01c3ca214a461b";
+      sha512 = "d5320b2cee57c325b07d76e0909c60cde3b9db5719623e252c3159f5d8f9a6c2ee315f31d02b189facc7845bf961eb466e05c35ebf97e43865efccabb6b16536";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/bn-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/bn-IN/firefox-59.0b8.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "3250536c89b6ca6577617bb6b41e6e93dbdc0f26e83fe47d887cdbf0d8272cf1516f393f8b6b9aebc9e62659d71111163fa4579c2ef569b17f31dd35b0dd53ea";
+      sha512 = "3359ecfe64dce6ed55755a937ae4cf8e14abc4aae7d1f6bc81d44d858b535457811bf2ec9585e0e0fcc7ac6a2f47059a1d278268fcdf4ab60577790580237f05";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/br/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/br/firefox-59.0b8.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "05fa5ea71839062afd4daaaf7ed3a1267519900fe7262543b4e34c1b95b092ca97a537c919d25416e47bb337aae6f490c108d950c62d8ec4a6823f2a7df02fb8";
+      sha512 = "77eeb4d2f8020def420edee3d375194d7f17aafc710c7cee202770cf655481680ee30c0301a8918ac561021f863b0f99ffa7745495178100a46609b51ea354a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/bs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/bs/firefox-59.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "73130be2e649ebad3f770f6e59568b7977962d4fbc41afb5230870b17f385240ec10ba2b509d44db48f2cf12fd6f0c556f69315a5b8e363f935428381a9893b8";
+      sha512 = "66cb0498e80758d3d095c384260f688435f951b55c463f8dc5e01f06141fdee08c72085bd26cb89b1b980a6982609053a30ab025db354479701d29c0a2610ea7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ca/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ca/firefox-59.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e2f05cb0c648696f7647f8d7f25cd949189c3706b4d7035e0519f61a3caaa6d95bf60f3df5d3ab4612484fa05aa8f309b5aa88be3e024bbf0dbd8afd72d3398f";
+      sha512 = "c46776231c97c19d7d8d01f30fc3b5d82e86eb0d80f76c1bd37aba0f1ab6e6bd02d34bb42624c822dbdf95a71ff517b26c23871c929c1d5aa74d668f5c96f25b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/cak/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/cak/firefox-59.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "b923453429e40c1e387fac4873c01ba5199d9384ca136b71b434274c99d6b951c86eabbf06136c30f83352932f97ea26e3553f76602c3170edc82245f85ec14e";
+      sha512 = "9818153ee20a93d5248f37d0137f1f756230f6310a881d0a513a37e24926729671bdf4f4a34364082554ae9cd4d2127da6f63f9363b72e973f5a382f03081030";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/cs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/cs/firefox-59.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "2d807ecdeda7dfd78276182f8e7619374db2e3140b17c741239bb1035ae70a726e488db00b9e9b5a0b2e69431003a0255b2e81616dc86092d067cbb6b13d9802";
+      sha512 = "b346401c04cd24376825dba22b42ae6662c29cc1d5c976ff64bd191ea274b987e5805064167cffd05ef9b53a5c1e9274d6c69e4ff05293fd9b7a035ec405b55d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/cy/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/cy/firefox-59.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "356d88087aace001fdd5b7dc8cc1d0d887382c921d2703f02525075cb74aa89068028760759e815d4944eba4ad4344d08b868a746fdc21f170c16e82dc344e5b";
+      sha512 = "290b2cc2321a3813c3c1d8d3312aaf7c5a8d4176ef47cda5361ade335b65fa8e1f51f5a45775e8244e81bbf43f0bc059e6c01744feae2b34f18ca1b02745c3f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/da/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/da/firefox-59.0b8.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "21ac7e3e34b63cacccd903df6acd4027b0e740988a92ba31cb769f80b40a612eda52bdd25b80e41d5a60cd4928cb5a458ffd5c652088aeb97f71c25abdf67ab2";
+      sha512 = "ecae65469a3d5123b115eddb0fd0dc87967103adfa3a7f32965870f2acb8b06f0300799e6b8c736014294d627e5ed1277a80b8ba45661d05fdb9f8f57ad46d11";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/de/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/de/firefox-59.0b8.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "63510a84997558507fc1fd995dea93a1568c54c9660352e23e792f76024a1f26af85147b3ddbcff01b244d6c2734bed82ddc606642055d318cc4f4a3528a9749";
+      sha512 = "1ec3fe1a851db8cf8f5225ec1c9391f3b4db9936283f907977565d86122fd96c41f0ca5755b55cfb0f61bd7aa6a90f0c12855265e2c14444ce6b26fb1313447f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/dsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/dsb/firefox-59.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "d0c64d8d57382b7b5a3f4265329e5fcb2962e3ea444023f73c5f6f1dd08530ee86e4ddd73b5acd56b932f3c5616ba08f8ba361c12d01f7d4be19a4e1e4e1ce19";
+      sha512 = "cfb192b32a1ebf48eef3eea556e1fd3ebb4f0233de4bd458faadc1740f75ab1ebd5927a61a6ae458cb98528e5a1e0985ac2f2a25598b76d74d0ce3924810a0fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/el/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/el/firefox-59.0b8.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "fa094ce51495a7652d686210fcdef6820f1d52e50a36f0858da3958489f7a47d255974ec855ce59ffcaef2d3e86c3e5e6046d678aad2088691ca27bb941ee13a";
+      sha512 = "5cf997e60d9de581f5cad50e33a2815de05e5d8f833230f96dbf95560f6e2c1130140e0dcf7df26da6ed1eb948612aa1e11f9b4adb5803f1f67c8fdc6ee858db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/en-GB/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/en-GB/firefox-59.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "48af2aa437f3bc10bfa70f2ae52a4beefd4820366934b82d3efd328eeefc69e379cecf2993d72f20900e488425724ca0381dd5c1afc725cafecaebb8d314830d";
+      sha512 = "cd7764c9589632c55773582053aadf6a68b8093ea5cfd2de2252f8373a26ecd6190055db098a90bd658611dd1e2a4df39badec608972786e1d7a06be21dc4215";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/en-US/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/en-US/firefox-59.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "ee41eb0bb92558c95a4e46a47784a80bb18c8ab64f29728ebc5d85f1aae21af2083751ccc4f990bc1497fefe437c2731db2cf6a5cf7cdf19c4c2e20bf1c6c466";
+      sha512 = "af0fbabf5826f110dc07960e7414ed87ae4c99046db1bd7bc09948fc0feedfd21c05e25ebbdab6a7738db0ac2d127fbda0e1fcf0d1bcb8c2cbb5250e3cda256d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/en-ZA/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/en-ZA/firefox-59.0b8.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "b01006cb7724a3186ae95613eeb9cd0ac7f9c4fcb2db71a09c657b23482768598b01ee16e23426b04f6d823f935acdedeac52029a35ea198c982884861e25fe4";
+      sha512 = "c5bf9c39c2202847a89cbef4578a5b6b73f8aed255c33e368d3401ccd98081ba9a6e58999c955e6f63ad6e78c9d3b1455fb9bdee541288be5e7db7d4a3e47a36";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/eo/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/eo/firefox-59.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "75d49a2195b88e0dfdf226b37091598b350faa3f73531e969ceab4b6920767471cb98ef77b7673da5976f9706e408c182b2e428fc200babcb5ced0e3fe456d1d";
+      sha512 = "2d28fac2bca21283a4bc0fbbf99bfbbe2fb39eb95d5dadd05ce933ac3f2f88468ddcd17ace652c2a888ba3023d4f373afe685ed78b447429b1fcc8893171931f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/es-AR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/es-AR/firefox-59.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "91682ebf1a64eae312ce701a5bb79ef6e46e086d4a5b70d87c9e22cdfefe067f8f26726cfdcad485f251070e956d4d8038b116e2eca7f96b0a6f96a0129a141e";
+      sha512 = "43ac6a43c5b9b46249c50a584fe89d4d3af7e62ee0f90bbd05ad722ec7914c4e56d6858e647ab1a3f9c24b7a783ae22bc3f97f660f0a25d891558c34f9c5317b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/es-CL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/es-CL/firefox-59.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "9df404c019d380777b8b91a60004799096a4b9deb0ddcb8ee5c0ae246268a22de543c844588570db533dd961ca04d83750ce7d78f0a4c8bb7ebe4f22b687d8f3";
+      sha512 = "8b2b9513950e0d46c675e2d6d3e149bc9df99cbb67ab4e1b7e9d39d30eed791a59b188a82c46ab3821b6e48f26a1f7b72eb0bf55add47d9a89fbc628046a8dbe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/es-ES/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/es-ES/firefox-59.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "0a80fd47fd23e03f7718bdd64181a4409a134412693d56fc81775ce248b153a63f297fab93d22720017490bf11d997aa9fd1ecade9c65ebac3611c1f8b8d2201";
+      sha512 = "74f57ee6276a3f9a085507f897d467e65549bba8bf32bdd723eb5a81bc3ee472f2311d110f1a42531fca81f3a88fb672922394f45148b8061f395d6f2fd90853";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/es-MX/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/es-MX/firefox-59.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "50349c449959a5c8438b90b23baef0cebf212c2de0233ebf0752c73a5db9311c66b878b2f6b758f7c5e2cd23669f26ad9820a1e397a1a574662e5c54a2605eda";
+      sha512 = "91b361d7961acc256fcc626e3f544ee7e3cbe3f05c1a3c83e2d9500926fd4538c458122005d41d9d241302ed8a20b064a30496e7f3cbc55d05b15cf3d6239cf7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/et/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/et/firefox-59.0b8.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "486ac5a97ff2fe7506a8039f6f5229ec1b48d3fa342e6056b5caf7d5ec9ca5d9cb8b0dfacee5ee527f80d7abba7ebd1746cbf8f55445f811d281eb34b4a367db";
+      sha512 = "c37694170a90eb7205295b534fe8e4c9e0c587f160fd8695bd46841fcf6ef2407d793b6ea34c72bba8f6791bf6a16eb25f8ed751075f3a82914062c137ca1540";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/eu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/eu/firefox-59.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "b06b8c79698c00a908979f91de27040f744f5281ee9cd40d6968f8a6caa636d7b9cbc417377c984a861af423edf21d3a0bfe76f1c218fd45fab2308273333149";
+      sha512 = "7efda4e27afe7ea0e187b60fb9945aed5127110424ca3f68f913c61f448ee09aa44f32cd97406982e2bda188ff849891baf4b6f64655a6a3b985c9c3223364f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/fa/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/fa/firefox-59.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "5d20beca23c5ffcd8eff48eab4d5a5300c4b9a9314d8e32b5a964333f2a9fee9bd4e5e0e94c25c9082a66b0fdf337297ad610bbad98ff8996c1833a3364d0cb8";
+      sha512 = "7e5ef9648c6d00521ca448ef8f5e21cbc90819059c2328206b8600340e5a6bafd2785b52dfaf3b85325eeffb05934c5678f36e213c3de889504d5aefff98f3e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ff/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ff/firefox-59.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "5948697a0636043abfb54af82f4e577920ab5a74dcad4546a886b0569bc8bdcedface878a433d90051b8a7e44aabb3721fb1f9ac29c798264220715deb9acff9";
+      sha512 = "a62faecb54c04ff503184bc5b25d1932768b6ca4ce8c20beede6c7659d5c1ca7070bcdc5f4d57a2ea42eabc99511ae37d48bb35ec88be518fa6745637ffe603d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/fi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/fi/firefox-59.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "7c609c2db26201ef731b8497aaa5719d9a7d213e25d35275e90c1f96741e7ce055af960fa480b5ff28337398b7e8f2da043634952a9815485e7967319f9058e6";
+      sha512 = "4c76daea3bd9459ddc5c39c2f72c19105ac8f18ec36120113348dea8f898212c97283ea497b6661ab1a79b436df7e4326c76569b82a973e4a0af2b792321907e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/fr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/fr/firefox-59.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "0938a8203052996640883e9a3af111a4ea3013f152290ceb6d69408c081948b5d9e00fffbcd03fb3332cbd1df4ab4a78560063bcfaae71b200a770164de0eea3";
+      sha512 = "a54d6b99e2f31e7d747eea5c9bb4013a00c916f2a3f89f538a2b0596f8b0350d187ea720fe3de9ae14bc719d33c554de6f609096c7a219eae8fe708d7ca38602";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/fy-NL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/fy-NL/firefox-59.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "86c83c85515c41c09ffd7eb52ca0781d524baa871f75e42ce6f81a9343bddc5d674c9d9d77816a95b7fccb6dc28e6371f41ce5a5c6e08f419e78dab30aebc785";
+      sha512 = "1e4592fc8cdca8d23d1a5a1c7822caf3133bb4d2705344e48c53a496df58efdaa8d26882a42da046d97e6a43d21fb3ef8f7e0cd1b5cd2e867e92020119dfae3c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ga-IE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ga-IE/firefox-59.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "9cbee1a59230ac61ce4c169b7863bea87a3ca2e432f944e5e3ad060f495fca664f5db87afaeab03c443694635c97b61d69c2e62e4a713d4555ab9381feda3027";
+      sha512 = "5772703aa922adfd5cdabf4b251d9f7fd85613b92bc648a7f86dc5aaf13d13e485bf1b95d2dba8a8bf4b9a1603cd64ba074fa236db183edd708ccff867ccd376";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/gd/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/gd/firefox-59.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "54cc6d7fa37b854a5041b4688e06708631829030bf9159ac5b7d06a183351e061aa046efeb2f5b2063a206ef2e5174ee55885fde9183da1efdf37cf4178549eb";
+      sha512 = "6180f260d5be34cd9fb52be083ac869bbb72af7804f1528d02da9bfab699f3b434f0fdd43812dc16e43678cf9ab86f42adf990487f604de21fe3198ac71abc3b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/gl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/gl/firefox-59.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "3902724a66b2c32da875da37770ceea45e942919ddbe27bcb9067a8181eb7128716ab603046e62af3aa71090925b880aa294e1f429b8d7885290b3b1866371b2";
+      sha512 = "230815454662dca5b4ce778e3d88b7689a7ed864e75ffd1dcd306e26366bdf652b032dad469836f6d8dda836d2d205c8d41ab84823b72f67955ce06101f7d652";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/gn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/gn/firefox-59.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "37991f2cbb1c003316a69959ea871c4566a3490e273164e5d99e9d824339024191579577b8e9c509024b29708322471e3a37c114880792199e5a3486e8951081";
+      sha512 = "7c8b0d419f6d3914f8840a6f8ec46973243578e17fb3352598d27ae2178519b935d2fd5bf33d5b7bc78c8e4a660047bbe37a81d84186e39169fce492b0fca11a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/gu-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/gu-IN/firefox-59.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "ef217016d8391f614fcc00dc6e1bbe80773067b567484e652392546266564b9467a0bec247633e5676fb1f1dda1e46bd28c7677844f6d7c0e8dfb17b743d5584";
+      sha512 = "70e71c46c71ea9d2a91e4e39d77265e4352db3dd2804de9363131647c6dbcc12542bf20edd16b24ccd8c3d07234d38bb1bdc8db1c7260def06f0347cb2574467";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/he/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/he/firefox-59.0b8.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "ef22fe099558da13e25a179eb608d6d9d141484386492068947ae63cf748d6eb2cc1d5e6b10aa55e6ff19b243d9b645fd38cdea1cdbf2652fd64f6e0b80f9ea3";
+      sha512 = "ea409a856a9492cad5c6e562e7a3b9ae24053e51384c98b93438f23193c476e8257a7f2bceb6a253ab24dccb04805846cad13942254cb754b4d80ec848e74286";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/hi-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/hi-IN/firefox-59.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "3be9e5d5dd513c330ee02bf7be7ee78c2eaa291c28b8e22ce45b642d18ff2b3f906d165872eb7b51243f789224f3ac0be293b5b96c5e6bcfcd94d773f9ab0210";
+      sha512 = "8a290e9e0d9c2c732c70910400cda71fa282c5201cfaccf92a36639dee75f12539408659e72207de46c6579c2ad158a3511b8065494ed75eea5e72ab44a1d080";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/hr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/hr/firefox-59.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "d3808761e024f4be6d46c6be9ee0d07afe04b3b7117f56e5e2cff3f138c035cb249617c5e5af1decb6ee502ca04264c3d54c6ab024d63c23d57fb2c084c2ae88";
+      sha512 = "6a4c2e8d21dd79d9998d4c683ef8cc35a44c5c1307b9be1ced0befb5a933d431dcb651060ad44d03261a63a3707799cd14c04dcfb453809fd806dcdeed2f8d88";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/hsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/hsb/firefox-59.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "d8f25de029249af4d084e61e3e9aaae63911ad314f98f85887d1ad5fdff06d45ca46e3496c4652c7ae412945615441f2fd0d763e5be80094cf4f12d8bf937f16";
+      sha512 = "8eaaf4cf1e22806d040298ae0b22a34b56a1d613d73e7fa10c2990eb0bf2a174177b36fbb0e8a4cc74264d3657d4bffa9aa66e184dc2342b0cb72aababb1825d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/hu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/hu/firefox-59.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "fb626a3cd9108da1b2e0d8b1eb3fe4d0ef602c3384578414dd448ebf41f7786c57e7b677080b8a9dbbdf6d0b96a393ad8c91c08a260ed09843b37ba1b8800028";
+      sha512 = "7e492e77fc993a6cc31f0b4103475c4b4ecce0ce6ab6cf103f7901e26beeba0c1ded6bf1c66c9d70e955aebc839f3b8c4dae0d22bf1c9a6c6cd0218746905c38";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/hy-AM/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/hy-AM/firefox-59.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "00d17355bf106c3d0ef0b7e03317a3f1ec5d45662c931917b749372f26c278bbec7d2adb84bcf295ad110cb6f581300f3a292e17e3cb3f8814ec800fc06a9763";
+      sha512 = "9077842c68580070ca00e43e5c69ce45146367ca5f8c725d9c7133677751c518c5780d1a1b1b39ed52aef9c72dc969798520c3cf87d16f15d6c960590e2eb79a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/id/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ia/firefox-59.0b8.tar.bz2";
+      locale = "ia";
+      arch = "linux-x86_64";
+      sha512 = "4841db6f124717fb76c2e83dba1a850073f078b5ca7c2f5d7523dc61c30a0365d3835fbe4297bbdb5d9bbdbf82527c0c7a7771194d8fae839ac8ba4c1b24b813";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/id/firefox-59.0b8.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "029458a9e4b0508ed204ff3485e0b70f26701a339a5328fe210c07a64801655520cc747fd255be9289cdc33bef5e697119b582d31a12ce10acb70778925e010d";
+      sha512 = "68229843c9402bfab0167df5ee3dc91b5783edea3f1442ea7a26df34ff4c9ca56fe3877a20f63965d39b9428d7c1d5cd024fd5701f3244c15842462259f170f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/is/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/is/firefox-59.0b8.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "d90f5d8e4f8639f635de3174b825bfbbe43f04f9a81dfb5045907b4ff9bc21f2e67ecc9dd070114b7a6e5fbbcf1b7f72e2d8f4603e2f0377b2a6e1335a4d2f77";
+      sha512 = "b2d3c1be3c04175fb09f577961f971a10e961133346c7507638933fa5d9ff12fb20e633aa7e209f333fa3c6bfb0056304f3931f1189e893f6a3ee417b3ce4c1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/it/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/it/firefox-59.0b8.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "125e06d82df9e87d0d1bcae91a448349a5b9b63205924188a7e8becef2ee98c32c24ae0762d225ade12c3cc0825243d8582e958d1afbeee0a329e6d149b6a704";
+      sha512 = "4b8066916a0d0e902c1771b54a26046bd1e3f4c9958b709e32aa7de10616cf2b9c3213951815bc44d3ca70285727a2357a3f9575efc8dfb7e824ea3e28fe28b0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ja/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ja/firefox-59.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "12a28ef90e708e87b7828e9969af45518f445c55a15a31cb6a43f34a6921a457aa086cbe59fa4ce11ba9b9ee4571326d19b1e1b5a1efc7c90b7f4adea830e009";
+      sha512 = "f24ae72e02b5533042b99b876d033df72bfa8a9a976f95933250fc2f74bd23023a340624dadef8c9ea4f6cfaaa9baecea612a159edc2b1fbe91bb903f2c9a5b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ka/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ka/firefox-59.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "9ab9b6398502e245d3fc92b3b6cce5571895bf251eec0f9d23464aa49348452a8cc0ea694bc1f2ab4c65d161b2c54c618b91e1c2b01ce17286c44263969197bd";
+      sha512 = "598e4d1fab5d6487f61cf1b3af17e02670da6cdb0eef561c9793025f21a1e9e7e34901247f7d5b13f214404e144242a7c8acd2a3cf0eb24e27681164ccb43c11";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/kab/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/kab/firefox-59.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "cabd14b04afeee4f942613427cf941325fdb455d6e8b668db61c332561408b6964a4cf6980569c818a305f7d53e9240dbf19d28f0dabab9030b1ec5889b010ba";
+      sha512 = "d895ab11efd67d2dae80dcef36a131c41c7ecd45ae0253a04b46cd5b7547c4c72bf7085d2b973ca3c2b068650277465ca664093878854db58ff78ede9553fb4e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/kk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/kk/firefox-59.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "ef9418981b176d27569d6fa8b39bcb2f23c1a206b80af0f01b708df5714dbb4c102e229cbb54960f2a8029213bf65781103812d43951ca7adfd4daff9787e0b2";
+      sha512 = "e49d420a557e15c28a8160953cf16314b5964a4851cabcbe8826704a29b4c8de5cea1b1e4711acdb18ab0680fe0462367983f8928c5ee707284a063611541a57";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/km/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/km/firefox-59.0b8.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "3fabcaac7350041d698dc873c957f006babb2ef5efcf62a602b64d1847f4815756bc3e6558a4437a18aac4d9ce7cd4ca08807311a133a0bf19071da6a00eb5bd";
+      sha512 = "d1b5b6ee5cc17686efd7272ef2fbd7911bd77636810d706699b0d6692f3be9db647717b9aa4fb363bf97ee8f007e8fa3b06b3d2adb2ace4d5c555dcd0d293b2f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/kn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/kn/firefox-59.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "b3173618fd5abf28a9f9359de9206733a79f0931842c756ae483e77a80ab059ad091f43947e97de900c9c66478ceec11344a59c63170a6f3cd0aa617d20979a8";
+      sha512 = "7d332985cfd4f7ede307a222dfeafad60b06cabd6b190c30dca0206bdec80171e1487bc67dd622fb66dfbc255536d1a386162dce08bee9cf6e8dadfb3824c713";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ko/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ko/firefox-59.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "9965554bcac44574edb864a9d3e3f1d8ce49aaf7ba35b4a2c4a432912ad21a4863724a0fbd9834389d42435ef14426ac5278bffb1e63c9ce7a00fb4d9eadce80";
+      sha512 = "d91834e6083e1a4d7e282b40bf6974db74e32a0e5187f7ea001fa886c15224178d4e2fdca4979b1940e2d6e9f30eeaf9bed5823cdc60b9639a091553c11dbe30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/lij/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/lij/firefox-59.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "f1d7fd19d55ce155140e5d736483afcb12704cfcc9d96ece88b24ba96aeef898b2d1ae8cbed0915aa5925dc44e62ab5ea636dd30cda871edd9856b6d007002b2";
+      sha512 = "e64824d7cd6a1bc62fbb787ac42774b4076dc848b771dd8522750fa172f7f545e0d29d72c099998f2621f6c03c32e74d69c2561785ed421d6e25e3a3e9200fb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/lt/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/lt/firefox-59.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "4bd34dc2ca55f2835923e13df1b557cc14c7b4faec0586e9cee00ee8f4dadf4610082ea8f8de0b13fa66d23b9c5b79f249900ca8eca7d71a7f2ff22668d1008b";
+      sha512 = "15f08c788d17c3fe941a3d5156f5e3035b52ea49e2302d7b519bd0dbe7d462291c0dc802b3205429188ab959867314aef4cfc540bd5efb567e615860e3661929";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/lv/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/lv/firefox-59.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "b5ff1a50d8a737bfb3ed150bb2aca37f61dc9aeca5e490b162b3cd530b54356c6b3a7f794d23ad70a9cc68bbd101fab539cd518a1d329c8424400d65f9217635";
+      sha512 = "df592f38b27915ebba86912a4006217eab4be380aa6cce25281e35450bbd57a30c78c180dd2bf86c12fb148ff3893be59654caf3d79a060f2f4d0c907643c6c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/mai/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/mai/firefox-59.0b8.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "5453774c192d63cf28befe13350c8f205e24dd88e25638c85a13d85648df04590bbb9e029c9897d8532227e52b63f2ae920cb175f5baee7b8f4c5c8ac10c35bd";
+      sha512 = "de8af180b757a6958a5b580f3efc4c07a14be556555ff452227d34ecedcfea675b9d50ffe4f800f2cec2b3d88a7a7046ae30edc4d4122e9f66d439b794d41acf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/mk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/mk/firefox-59.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "6eed8ebf2c9ca88fb13e7fe7158d7cc1ca007c2c9b48ac6bb7e07677bba23d1f5036c1e5548762520426f9837bbd157202b31df8accbdb25a358f29e5dd9942e";
+      sha512 = "715eb42ef2fc6ac4763432046ae5c418bb3138782fe3627433e5d35ac0dfb8e4216bb6a6e320aa59facdb117ffbfd699dcdcbb906400b291e57367fbba32c841";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ml/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ml/firefox-59.0b8.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "5892520775d50f09583b9f8a27d33b4b7e225c0a631c342340ae526bb692c6a51ffe0cb25d5277814756bef4a45dd038927e9083c5e5f88cc222d8607c82485a";
+      sha512 = "449dec133d211fdd0eb60dcf0634908d938d457c0b2c9cbfc91c9013476d72920ff537095bf3fe0f7968436a2792b62240d186a5e6070eecf0e53e29c29bbaec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/mr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/mr/firefox-59.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "1dcb583d6cf5fbc387a85a2932ec6b861cbf273ccfaaea8380efc56f77c44ea18a2e9ac6a7919f30ff5999c695d5acddab739c6ce248a4334446b76437982b7e";
+      sha512 = "83e500a45a92e8356d8f38b39d24ee7ba0ac499145598069ee821802002cfeb0c09ea8531cc0241f7f943712c193def0467f6032792b8c9afacb9cae005eba43";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ms/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ms/firefox-59.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "4d58ba31da41b8f97222f88f47a5b7d657490505cdffbd33c9987f3e9be2d097e1af669d5bbffeaf6cbfade7c570ee1d79c3a5cd6ea449e0d2f0a13dde235e6e";
+      sha512 = "b2965936af2f9eabaf131894dae9ae2b5eeddeb1d2d8925da1a5981a63e259565911a86611f6ff47dd1b20c0401687ba9f472ac16a3b82cb2c7e3487f0a3e0dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/my/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/my/firefox-59.0b8.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "6e20979cf674a665a05f8f2f60b688ee0045dd2beadc111fa7f705cf9f89140824d237c89df05ce44638b9de63e5d193e2fc515262dd2cb5e3d94511f93adb0e";
+      sha512 = "83bcebfa31c621992c114b7b805e2314b2e05ae0bd6e25f8a94c867efca7cf34f2f08d7a0ca0c8c40b3af8c9a01882597c77c287c28a2d397631055804c00e0d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/nb-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/nb-NO/firefox-59.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "430182aff822d8ff31f78db862e0d01ef63aa76a91e37e4990dd70a4fb3d2f509c26f6dae8dc4abe06561ac27f27e19f476b0197409f9e4311ac3cdf5d109bd5";
+      sha512 = "78ff6dfdba1c8aa11ba5afcd3b51ee384cdc5c7a0f5ff5e7a7dbba1ef8ae6b7a9ec5ac40464e9bb81e77681c978a812b2a290ed90772a4ad183d9ee6df3fba7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ne-NP/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ne-NP/firefox-59.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "17c80c2925bd6886cd05f8ee0057c9d2fbf3b7c382ea33a54493f76499fa11c2db26f5f5ae2b3297dc7254d2e441df988608bd7d0568fba532dd8259bf052c10";
+      sha512 = "e878c6186675d12331832c89e4ad3684a70d19e22d0d860a20b01820b27af97f2fb7849a2301b00a8faa728ba4f7ed36036ce17e6d31d20b4afb7627391c8097";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/nl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/nl/firefox-59.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "7017ae213ecf858698a658e8e37fd4f0cb27ea060baadc9c475384fee51a3ba0268695a204e3e6cb8e8748d5a3377ddf8d50409028229f49f300e746f85a25d3";
+      sha512 = "c42244c08c1dcb2a7bf861882671509654b0557fc0a7ec5021a794930a9b6b128cc36c5d88b35538c7013d0c2179bf6290d019164fd976ed098c4b2d347e89a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/nn-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/nn-NO/firefox-59.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "794c44f12a97b6361ee4aa2e4dcf163a6e7c56d2b12a8f2ebd5f1871328f6906da20a87d34cbc8e5b865beaf5595bd377506f234360195ca0bd2684fae8468a0";
+      sha512 = "883aebaa4243f3be171cb13c6c06b3c8ab0d2f5c88647802832db1dc0059c2e164fbce2f1ab5b0afc8ee7442534c59c56fcec2c2852d580b852d6d329dafffdb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/or/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/or/firefox-59.0b8.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "3220db110cd52c373087f064ed9be0531ca9b11a38ea340349cd8e4563ef81e6f3dcabc0addd0fedb3142e81199e27f5605414b632ce781b0f3447c8ed31fecc";
+      sha512 = "3593184349d5eacc7efa6371295807801beb97c3fc9ea79168f455ab96e5a4d931537f3dd415b4572ac0afec036d4a7c004166166a244f37aec48a199a9e08e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/pa-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/pa-IN/firefox-59.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "e7404f4fb11d0ddd4aeb35eb0c6e73bb67073ad46997745e6943b873bc0dba63057b4495b45281a5061a6ac99ae6b213c48894c06ca016e7fb06abf4ffb13185";
+      sha512 = "e402bd4a598178b44427694528179053229f213d9ec132517f528a041d2e6581086a143f77eae7a30dc9faa6fd9156cefdd65de611ad26b0ed2a0db67958e81e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/pl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/pl/firefox-59.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "76eaadb7f21eaf7ccc195a56bf4138b9e3a49930ab4f593bb117bb237322cd7a978815b2ed078c403dcfb7b58f38c0c35c5d9850ac12a116b6ae624bcf3b4c52";
+      sha512 = "bed6e5f2a5230680994400af90c1cc3fe35e3dfff576aa4e8ba3d1363660e23a62ccdf975ea1ecd3a90f476e671380b72dfc777961806739ca6c3b183cb83dd8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/pt-BR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/pt-BR/firefox-59.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "cba5f42b4b1e4d01f1bde90a8f4a1edf20688fe9eccc1625e86d8a6b96574ef1696b150b68d7cd21bd6df4d0370bbe63bc72e60a5dcf5568112ecad5316415b5";
+      sha512 = "3a70913def8797ade3f312f34ef4debb332539eb0abb2154e54498785c3534ff16beafd6f2ba98dff15c62b43521dfa37d7623ed6d94676fd6d08a3c072c8559";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/pt-PT/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/pt-PT/firefox-59.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "6d942d0f982e0b75d42e3db618bf035164114b7dc37317a0de55b635d5f340bcaa0bd8cb60570dfb2e2a1368ddd6713c64e5f72eb168122d4078170a4b83efc7";
+      sha512 = "6561c49ab07c9ba721dfd357876ac38b0cd33ab3f6968400aee91ce4be999d718dee02c43ef21b4440a0356b9ef348c5938beb3ae13e8e0f3ddf813b45839335";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/rm/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/rm/firefox-59.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "df790c5956dd79b6063b481107811cfd70816941df4e2c7338bfe142d51047be969aaf2b93045101f8cd4641e124ba2782e217c616c6556737431fdb225aa650";
+      sha512 = "b5a878a49086861c6ee60dfbc8bf8cf833287a7aa73674dc0d3d336cc9af1f4f939e2ee45b6e3f69875dbda3d86036f9c6e274a144b339823919aba5800048b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ro/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ro/firefox-59.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "b14f4c8dac3ac15f6b8e507b0156fd8ae118fc173cbf1d627136ee6cd2c006ef6fb8165a6d41482975fae74105c766bcc356fc04999c0526dbf9053751ff69e3";
+      sha512 = "a9d480f7572e2d02feab9cafb6ac61c1d496292e186436766daf73e7863560a576a3b4104d6354e237513d32e8807ae5a7d226b56ee9b520eb9dadae77bdada1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ru/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ru/firefox-59.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "f69a573123f1cb92139e9893cac2923ecefcff8af5f33704155b8563e5acfb27b27ea397ae6df19b8a57dc9bc5bd6891a24e875fa40e1d0908641467dd9ca60a";
+      sha512 = "f334946512a851e9365ef84bbcc3a7a0aafe5df8f6f2795bcf9283e4085a584ce22e410774d286e9e25cbc946014c5da3fb88129b8942842ab8dd02cb7c32e1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/si/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/si/firefox-59.0b8.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "c5fb462d645f576cafc08aa4aef7f24a2f8f06a158e3916d4d22abdab9ca2ce080cf08512b1342690e70750df732e0b4f47a2454caa0ab2ecb878e6841848ebf";
+      sha512 = "ba91ce5bcdc4bcbe78ad1e9966c94ca540c95e9053bc84c9b37878fed0588fb22fa64c6426e157df082511103c8cc13fd2ee4771047a81cbd388bee3a5124ee7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/sk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/sk/firefox-59.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "daddfc298957ab8bd74cb448647ca91dcc6c2e2c5f920e5ef9682975b1ccba22e9822d2a117f93f9d14feddb16f57a5726e71f5f6b49fd6ae4f06bcd9002e4ed";
+      sha512 = "d8666e4f70c35906150985c674bcf01064b6baec74a18b689e8952ac0feb5f7fcad4b83cc0b1fa6cadc6b6959798119494b495ba8194a38f5b3290f937612e7a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/sl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/sl/firefox-59.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "594603a5670fd3cc3303c4414edd38632eaa179f62dd769983872c960e930e4b38aa04f995ef31d9a6e53279641eebef465aa959ebaf65893548c342d88507f1";
+      sha512 = "a9e842bc2c33f95fe2df45a83565380ab584e9f59a8ca23d9059c795712da8f274759f204ef36ae8eb85f370027f1992b43f74a79c6cc8c086a3d7d90e518549";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/son/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/son/firefox-59.0b8.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "2580542164799cd8c39a9d24c54b7848d120cf2fa712b338afcc4d4f2eda7024ce64df5b027c100fd104a5369f710cd394e1b8fdc649fae3efb51650930efb49";
+      sha512 = "f6fd9544276e2e00eb8e0e5305f5267d48157c7f6b872b079f4722a797660dadc81da47cbfad3e2b525960cba6deff206475607b50a1aaec8f180cbc1d64156b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/sq/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/sq/firefox-59.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "ce7cd371a46e2de59be2f269e91443dcec2609a651c6cdd1fc8e348a1f83f6dfdea6854e6730e5a3434fb3d0a56609a3e73a6b02159180dcf1e0e513bd8ef428";
+      sha512 = "18700a804519c56dc39bcb7be5b88385391ecbbe4e46e6bd9daa1dc063662dafb823aaa8e11ed68bfe31473c1538c1c34a52c8a38bdc8115867c50e618907833";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/sr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/sr/firefox-59.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "5360228c1217b6b1388cdfd928d6d056807655c43352457c7292325a535b74116ab4d196f3121ccfded7ae9b4fbe46aa85d7b24ce09a67665ebf5149bcabfd2d";
+      sha512 = "e29e00bc5ebc4ad7d8cf5dd93bad6345fd40c25bd56e743d0dead040cdabf59a423bb62dddbd00778be81e70a8bf0ad5804bec9ece1631623516331f07afe9e1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/sv-SE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/sv-SE/firefox-59.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "c1f5ddcf08fd5c3637c01920418847751731c6b243d78034f82263b6ae34cb06456b8546d566446f3a987acde19df673ab7fe908cd8c9b37fcf3c291718d5c79";
+      sha512 = "2d0eb3d5e206144b96e3165060aa466fd512a943504256735fa96a17e13ed4717038ec07df4d5886f837276fa3fcdf73286db046879d99313b948a1af3fbf0c8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ta/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ta/firefox-59.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "6ecceaddfa53ddc0d1f293f6eee719a8b06d1e497fef516ddbbb8a24d720363e9662d6f1f642c71e94d14b79d8c2e91224e09a97f0ac60d535074cd4ae2be31c";
+      sha512 = "e702cb916b2164e67ae75c58a812dd42c142dd0fb71417337a12e14a865e236c406edcdd11621584d43f05005be51916e3479df4eaaa51cdf4d2fec5048c1947";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/te/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/te/firefox-59.0b8.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "8aa7109777c82a520a184b46e79cf467b626f691e346578002b6a9685c2beb77d9255d5acb832c301fb2b8a51f31957b7ebe063d657438cd567c9096f13d1737";
+      sha512 = "8d4adc92da5875b7cc405bee387d1e5df225dedf4097627167c4bf4cca7893a4b51e8ccbe38bbb2b1af96798f1d34ee6f78eef3b00287eb9835ddac13ef43dfd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/th/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/th/firefox-59.0b8.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "34df71fe82cac2c4294077262d85d2efbc441228cce781677c1bf140b4ade724fc508f4d20b2327f71e93be23f61f657e42679b058df27e7770c1300e8a27d5a";
+      sha512 = "7d920c85cd7a9c09fd8c1ca0ff61ed4c458527eb048075dc0d16e26da7977d1fec0d9cf40187a5b1755b30c2d95b45be215b14f8789cb2b37ac72ffd884d80b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/tr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/tr/firefox-59.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "51c0dbb1b4aea6e503eea66502a966021cbdaf6569d2d9a1345a0eaab78fdceace959cf2b7adcdd293f0be454a3d9d957da41ebe693b02f4873ead804fe20294";
+      sha512 = "984652faad2b4ef5e0c4b38e38716efbce0db0c11e44e6c8ee7f33f45116833324f7a8d5dd0b7fb3888ec6c490e84a463ed3ed478e597970e87b5003c3457969";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/uk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/uk/firefox-59.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "11a074d1584654d5968afc4f14ab991f9d316fcfe73d4fb7aea523b6afcee2f503c0434d8d1cdf68d95d1dc4d8b962e568909acd0821a7d58d7b92b367c06fff";
+      sha512 = "d416a2c9e006dd832b7d42e4019128129320d2e8861e7657573c0b76c227b22e9fa9b0f69ee97bca326c9951e1a04b9ed2abfb6afad670f1436b68c9e999abcc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/ur/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/ur/firefox-59.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "51a5df7c247fa9dabbcf7c6c6f4dbd55f1f5a836789a1c1f66729d346f4fee1ef8d6133d151752334e771626cdc6c82fbf4625927b7d3de1e34af19dfe384590";
+      sha512 = "3711a31737a81b4c1462dd6a69a50cbdc274f7a95a54a2f185c47cdae520385d141ac40e7dffcaa8b29d2d4369a7ea707834ea83df60d793d1ceaf3b0bf31aca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/uz/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/uz/firefox-59.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "29b90e10e21c30724f92ec73735ad949f17c1a0618c3124a31fb36f6616329be9956dd881bb86c52257fd4fa00f21a7af977f9a1f2abb7a4e56d17eaa5685f44";
+      sha512 = "c579af36bafc7205dd1cade982c8e84d02b7e0aeed75c866068b233bb39722a79a43a4356057ccf33426825e0b304fcba2fee1ee19a3f2c8b4aabb95c8c3de2d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/vi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/vi/firefox-59.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "6c0c3f70e3de2118511e1f7eb3c643ba446d7d19b21da596f6795b7b2b8c089c0c257e961310a39f6ddb257205b2dae4deed172050e96c717de3603f3d7b99fc";
+      sha512 = "807b95822022917149758edefac1ed2d960b5f016705a99acd52420761e31999903a4ae3932d53c70185062fd0203b5ffc33aa79f35e2fce8303b59702744d0d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/xh/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/xh/firefox-59.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "08a898ffc8b170e2d1d5271492ff1775744a064e5c460bb0f3f00f8d6b36aeb8af40d0aa925619a6de1cde070a255775d7f6f93597c2ec4560e33ba33c6d6ea2";
+      sha512 = "7a4e961f42775a1e878f6a1e478402eac3dc6eb330c7ac22a5febd0b8fd6d7a7866b6d2346c26f0e53389781c73abd67c29d316d85b4f2129e6322b80591a633";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/zh-CN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/zh-CN/firefox-59.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "16c4b78fde34ecc45c1babb26d45a3db4cd0b87a2c9cf929c17c11021959f34b048f9fc83e62e0efdda5817769ad34bc6fe9c864e047487484ad8426fcf67b6d";
+      sha512 = "c0511b14e3a6edbaa22534f51b1f98e366ce5499d00a0d56e50adcd9248341afa5f8429b99ef161447cbfd41c4330779ee2d693602cffc7f32217e47af035a99";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-x86_64/zh-TW/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-x86_64/zh-TW/firefox-59.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "10b3bb67c453eaf60df9e8073fa1444bb5ee2959cadf38eb51222abf4027e4265ed7560a21a80b8abb3612404b8d8ee93bc6199cb5031efd54f7eea698056fec";
+      sha512 = "292fbe1b67cafba2aa8171e36db9b86d3f41822b9ded51bfb85beda880b980d18df6a35e1f425d93ff9f9e76b30a182cea4228a044110473dfeb1e986e846418";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ach/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ach/firefox-59.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "b2f49db270d6cfc31c0c52dad7bc165fa7583dad0367bfdae0bc5d30994f87fb2bfbc7bc5142ecafaf1fe7e6e48ec5925197d6fed2e479d62e62e136f954ab61";
+      sha512 = "5195fe8d1d1a31b886d3412a5ff91c01a3f2034ae5c354bbfd02ff5d4de41706ec5ebf85596965e060a5d9895c7741866d41649d750def2cc525eba206d58785";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/af/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/af/firefox-59.0b8.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "464477882d24899eb9f1a44156e753224f58611ec21ecb34c2e2facb05e8c33cc29e7c93a47e04350796f16ca38b4409d20a17e296f7c1584b2d84d327c8de82";
+      sha512 = "ef9a8eb36319f78e6249d8aaff151ea753fd1b0e9148c64adfbe0f653084c88fb70e5782735c805d56b2ab52677facbf5cf1d0ad320eace1bca938d112360d9d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/an/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/an/firefox-59.0b8.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "b3652bcb1d691c637745fc0822715a4a5288eecf60992d91f5887f0f774c60dec3b35f8f86c3264437c8c575db9d144b4ae049b341984fc12abf1dd58cc4291b";
+      sha512 = "f67be9b0de60ba71b2a9006140a95881771c456d9d67cf845b50d0ba9d40a844327935196f10a315a60a2e1709c7dd0420bbe8515102766a1ea5e0cebd7d9be1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ar/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ar/firefox-59.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "5ae0270ce92c57cdf002b14358aa1fb11533dd8a72e7623f0d962ea644da6945a4d596db7772a8a0fc47e08d94e82dbc1fc189206740df1f238b3517cc3eb81e";
+      sha512 = "686c8f9c889e325f39dd1d0c3bbf0e41300a7b188a3cf4d1c04dd91881f4b874460657472916ce75334efc61e54026b06e3061e91cc054f1ea09655bf5e984ef";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/as/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/as/firefox-59.0b8.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "a952c3a4b4271f668d2dd39cc3f3e77d5c1dfa2f3a560eedbf08d58cba98b0693de60135ca0ac15cc3a8d18c8179c72adc782f7e42a3f9487fe799de4e26b1fa";
+      sha512 = "13b83b595f2268937f58fae19eb064912a0236714e227ada658b06099243d68ade2dd149d9ed79bb85f4596767595def575962366c32b3b7759220724a1eff2f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ast/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ast/firefox-59.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "cd130039b5ee2d4b7ab5b41624d03d50317d44ab45b56c704bfc8a8846f6c18180ac0ea90602e3836596b2d57646c2929e94d0265dc9cf6464795e9fa076a149";
+      sha512 = "c70e186937bf74bfa39665ccadb68fa390c573d6d2ed07447e2b78157ed93577fff17185010b2263592463c423597760c63a431876a9879ff0452a9290c83427";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/az/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/az/firefox-59.0b8.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "24cf4d348cce02bd1b1cc686f5a32b903ce96e06ba669ec5b3470194f5eb26b2f63577de2e533388dda484b69348478d294024d29b993fbdca65f66c3341f793";
+      sha512 = "889254b6ba089332a7e228c0dd801214b6b13cbe75000f192d282682fe760c36642634cacf0634229af6e3fc43ecc77ca1c63b68a9afc63cca2eb0e6e50a47bb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/be/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/be/firefox-59.0b8.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "a11c6e6d216b365217879516455e64deea77f9a1983efd396e92a421bf5f24b1201be839a76f2af276201acf75c6fd79a6d18cdf648afac9ef357d9591c398a1";
+      sha512 = "26199077cb868fc5f1a3d60cb019fd8152c615af62709206108dacde5912a522fdc9a601c8222f54f6b6d0103e585cd1eb06dad3b02414bfe3f435214fc54837";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/bg/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/bg/firefox-59.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "0b5b9ef50c4608da78288c3bdbf9b69a9b584bae49989c5b57bf51bd2c9fddc29d691a28707cd75b4b9dbafb806ac949425ee60b1aecd982a903272b40840193";
+      sha512 = "0fbd371902076ca76dde9f2dd5b3602a2c36f3bf3e635da058a5a33876b1b69ace0fbeef69a703ecb8980724ff8a1c00f83e1fcc9dca2beee31299a10fa88970";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/bn-BD/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/bn-BD/firefox-59.0b8.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "3fcc9411bd1cc7dcd2e427c7e19608819da18ccbc34a644dd4d7082e46d7de25e22ecc7d96c839577fe7bf452ec15646965496e110db6d6c58dcd996f88bac5d";
+      sha512 = "bee88244e6f502f9d2cfe9c8b44737bc74e7feecfdb622ea346cfefc5245f39c09d0fb9d5838ef75e242b4c6b531d1aac6d5a59678642873f9cafcadcf639f28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/bn-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/bn-IN/firefox-59.0b8.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "f927ab9d0c52de13fac91558128002dd5a4222091d17f4f323055fa3e29db25059e39dbdb4ef700e2f7245023ce654bf82a011022747dc581bf093ff6d985ce0";
+      sha512 = "259ac2a4edc19806800eca1328de3789ebd39e26f51fc9dd5ef4c5b7e162b7420cec2833d038194a6019237f9f570263183aa7d035967d28e0ea2ba52bbd694f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/br/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/br/firefox-59.0b8.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "8e9dbc88d3d1dae684cb5419203865b5c899128e204ffd165e99836740e4f4daf910cbebe907a7293cbacc851d15ed4eeb996392f6bcc15700aafabaafb398d7";
+      sha512 = "a1cdb51d3cb0d7a4999eea979ee0db9d0d6baa20f251cb5c1888c9a837fc623f0b856c364aa5c47764fbeab04f9ffc3617a2ae1c4cf54421ebcf434fca5d3158";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/bs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/bs/firefox-59.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "4a887adc2450e86ca342981de56f997ceb9655a6e5d824995fc361983ad71aa0df389672ea522137e72982bed695bc17df3e738b9e55ef5305478d431bc0c4a3";
+      sha512 = "13193f327c5964a3368ea56d1f1410dc521f4eabd9635d282d357bf719a2a08cfaaf7196fc87e385c0fe665d0a1b3967cd55f0d83712f1832dbf0ae949b94d83";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ca/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ca/firefox-59.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "d1c36d8f1d3ccb912c9cb973d4b97f588e5b6bb0d6ae4e081cddcbfd9239f4196e68464ac847996ce1f4418ab55d020d152e548ad769a23e5cbc7d7169faca85";
+      sha512 = "19637da51a962c9da27365328e00f0dc1eed931459896f91a863e6f99e1e17b57207f5f51890deb72ee164de1045ef028b14d79b71e181c8fe0fa89842a0c63c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/cak/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/cak/firefox-59.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "24aa52da12f1a5b4731aace64dfee42a6fa30aec74fb18eeae6daa63d2b53eb062500b42910ce841cf4ab10839065b16f652914746633c12cafb365767b8f5cf";
+      sha512 = "099af30a6957a67eaf787d64c366dbd5ea16924aed134e6b45c092d9fdaf476f1a9ead05800ebd91fc99c3bc483c14dfc37a6b8eb90e40b9a6f50d114cce7ce5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/cs/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/cs/firefox-59.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "01ec9cc2ed12da1ce2ac0a3085bc10b2ded9402d66c73c5e1ebfe007ff07bd7c2384f7949bc0cb2d6f7dbd2ac24c7273a073b61e1aaaff1e8d7bb630d3ffc59d";
+      sha512 = "aec6a4ef2c92ee9bfed98ddf6d93879a7fa9e882b0c82c644776a6a700a4e981a21977924a1fb68c79bd82407066be949d1d6f53bd42307d5a5a36cd262a3829";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/cy/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/cy/firefox-59.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "755ed1271cbbffc4f62add75c0d0cb370d32e5da992eefa079011cf7eaee6e9d221659e7b96c43ce5edc08c3178e4b7a5b2b798c335b384a5ab130d670229043";
+      sha512 = "71204535aea799bbe6e133850b253c8c01a7ba1c1f80169f4e842edf977bd0eae54eca8370674d8161a0edb6738bd8b21cb554431f988822e287a15ecea68d93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/da/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/da/firefox-59.0b8.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "1ccbe539b63a83e82f92636c35c9a88ed51a3f183c1f9bf2f7843e4d2117eb40aa4bc32d96bb1a4bb4aa6e93dd0c1a67de20b7506bc8b6ca31886d164fb43bb4";
+      sha512 = "b87282f26280febafa771edd0b3570774987a0694d8c957afba819b396d57cc1bfd93f8d8135bed3eb53b9a1b56bceea3aaaad250261593f9be7fa555c319b22";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/de/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/de/firefox-59.0b8.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "02cfdf55e8d3638af5d6d6f57c7fb9892ca0923b11da8c58c7fc045aa28db4f0da6fda3dca73f1b3cad532c7a3b2865aa8e6f1e84c05131d447173a8c89fdb8b";
+      sha512 = "92b5f7c7f268afc3fdf75ee5f58a74341798f1069276c6ce3f964d99590a988b2f66aa832c90af5518453bccbe1d9833d0712130dfbd013ebe7ba08999812226";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/dsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/dsb/firefox-59.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "6db36705f80a7add9c8922c2563b6929096ebcd1e67f1ad9e492e727db3dadb0cc3995be9be6855677098bf8d4783393bb9b093b925fd249d705e31eec00d3bd";
+      sha512 = "37244fad6e4d9487091604febc392c2b821d56848f93a83bc566bbd5f9d32cbe90e1e92e93051b0ac7e979b67cb6661c813ce4b945e7de9bd1e30d91813a67ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/el/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/el/firefox-59.0b8.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "c80333c9820697ae92450458447a0fd6d5279491f288568809e1723b144bdaa9540fc2929bd333703243d00633b37c49bd42ca9542fea7772466626f1dd6038c";
+      sha512 = "184641eadc76b7d24a8df2e2a1521f590924ca7e81925c1db28f67f8f28871cf2f8ac8e9e875531eb04b09b65cf47ef6c0fbc28657b4b34b07623e063136c991";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/en-GB/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/en-GB/firefox-59.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "46e2a0a9f46de87e55921e05fac7f20858bbe3f723bcebe1dbcff98e59f7ce04b9992933e8d8bc97fd82578ee94ba417eaf9c19a4ceaf1ad09cad93e0e81af85";
+      sha512 = "0f1cba239c8866d622249dba13af14de6a264ed9a30f460d79408f452390f17d6b94f75096d9687c7a7a753652377a25a7d437b0d4f33fbc405428e384dc79da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/en-US/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/en-US/firefox-59.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "6aee6d05fb20c1c1135d0965e51f673c85e38d45deba21cc8e37bc0654b76867b2c900a1166c6752cc4efc6776439e7a121951d482f551b3c6390b17b32206bf";
+      sha512 = "654902f13cfe142a2f6eaf4838106a1825f77d5f1ac55111c8f38c49d8e987a153230a8944d5c009abf028496853a8442d33c6fbb2f23d35005da765009329d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/en-ZA/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/en-ZA/firefox-59.0b8.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "b805ce81736fff148343aae8a5a25f4164bca5a8a3a8d21ecf331661a578d10e522fd162d4854936deff0dd8e8a499879929fe69912be8a92f70051eb0c8e4fb";
+      sha512 = "f3b17e0509df52dde8c753bd3358635569eea8ea7579243611356a4a47975267ee5702a1894325a549fa1fc9c86416253401fc6dab81adf95c79c09ba3971030";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/eo/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/eo/firefox-59.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "64a0d4351b7c3942fdfb3d7e853c3424372080b6c67e462a75f52524e2ddaaadc05506607ef34125c98797e2feb96a683b4ad6ccbe7e5e0fcd84bc74fd4b0ac7";
+      sha512 = "c0bcc8d00e728c4dc05332b6c90ab86f8d6baa688512271a2b9c9703b821090dcfa45bbfa4db97e803e95d391a07e0f2e3f783a1106890d0c34dbabbf32180a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/es-AR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/es-AR/firefox-59.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "1407531534de2a0f3322f6a58a03be7528b939377b554fc98a88e7a3758277e25140bfbd491463c0cfddcebb08e8efa1c47ce1abd8218f8ec858bdc527c7b8ce";
+      sha512 = "1359fbad04c9887e049fb59bd872d81f0a6242a2fc3081ad8d027611375c5b13e082ff519ce5a2db1aa0134726ac4c8a9e8f37126ede43c3e671507d3adb8ef5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/es-CL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/es-CL/firefox-59.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "54c6ad9086a4d278b8291cd581fa6dedfba3a219ccbfdf0a6ef817370e2b65d60dc275b5c8fbb564757b5096863a38bf3142777c5f94c355db04e86cd056b11a";
+      sha512 = "ac0d7b310171d5912911577ea61e2f0eb562a14a1eb3eb050408c7241eb131c0183784291e244881f808aaccea097a74b4e24151d0add0a3fc142878f6a3c5ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/es-ES/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/es-ES/firefox-59.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "46dbc7bd7385f833ee8f3481ff5e813979067b53bbd43d74f47d57dc1749d249a9ea578e0e66848b5675cffe038ff6589a3a759f0d664f0f5e8ac705f086c0f5";
+      sha512 = "b5eac28001625b4b9bfcdf2e24c9b64ee2ef54e69a533ecd03c3dad2048942ece37824663ee074ba69c2d53b1e2d6ced20d66136443f9072a5381817099a003f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/es-MX/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/es-MX/firefox-59.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "9fa25ea209e3bce03ef4dfa095e2523519ce84b03c955e28b6999969022e2139dacfb0facffcdbe4bcf98099876973c0292e62095c53542104f347aee0c22bde";
+      sha512 = "41a3ed5ada8c1bc24cffc12736065ea27c3e5ede2a6fd2f71596ed6aca5bdaaad90097d1c6554a6268b1f48fcff7346f3436ca176676721d8555b2e112144148";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/et/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/et/firefox-59.0b8.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "181bec09c74012a30629643953d73a82caf93614e5a08173c48d0a4a30137a8c57202dd726bd6ce8896816f8ef7309b10c8759268af7f693c36b75d9b55b8ebb";
+      sha512 = "aa33f6b425fc4076c2dc6d405e876592501eb0e14d853efd5b7b76703d4ad6ace61d6b8d48eb46ad440b645797873c879a16ad0b092bdf80fb2e6cd5e62342c3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/eu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/eu/firefox-59.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "1662af94ca97b6fa2355298e0eb98ff46bdd2e203dc4ad71497f61a9df73f31b6c5fed92e024155639730c4bd9f06feb63bb8fa7e113244735977bbc3f74ec78";
+      sha512 = "7ce22d301ffee66ee8de97ce4b2e5cac4c7317b5567a6ea5964cf0b134f3d682433fecf83060452167003a7e8458d1311cd9bf1baaeeb8a76d4098718fb92ea8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/fa/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/fa/firefox-59.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "4aab0ee263d657f3569ed7be10477f30dadc6d830ed813f71bf8d34f1776469caecb74c1804052c2162dee7dbd62f5305e3f7853d8f695d0b1d41eba6d5bc50f";
+      sha512 = "27a95c37988873c0ace99a87f0878f60130ef47bfdec50589bc36b33a7da4de3c875117be03c505e6be7464eabff29285851d972e599c7f9d016d7a515598d7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ff/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ff/firefox-59.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "d9a41b6ae3c80c52f8862db8b2bd2ae4ca19fd8915e014ecff7c48b5a7a52b434621925358100a6b1df28d9a4bb5e9cdd6368de1d2d321f4d4fdc1bc889c27b3";
+      sha512 = "f467f38f66bc4e2128999cecfef736dc15eb05e0dfe84f2960e1d073d87e641fe15a96b65034bcc1c9cca667f391e1a9f094ca6971678b46e45b62c744e7f391";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/fi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/fi/firefox-59.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "ed9a27eba73a3f112dae6b60735ef765c7b211c8f27ce6db4e7f6b6ee354b2f99f699f6a043282a259cf3f3efbc28ccad5f9ce7fe2c36e9b6c58033963e9acfe";
+      sha512 = "eba959827e0e8365aab5708116c05169eebbd7238427247503e61545b5f2eb0e8aa9dbc4b2aa7eb2844bfbc1fe0360e3dd166a220190807677ba22a764a30ab0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/fr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/fr/firefox-59.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "449b9d38734ce8689b4a3eb63de317fe3159e07466acf92e28f5595307291ca9c86cb9ff791e0381a8525995f88cef29e6d42aa0b8acfba9073aa7d673441199";
+      sha512 = "33d0c314725e12542748a1d2fff780fa8631ad519c750ab3f1bf604d760c887190e882304a1edc4c745bd41ac2fec3aa6f949251b82d616b53e52e4c85ec466c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/fy-NL/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/fy-NL/firefox-59.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "790c4dc8868b24ead76c57ef5ed44111c36a8444f38ab179ddc3563dee9a47638504086d192014ec54d18a14ede42d13fbfbdd05c47ac9b9b05bcb0df74d411b";
+      sha512 = "6fa40ac3de1c1f824b48b3df7ee918e97cb09bc3a3eece4666ba721f55d3b4c100dde860ef46a5fd100913006a90d13e110f76692f00227a786022f9a8adb4f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ga-IE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ga-IE/firefox-59.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "a2d216789ea5c0c40ec4d5654e8cfbd7820b4293010fef45a8172f00c7656554ffffd2a37453ac11944472d5923edba12b206f4a0c228b1431173bc8de919a00";
+      sha512 = "72cfe20feed532fb5334afedb45f2174338cdb4c2a709d56f5971a0b6b252276a4e795bc6dcf8b8626be9979183556de520024bc4621178af5254ef2cefbeb69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/gd/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/gd/firefox-59.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "d0e6fb0758e31f0a5180df549edb25e8332a81180e384a80b53d6cc919c8898b733689c9397702d1e387ceb2d046045adc4ada6f38c0aaef1782bbd9629f445b";
+      sha512 = "a171dc210ecae76a9f983ee7e679e376487e56de6c15657d71b0490e958e4f03c001108faa1981bc049e31cd93f6e7e8b4efeedd883d6cf246b70340055f888d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/gl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/gl/firefox-59.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "caf60ca23d077ee89ff0058762d891bab081c86c1f10a824e1795f05f5db2c88f76ad84d1c0e9ed1bdf1fc06178c6da6e3fe6e6063bcb78241cd1b8307aee65c";
+      sha512 = "3406f4aeecf539a6f0ade1e099554e7f7a0efa7ea7494100888d398a797de23dfbf0608b2c1a3662801613aa048817116068adf4dc65816e4579aab13ab7924c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/gn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/gn/firefox-59.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "5996357131c82d45f2b11df350781971ad58d29e35a8be6c26cb3fa9ab139d8fc948da0db6340289fe028cafeb29cd386b9bc6dd3fd67ed255ed7ba47ebbd7fb";
+      sha512 = "bcbf9d532169551d96c959904c29afebf3857a8b1db159b6c9bc07d2c83ffd243fd129ae27fe4ff8c17b52492efe21a812af2b56eaf54966ba05268cdf677422";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/gu-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/gu-IN/firefox-59.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "60dbf631d0a8ff7d6bc340af9fa977fad6f5a793f2bc6e553d62c3bb2b70d224abd37b4547c38ee0294e56e67b725751429c711a9011e6b36e18fe3df6af81e1";
+      sha512 = "8ea15c3d9529d873087c10769ddc39ebb1ab1ed3ab17619f3d1d2a98b8dc936add5bf93a0e2a28be8946b52abcff150e97953cea19d47a3af584edcf320c1cb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/he/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/he/firefox-59.0b8.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "8d3f35a8e935ba4f53a5dd56ddd2c9e40499308c8cd768e380ab5ac55423980a3dcae5e9d378f2402a76af55725e52e73e4e4f57adaedabeabb46dca97864d73";
+      sha512 = "f4cbee306be391ceafa746e85d7105cb2330a722ea4bb298d599e6320a8365be773a2c4c7bd61e511ebf512566db033d76913dad0c2a76da1fb896b183ce29e5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/hi-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/hi-IN/firefox-59.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "f12bb03b12521539afc27341fe61ea0e13394fa180273a03ce74620cce1076a7e69cde60ec2911307a9b4e750e7dfc13ff2db3b1d685efa1d8198c36a88674be";
+      sha512 = "6dfe40757e8486841c1877892a567e0f6f0a99414b527a77cdd49f70fd96b0e14c4b5514d7711d02b8f197a2e9e73f2e89388256714efd651198d26921a36c42";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/hr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/hr/firefox-59.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "50f79e812354edefa7707a2d1411323c4b3bad47ef1abd24ddb0f81f9c0f3171382535aae6c96e6289cc38e90a1955c7786aca0f789d79896ab6b0df6705b813";
+      sha512 = "9cc07ce0bb996d11238325c658f1cbc0133006e8ccbd2b8669619bc5ea582b8a52dd1d4f5b75d5f141313c01e973bf3f255dc2d53e16b606e38f9dcf8060c969";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/hsb/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/hsb/firefox-59.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "c87072bcfc4855c21114b8eef6b28543308f1834737aff0f6971691d0e7927a0ebd9e1e1d357a31eed59fe8b8a32fcd3ce5a7a944c5cfd7505f508c67444925b";
+      sha512 = "28c0749cd90d22f4bb2cb19cea84578608e161da18f0f83f50ac3e4cdccbc86e7f5337aa29ce782b113a31fea37bd0b7fa0f8d9964f3871bf54b448fdd087f17";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/hu/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/hu/firefox-59.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "8e3f47ae73f0cdba673995d40414fe6034119fff30b73b4d7686c6a955ed9db222e88ee3214a55bc796beddd1586540328847a28dd5b6ea0ecb3fac3fd8ed746";
+      sha512 = "1abe7994eaee5b053112d294953b0b188fd98f372000f8ca0e95d8d68b60c1cabf45237b1c776bda8928e510ed141c904d1cf7d739e7c58767ee23a0303e35a8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/hy-AM/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/hy-AM/firefox-59.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "7bbddde249002c31baa3b8decd6fbf0d59a40dbca5a62353ea694d126ab18e52e0dca1a29c9002fce6c93d9ea9e200e5a09be9fd66af4f6124b7bd0525e21b10";
+      sha512 = "77a87119fbab30b9175d88b629eedb17259caff70927ebfd075b389de3cf4ae59a140f0fa412a47e02ecb8fc06789bb951ac44fc53971f3fa5f1003ba9960c7c";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ia/firefox-59.0b8.tar.bz2";
+      locale = "ia";
+      arch = "linux-i686";
+      sha512 = "610f665e96ca1452a647ff9b5e7efb183ee8981542d29ec7507f1b9c118f5240d171fe5bcaecae1ba7838005261d2db2dbe1089548c30cdeefdf457f1c415576";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/id/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/id/firefox-59.0b8.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "2b9ad49722ff982650c1b24cdd96b329b5133e0b2e4cdfe8e6edd6a4a9bcdd6ec8cd25ec3d202c97c40909c8deebbab71829be651c52382d839c44dfb0c2a279";
+      sha512 = "70c23ebf879714eb7ddfc0357e89cca8e7c5fdc57680d23b7daefd25aa8839833393e60dd97e8a4f188032cb9cb1de1782d292c4af92db03e631b4f408f7a2b2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/is/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/is/firefox-59.0b8.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "19f666bdc6c56f7e26d97af6c701725e559623ef82a58db952a3243b24ea4ad7ed3d3e5c8a6ec4a3e8297a6e2d2b45709cfd12643d617749e3cda7152924db94";
+      sha512 = "459fc0c5258e5242488b934177efbacc238e335a9ce6c0aa447a0ea5e43a3242d7c54986f3e8f95893ebeefa9a4358f918e6db43a8ac61e6f4b4bd133b034ea4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/it/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/it/firefox-59.0b8.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "7b25135e2d94cb4b76fa348095846d1a2bc417aadf461fb8815b05d90ddf6e0294ce8c915d0740145f922553986480bff5fe4cfbfeea6138fbc39c2f8f200f60";
+      sha512 = "daeabddf3dff385ccd2598d62a807e1f9f7f834d50c4a9690bb1d2b0d6905e402993024f05549c11234f1f13e8e3e3addd6851c76c47a386c8f52bbdee3292f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ja/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ja/firefox-59.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "cba33a2a158ae3e5021d5466c465ace0e4c250388fa163db4663c7a26a44cf0043913c6599b3bbc7ebd71cddfb6fa1f969827e14f8f05fd7e99e694f93cdc402";
+      sha512 = "634fcf673db6ea1e2cc9ce0232ca38bf39c8fb54c389120baa68ec9709b71da89750c06a9ff44568bf9ee74e2fd857b78a2ff028d29e5d264dc5d0e1855d8e8e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ka/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ka/firefox-59.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "1f053ec5c9319f3d057bf650765a59ce43f6799de18c97b85b00acaa3cf80aac53d794da8bbb48bf89ddda6b612697341b3a424c4b5e94d2b877a6782856dd59";
+      sha512 = "94499d573b516b4633330b3ccd1bd0aa962e0fc6b9129c7d2ca24674e03a5974497a6438f582c323d1d40441227009891a8f5c45d3af14c7fdf97176ee5ffd89";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/kab/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/kab/firefox-59.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "a783e0fb4c5ebd7921e7f9f5440aa6b7a4ebb00b16ba6725e9d795bf0385c1dfb68f7bb620d9a56fbf4cec165fd0ea223212d8086bd5b54d78cbe563f3722a12";
+      sha512 = "d043bf49a4fa7ed6e491c8bbb0aebce6acee5edc910e40035afc937965fb17da587bffbba40424b80f32fdbe7106a7741a9d11fc518d298484a4d4d7449ab024";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/kk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/kk/firefox-59.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "b37161827eae0a2bc22390d6ccc86db48706434b91ebcdb0ac67ce692098fd014b0c21b311883cfc6d80b48d6bb08ccb02769d436542ce0c2fde1f15153cd3b0";
+      sha512 = "2d8e8f3b2f982e1c5f01710e3a20db36748eddf8089876ac769f3dee2cecc47d2a74b9f250bca7f25cd8066f6968014e74b23c334d2f7624dbcfebda5094af98";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/km/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/km/firefox-59.0b8.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "2e0fa61398637f043ee88c8b4d57b23454d0339ddaaff702b3d78c3172d2a61afcbfdbc0c74eddf63d2fda3b84b35a8a42d51097f5917a9eb28a2a3f9b06dfd1";
+      sha512 = "59a221a0c0656846f190428440ca8a1cb9389ed070147e0d772404bfa70995d2cb718dbf5f638fe4ddd9d4d895ee0155a671e14b9aac8c9879a45ff6dac7dafe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/kn/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/kn/firefox-59.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "a571592765e7fde7a3fb828120ad0948c391004e0022d3b692a67fb16dae489f1d03d51e42a2b6a900407fe40bf6df3b072631a18e224777135cd55b04443bb8";
+      sha512 = "403607e837d21ad5588344a3d5b00d8a72b7c181082e3094fc4b314ab68334a546fbbba120732180f26d944d55df88e753726e5c4a22f0f57c0001f463da30e2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ko/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ko/firefox-59.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "b83cead7db85122f2090755ff94e7b4101275d54820cf9839b21a7a5e0f44d1199812cd7d5c2557f8f98d3ae9999919810c2da87fecba28e6b8b9aa958b87785";
+      sha512 = "71d02bf8510f0d397604473b5a9ebe4a9f70dc3c01012000decc152600feb84d9f7fc89b4314263a4c9e820e2249ad475a9e40a64a53a80be492ffb232ed0970";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/lij/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/lij/firefox-59.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "15c39826850a13043765281f7a23ac8f9da9ab3aeaa813ec88ee07c95bf22fd7166c3dde01a5d545daabb236f330bb186bce7f2614dbef26ce9888ba53af1944";
+      sha512 = "5232a40d4099b52e81948bbceeccdf499c15f432e2a4963a8adae55945a435dde6d06fd1b0a7b9026cbf7f255e963e209bd8dddc19b4a200b8fe6620c5b06cb3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/lt/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/lt/firefox-59.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "849a8f75c7f6e5e793ffb4adbf56bacffcf49ef638483cee23314f2924909127ec26eeec080fc8b0b0b2cf8c34e98cb0353774518751e03132ddc1efd4ea1973";
+      sha512 = "3424ec9569d2c27b1b793c84aa9921067843fdccce55e05bd005926e464e71562c4707db2c7b02814eaba2f4945c3b8c80d054f10bd932306a5e9ee970515152";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/lv/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/lv/firefox-59.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "e229ee5acaab985b1c7bf890c8df3412a15086badb738746872fa8705d737d706501a1e3a5e26eb73d66ed7ffc74fd42ff4e2f0abdc5b5036383ac99f09df79f";
+      sha512 = "9b6168d9a5f1f3d6346e2bac71fcb0c372588f4d6fb4248b3fa327fe718dd3b2ae2c3248a610a8187922f31ba8e40031365b8991f1381dee72d97a0544a24ae1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/mai/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/mai/firefox-59.0b8.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "91ae2db04afeede3c2e7ecb3551deebd85b70a679c8455cba349aa060dc5ceb0b572c4456fb90b0835af72cfca5de61866cacb84282b074992e79c72cbd74a37";
+      sha512 = "0add366ae96d63bb5b92d9371c708509ea5d52ac8f11850c046d850fdbd7f2752cc4d878ddf08b6659ff5168f60f996cc4ba9596f6102b284eeb43314246f73d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/mk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/mk/firefox-59.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "9e59172ac1a828bd8c0aeeb3873ecf4765b68811ab5706033eb4595e646f3760bd3040bc92b3cf8862cb7bd2f25b134459f21eeaa0bbae8ec9b49ceed9b6bd3b";
+      sha512 = "56c0e3b3d95c1215c274d14f814b93c7fa642f42931487685385fed3d21c77f74088b81d6853bcc3e700e8cd7d2893924bc16deba6b813cecd50bd6519adeb44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ml/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ml/firefox-59.0b8.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "ec00bc2ea1f3a2c291a7b8d4d3f405c7ab9129d3232f314df04d7978f6ac683ea079a51988eac970d8f84bab1afe4f1d9de6dba8524e3b2b4a4edf7564937219";
+      sha512 = "5b11955594d6371392407a021003fa1d7a6150cc1f322c3b1b408af5fb536d884c1e1d060b2fe49267affb04f0743a151c159121f520bf60a8dd5f14344a9876";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/mr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/mr/firefox-59.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "10566cde91adaa6c51f1e0f78505f4c61486567458265cbd353c5ef374eb3e377c6409c8bf69c9787447997ac127b995970eebdd7e27c4d423c420240f2d98bb";
+      sha512 = "a82419e071f3abbf50c0a52f7455563a45f5b1f83fb4ab7ca021908b6998f5c5a13afdec94b00e796ed1fe22519e11ded3b390f38d8a47012f008b67ebbf705b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ms/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ms/firefox-59.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "38e620b17fe7a7997c0450c3e0cea6653a8b705b393b5d41b03909f5d84bd03c0c01d9cb503fd6ef184ad43846f342e4a674e64774cc5ca225b2f2fca9c498ce";
+      sha512 = "70f9e6311e1c53b9c1683b698ca715fbdd9285d89c31eb56ec29851a415cb818da7cbae8adc13e2a81b3c696cd58e6f5f48d31fa44c91c470ba2b15af96d8b3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/my/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/my/firefox-59.0b8.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "8d97b97e9a22fbf3885d1d2a149357d18de031ce2a5cda3173a3d5c616b6af2dc2b5cb91f4570e6a65b0a96f258fa8894574646f5f7b5f9d2278e89aaf909f72";
+      sha512 = "240e7ba622c462f30bba42e8e17efed4d9ad1253b3781f6b780ce41da4d5f57e2dfa595dbf2064fd1a8c8f670b460d1cf38d9a460ab281a108f36007a3d2f69e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/nb-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/nb-NO/firefox-59.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "5a6cabfa2a7ee7588275ce3dbd19b1c9eb53afa731e99777ed3322f79bbd24ebc0e406f70506f6bcc3bf33be50b051b6bbd0b4367fa84e3bbb6f1d27fe4191fb";
+      sha512 = "99761169b1379268de6c91e0f5b4b5c21c89b29ee817eac36882162cc6139e51962d06b0800ff6c5dd93ea0ffecf2b062a7ba78f4962bb592e4e81bbabd290d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ne-NP/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ne-NP/firefox-59.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "2e53a4c8c1fbd3bd4d8148ab85512cff589d78e3c5bccada20312b397b216645822abee8501234a7130a69d72bc9d7a43ee489af3787e48a0a5a8d4f0a80413a";
+      sha512 = "d1c1802aca080cc9c8945512782ee1c365ea3721fe0890dce8e1ffac7f04407de61645f32588c87467e4999cb94a1f673cc560ea344a121f89c5cde1b414cb27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/nl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/nl/firefox-59.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "25a5a0e71b2e3bbd3db70a2fa6fd608685b2137338d35272e7de7089fc5007abc71ae8eaadb5c49370734a3aa534ce8bc89b93be5293cdb16c0934aa90998f48";
+      sha512 = "d039b8f5fc0b933a6d28d5de1dba52200a04f1eface370284f5cbc45a2f3bd0cdab73ef7b9d8f11a39cec0cd4eb021791b39c88869f97ebd4c651316f63ebe60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/nn-NO/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/nn-NO/firefox-59.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "46d33f5073f62cd569a5ffe3103693440926d079bb19fde949a6c425c8e5c9d3ae244ff45474095b318d30a7895e79b2c9e1922fbdf0cfbdc7131a7fad01ded2";
+      sha512 = "0e682cdaa44f3a65dd3c86b7a12a35bf990de37018972eda6cc54a6c90b8a944718073497bb627e9b40ef85a09b7c9470c07cde881205580bf05685d3933db1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/or/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/or/firefox-59.0b8.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "9a3a345a1b23f9f9f8532b452754d0660f9680b1363f5e17b1460bb776c18ba2debb145688bee3057f572ec7000afd36ee91eccafac45d0e363ee63304e84bd9";
+      sha512 = "00766aacf056eb4a3d8d47b9f632fb07756938fddd3357c72694d1bc260809c8477148018e507c2deceb94433dc7d230579e74448e2f40dd13249274f53f39d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/pa-IN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/pa-IN/firefox-59.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "52d2a38e3f0d49d1a540d07175ac6c78309c15ab13fe150ccea847ffd05c0641fbd84ea2009bdbb050f2c1e96dad946d7b45857dc19670bace28f5de9918b5d6";
+      sha512 = "0b75a641878e2addcb39808c22f2962fe5d85010db6e893567c31a4915d0008395a683e1465027217e74340b3410fef7d9e3ddc7121762253b560e8dca191c88";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/pl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/pl/firefox-59.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "d1d5736dc0013554501eabaf3e939e33e55aef9d0618fbcfa5a1ad8c4ddd316750a89694875ef62c0047628880ce2ff4df5666e4ed9461981b99a90493c38962";
+      sha512 = "f35e491fb25a91aed2bfb836e5a90a838e2cc5a34712ac337136def36fd6408a02fa52f0743907e83758b3250b11ab79b80e72e799d8c9b1395eeab0f6a55bb8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/pt-BR/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/pt-BR/firefox-59.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "f5fc0ef444e3e768a15b111fcaa87782fa47322c41e2de8c420f6f15d412af2fb5e0b4b1303d755aa3ba7771b4b70bb89a54852ebf91d8e1dc2aafd3af92655b";
+      sha512 = "7a2579d9b871a633c7c957841204f50e56ef82a803eb8259a8770798247efc248f532e107b1a369683ba4e35860d36d7ec2c7d437c4eaf95d7167537bc756fc1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/pt-PT/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/pt-PT/firefox-59.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "be03b658cb733a869c6cfac46fedf26188b22935b0544195f22e36bf3fde7f2fedb6fb173a3110f4ac430079f0b315a34403eb8f45deb95212efd09fcea67a6a";
+      sha512 = "eab5c8d91abec67790450ba5022d1cf34c456d330b8bc7158d8754cf9a6010dd48b7020a972f4f5af7a2242bb1948362e0de7478b7f65f401f603fbc35e0bd0f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/rm/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/rm/firefox-59.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "089f30bab996d1fb888fa560949d2ae5f7a1e146027e396cfd40f99ebcc17ba8b3a1d975f7b064630a655ae5818180567f1de1026f0d639e0d7274300cb64e16";
+      sha512 = "b6e80ea8c6dfd08a8f62465b69f94e4ec680ccba18380ac80803cc1737d0620a6be6d2be7f95cafd7fe1edabed73dbfefa1b9005e976fda53a745b4dda25ab18";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ro/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ro/firefox-59.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "0d68e2c5eedbdce050838e42cc886f861e934d9a740afeb9843aa3b7c75c7764c43fe6e27db7acdf9e698ee0bfd41f98b5b99306b954b801e3e70084f6a9fa12";
+      sha512 = "0954d016989647027403ec6f423d9dbc01362423c0db78c1bf671e294556dd6547ea4bc74cea338811f64a206b70298fb211a7d38129263b429124a3bb4eee59";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ru/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ru/firefox-59.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "a755f166a28473f85e028c16445e5cec2e6e786440a3077dc406b3f866d3a83c6375658055f9348158ca35d740abf3e787864cdae22e62dc4eee75a2770c3209";
+      sha512 = "06f8dfdd5c275e6c0ea829ddda9f0bc38626f9c9791cb03aa13f257bfaae8f11442c61910f4be83ac19750c98b32ebc5c6f8b0eb921b666443a51604aefabd8f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/si/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/si/firefox-59.0b8.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "2bed620a213ba7cb0c384cbc63a29727597496cc8123f9d93432aacdbcabd467545d8aa9af55158dc6bd0e4d78de7fce9f683e60e5e46bd6f2bc9a5e5936e2b2";
+      sha512 = "cf32d908bb2620ea458a3d1c691bc92b3ce2d89694de6af201b8e4b8934145d5a99735ed61ad5c474db0160109f1087d63bea86c97a3c7d3b6fddb8294ccface";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/sk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/sk/firefox-59.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "c8fa10a8cef82257132bbad728b9251b0d24ffbbd68a16431236d25e6834cb8a0bd9ea80171e2e7fe3aff1fa4821070577ddb1f50b764d3e135ee037f73bb55c";
+      sha512 = "140dab9dadee516367f32f2b53d908cbfe3322e490e3bd33fcd96be1c979317f31e3701e2984ca2bb7068e487e6878656da556c8f084dce4f2c005a06427c51f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/sl/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/sl/firefox-59.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "5687491b6b7b1e1334a81b6c2e14bc3ef2365c39b8e444ce71e890b8eccc3b6cec53c6a02cf8186ba86085804f2c1c07c2e6c7111c236ca9d4c0c2db381307af";
+      sha512 = "d576d3f498fe8fadc1dfc58169e5b584230f6ef3cc280eba59c4902b5a6b7e8f14cb0806c22d52c80e93e7d27378b613a1f5f09a89395d8a9ae68dfa356002dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/son/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/son/firefox-59.0b8.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "a72deb899f60bc1b1c248412ad496ddd1f924181ac4ae94bbd00bf33efdb5fcd61adb7f018a86301e39e176765e3551c478eb490de255e10bab7ac2ecafb25a8";
+      sha512 = "3baa12d21bf7ba952cf3fd14328c9b76a882d257c4fc6aa94c677985b171d5e77fa434df916738df79783ff8a738fa97c5082da30431ec47a61636765a7bade6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/sq/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/sq/firefox-59.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "3f8c87d0e46b130bbfef2cd4047e01c9131460fa8ba7147b59912a88442ab1661ac85015c47a70f71a6d7d7291fa2509193c4e84795f9ba5cd569e4cf7deeff9";
+      sha512 = "500998a19530fb51af525adf285fdfe9540bc1463dbebd0f9bfffb9db8d3308aa48a96d1c9b033f234082448e27d8fbe2c8078e2293e7d8c0ff53f103e303dc9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/sr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/sr/firefox-59.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "b74d6cd21e30e68b67b7a3d0514052adc91d4815f90d4b8329f7125fdc2bad8e3538064817bce922074c8a492bb1d810c8345535e046cf4d9350dc393a033b57";
+      sha512 = "1a10da5b9a92c676d603d0eee038cbc747b160b4f9dcc5a865780aaa39761604ab815ec00c12e40fa9f0b9624250e8bfd9c25b1b00d528104fb4596a6da5ad3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/sv-SE/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/sv-SE/firefox-59.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "f828b804446204cb27f1b5552cfacf6565c68e5c738ad5c1bddb5ad02757b86754802c52cf6e22086f067c13e23d9aa062588d302e475ca139fc9d8989a6c32c";
+      sha512 = "37d7706834531ef9f5c1784a7fe4040c81d963f81d7c92bc9730707e9f0e06643fda2021c9df2bc9ab57cb72ec403bbfa68ea24b7ec1350f19fb879c4fe1c271";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ta/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ta/firefox-59.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "e5ed60aedd493fe560aa1779b3b1c8fa9ccd016cdf13e639a56df2f3e2c9e5be4ae0b3fcaab3ea3df57949fb2f3f945d46501af2dfb86289a1a337049b7051a1";
+      sha512 = "647319950b8c67c28c2726356b563c0283277a65dd8e2dab3c6012b754b18849bfc7d0fc6efb4700aa4962ed29099b6c6e3c2bc3f33b3584ad74cd10cba3bf21";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/te/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/te/firefox-59.0b8.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "4ff30bd9f802d8b7c438ad3455d8105941ff320e44f41bd2f92019624c5ac7ff467e63f14b8c51f081e3809d1f1fa0582f113dd667a803fc89b9c9683bfced3f";
+      sha512 = "3928e1883fd2fd5f2b355db918a30c300fbcf18cee6e8da8c9f507f30d15dc1654f979aa223c81992ec5879496bfffb0b1daa1d736010c0384e86d1fc133c3bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/th/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/th/firefox-59.0b8.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "cda9564a72fd780bcb58a751e9083c5d3c33be72d6cad106b6902b9af3b0606f9d188e340b9e8109b372786339eeba2d3a1aa8e4acc6ed309a59084233bf5ff8";
+      sha512 = "34b76e7818590f598d1a88c81b3c71f39fcd8cab9ab16045d77181cbba255473045ff435dad6f48b3335c4d7e464fbc3eeebedf56b2c93f85d968204ff8de2c9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/tr/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/tr/firefox-59.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "deb3a166988d60742f7a25ac311fdd4967c96692edfdb28e3e30ad87b9835e16c671599caab85d81345c928da60b833acc0241781b193d3dc9a2a5f51199d655";
+      sha512 = "55dbe81812339490b1f82c9861762f0b1e35202c2288961db5920ee15406c8e9202acc914aff10cb6a2c7a24b7e178fe1aa8d1a74d1b3bd89966d871b4162141";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/uk/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/uk/firefox-59.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "25a350319be568862417acf5ca0088c6a9c4df3c4e6bd6998f8dd40b7815514809c1bf97e20ba33cc2e11fc0af6fe14e224275b08f1b3a0f1a4116d2296b76bf";
+      sha512 = "1b0054379bb8ca87c9e4ebd80a1f8e121b291ca5808743707a35eb05809637d9a45ef9838cbf774ebac9c80341f9bbd090e58e3e82001d4ea44ae34d6751f1d4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/ur/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/ur/firefox-59.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "8d3a92ecbcfa0a8cee7c2a64ead50a2db8e9859788a1888cfd7f576ad97eadb157b5fd92fb9e0364a2d00ad4c0f46733340a4163b1bb6fb85b13c2c177530a14";
+      sha512 = "acc80b01fbf848af3c41d94b6e4d8364da17370ed91c68eb1dd58008032e1676fb4490b0feda71431ae94747d5d12b38a35329d24f8dbd7ef4a7aaa24cc1f9df";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/uz/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/uz/firefox-59.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "657eac2426ea9722fe0d4dd7cba1c7df3fc9a9eb1647bb08edbb92e3ad9200b978503d91f560d93c7b064cc7b112024460879047e7cc3a34c6fa41ee4e439b2e";
+      sha512 = "8bece9280ef21408576682d7d5d5035c14c5ddb750d9e816873b14264b7ed22fdc6707c5c81460f85383d7d2502a838a96dd30ffff974d2eb4511cc99e48c79b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/vi/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/vi/firefox-59.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "dfe9c1f0c8a18cf337c4db0b31c99a5e8f25db06035484e63d510a40c5c9c354e8d849dd57175470bd5185a94ef22df26711178f01dcd05c12c5433c968f59e1";
+      sha512 = "c86896fd46a9fb87299fbb4d72e3c0f804964ad143bde49e6d095bc681c829a0015d37973c5c585c3bb0d6a6fb06c639ccf9355a78dc2e7a73d4ad75693e4b4b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/xh/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/xh/firefox-59.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "12ec3b621e93205c0495ae2691c27cc9e95fb2a48a5122baa75b3ce534d776221752fbcd91a9014b4a1b548059b98016a7736d6d24cc98a24fc92a2046b6f33f";
+      sha512 = "20a0c3c86b6e5ea8f8b4ba2d73e3ea8b4defcfe6b06439cd2e80b97b3310620848aceb1ac3492141b553ee10fc0336ad81a8ea0f71e1dc8e52b085e5b1eb669e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/zh-CN/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/zh-CN/firefox-59.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "382c1d60f94dd5d3878fad7655dd66202103a1435a5c5bd8fe6d04f525098ae3407f0caa45f5996b090cf7ad950156bd00b833305269b75412fe4b0c01338f46";
+      sha512 = "aa3220d2cb7d94aab31366a8c3e28db96cf3acee1a8bdb999ca7e154c07bd848e805aac2aec3c8e24302c62ddfaffbd61008605c7a545c33e920b223c041e4aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b16/linux-i686/zh-TW/firefox-58.0b16.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/59.0b8/linux-i686/zh-TW/firefox-59.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "752a93a5217209cf2cbaf1a5f9fcc23326acb335cf8a9948e2855788eb61781300b21e707e1031c0860c6c8474e66f699a8896b3aad64465a0af596c2d3f50d6";
+      sha512 = "db50dc9b40647165638bd8319a71f688b65c5d4dcb3fbc9a29b30429cea2026e614b0f5b758bc2a79152b3a02e384ff65766d4f70b178d495108cc6737ca24f9";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index c56d30a3ccb8..0fbe6d749c2f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,955 +1,965 @@
 {
-  version = "57.0.4";
+  version = "58.0.2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ach/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ach/firefox-58.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "44b5cd0112f6d6a8577b831b55bff2df34ed86e7ba6e16f54d2ec8a738453b27fcd4cb0d2f1c6d64ebdf9492ab2d0dedf15e3a50c16eb1701e24ed7293708ae9";
+      sha512 = "4f974e90d5db09a02c61a634f7309ba479f8699d1d61f4c21a7bb6ae5f520332292031ce0988605f8e727da5161de1b3a055da59d5f8bf220c1b369f9c453f17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/af/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/af/firefox-58.0.2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "734b6f164ec97e366f5e747c2bdd104f48c33d39f4467438da9eb9483d285688040cd508e864d9e451a9cae3907b4cbf0738489c3697ea38dfbf5d8186b85068";
+      sha512 = "d821bf5c1fa1bc38f64195d1bfbc7ce5205b50139710fde6e1db37c4a429a0df16ede8411a618d8e339f369dac699a38651c3aec9952d7c20fb84e1eaf1f59de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/an/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/an/firefox-58.0.2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "1be1776853195dd56b83ed4e35ba96f263a72ba009311c48e59ed42b3206a3b9052805fa7573f7064307763396a3b10b44744dc38f11d767ea67c450aa33e129";
+      sha512 = "7238e49735bab7983a478c217b128d7cc8b07e90fc5e2739eaf07e35be054a354c5c0006bae6fdb29ef71855c33ea531e84c1617832412315eb2e07ad7310d14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ar/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ar/firefox-58.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "87ead011bce9035004af52e6f25b1606d3061cd425c0deb19de91f166ac793b0d8689440aab6e45f469426ee4deddcfc5a9f4872f92121e404c4e69cc50eb22e";
+      sha512 = "f505930eed9262e595a8969dc86ed43c04f32ba62301b2fa8d1246ef956f3075d5633112e6129707ddb02d3047b93a5c9f5ce16f958a06ad928c59d64c8a1e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/as/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/as/firefox-58.0.2.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "0cef33747c17bf4646aec1d231269ca2198009038ac2b666edabe2b85333c375c18e249402ce201683d5145292057ee38082ef81d92304ce34d8fb31e5d240cd";
+      sha512 = "e1b876dee0ac09a391c53f066f5bf56fa6b0b4bcb389beb0844670a7f14ff422a230f58389f3c3d2a1f8b7486fe528a7abbe3b6abfb86c330ea13cab0cc67a7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ast/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ast/firefox-58.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "ee98e03759f85a3a52571b83c4fd9eb43bc655bb17735197a6cf30b894f1875ca1905e5807cdece521f24d7ded98118ac0c157b9c981720d80bba208d67f423b";
+      sha512 = "1c47fae696cfcbdd4f7fbbc8ddeacbfa1ae1b9a624bec9f512527b99c7ddd63c99fd55b60ae9a3ea1104fb5b943c8c029b19b93e6426de793788c2a5354a0d57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/az/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/az/firefox-58.0.2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "78fdbdeb6ac24450f0c6a52e308edbb31f1cc2c6950fc25295315c4be953cf35e3ba220c8f8b9994be055d963f6a2f55775b743161c71e24552fd5882dcf0b57";
+      sha512 = "5c3bab4ba81967b957c14152f6461ccb129396562ece07a34644f88b67185f9d6639ce3bd709a463816efe531c6e8bf3aa6414828feb37ae54564d1c9ae237fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/be/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/be/firefox-58.0.2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "07248a7ddf23657647d6e3f154be6325e04cc30b02a724a0b4c2c159060b7c11c2ebe4d7c4bd09313d1b37eea7e1bc45c666b9e19ae7d01e8e10f6392a70aa04";
+      sha512 = "8c719a8fcaef9f2f3ae50d0ecd999972649b5814c1bab45a418c474b6090bbcb47d58a32012f3ccb6c785ca9a1c76cb2f69e370714e1533349806c3db0364dd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/bg/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bg/firefox-58.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "6a05d69ec9e607bd1c7e48b882e90f2069522f99b8397c4daffe70d7e0ac2012287db2cf78d71df1a7e4f20ceaea1de86c61b857986cd3f785b4c55574346340";
+      sha512 = "b871aa3dc5e4721174e73081e4c551f802a16cb54690ea1850e549c37c1160000b9eb0e312fe03e43d8e254cfc063d971625624a6d0d7a8de14f731d1e139135";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/bn-BD/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bn-BD/firefox-58.0.2.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "441f56cc7eb513e20a89732745c1d3f56d82bccf09f2903d9f07547a018ec31fc95bf5b56b9875cba08f44bf5d9af0afb6314f72c5c4eb0f6546e06a6115fb4c";
+      sha512 = "53cfa7aa2bcdebb6770d1d993d71a0fd039eb540884d0dbe3d0fc953260a850bcdf72b20eb67d11630aafa9f282cab279776fa9d5cb45aeb7280dfd064b0199b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/bn-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bn-IN/firefox-58.0.2.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "eded452d957d9bcc6c65e716e1271cc130ac76897a166f2507628e99b50d99dd970265e4e5ff276d509fcf2026d3c95f4ddbd7b0b09144495bd483af724c9636";
+      sha512 = "a47f5c6bb46f6f4a2af27a8dd1556339ba5efd1b2c23494b0913033580dc735097eeefd58a6c0253d74c8fab30fa628d106a0f4111b0b5af5f98b1dd2d9d111d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/br/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/br/firefox-58.0.2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "7ccf63c946299241612875d220c613887dbd4cfe5db019db4a2626df2ad6de8c00564bcf28aba66566eb26cdaa5cd7ae15eb5c6a37d7959663609581c617dd0e";
+      sha512 = "b4dade4de1e40f8ef6c1af9fa260f7e06bbae6790a87813032c35317fa462f15905fa8b66c8b08bae640186f1fe6d10c15c87d64085d6fd23e5dd7a33cb9326d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/bs/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/bs/firefox-58.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "de319c64ef4a008d30dd1bd26e32c17a7fc5ed73a74af2029807004ee98393adeaba06ac9f02687e359ea0c41a5ec176630fc1cec1b87fbf789d2da68549dd35";
+      sha512 = "d32cd117524343cf451b30526466b84f84a7ab99f6e716ccff5c1c7e768003409723df93ee8839ca00d3e0a52cd9cba270f78033124809e4d18942bae9c736e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ca/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ca/firefox-58.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "f90f57a74a082e1015d04e4992d3137d6cd92d15ad304a2eedd3c293babba3c4a2f352512c0d3971478cd3df353d29f9ae3b1fc09ffed19cc3c7ab4475129371";
+      sha512 = "c4063632526c6936e71e50a898077568cf678a8f9275258311bda91ca0a150b7c30b19b86cb12bbf786624675ed3f383ba21b52545b36f8ef7032ef9001136e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/cak/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cak/firefox-58.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "0bf057c37cb1bfbad87dc79386dc13eca311399ddf1deaa625ba920c72f690f01e20ce3cf0d7d1afeb016e2f27c96dff405c1b168aa83bed0615e55f1eb259c8";
+      sha512 = "cb1f2142d698226ff881e9b3a1037ddbea1bc3ffca8ae98a7526bc3a6b728a3e30957196d809d523a638d7482db3e60b774de8f7f274c76982962026cebc0b9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/cs/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cs/firefox-58.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "609d94b2e7e920a70c2774c3ac9531c7b97492401a7860e43c3a8b0ff8870d9c51955dcc0eb9ab4f12eece415338e6a8a1f08f55f4c5ce5f15def081d03d783b";
+      sha512 = "8b17ed6a66081f445319a6e329710350f79751388e1cc6eb6f5945e0c0e6145053904ee2a1c1a562407299518eb8d97a52d86a0d4807f8711ee3ba6521f23820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/cy/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/cy/firefox-58.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "c77903916d9cbb55eaaf6220dd8a1a101c90a338fc3c9b289cbdb1c0e2080dd9a839b00575e38014ddce4478f53711cd31834d6dc94deb517b0a3e8e674df7e1";
+      sha512 = "a679e779b6afda954fde1bfdf079eca62e4541bb5c0398e8fe797e3ab8341922c279d1eb5d4f237995d01d39261f9b6f814540532c646558b10cef178870d5bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/da/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/da/firefox-58.0.2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "69486cfe520e313485eec89f64b446de50a87d5f94ff6bc76412c61c898177b0f7ff969bbcd7daca3bbde648394e2f82b2cd50be933f5ab6168157d18156d8da";
+      sha512 = "81771c6a78ff9349ac8086dce32900544d0a8b79eca55a61bc1efde34788a77fd41607c43403bf1df18f2f6aee8b61460e113ee301c2888494a970600fb4a371";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/de/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/de/firefox-58.0.2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "c85ac2270f30c9516df4a1331df5fe4a28c79787a12e306185b78c30a0b74d655c1cfa3e2b17ea17acb5ae28e47dc1235948deb6eba1a8d744f6a3864806c869";
+      sha512 = "cef7eebf9dd55af3d7245161c6f41153b99cefdb73e71c5cfaab1d8f1037c8da7ee2f36836e51416c36f7a7472b113bab23fa6a35ce30269733889ecd4aa1d5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/dsb/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/dsb/firefox-58.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "24b96b1db0e5f5f1a20e63d80dc69e309daaccddc0327b40fc8aae20a2e18f2698bfa50d3dbbd8268b54d3e92ab5a07ce1fa04de8c4dee31dc261109274728cb";
+      sha512 = "986c25e9f994ab766f4017f664304c03cc0a26c8ea50f892d48ff571322aeaa6b76eb1f4c7f1133a68783a9f55ce0e56a6cc599fb6eae0431e5bccec639504d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/el/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/el/firefox-58.0.2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "f22348ac3448a39472e427714136c51648f5bbf6979a402838b0c11dedb090b4c16397841cee5b2dc142fe942517386db0063ddc0e4b317e911110548a7805a5";
+      sha512 = "8d352b56ef049e2bb94952ebaca276dbfa4d7ea34ad368907406b67391d618e8aa2f908c19f3c7210220237d3721021686bc8fa0702c748680035a48b9ff2c4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/en-GB/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-GB/firefox-58.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "6f53f1aa5f788f4b05135b610e117fb368c100053620f8283d39a9bad6e9710978b7ebc638514a04fbb3025407fe728b3be4a80d2708ba0aadfa11485e012e30";
+      sha512 = "318a67d7d875a350e561a2a4e0f2d6278ce3a9f7e2db9ce307c58b5a2ffd40753edbfce01438c7b02421efa84129f95caf3887ca2929271ce5fe95f9321db11a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/en-US/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-US/firefox-58.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "c6e9841fa901f78593d5bd60c3c4616e9a8dff696a5b812bcc4fed52287fe7db6c7bfef85a7433f08b3b940de6418aaf1c7c90dde6cff1cc6c7e0efe439e0ddd";
+      sha512 = "71f5d1d3779eab4025ab57aef1795f9d6c509a50c5397df6a8ec741584d441acb9f7cbf8c8c002cb367c9c42b72dd6d29710fcf0cfead3a4525f2ccf39f3b930";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/en-ZA/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/en-ZA/firefox-58.0.2.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "a980707b6b773c0e34f385ddce1be8c4ef3d5a378601ba3aa40890fb247a666cb8253aad8a64859527a7becc9925124c9eac1e13a19a932158aaa953bbe158ce";
+      sha512 = "07604a360c8a932fdc161b4c2762e953812eef7cca765db29bcf0514027a8db3c22bbd879de6a1222eadbfb817540ef55e136df0df858a21c55ab4150cb3d5a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/eo/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/eo/firefox-58.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "6b23c8ddcd84c96993b4cf7f256df3485871e170068db563e5d0c649abd8e3b5869cbe8732d3a97e1927f45c7c8c18d697fdebab4ec1bef7de78496d06c1c0f9";
+      sha512 = "cdcb32f4b5e14a11033f62ec7e4ba00fab689dde93978cec405d55a497fb6a59a9c06839e04b8cd550557d37f1801bc6f9a9440e4a59f3d4b32cd2a27ddbac9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/es-AR/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-AR/firefox-58.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "985149e873bdeccffd6be63b35a56b3f93d3dc35cf04b055af8dafff68ce82bfb752a0d48e3ab43a9b197d15cc11748243bd2e9537a42f59c27a7868c2b95546";
+      sha512 = "aaf28d1b93d1eba50eafdc112f51fe261a0a38bb9e28ba4d86c12cb1f509d5fb375986e7a7e7a81483aa64bcf16f09620ff325674c29738ff62335d8ad1d1c7b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/es-CL/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-CL/firefox-58.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "4ec591554411410fb90215dfa229fe207bc3303a1bc68c4fc8894390386c07ebf958fcc894f2d17a9876c2da9b8424a00a62fd828921fa575ce0b0aeb037ea4d";
+      sha512 = "f30c318fa51c551fc03bf9f962cad8fce4795094d1389c1a35096e8e229fd1d78dae43cfb6c01f2600e7f5fd8efd02345f2c18578e3bc0378fedb947abf5904a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/es-ES/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-ES/firefox-58.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "751741292c0794916be2636b42d03671d408b5e1675544c44238cb28131e64eae07b9524b57e5cebcd491ac80960d2d60619a641f94d333b5622ab8cda812e8e";
+      sha512 = "08fc4a475fdf2e91550de0b5127df679f4011cc79af6125fb117aec44f97936f794fc0135fd381abaae4370b7343c200308e0cc659828fa8f8e665f39c4109cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/es-MX/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/es-MX/firefox-58.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "b54419f6cd1d7bbbcee875cdcfc06b9b6d053a1f320e47ef575c6d11ee3dcdef0937adcd6889e0b45c592e51547b66e09ceaa9ddbbd901aac6fdba0aa09df9e2";
+      sha512 = "baf9277fe32334b88be4bb6aa5b714e86d6d316866088173d0bfb221ab989708e3b67dfdd934c0df80ddbbcef8b2d78c35b33b1420332b094442b31aa62b6ca7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/et/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/et/firefox-58.0.2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "fcbf4c77a053abbcf0e071edeec310db34a195c9b1d07fe75ada0dbee71854631756a148b9fb36aba96865c462b3efb6c5c6689cf094430c6b9704a2e3e57294";
+      sha512 = "eed1be0068e6efba0130658c7fe5104ca0fd9c7485da0715113ac82665a153836e6d0eed083c91a89b4f8c11eec0fe2c0f8ef161f2bf7f565b6689f5978a454a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/eu/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/eu/firefox-58.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "6930dd5dba3b9d75d1ed998ee079a06b4222e130b7456851b2be8353d29bfc883439617a0bdbfadbf027a1c14d987b5ef4e15419190cc67c54d88d942f2ada42";
+      sha512 = "d0bd609308813d99a79b393dc4fe0960da01ab032ada1d4c2933c89acdc7a1016ac25ca67205aa29106ca12b34fe7dee42316ed457a4e0cee9fc43e3acc2011e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/fa/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fa/firefox-58.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "967abdce15e37d3cad52a5eb6a3e929b0ef0c6c8e43d803c88c20b649dfae3ecc980ba64f0ebdf140938627e857a86d1cd4884a4db682bdb4c9601e6cf1b3efa";
+      sha512 = "cde046bc147e860c40f979f8fe1bb39cc3391939f2b04f572d6db5a61be8be9574c1ddde1a400d16c06c2c6dd87a9b19830f2591809439820a27349d10860801";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ff/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ff/firefox-58.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "28ee8f395cd3d214cc67068a1421b466dfba935cc63f9156c258556c89ec74ca70d21bcaa627f4ed7bbe372fd1577b77e03230b2f031ff26e72c87b8889cad93";
+      sha512 = "047d9b2af90da36699cec77ba419db42cf6ac63fd3d9185150973fa6aaa20cb4bf23538e50154f03bb3edee4f16985baa4332e247ccf7d756f358f81afb2c329";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/fi/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fi/firefox-58.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "bb3eff25215b09cd7789e80161b06c7a6e3929036895a9bd9d949b94233bfa98056ba2123602f06b2d7572857371390bb887c50c2c1a37c641b20e250b083a5d";
+      sha512 = "5c2955e5c1e54bc0b2bfa08051ec61745765b7d9c970c7ea905e41d4ccb22b32caa3011a64a152d997db1f0b6451b10116060914c601aaa7a240f23cecff166c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/fr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fr/firefox-58.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "facac474073bcfceae7f1a1b8554e807136c277f31abc999b2abe33f2dd6f365cbe6549a5f9542982c3f5b80f42fc1c7e361a5402f74e359170c24570671802f";
+      sha512 = "e32448bc068d0c816c16ec1b4c53d462da430ca7ebca484dd363253e9d47277a0eb40ef0291b58e7dadd3457f49fd69d452c2e7728e45a1473472a2523c24028";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/fy-NL/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/fy-NL/firefox-58.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "84deb0e23a3d6a56cb2e52958c7ec4a650ed32a0302d51ba0f9b02f9f6d7f974402c7445d51a7be4cb22be0bf582af377653e2944829cc075a01804727bf0387";
+      sha512 = "9501fc459c883b3d7c3299243288aa5210755d78238af2f6d79e15104ba575b4a7cffebc9c067dc23bbc0941bc5f4a786909a194bac9f1f59244715f8b3cea2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ga-IE/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ga-IE/firefox-58.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "41ca5151a5d76314255a9f772ae7483d8c67df84a5511ad78cb951c6d11c8b0b78d43f19d3047ddd8add13706303335058adc4be7779dbe3bfa5b3b60a1929ce";
+      sha512 = "d7696ae4b38bfdcd93ffc6796bb2fdd6b952a5892a4a753b0a0717c0448ff59263516896dac2830aabc7b2df5719856f077450d29a48e25fec77bde00cb25d4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/gd/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gd/firefox-58.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "020921ef0e372eb1a9cff8c71133668f6a708436027a5d163188b8d2928fc8a264ffe5f7a1cbc40e109a711ed4a8bec26c333c29c84d4cef6c1985fdfa54a0f0";
+      sha512 = "ebe7526f32d43572538bde521b4df30aff91eb1a30148e20a164cfa044d7391bd7259486c72e68f9c110745e9013f36fa8c1f5be7519551c303cfdb06d4b6008";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/gl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gl/firefox-58.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "40d1131d2f2a365bfa0432b8deefa8c705b508419ae3e1b764500fbe67cbe38ed9a9813031e37ccae2e835d1f9d6b6c18edab829bb24f0658a6885f197d108d2";
+      sha512 = "a071ecc811b90c102dd5c7b4174d6cd65e7e07bed16566e71740cc3d29446757f220330910aa3a321809de3417a64641ee74b788bd27975c7ad75cc4e777116a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/gn/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gn/firefox-58.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "fc16f7ae512a49f5af381e3952b9af0772393c1e0b917d3d946a8565733dd8ae9187bb1101bd9604a4e860b8e4d001ad3bbd8c3ec023207cca28e91f6ead19bc";
+      sha512 = "1bc8f57884cd4af64e1a99defaca501561d84a70aaa3f4ee71c3c1497a4829248e2f5fea5b09c89eaf8d3701fd4f9753bdb50f6133850d2baa1708e942d8281a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/gu-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/gu-IN/firefox-58.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "693dca0183d8dc7962a4505925abb40d286b86fae206ad2c88153ceff02138e756a61615d9043bd65fe9a60ab990d5a79f2bd0fcce784c361488c3047282be17";
+      sha512 = "230b2c609b5ff96385b93ece8ac197910fe332ca76300dada12a0687b025ee7781ded47bb1a13816bb2fbd6c7e250bd0af8f4b40dd78c1d75a77a66391d7bccf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/he/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/he/firefox-58.0.2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "75c52bd15a6c3b7254981b82f9d5f0b9aaa43d2346bd1376913f6974b63d9f6929ef92fda0916103c643ecaa7f235b4268ecd956a4194ae41048d794029605d1";
+      sha512 = "f52add938bcf862c8d417709298eae9e502aa5845d01a349b9a8d29ab790ed342b7bbbe615fee6db7e939150a15a2e46895d162544ce4028806bd68c0c832186";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/hi-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hi-IN/firefox-58.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "752852c1295153ceea9d55e49afcdd185ca34f31d38dc2a85252f5ef2b0dacd9a6b3a1828ed0d88314574241157dd90d1da33c6d19fe25d1180ee959bbd8ccf5";
+      sha512 = "10406b782c3343fcb63420cf98690ac6eb1eaf9024eff226066587c356edf32006e288e8ce6373f6fc1475dd08c30da2b38cd284ccfd610c33c3726c91dc7691";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/hr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hr/firefox-58.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "01b29494db80f9483334bfe23d62859aa16dcd918b1acf308d765b9864304616182195d2c10e6ced4c7f1709ab2d5a3c5485614506ce727fefb2187b82a28895";
+      sha512 = "8fdfd613b9ee56a9da8f8c1ed1e9c9a6ece04bbffb1dc197120c9d3aeef2c36d9d660a44539f4c1820273be91dcc30d89652a9d9ecabe9bfa88b146fdaef18a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/hsb/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hsb/firefox-58.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "efb189a9daa8335e8d2b2b31194d808edcfc0f8b607a227daf0b74ae456600b7ecfc9fdb1340a17cdb6913735ade2eaccd552603737c4c9bf3abdd99bf438d63";
+      sha512 = "4e1cce7f55a3b66b21c0f8f16661855b2946a403d6f29e3725aa300fce49bc065dd7719b9203e79b3ead73dc92220a40d2f99d9079eecc8ae44a38b87086394d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/hu/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hu/firefox-58.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "4d6a08d3ea1cf72261aaffb7c1887fac28ee68f6e1bb5a540967164a4f7294f0a378b0cfe3dba867a5adfd21e4df3478a9bd5be057ce923c53fee39fdcbced4c";
+      sha512 = "b636ff6691834dbab712be03bd3dfa92f8a0bcf5e4807ef77e81d0a602acfd1f5df37e0c5a2237518305e4a9150fa592204f84e93ef83273f84a4ec34f65d3f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/hy-AM/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/hy-AM/firefox-58.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "c68660b7e1482e46ad66c86623d9252466b15eaa3d2c848392985db2932624e3d953ee48d6eab39c42dcafda174713fa148aab41cf04ff63db38eba563303c96";
+      sha512 = "909f565a687d6676175105584b2042af8cea66a2da1a2d529954c1a3f5f98807f655a20b1b16d1d80a9af05c02997d543055bd2edcffaec4fb0df0da6e610ab7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/id/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/id/firefox-58.0.2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "c93a02327cb8679b65c9770d6105bfdb6ad3bca90191f3d0fb1a5a35d3bfb1d4616ea54f3af5aeb76449de973d4acad0873e37674524d90010cb830247189652";
+      sha512 = "1338acae5fb5d477f51d09c8e49bf29ea4a7ac1a86d2b8bbfd431af2faa7a2db19fe5ae61650127c0f10a40b37a464bf7c67e4a4d2930bdb0dd04160013f5ead";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/is/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/is/firefox-58.0.2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "b7961afc123a574e656e98eb7b6f819517d3658a36303af89d36f03c9a32137984e047e4021d30d137294f41930645a62f5dfc06456ade330942a880aa4381a1";
+      sha512 = "6bf296d0e64ded43518b30f2b064cc99ddad031e8ff6129a6a9bda4736e93cfee1d2a9c0df96e86754762cc0ef38fa9cf7d79caf154c1db8c5ba57d88abfce0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/it/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/it/firefox-58.0.2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "7ee154c376146c40828375072f0c5ecc652eff04f8df644a25f106963fb1ba6973aaa7e7d5b27918672fa42069d91d4207e8f779d684cb342c29d56a1a020ce0";
+      sha512 = "c46ab44a51aa21b23b50763a6f35c5418a03a847584a1aad3560f62a828d2f859c912ead26d1a1206cfde73d411bad31bc87f19c5203850712bae911dc86fa44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ja/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ja/firefox-58.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "ff5ccae9fedb3366319a6ee2afeb849720ef9aab9a25700e15871b01addb1bd18d6a1ce655e0ef0adf4a1f826f81b85ee2a3e21161e554b5a2e9050f72c13786";
+      sha512 = "4765ad23e91c8599b6d1144533b7b24cac68b77a91c197e6e505a3be0bdb74f60bec2c49b7e7338ba994619d3969c00e5b9c7ba872da4958be37ab69b772d786";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ka/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ka/firefox-58.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "fe165e0c5d4204209ee9a647272c73c28344bd16343338ae6b8261dca2b5ae4d05b7fc6cbd3a7b3871e693706b7e73a3b7ef3dcf40ee4dceabaeac12d5398a22";
+      sha512 = "2a8aee12fead92872c5c94a319926aec87a95e891fa280588737b66814aa7378c5d7240a3c5f50145ff23c7673767037160d043b655b2a96ccdded6015254f4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/kab/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kab/firefox-58.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "294d0980cc5f9d7feb628c797d260024d786e919d2872f3f5695ba7e4fbabdbfbe9bf5c7327645ad99771aae8902fb3fa6d6e5de1eb56746b32b36a24564501c";
+      sha512 = "6518ac1276db195c2435160e619dbc1ec7494e51b06971fe409f46ead4af6367567a99356f6b5e353c024a8b9e51d2c2f99983d50709fba2e12342b0084c39f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/kk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kk/firefox-58.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "221497e9d38f2068f38ab37efd8818cfcb3f6281ada16436d7ed22be0c02806a0188ba5be52220ee632e575989e76fbf57263182281bf0bf736f203f6a048bd3";
+      sha512 = "2d515605c00f1cf2e76b26dfba3d4fbca00da18bddc5ed39f66d15568b15a2bbee0f1676d2b1b5058e11399ecb3e7cc593ff040757fce76d82ca859ca7b9ce81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/km/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/km/firefox-58.0.2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "cce416868cfc51aaa334bc1fa5d7102177024bec64d98cc1034fd1741290876d4ab2244bb49befaaf7e198a4401e43b3010894226fbdf838aa3b8b8282577ff1";
+      sha512 = "6bcba0015fd5753f7ab6725197fc164723d64de0790927115a0c06d0d1d92fd39bd41d83ffe59a5e9eaec48224c24e39f26cab3ac1bef6265eff8ad9a70c46c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/kn/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/kn/firefox-58.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "6f1039c079af325b6190e1a0396192270adc3aba374e7cfe2cb2deb39b86fe07d605c9a3d3b063c91abb8ec6348c324c419c212bcb79735ce8ccdb7ce4608fbd";
+      sha512 = "5fbbffed20a48328d2b199626a9810dfa6bf9cc84f358d429e7986d813c1ffa37fc95eb20a37b10bbf728e4bddd3ce8635c096b7fc4a4dabe462a32606a6dd96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ko/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ko/firefox-58.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "425b023e7eecb9f550fdf96c544faf21aadd04388a4b57fc28cf9e43f82d58dd957983046399592b21099039bb5976d691512a93f4c1a94bc384126b8667e19f";
+      sha512 = "2e7f5b385fb65b167ef1784288a68fdde29a3345ade9eb873a6e07a340c5bf76df5769c7771fbf9049eb31bfc5978e20c143a2e753614237b25a065e0735313d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/lij/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lij/firefox-58.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "2410a21d6158314076474318c2be450cb3b3397ffc5a9e9e8391218b16116371e2816c6fb1684b3fc3589a7a9834874bec01a2af39331dd592fe9fe54a3f90f4";
+      sha512 = "fe436e3ab07f3b139460ff385e73147572a1becbda1ccacc0da6a6cf1c49ab3e1424e9b9d8e26a14a2748e5ac9b0c67fc8970f14f5d64975ace3c6e9949f702a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/lt/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lt/firefox-58.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "78ec1d96aeee8f610c2637be20284fe85913cd885a46ecd3965ee0a8f62770307200e33505bbe67e192c38769d4614682536394186ad488b51593a7f6c7151f3";
+      sha512 = "b6e3d248f7a76c4a202c767710151067031e34a08ebcc460f4d6bd95fb395533414d6267daa1d9d8172097aa4ae0155ae693e027757c93b1cba50ad9a94f3cc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/lv/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/lv/firefox-58.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "9a257cc93498e256c9b0a12ad8b8922cf749fdda789197285f0d1910eb50b3d601da46806dd50a4510ea3b3fb8e8f4e494ef87d1e5db2208993a9e3ed59e57e5";
+      sha512 = "7bd3844aedf8112d396f07e1d57ec915e48bec1c375c8489057d7a3f2aa5f93c738d2d361848b977243b95b79a821848c2b27b3117a26fce9054d26e4621522e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/mai/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mai/firefox-58.0.2.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "bfd02ab5efb92205dc649afb65263b15ff46e7fd0d32c560ec3977ea18d420c89782fae63596571155ae7a77a59a5c2e9d25a41d18b845e502784bfa264638a7";
+      sha512 = "d5e6a53c7744ab267404d9107665e6f55acf584c11123d0e9b4a82f6572ef815fb87f52ce9e0be9352ed7c4af901819fa186ed57e4a313349ddee680727b0343";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/mk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mk/firefox-58.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "29d5b2edae82aeea218625ed9175455bd3a3928886035e55f60b6d5fb717d632769ed57023b4e6d944d22e03c5169eb2887c09ee4c682a6882a5bf298ee0af23";
+      sha512 = "7c49cc95a233c4662265e3fe57e87f4320ed120309599f0f78655a9e70b87ae36dad915afad2445cbf55c84e906c3fd2df4b7f84db59323f4629f662f6f2af31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ml/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ml/firefox-58.0.2.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "f247d859982459d3438310fd9d3c86ad1cb7448238a71dd81f0c8712b31da1fe27adf1821e7e91d52e68212d70826d11bd3728ad3642a206574cd278df734b05";
+      sha512 = "d1aed7e78433d3b427c215ed0b2c8455a8a0374bd4e2d88d7dca59c2a3d0402ce1670f1dc1c8675cf7953416fd4be584df59ab646783240f3aef14cb9474c91c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/mr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/mr/firefox-58.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "63654388432e076ae5d28cffb969213cf875894b94354f652d40891d63dd0a25e6175c3b51417ba5b760a85584bce85457d742829603dee9084c4c21469aa02e";
+      sha512 = "3244354a154372149da8b0564645ac5b827176c6eb79a88a2a182d2ae7a5e320fc1f843c1576eee86dec62d2866f6648403bc9c687322eade1f943717b655771";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ms/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ms/firefox-58.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "bbaeecbb9d2f6d7a881f219120d9f3769abd5713a8d38a1cffac2dc3dcd7849b49098df20dcd84812bf4f3a55e70ca1199cc15e67ab248f4c5ab9d2ea91cfcc2";
+      sha512 = "3f753476dcd5f128d7a660dfb9e1003f706ba2b2a135df629bdd68c8580e9bd47f23b5fe3ef77136c8e6611f434bc502f96eef4b7f7d6185ce7630bfd1f32e24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/my/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/my/firefox-58.0.2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "882e00804181821783617db75170650d5d8f36db1d32fa183a7d1ffbf04dbd7a7b2c9405520bc09973af800f8d5aa9859ead7f298fb9a18c2c0ffb0f18ab3542";
+      sha512 = "b83f6807c08c08e7245bc1c5309e2bb2d3d434a577f672a9ea9e95017b61993acbd0df9c339a4fff4c5e65c589d939c57477ba206194e7d09ff140a8882d2e52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/nb-NO/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nb-NO/firefox-58.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "5203d4a39f9a3ea14d262ca13d2e940d8381337cbb1e9d92773d3ae086d9853bb3b5e9d9bee550655b15ac2cd6f0fbb3d6ee52a836e94cf6b133f6924d6eee83";
+      sha512 = "e59931df86dff00b3ee55f93b01e4828a60de0f693de412c4825dfe7957c0bda8b9644040657036d5228fd7b6f4e3a93273d561f14fc5e9d3d81cc5c708f0f84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/nl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ne-NP/firefox-58.0.2.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-x86_64";
+      sha512 = "4dc88c6895264f50639e17eddd5df76de7689208d6094b0d4a51586fa45b359a0ebddc2d58cffbb952cda0a3c199ca287dac278f2a9cd517b923c60398fea449";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nl/firefox-58.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "4ec42e236d0fd252300d2785f865e9d1991ba5230a5621798c74bd2802220ddaeacdb43ae44fdd365dee79e7e4b97cb50597713acc603c72c630aa0f409cc5c4";
+      sha512 = "30f623d07fba2688b8f4c4958817ca208bb8981d1c5a64a232568c301aa8b95dec9406bc064b5c629c357381b5c41bcaed9d652d7e25b3a4f537717d79302361";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/nn-NO/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/nn-NO/firefox-58.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "4a50223708c6a45869981bebdeb8b5192b3541eb54e57e29e60671d436e12ce688943936761a9033b03d069a3c09ee1cd5a2265c0173c30f581710a35f559e89";
+      sha512 = "ddb85b71a86ad20a363edbdc9e0e79f6c485b4da02cb803142a717d297e58c10a4ada476a57dee01d5834246a53051b9e65b95eafae081b5b43648b2ac914acd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/or/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/or/firefox-58.0.2.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "6439073c29b4d930a0b2365824bfdda5e1ae3ceadde8f1949c4eba55e9aee9f15a22ec7293e1c8dd7a5f0ec63914f8054d688dd3fafbbd70e6e9473821a482f1";
+      sha512 = "8161a5ccf70f5b370d1bdfb9b849a2761eb4c25f6d821d39e63f45cd29d9be82be81f523bdb9b1f1b2ea134a8672b9153ff14ece3af6ed7e5a2339c9a43d71a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/pa-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pa-IN/firefox-58.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "ee2ba2085c389d70312390926f523e9e39d030d5b0b261088fe9b0dcd752fc1560b80817844d60835a38ddc49df315aa9575cd5091ce346a97e5634f810ff4e2";
+      sha512 = "fc0424027788746b0c8b68c553b7d989e60af2a29e4fa733bea440f31d277c1e64fba06a74c915986dfb3c8da13405689121a8771fb0a47f091e27185cfd7a28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/pl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pl/firefox-58.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "b2c4b4ac6b2b70834787efab3bf6670ba4b9e378a3ea7a206877778a32a7acc51efc32376d8f358adf9f7756e0c784e436003b8f16366741c6c7f346344352c8";
+      sha512 = "f39a26cbc41739b250bb92bf2daf6ba835639e5751e1dd0893013e1541ec43de7e747b3ec754894a56362263b3ace8d5f105ace5654c30657ad9e44195cd42ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/pt-BR/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pt-BR/firefox-58.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "3acee98821d5f24f8ead9f27233fa22372e2b5d36bad52616b5a59705992f816ef6b4cec3e2add96a76f3e50fbffca762fc88445b5fba12f058ba06fb3c7ba6b";
+      sha512 = "2d3fb878c286a750fa10413545f0d2ce5efeebea5f8c4192dd5b53131edcaa6a54940f242ea002d9a79f41a14e70095cc79526773dc95d3550bc0e0291185a5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/pt-PT/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/pt-PT/firefox-58.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "16ba9337bf8de3061d2d7fc9b609b02a61e7e33e5bacf5dc31f2b76bb281f8b298534f68b8bce4d5adfe87b0a18b660f71bf81bf556625b35a118630f2ef0d23";
+      sha512 = "a2eb5b43c3d87ea8193fdb1f0ecb0e1a317a71f10af4f3184484536dfc1f7f09fdfb498bbf073f68847f7c2cbf9383adf9ad9e92371c8a835e4e3651a0546ce7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/rm/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/rm/firefox-58.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "433b965bb97d00e81071d1732941021166088b55bada961f8dfb1bb1c8831f0df7f2b89879e52f992c781b33ed68e2fb6058c9ae71fc6827459ea3a854ff7af6";
+      sha512 = "8dd38ae11781013a03fae2b3cd5fc1b033c45050ed4245fca2302e1818135f1e754cb6c8ecbc535d253104ebafc0792dbabe78f7f336f12297b7b4b8c4a9f2a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ro/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ro/firefox-58.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "749c7351f99abe43f073eaf32fec454ff27e725e28eb6f2cb094570d1bde4fd772cca4f05ad3ca83803542c3d85dd2fe60c274c92a8339ab1b619e7fdfda7675";
+      sha512 = "e9958818254c1b5577a83960e1136541c8ebf2cd4f43ba06d73c2e40990fb6da958aeb423c640ae988057d3782db145ba8e8cd7816b8aac8dfb7f58c2eb0060a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ru/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ru/firefox-58.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "430c7afe325707be3618d717bff3d9e5b39edf82b786d0060fe6f6df18d8c9145848f4a1e1daf61b4da83b548dc95d4e5766ec4c882a2cd016e934d7c179791e";
+      sha512 = "abcd9a548335648d84ed3856a89275c62ef7d883e18d52dca053b4d8f80deff8fdab7336a2aa9382e55e110ded2d4bd9cf147b3f482f3b0ebb972ac696562645";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/si/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/si/firefox-58.0.2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "452c3fcc5466e49c6e56192476d0957aeb60328ac2d5b9284204f50b07dee7a4835f287cc86a52476160da38f68212ad2508aa4599b8c2824190017fe3567764";
+      sha512 = "53a7b139ba28103b88359eb450c033fbc8bd3a0c95048aadbd058e505ec85b652054968304d113826a5fcdb6abcb47e8498d9750023a899fd83d5c0dc8b3ed63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/sk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sk/firefox-58.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "cb67db6707e32c44eba532323ea16c55146a53621ed1c37a50f963ac3b4e66040a028defc175a16a0d4c0986fe67c966c56b5ee19db042e1aa93c92517e42761";
+      sha512 = "05d4f52e87bf24884caa888c14dbb6e46bce2de967fa4524090df63b2d9f2f4f82b926842544d2ce7ee46f0196a62e8dbe26e7b07176f5c13886ab2a1b2cd184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/sl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sl/firefox-58.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "f0269fbb62113370d23ef2ac9e26e602ec6457991e4b98335ddbb2df1e632604bccee27420ec4ff7910f936ac7518f7320ddc875c0bb3b95634ffed3cae5121a";
+      sha512 = "655b4fae25e42cd1678e49b555508ddba2da83a24f04d7d66f5d25a124fa2818368adc851258dd78915a2998272cf8e7bb7a5e918e01228e735d3ad0caa8edc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/son/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/son/firefox-58.0.2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "1b5c3c0d2cb42eb985d6c05ea6454b5880c2cf33a6c46d7993ea8793027a9d1414373a14cd756f2e991d2f744ff87972cf7c050390dd4dd7a497e5ead3ef29c6";
+      sha512 = "cb555d1465c5ce0a7db10e5117081e682425aaf00221b93a66d23ca9217cb2cd2b3835007961f572a39d93a02d12f9a62acc75f1ce3d8c3bd6cd057afd750f79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/sq/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sq/firefox-58.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "646bccefc4e52e823d099521b75d6796905d1ae1241ca2f0066996ca4e3a70fae901c8f890b821694699f101dfbcfcfea1cb7c7cb6de048bd896a62ea20e1348";
+      sha512 = "5afe4996a2c66d220d038cc041fba4a3bb5e411c0d1c4962b2a3f28ee16c5f23d1d8609a7d492a10b16d508c2781b7bdfb884d810ae5d8c5fdadee8120a34659";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/sr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sr/firefox-58.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "15ae853a20c97c380f3f6280d370a821461c462b2af5496416c81fcb1c47a0cbd0bcb80eaa0f017dabcf630f42a886dd72e6d5738305b599f24c5320180650e4";
+      sha512 = "641e3173693e73018154f5f3fdeefc0b0fdc0b1939ccac19b73769476a8827b7244a4088cc83fc651694e9c82fa5231b114fc05c80371469e63926494906aa83";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/sv-SE/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/sv-SE/firefox-58.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "2dc41cfc4cacebdaee4ebda94064bf9e2cf7e66a95b57e66936b69c7420302d0c3100c5101646b91438493016521b45fa378913b463fc55abc7681a34e24c4d6";
+      sha512 = "873f11216e002fc9eb4bd6389774c21d1f3aa17baf0f38770c18db541b30334a84cf2c33b478d009227b1ef48a7c45183d7df9991878daee78c139f6964c8b3a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ta/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ta/firefox-58.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "9f1fb4fef04e8a5944bed3293b190845e668431bf6fe214166ec3bd2dd7dbe328ab8ff904627788b80a0c1d663f37662c47a07c5f8a3818a8d2a509a4648b72c";
+      sha512 = "1d91749d41fdd5d5f3988803563e083f3d65ed6c70fed197f38fffa7847c10d2b0f355fd46a1fb7f84d8c94dce096d2b84ff692fc6f5f33be4ee1dc63a4efcd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/te/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/te/firefox-58.0.2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "a874ea926cf495a26fd1fd621686f0a123e3cbd67e51699c34e4e5874c30c98f6e36739f2b214d6abbc483bdc0fa202a1d5153078fe69fe9d20b4a3a517dcd91";
+      sha512 = "2b779beaee906278903dc12bf679f0d8ed51d622a1f790a956d039faa71c11abf1b4d462527e330dfb92dabd87aaaa70b3d84a295f21e1a701b4a308c85dc821";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/th/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/th/firefox-58.0.2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "dca7e779ca59b49f51198860541a6e0034ab132de0781ae76cbb0688ed0b9d4277ba6200d22020720abf0bab25326783eda0560f1c2fa0b912a50cb9afbf5ce5";
+      sha512 = "82bf20ace51794807f6460ae4142869fc2efb1b4bcef66cc5d68fe8812d4cb89578a45cfe0cb7927c45ab0d1e057f30d4388093678213187bbbb6f209babad2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/tr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/tr/firefox-58.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "459051cee1bd3df7d9f2606006edcc134d701e9bae614b2baba6538b2fb738da5e671b7b79e65ee6996e5a35df45d285d9e354b635b12d860c926e0a167bf20e";
+      sha512 = "65766e0207ea300dae4d95023ddc732cf5f59662a894689e87620e6e08a3f658234293b666467eb1f76afffda29716b128d72286b1c9cd68cf574f7121b71792";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/uk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/uk/firefox-58.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "f3354ce8c703a3d204ebb1370aa561be7fd1fabcc7361a8f270156ca62863c04f74ef2acd25f56adb5c50a19f0256f1956a2cb38c25402ba046cc59b1096d35c";
+      sha512 = "01aab08b333c16ac7156ca35580fc6502aaccdc269c6be29e20ea3ecf97104a3d0214d16bb65f1e3e7aab5b17ef3c637d948a2767594c36ab920c7086e11607d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/ur/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/ur/firefox-58.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "42f0d747bd8c5b3fe53a436472ccbd223ab9a23782065af2d4784e5ed075caf95cc0c4eb060fa1a2b11ade6dc12b99dc4ab497eba1339e2b8ddd99dbb5d286f0";
+      sha512 = "b282916667060259bb90452d08a2bb65cb1225cc45494c2c18c4982e710abbd345744b08bb9c2bd200073c2b470c3b3bddf7f9b6d652563e3c4a8cf6a6248391";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/uz/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/uz/firefox-58.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "476a632365c53ce0c72503bfb7dfe9166c6a4cc389dc7b174823b9dff1717c9ffa91f95eb975ecbe13135d39b90c3f18d96a5a08501eaf32ceafba0c2203b990";
+      sha512 = "9339ec640a3d4920fba39e69520477d9c00cdda5f1617067f19fb13b1c17cabd1cf1917001a49604686cd835839adcf3f206dcde14e7c4a98d579c7d8a19386d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/vi/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/vi/firefox-58.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "8f8146925562109cc1e21a6146203b16306931f03fd1451f679f3d345e589626669f35d5028b4189d175cec3b7c652a3d863cebbb521b72d9a04dd77e65a2c35";
+      sha512 = "c318398809637623e4ecb187f4b531bfc1b9abe093cfecfefe2faa75990dad09b505d8f88e2556476c92cdfda491161af8e7fc27c68c8bbedf5d4abee8eda941";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/xh/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/xh/firefox-58.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "b382942e20e4188b4ade8417d5e1d036e81dba87ad0e5250c0fd3e43fcac5134b11f02e4220ecafd5b1fcf2a7fd12d44efb595251fe8e9a9b48a93400f264632";
+      sha512 = "08caf6844c3900624093ada61c92f7c74dc5533818745b8e85b15a093b640eda9686bb0d5d86cfec0c90df49e782c942693d4e0a169b7cdfecfd13827ae27ea8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/zh-CN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/zh-CN/firefox-58.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "9fabab7faff2a166a001c91d65953c6dc80150ab6548c72bc180dcb87aba485b2d06efebf5518f43b740909616b1ac04de57e17bd60fc3e7843e4c7e54b63259";
+      sha512 = "3046e58285f220ef7ecaea81c44063b8573f59ffc64dc12f698a184ad2f11bed3a4cb5d03a2bc105083b0fd84335d7477f81d3eac4bb28b961d38d9c886a9376";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-x86_64/zh-TW/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-x86_64/zh-TW/firefox-58.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "a334f4904ff329ddea28cf1eb4416d0c665a8099b20673d40792f2bb653fa09f60b6efc09b6d22c25f8bbafc0aa1e1aed6615f1377da37f6f843adade51d881b";
+      sha512 = "cc453128e4720181d147552fe2452b5142b959e3e0cfd3e340159def69be169d272980066f9a34206da5f815ea54b8e4a062bf95ec4b1cd7ec7b3b83e2ae13b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ach/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ach/firefox-58.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "1bf24191ae24fb8bd553c97d2ce2bd9599f84b2b6d57162a5619821c3312e7671aa04fefece26aeb0786c48d5fb934b79adab513f3ab382ec1e71f44d7a3835e";
+      sha512 = "c26386414dd416bee1e4fe505da524a4c1de34ba8c25b2978a20c66a09f8e3c7339dfc4b5fa00f0d2c052fea1574e5ef1a5d74e67d39c7e717b54439d7dbb852";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/af/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/af/firefox-58.0.2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "6fa02d454c375af8661826b23c0220d9dc402331c8739a8b09e2e4583dbc0d9d6e742f65509f69bdad2882265c51a956892a04b8d75f3885b722b0688eb87ab8";
+      sha512 = "a8c4485e579f127882c0f00a4a90bff5d02bee5f28642257bfe0d6638fe9156ab10a00dfd48052aa4995dcecbe10b7247f1d4e6d9b424bf06e431a782b46b95c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/an/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/an/firefox-58.0.2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "c75a7318937244cd8f227f05b8cd8b13c948312fd692040125fea3bf3b8100e7c0912e0f4edd67ac7c9425e4a333ad091a8ddcd29acb9f045d4a0459f9d35342";
+      sha512 = "29e91d4e5ff020241ac81b810b893bdea9fc194090c78fc857d507d7bec8651f15a3c70f3fc245f0d5faa21a3cc44b6327c1a32444eeff3ae4d93a723e230e16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ar/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ar/firefox-58.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "baa36a5936edea572d6ffad24c968538baf5ec888be09c8ee8179993f0088f661fc9f275edf2b848fc17beb3799b50fd8ca5a5a76bb4d52360b9c1a2ad38b76d";
+      sha512 = "d1d936284a12f1718b69b279334aecd49a68e5dbabc65a5ade2af277ac7b8ea342ba4b580df95040ae057525d28a7c1852222ab2bd273c2aae74409a5533f74b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/as/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/as/firefox-58.0.2.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "8094dff31f7ac1de02f5e8af06bf64d8fda669c68556faba2f30de63f3954b3aa18ee130c76c6acea8e59fcd532cffac0ed822d3bbdce737ea4e01e9f2abc7b8";
+      sha512 = "49f8e1e8cbe6910a9fc8a812b3dcb7e694c2785fca1c65639d70a5d0fc82dcda9630a1e311df9bdf148d684c2173c761b6aa3926a425730dc35fe99b14124992";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ast/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ast/firefox-58.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "0a5953952051dbf0aeb872593eb6efedc557d8e518393a4672d2fed5a327f2c56720c2c50f31ea64b0799722b30202c3df4c46bf4c8dd227333c42a9fcd2fbaf";
+      sha512 = "a01eb17a9952055aedc3eb29126a826ef812c75f5f5b5a22af3125ab37b63e3e0ad6de0a5f68d0a5bf0b3d1c8fb1f721d4331f1afd30b6a3ee94a502d5931ff1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/az/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/az/firefox-58.0.2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "0eaa6a6d139868933b345b8ca62df9cd378c68053cca98d40f2cd83daf46bd9ac0dce4e91900eb447d1ab0ec8f76de293a65bd99913b560bd2f5b6794c565018";
+      sha512 = "7117993a67c2d0f3c0438afcbd87f22ce141063dbc66a1fea997f5145603f8e9d28b62473add81475bdfbad350d6e683d0c483ec2287f0a47f4e9b3bfbe92ec7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/be/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/be/firefox-58.0.2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "b76736401d8f20d9638e9808b7acb41f46a51f29eeac9eb7d7850a8b3c32974982e946f679c98f8e71b548e87589edf5c7127a20f7108e4e42deb0e0ed71fc1f";
+      sha512 = "9b3486fdb08f0aae375a74701e7904dc13b1e4db7a1489c4538d523bd4af91b882b9785fc4fbc3da2f6ac67745216ffaf7c48c173f840288c6e39b2fb8e78b62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/bg/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bg/firefox-58.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "7a47b07dd0791f1cbab7f02645e1b97173630ebc44fb81b2308ceb539d92f0197e8a9aa24f640ddba6fa888fb71a979837d6bd19d0315cc8c8eb2a8cbf99af15";
+      sha512 = "a917bd437926c8854786b4169ddb2a132bf4ca0e51c17a99a3cb814a1c1fa7fbc7c2ca46a0c7c91ada117ce4b2e89c955e1d60502c6eaefc9c57e0011459609e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/bn-BD/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bn-BD/firefox-58.0.2.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "15ece8585166d99b9d52b1de03a909d1c38cceccae5547dc13267da223026f4be4fcbc2cb42a7c225a4a74147b014ad19173635fe4c3249f4180169b4a503bfc";
+      sha512 = "51032301e619fdf9e9ac99c52f771e39425e9e8f063f71c491f0802f02993bda668e0e18196f4d10125ffc66fec760df0f98c19713f8b54b5b05c502067fa4ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/bn-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bn-IN/firefox-58.0.2.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "72df101c9d0c602542e65da9235dc63d17c220ff56d2d1008c285fc6c10e090bf343ef968e60a36664d0dec72d7bccfe016af542b014ab116c0f243920aae93d";
+      sha512 = "b76ea76976ade5df4866c2c54bef553924ec9d3bc229cc7513530ca81c4c4e118bbbbadbea8a64f27a061d0ccb061d7ec0e1a398a428892a2c59761b0a7392e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/br/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/br/firefox-58.0.2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "d0830fa2a0e4159d46c24e048767ac5c032910c6e73858eabff4a1ca0006189b3a4978c3e4822242883e6fb3abe639122ed76afeda5d9d2d5391806ea07f6796";
+      sha512 = "7ba73fb0068862700bf64248987796837c44bb59ffec052638956fe205bb52780bf2ce9bc6b1a5347b173255e893de8b9380dbbb245d8a3552dfd1a6fb73f7cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/bs/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/bs/firefox-58.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "cf93ea42460de4e9c13392eb1bbe4c6053c049a18cfd7038d99c658cf076d9989648abbcc006e345fdb2fc66f56ff8abd044b527ca0ae29accd2b0f52dfcc2a1";
+      sha512 = "5f2aa4be25f279212541716777012f87f5e65a57deb3b4dd84d4187d84db80ef3f8dede2adf971dae1fd9f4e6398db81f956f59df2f51f35f1893f581266fe0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ca/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ca/firefox-58.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "3fbbfc5973384a0a6d65e02d5b82a6b5591ea8d610fec2ece24aa423550eebac1b25fd7d0080bae4300f64ae1955fc6dc881816f10edf33b07e0cb308260a4cb";
+      sha512 = "2995ed991ab118d5e318f085a340113a0e71801cb2b781890dec674bf3a8142b9bd8b0bc23ee23bed72b1b7bdc7f0181abd4f4d23fc88b7930f710934d2943c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/cak/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cak/firefox-58.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "0cf301895b2dab45cf487e41ba093e547bb4d42b997a9c7a90da2fbfcdb044e654cfc23e4bfb6de7065ecdb8e4923434f98e8b58313cd9ee7cf64dd5435951a5";
+      sha512 = "dce6a70f1c59b01a2d3ac65c6f44adb9baa8e483dba84989e40d7388f9ffaea894e3107cc4a82ba6aa730770c681bd73b50d0ae2f248477f0b63192c45f142d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/cs/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cs/firefox-58.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "20011fd4567fb3112a75a07ae181ab7d3a85702b9583efeb007dfe7a3009c34f8632db631710105dd68ca579b44a83f53d84bd4768f0030ed106bbe12eda8f16";
+      sha512 = "3c84b185de63520d430ef541cc95290868fb8ccb09829ef8887ee0559fc5da8182e890155e3d1bf4e82966c82837d05253fdf2d2115f376c4bb0d09c21cef339";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/cy/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/cy/firefox-58.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "1f9b31e5e36a581ba51737e5e1f85a2d6ce804de854585ad2919f7070305567883724fad9368529ebd98d3f428eeb36c555d2f7ccefcfedb877227969688f896";
+      sha512 = "1561488521608643f3ce97da23052b8e968c1b8ad7ca38b966fd088368932976be0f503942ef65617248d3ae572afa4ecda3499c427845de32572d163d577c9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/da/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/da/firefox-58.0.2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "a919e582953660fff4f438d58c8814cd5437f13fc42af9ddb383db163485754fac667b4e830e68cc827d7646436760bd6760ac4b2d7fca2a951c1d5f7d43be59";
+      sha512 = "fda58e6fbf5243d5fed1b386ac8014efefa856ea3f8cdfca4e723f646dda2a8825356818bc8f06183a57337a5449ae3907bb3ac4c81bd7f9590d94bbc32749a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/de/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/de/firefox-58.0.2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "c5f844f17a3201a7a62e1e9c9dab3ede7042ca33bc8d388d9677858ab289d1f0a823594701e7eedcf1f9ee015c2ff16cdb0d9bc0e6861701f065827c69204f90";
+      sha512 = "d56395a97002f31ead2523179eec912dea7035a86c80a8788b21f272c6e6ac4095caff5520feed261f5ab5a2a2366cd12e223b23d276e01d1ef318b8c15db860";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/dsb/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/dsb/firefox-58.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "fda1a2b51a3ae8d0d28629141575fe14263baef7d68f3bafed89a744a493382faba2bc7d263648d8ed809eca274dbaf0e1669b534a23281944135195593f0616";
+      sha512 = "97538fdf8a2a1cc3c485210583d9c80db10b2d599d2b34bfffd5e3b29c092a8573f100cee5c69dbbc69fe67ba6e2c648715fbb9271704dc26e6b2fa98a8512c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/el/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/el/firefox-58.0.2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "0c48e342f0ec141f4a7512c0f1cb4826b9dfe77cf315d22365e4f3eee090f067a35215798ace57eaa38a80a5b62dde257992eed2084737dcd85b1d4d3f46740c";
+      sha512 = "4a12302d67b830098e74ecc5a2e785829c1602dfc3cdc20c1e4be5a2e58854128a68ef9fe459dc4baf7f1f87e8ac2a065061a259c9625f09098b364c6d12a393";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/en-GB/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-GB/firefox-58.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "d9d24a97b0257bcd1a1b468e6f986ff4fe8d26ced92e3878123d8667957ab187d87bb01e8d389da6fbffde66e1714fe81a9e926a9f3f5c52ea5d38a8eb961d00";
+      sha512 = "0ef9e96b43154f3b6d8e620183c092d38b8a5dfd7b762416b090e2754baee4564f6876bba9765cbf7499f5c658f2d352bb45769d852a683fd528573b53eff2d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/en-US/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-US/firefox-58.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "b641a671d7390c505577fa956bc1452f58f6cc8418b3ccaf25eb8b5bb08799a3a2e1e7113525ad720f710d7022b18901c5234be1a1c372881e4908d2ae419743";
+      sha512 = "05046233531db36a9c9c16cf6247401ec662254e8e1b896abf557bb2f4043ee2ec1f83a04c9b1199877d66b50b41d47bef1ebe6236e21998406616b8251001ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/en-ZA/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/en-ZA/firefox-58.0.2.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "605b7027a57c75e90d8e7004c50415ebdd2e2e111ac679d6bb87f1c55f0ca022aa4b77394a04ed94aa634d9b05359d9384e428f8f9dd000ddb2da755bb5d797a";
+      sha512 = "7ff1777a3aab71e9bdac1d41f777837cf91ca5f9ae353e6289812899fd10a4f58c13938cef0f33cb3d3a0e80b42c70034f7af22783e0b22495fe279cc497fa5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/eo/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/eo/firefox-58.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "d5e81e82ffccb2538d94be4752d8bde9e5e84eaf06c5c29a34e0e16b13cc8df62ae17c88a50cdd846dc2ddf35c76355db39f39d74d1d9aac19c962d823d2a5d3";
+      sha512 = "3b4a8b0fb29abbebb224cbdc4dd9ca62457d88394f653388915898fba9eed6d1cbed43f6b8fb7bebbf18963d368fbea6aeef5bf681c14d2d5e09747fbd42fbe1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/es-AR/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-AR/firefox-58.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "27ad3f34bdb4f94a08043c699f2c9ce2a5de2cd297e9dc2edf777b78656902dcde7aeebe17463e3f7125d58a2cb5ac7de671695d46852bf15225cf201541eaf3";
+      sha512 = "9409072b8aaffe4ed914832d0b545fefd20b9930e0529c38255f19a0ad524b66127d9704eae2b8623696560fb78169aa66d1b5bde358885dad4d00e010189841";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/es-CL/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-CL/firefox-58.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "e65607bb7e1f08a2f0aea512e384d44b7d219939c82cb98cdd8a3697b5d43e7fba7036d4529c102a2ddbdf660baac45e8f9358692293d0a5d0869f72c8ca677c";
+      sha512 = "0bcdfe996b3a8f4810d464bbca0690d12f6262032a21e0716f86f793faa4e707d3c308e79aac5657d619ebca204d5f67667c6d3d09e405e887c338a859ea1faf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/es-ES/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-ES/firefox-58.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "f486c0f40cd610540743546a188c434bf16c2482d88145841ec90974a819e7f82952cc6f9e8c8787665f28f47f1e8b7def418f0b08f9fbce73f9d1aabe62e91e";
+      sha512 = "1f2aa1ec1c97cfdaff07b7aabf75b5e1bfc628fd8ee71c988af5471e570574453889a7bf40f9d3a4ec06889a4672518c986c3bc6fd35d7436d45c5c74507d801";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/es-MX/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/es-MX/firefox-58.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "c4e45e86b5680cb9580948bf8db29c5f3a13d2b2c6a73753872ab2c77715ecb64f756522d4c1e50009d783cd4f589ae39e3bedf771ebb4b03ea6930506210a06";
+      sha512 = "366dc93d1e6508b00987163e44ac2d6fd318bc9c80487a13d581926be7d3a88a6fbc6438effcefcfbe6a1a9794f2a692c385fec7503ea96feeabc5fe10cc7a4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/et/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/et/firefox-58.0.2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "181772128d6eb85141169208c283caa0f4658e3ef627b92f723694fa5f38be7fa8e4c6591901971cfbfb760cffd693a285589089436bb25e72ff95fad36c632d";
+      sha512 = "82b25a2e1ab4d61d89f5944495f69fcc7db33b3a7bb7822758b588ea7c3fe9ce3d728ba838760b93975cc52b105de77cd980d20997f642839680a20ccd5e1d4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/eu/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/eu/firefox-58.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "e582332c908c98b6eddefa04b223366442e61e231e9039e237e5d15007113d7986a0759e8b927262370ae61b103e749f96160a2596a7b79d2e7321a5416fa0b0";
+      sha512 = "6eacc4b6069f6bda6b08fca871c7cf08bd666f974bedff6c511652801e3718ef60ab97425c8ce6d1cf5aaac1b5b9a62990ab086ebfd9e76f646d491a19325b34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/fa/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fa/firefox-58.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "118684887c685acf3fd2a9f0ab1b63bee19c29e285e1817d013202a9fb722b17a3e774db3afa4056618172d4ce741aa78952bf806752d52fda4b651a633139d8";
+      sha512 = "e3f4c57555c415a4d3830a6751c5444e07987fdf85ed0e122312bc4bfd0fbaf841cda7aeeb6aa161d48070844aaab316ffc163755481479f5d421ab8967aac15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ff/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ff/firefox-58.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "d4917fd09f789ae2ec456b4cef807ba17fd1e2a80f1cf9dd635c18dcebf87c9c5ccaa5937df7846ec24de943c8c58ba4a0c9282ed586958bb3275234fc9bd27c";
+      sha512 = "695b44de161563727097da1d969c0a98fdbda51613ae8631a757410a502ab25038a9c356338b1178f7d35e0110e9772b3e2fb705e20d81787317b528ffd709c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/fi/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fi/firefox-58.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "891c8a01940d9896dba75de258ba7da71b5e1b03697fcc04c5919b6570fa8b7164d9f8fba6f5a52614e637c5fe859f59da7fba34d4387c9763b82e7dd4e4ffd0";
+      sha512 = "1227a6e57a68c0ffc60f6d9eda20a41fe70e7da130bc705fa15e428539e0380e1f65739e791ec699f216588ba54e558ddb6242862396837229c3ef3b028a6346";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/fr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fr/firefox-58.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "cb6bf51bd4362b21416dc82a2c52cbecf0afb2aa88d6ab96affac7668d3ff0d7f81f345ce3440b04e0b4df0740505c204efa0d7eaf43af0b5c99294e0170a357";
+      sha512 = "c15980e0a1b4b9709416d362e36a3dab26502af4788b7c74d68e0ebd2f3ada6039d10af1e1d49885604c4c3b41356519e53c278f04b14729502d8044bc106384";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/fy-NL/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/fy-NL/firefox-58.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "17e3030507c7cd0dccb2b94bb36414ad9e4c8248b671f438dce27ec849c06a2a98343520bd457b9157813e11f9360a1e38cd9dc3dda49ee039ed2757168e5d26";
+      sha512 = "dd38e22a986b558aea005900c2da53cbf28ea68a77bff428aea6ebaa09318439232cc2d5c8d0599fd8512ee4ca2488080297ffa61f2cac9547fd5257a01abd3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ga-IE/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ga-IE/firefox-58.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "18bf7782acd20cb9972e419ddd62be4c9b0d18d2f545bf728f1729f2a63e9f69353cf47b8e2fdf8525829fafa3c87cecc6bc272e899a2df6dd1ae4cf11b5bed4";
+      sha512 = "97ff02536814db1310bcf53adac31fd9e84a5e39d58f9d81dc2f70d40e6b608c450dbdb38edc83abbaeb0535f1a1c0b1511c77a161e6d0ec22b8cde71501be08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/gd/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gd/firefox-58.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "27d56b6d98b4478821e1697398aa0b39ed51123eb72a18f06f03bcca53c7017b4c55fbd32af626a52a74b5c53c9efbd7a20bb265af1d43140189f6f5d03168d7";
+      sha512 = "7e8d8dc8c341ab3990b550392f92029b70f6d947119de13843e11a8067c2edcd10a02dc088396beb52b1d069e8f42732db8c514f822706de3f309061e649caa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/gl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gl/firefox-58.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "5a7c2e1faee64d224c8dcd822d0e3f0b064f4aa5617944aa048d32335fb2a45caefe7f6971058368493c483a5ac107808794289c68530d97f85d0e2438285a4c";
+      sha512 = "31b57462e13e43e31e0e9073b353e1f5a3c32ffcf5c5fded188a1a61a973510479d5e04dc26437eba5445baca51f82311ee9470e3bed9a6309d40cd456da4763";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/gn/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gn/firefox-58.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "5c05eb1d50d0de7f7e25bc0821767ec916ff17a3499ed4cbbe53cb7d833fd43edaf3ec1c1c2db02b76523bad8a78043d7ac25be4d1a4076da942b09097949dd9";
+      sha512 = "d54e50b52870747013ba457d205fd9d2632302309b9850171b968d66dc537357bf747e322420e70e5c029532b053e557da86076a25fe8c5f1a3491acc9906b37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/gu-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/gu-IN/firefox-58.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "43eaf8f5ff8f921ead14cc2a2a5d9a98ca674af49087407dff37afe4acd9c22a4d83e96750bb50e8e6fd4219beab08c8bf52831fe15b8320b5858d6c93c611f5";
+      sha512 = "d18427e64b54eb6aa1a1ee7ebfe4bdc3b219af28e7cedde55ae384d475ba88b83b9c6fe701ff849aeec32f8e6b184f2e3f910b407a9d200fd45ceaa18fc7d61f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/he/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/he/firefox-58.0.2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "9573f5d24af9f89abad0d46d99750b9380ce77c4c017143236178f3fbbfb2e43d1c1f1ae2223ae0d4c81b22688fc7da8c1fc2a19cb5619bdd42ca03ea7ef810e";
+      sha512 = "a7ac2db737ddeb870bbd136f8dea08306e8bc7158d7e880655cf15541ed26382086d270a6ff2bbfb332fcc3e53c7348a403bb889aa8ae5dd1cc6fd1b7844e768";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/hi-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hi-IN/firefox-58.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "ac0d13b6d935f8b51379287f5ad5e434bec58eee0e29fdc786e43e7d7e270afea094b8af27c779e0f0c11e3f3582f84e2cac4e01fc69339aa569830d180fca6f";
+      sha512 = "18263b33d5fff4154db809fed79fc2ae20590cc2ad609e2abe90b036420bcd38fda629c613750432ca4c06684c772cf567368ba2bf098719b501e329e55caf51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/hr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hr/firefox-58.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "3f17557b50fff4334a27885358cd1c91fcfbaab4394b5cb9a571c47a24bd45a2b807534c6645b58220b65285aef5014582ec6e1a04e57e54f7cdc5cbc4d0e1ff";
+      sha512 = "f75aa782b03335b0197cbea1446cca56cedeb4be0282dff8bc0f1d6f6c8bf596113edcab650b6c8b7bf5a9ffe6bd14e0e29f2e82002a5c720cbf82f9dfca1b08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/hsb/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hsb/firefox-58.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "ea3cc8998fa736c27469efaa6aeef4263c1c23d62804721ef577d020295100bd99e6690336c29a0af7f274f8c0fd554d16ce39638b8c9de2132dc0fabe21b91e";
+      sha512 = "c0b987b299ba764ff5418be38e68c52b7caaf61480edc34d575ef58807b5289fabc25cb22d7d87dc8ba708d6fa4157d46237e0a31dafcbbe5f463fc945a620e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/hu/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hu/firefox-58.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "988721816865e6db32a4e874d7bcc67c0e7bfcf621bc9e8d6a8aa8732ac448930646891a53a6f66bdf64d625b1607ffcca4141ba8b011ec2b69803fb0eca32c1";
+      sha512 = "58c7c346d0fdb16efee21d8802d3bc668ff4fd9497ceef1b7a96cb8bff01df647c32819a5606891e2b7a9283677bfa9624e33423f7ed1a9c6acd1c19414276fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/hy-AM/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/hy-AM/firefox-58.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "214105d839762ba56f8f30f9fd4e2b706ba2ab0ff4f76826661745505d2bf7b85481b17782182ee5250d82f0f233b9f3c7123669c2475d33bec40aa270cb83bb";
+      sha512 = "79e733f8be50ce4cab74d80dd8e4ea667ac9b2973bce27fc1f70a37b879e19b52ee423c2b360433d1e5e15a4143050e7943a3bdcbf709bc34e89302bb0ad7f35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/id/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/id/firefox-58.0.2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "60af8126c39ee9b7bd9f9c06048677ce5e9ac1b4da28176c965064e6d937df3218d01c923fe6bda822ac9fcfd95904e4f01438b88e0659b7df6c5a4b7b475330";
+      sha512 = "5f49f449fd68cd4513ccbb541d3884e190b2a9897ba6267f348f4e7df9415a63e58a254d18f116cecd33f0e34a9022f4e34472bf2486e29b0ff17702f4790e0b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/is/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/is/firefox-58.0.2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "07230ab55805e4bc26c6aa427d43daef7d799115780d712db5b358a8d731296abb06baa8e21a200310922ac81e23a1e33584c1a25a76031c03a849e33aaabf0f";
+      sha512 = "6c5028ec47a18d9de6bfb4d99d54815b174ed51ccb74f84e0e1d69ad10940847d4655eb76b13281296575fdbb972d32df34e8e9849c8db4fd46a6dac4b4f0d62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/it/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/it/firefox-58.0.2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "4e80d7f042dec9c9752a81f434520b4ea2605319fdbe26a4ffee8e01ff60163a9df9100f154d45690ea4a492953f09a9b602609b88a350250dd71b2f66029713";
+      sha512 = "dd4e79563c63cfcd76906dad9b28162bc9df443964a10fb0be7c2a201621d394d45ace33dbdf85d7acd040175528d58da243333d06ced80bfa96f8c6226aa3de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ja/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ja/firefox-58.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "a14fdbc6e2fb341d78878bbed3df456d3906a6f9721ed80764f8747faa82407ceb48a4a6e8b6c90c4164fcf231208b3f4f147d6465bc434496e991613c7cf250";
+      sha512 = "472f544038dce535691db40eae8cb06dcd77a468059a261cfe04186bedb4403ca209efd51a5b5efdedca323f70f4a69140614d13380fae0e01b49c85e5fffb8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ka/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ka/firefox-58.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "e411fd39ee928f4e66937f55589f7a7d77eb9ee64abb30d49622e18b20d2ed2eecc34a54bb32a40d28a83b43e822b526494227b7b1a8b3cef831dbe8d5573dcf";
+      sha512 = "8337bbc594e6d7c0f862a99b8ad67fa7b86e55d372c5db850657eb7952f9abe2640c7bccf69568790099c8f9e7dcda65ecb28bbf2c18eeeb6760f3274f343513";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/kab/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kab/firefox-58.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "b430ee1803556d791fdd19ffa21aa32d8245421c2e8a7dda7cda10d751cf9be125bc089de9149fe8b858db663397827b2e511a54a56053827c405b0fa2e17ad3";
+      sha512 = "8d46fdff00c65f503f87b1d478b71621a2051c7ea7c24747f0793f6f6b7ebccaa39e8a61b35299078e2b49f07a17f7c4f744c97ee3767f598503faf7bae4a17d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/kk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kk/firefox-58.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "24f142f4c9b85cefb404905317d1afcfb37868fa4061b5e4c659a3e172d86f2fd9d7c07672fc4a78283da27c534e2f0639d1c567350740d698aae6fa50846772";
+      sha512 = "617ce9bd37cd1ef36251cae9a0738ab93bfc4eeac2f54912011343905047ea5d181c25fc891b8abe178f3632189fe62c38ea00910a1c4bea3d47907c0a2caa07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/km/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/km/firefox-58.0.2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "226fa56eec9704baacf04e54a5f74ed4a6fb01eab2020badd61542f2059f47ddac605f69117d23635fe0562c02d86a088d695ee1a15071315ebe5e19100b965c";
+      sha512 = "38ee6522276cd186ae63053fb15978f6eb5bfa8b2e78b3f2e4233d58ef53ac32307c936c454eb76e86e9f5d4845632a7b58e6209851a775c93629d0bad1473d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/kn/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/kn/firefox-58.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "c0c5eb6887ab1e3fe7f8669ff1c09cb5cea4fdad9c8fa488412bb3aef33b7252526ce5069e1dc8a2186c0ab4aa48a6d223487ef62554f90a022287aaed31d09e";
+      sha512 = "462349b1bf91686f8212deb580166a3e0ca5dafb947c74b9786809626af68e43c4ac6e51c8351d028acb3c86d1f687ea9f94cf34c9b5085801c242d136a19383";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ko/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ko/firefox-58.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "397063d49b248302df350e01bc87fbb691e63681371fd9b2180edd8cffa9d00ddaa68de320165e0414bdf89dba037ebf8decdc6801ae0f5134dfe81cbb3c7052";
+      sha512 = "78e8eb72d89173676a0b65d7295f37b656791595c4def454604a83ad76e2fdf8ce40976bc91ee17219a320242e9a41568157f3754719ab9f9e0a7ce6cb4f66ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/lij/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lij/firefox-58.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "0c47e5568f5776829163ee5823c512d91e795478049ca0aa6239afc66c2ec0af940aaa32fb70473f41ddac3755c0dd32cd5b68207e94f095a033bf5accbe9675";
+      sha512 = "f51136d2e8e29af14aee4cc20e3fba6546effa40c681d3831a9ced7008a845e27e9bb80ada996d0d77c2c9ecc0825f6c7bbf1063797f71a153fe298be06e7da4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/lt/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lt/firefox-58.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "3a18a2209fcc5adcfe4426b8acfafc7e6e781c01b7562d35cd02001f8469d93e1db4db400ba34844ad5296ac40a3540ebad5341457fcf00b7d33b9b672514a27";
+      sha512 = "e1ba1b26612c2622853987fb802c4fd5e7433481b6721950813f76b6463b1320484383b25574733d75c5c4e547b52b3ad9d8687c1a28b511b07bacb9186f22f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/lv/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/lv/firefox-58.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "ec9938c819e98f3d1b7979b6e207cdf798af6e0f937f9ad7f23ceae9968272fb44c6d2d28c066b20d6aafcb7edddedb299fa32d0bba29f17e3c50db7bbbf6cc8";
+      sha512 = "894b82ffe22425e1c95c4e148c7dd58f5b14e2ec11a5a27594e0a00b8d5d57364080caf4da38f73c0af3962600d0051f6d6d436687f485cc178e6eab1d5733d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/mai/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mai/firefox-58.0.2.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "ea5cce55b13cb8eaa652aef1cdc2883720397f872d63728c781805000835c41bbac1c2bef035700c72d1dff79ccb6a8d4980d6485f0774b3aa8c0424e94a3ce1";
+      sha512 = "7240f90b5a4b6cd68135b3436fa796de0e799316b8abc06c1c62bbe22ef9b6ae38bdcf1c60a5df97354ec5b0b69f64635ad6a88321a34a6b15e035bbee19fd53";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/mk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mk/firefox-58.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "653d8d32d776fbc08126a25fa8a70b3826302e9cce01b8bb6f8abe958a79456df7cdfb8ae09a74b560594c29c515e50afc77bbc1ee260980028d1b1f10cfc1a8";
+      sha512 = "30769e066f1c0cc71f0e5139c893b3e887f4618640b762b666f85c208fc8bdddc53afd7f0beb0421e9c84f82a6b332321840c93ecc9635dff784185f2122527c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ml/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ml/firefox-58.0.2.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "e99a9acba626060fe8eea88a478879f3be751ba224ff1e1cfe28ae6c9eedc2d672329f67773f71edbb58d6c3e71be26f57b53504474c67dd65e7ffac79767fc9";
+      sha512 = "6c3f77d4fd7fbc05b7812eff2e8c5ebb75d4fd97a1cb8797260da5d2e53e10def88cfe107131097e6b72968b4c827b998abc42df0443c24330be3a0b0622b715";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/mr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/mr/firefox-58.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "6f64740c424e77ce62270b80594915d3e2eb4cc2d3606791e6c9e3c8d3d8bd362ea4d46ed742b13aa427389150fe1a97af782ddd05190b0a5a84e8dfae04563f";
+      sha512 = "60d8c8824ee7b414ada656310218cc87ad347b36e7192196b2d5c6a5e0958f9786589a3c3f896f1a99b19aa2419431e6aaafaf69b877240872f9ea89178ea699";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ms/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ms/firefox-58.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "f3d2450ef0770ccac86b11e84a27c2e58d8a1c4133e874f9ae1cb7524ddb5f104d4bd42ca1fc37c20a8a3b297b386a1df0d2fb348616cbe9ef5d01c59b43ae3f";
+      sha512 = "114c337fdceec43c1482ee60467526d7fc422f720400e2cd66259cb11c1aed46fc800b1b3fc32ca5e08ad85667bdff31cb31ecd19f66e63d29bdf8696f8e4477";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/my/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/my/firefox-58.0.2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "8398627bba83a1d0bb4929d1fd15c135bd35c8e8d0560ca804a49a0e36a083fe377652cdded198eef2b8ec1492cd1d7a33d6c660cf72081d090d40ea8b4cf7f3";
+      sha512 = "430ed92df431653d7c2f3750c6a7e3987424d9bc49359dcbe6f9c2b66c601e263cdb26f2428c9a1948de78ea51a78e0f1e6fc1538c4cdbc39a126c76050ea51d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/nb-NO/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nb-NO/firefox-58.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "123552055f7838ea2215a379f97c82b5d2e4085dc8e2a9cfc12f0ef5f3550f7247c4f3e70c806baf7eb12e031ff8b857eee721366d480e959dc1acae1d9453cc";
+      sha512 = "c0b00789726e8020a5d8f853b73280720ba650f81cb4559e17578c862ab3d45aadd6a1948ff26e502bacd34d8c0cffa8d46ad6fd35d968ddcb4f8300dfcf44b8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ne-NP/firefox-58.0.2.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-i686";
+      sha512 = "b90dc1fd628689c45f06800b3cadee034d6da54a3695959a927ac0466ba70378f4197bc5b17b39d9572a8369897aebb589d1ce7d2dcc0972a371100938704f9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/nl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nl/firefox-58.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "179c634792a96d8b3f5537273bff06d962cf5faf2ae7e299fa3e11aa4e5b08aba10759e17eaf656fb373c9a9a807590656f905b477c79a5f7da385b66f17a55a";
+      sha512 = "ab802fa78343b4a2074d2a09187cc96b66c03a26d26f21eb158e90b30bbbafe6dd40d563c9a65c3b6c99f79edcca3615e1322dd9a4fe3ddf1ea527ae41b4b25d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/nn-NO/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/nn-NO/firefox-58.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "b71efed9fe95408710ef4a4e8d7040ddd2c3f9979567211c5ccb48dabc2eecc609f29c2bdae59ef96913d54f0c52ae432a2bec265cc5d7a9ed1b683cc83379a9";
+      sha512 = "4ca2889f2e0a7f19ff1e1f7fa95ef692188f78289e1830df5c72e27db761f599dc1022ce1f9b8c8f30eab92aa70381a1e721deff07fe130b1685e968cd3aaa68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/or/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/or/firefox-58.0.2.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "998b2d7a6c215a4634209d1f2e04f5e80858a4172276afe5f3440416212351093c1083e19c116dcf2480a09287749e55adb3d522f62ea4170bfa2610e3884e4b";
+      sha512 = "f2da13fc423beccb7044af1b8ad8ae5b8728aeff5ad0bccf52625936b59040aa6db6fd8fec112be8cfa0baf5448ff4b9d0e179b35302c235e6b4dae01500660d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/pa-IN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pa-IN/firefox-58.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "f15b76ba3fed7604b96315343e04b11823bcd9b1407c10678fb5a57193b37ca365bab3a41106f1113f2487ee5b81a14068a083243cb4a298aa53105c814b8b22";
+      sha512 = "ab193a72db52ab2208f7c6b5b5eca4756231cc31a7fc9f6adf434169ece5df5cca8800c952bca285f989dd2b5c8d7f825b0a0e99d2fa6a698a70a11fc63b1602";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/pl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pl/firefox-58.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "cf10e29d8daee0ccca0a3260b97abc4c61f13716b209babed7dbac72809645a05f12ee0baa5ceb02a2b8cf283f27796697eb72bdaaeab5adb07cd89525da924c";
+      sha512 = "31954e6be8bc114fab04c45f5ffa1f38c74ca147d790bf63130dac4fbc6f8213cf485216d5f50ceb87e60d587fbdb82fe7034c04182017b8120ec6995a9278a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/pt-BR/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pt-BR/firefox-58.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "0bcc63288bb18b5dcaf382857a65e408d802da8e703cbc376be828e512fe66ed6f12b5e3a46db8c5f883000dd0ce152ab387d25642878abc2660d4d3782c5a0e";
+      sha512 = "5cfe1e7d703cfa42a1033df3509db3e91788160079c9396d55356b3c7f0b848b59e6a8f704866dd14f2f0714e89830ad541da615c7d4209249ccc46b01eb11ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/pt-PT/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/pt-PT/firefox-58.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "79969af79356540c274935741e00a0507ec2d7d7047bd03ab5420246daa0329b51320f0f2e92250e8e1c11491cd500a3112bcc7d4c61acebe079ffac8284e0ff";
+      sha512 = "124ce2632b461e53b2cd3474e4fbcb92554006bee72498356886a451800a15d91ffe32ac87451b61d32e6f9d60b04dd14f4ba081a535124c7e2816edc11ac287";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/rm/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/rm/firefox-58.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "5ba523ff6ce9cf291b6d16c56eaa9688f8bab2fc43eb00d1c496cac9909187e781e0436a0afe47d8cd3808533a1f762e0e7dd417428ac7e5958487271b3e6d5f";
+      sha512 = "847f41ff0293f82425bfba1af30deb4858c066f738f0f9d3db5303092406358e9b11f6207ed732903b860f60c1c1b1f622c5c1d2113eed073d70d039dac4a6bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ro/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ro/firefox-58.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "9575744e3f62b7803a93524e24baf9838488067df5dcdcbce2031fd735fa25223869f22de807d33217f8b541d2185a4a6dd62ada6bd37bf6386f1d6f6b776ff7";
+      sha512 = "ccd5ac724cd810dec2e1ddb3e48139d9f5768d56ded09c0e6576c0dae898df310a4c5815635f646c0aa91caaad696c0ec6338bf21dacde33b4675f320fb4bca8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ru/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ru/firefox-58.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "7529dc04a413c7ad5db86b199318bdf8bba0e8837b3f5e50840326301ebd84562d2a3cae2ae352e2625db85d652675bec20dad2de5db46ec520853789fc930f9";
+      sha512 = "d003f707e4a481ddaeab11dffccbc46d0d7173afb081a5007b3efbb6e1ce8d081a4eb23017b87d7e22fc3741e117bdcddbd2393b578bae2d07a2c2c2bbe2d0a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/si/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/si/firefox-58.0.2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "7ec9f3b071ca4b7436b81c81c847acc915d8cc6e4d147587cde63527ba5b3f7d177857af308c0d4dc4566e53b3e4cc2398b3dfd367cc4ceae6eb90582027dda4";
+      sha512 = "80e0e8c1ee6483a5b70140e4a6c0eb694f24dbce0a638700866ea8759063bba3f42c33ffaf465c7e8266fc764fe2983a2d6b098356dc6f4420eff9089c22331a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/sk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sk/firefox-58.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "9fa5dc5cd172388bc61719e03fe7df5a2a6e56cd49ad3c7afd9622aca64ba25fbbe83f834431dc4c2a26b2873d80026769e7712c78dce550077cad4d84559dab";
+      sha512 = "9aec4b3085ac757137a8ead6829bee1ae26cc02a494f60a3aa44daa56f5cbe1201c7588a60682b3bdccccad75782bade43d092352c015213e5f16212f9fb2800";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/sl/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sl/firefox-58.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "3e142ce6878e9b01ee34e9a18152e4c869fdb9902a8f78810293d854e4196c8e0a43a8bfb7f7354dd27f2547792a48ac957bec96751aca050a3d65dc5e227f5b";
+      sha512 = "2dc5d855eaedd125f8a3d828d85bc12ae47123f2f4be2bbf1e262c678cbd2607ee48c61e6fa70402da5e7ad549e2580e7d9a0a696e89ac5fee1da2154443f289";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/son/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/son/firefox-58.0.2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "b0bda73680d788b55526763306477504430b49b4ce465f091b5d3aa62f5e56618f8d6125cc1a68dc4b5403dbe28ae2c1dfa9e7d85e0bde9f06dc8735083d159d";
+      sha512 = "7a1c4f86a4e459e80725b250b3a54be7c78397bd909c7a2081723571378578b7e672af380305ff9dae714e911fb209833833fd7cb3fb8a850f9d6a3b14f41cba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/sq/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sq/firefox-58.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "285d6f4b2f27c14642bd44c572776c49c80d4360a635da1e92161f665a6714b011bd0be2b37f3ec1b2c1726ea6627eb7a21879e2af72bb4c04560a1f701770a3";
+      sha512 = "45d20dcd82c6648c0429dfa0009aaf2d807efb7e9468ded4491a04dced5957d3bc9c1491c09c7f85ea63991283e2c38b2c906ebb338dffba1d0db4748e56246a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/sr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sr/firefox-58.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "14c451f7a3237e43bbd6f5fd9370224452a401f97732901c9796e40d313f4542d635984b5feaaba9d44be77e6e3e65a6c191d4081bc5d2d1b57bae12d432c414";
+      sha512 = "799f0548e18cbf77a6daf6ec0f9c12e904fde3235e9d8a5564e06df45bc037f4a04de0f5bfb9e74f9fa7053e8fc7b39b5c55b03dba5e78cf4e1400c033077f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/sv-SE/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/sv-SE/firefox-58.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "70eb6083426d6e382934e7734718d6eaa4884a9ac24e36b1fd87a9c9405dce16353e8f6058912adc4fac0cb4ddecf7e2fdc8428e088b44d56508bc47f6c55abc";
+      sha512 = "c2c693ab974b4c26a0c786955cff61f3b0689bd272b00fe4cbdbd7701a57481724f0ebf8aeb8427c7b50f4419875e9ca10d79c534c0e3ca8db132bcf6436e013";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ta/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ta/firefox-58.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "615d3727a9efc2e14fefe093678cb83f83e1efaab9053a98391b7613754e40fa7929e4fa3de34da7aaef8053ea752e6ca00f83d114c90c1769f708742f492db5";
+      sha512 = "0771a9cbb44102291142fab34dbfd704461da5c6c013b48c1ee22cd7cc92ebfaad7ccac5b87bf764489d66e8cec2e4056e9fcd62c3ddb734753a48022f7f8914";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/te/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/te/firefox-58.0.2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "246c2699bbd27a318778f5517d62bc7c96dd6fdba0a8291f291b0e803d2a68710d96c4a11118fd105d00e4489924a62195c7752edc403b5b42a8a06a36962571";
+      sha512 = "699d8d52cc8e1bac02fbca3caa6504a028100d76fc9fe2492dfe214c5a96f0d3425bf541d2873133dd00e501dcc9d27894e613c44fc3cf9adedc0e08104524f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/th/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/th/firefox-58.0.2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "3b34c97e9e3b0ec436e299c45e4913fcb90c9a565687d587774adef2fb10bacf9fd8c576a15a5c8100e2f82cec2d3c4353e645acc9c20245e6fb6e2b73213011";
+      sha512 = "13cf7e1740ab2f508983617ce27f991db8049070061cb4d31299b372a801abf7292edd185fafc73dd58c46d009c32a6b5103a77834b2ddb0cc420cd98f747e9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/tr/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/tr/firefox-58.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "184b6e4f5a88fd7606868bba6860718d2dec0a6db123222195ea9bafd5ff3a391ee34a911591eff58c5ae7bc90b171aa1866d3d872349d4057ce72a709eea0b8";
+      sha512 = "a3439d157762eddcc1c09c4b687028b97004ac49144a3f26ea2a05a8eccc0a8b04659147ae7e8972ac16299d262586cc1d0c1bc69e5a309a0c82086cf61202ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/uk/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/uk/firefox-58.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "bb343353890e94526ae5dab5c2dca510ddda25d0d808decdd5ed628af174e60e584f1a883e19f33be2b316e423ed1be7e8c30916eb10ed11c618a015beaa538c";
+      sha512 = "7767a4549265131e29a142c6f2a914b8699f2042a9da5831192668300acc564fbfe94009b3ea33a7bedc469a7585029685fa91dc752b46d7d7be5425776bc7c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/ur/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/ur/firefox-58.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "f54e1cb54992436bc78b1491214978aa7986153564bc93f9da2c64e038f4bbb77dbf3f44ab4cece5a02e1ff8e1c0d4bf5ed64815817fc908482f9ef203689cc3";
+      sha512 = "b85f5c3067cf897079ff1de7c0de84756fb2224f703ec6825108efff52bed3a6e780b8410a58ed756e926a6033cd10c888743642f997b9c9d7390096c3b5e7c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/uz/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/uz/firefox-58.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "832c7b687c1db9545ac9fd81ecf95d29eb329518dad9386541073f6834ba88e80ad9bc70d6ab7e12d820e8430064f638d1558c0559d6b410a8ebd81a7a82b245";
+      sha512 = "3febb16ceabdcf7395196f1aef6c5ecc6a09f45e63485207816e95dd5ec0ac9729c3644b8afa75d68241ad203459239bd7f5693c6d8aa7e59afb1a1f661015ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/vi/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/vi/firefox-58.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "e60023cc021263b402ffe829b24ec00f0c0e2e782fb0acba23b3527f612aed710a1c8c65cc28bcb03bbfa54a4450085adeff36be69bb21bbb175bddf4c5894c1";
+      sha512 = "d117eca28279af133e2dde8dc25d3f7c4dcdc97f683f4570aa9cb8965200dfd8799271958ed6113b9bee488fc3e17d772b1aa4a4d657a49f72914890752af13c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/xh/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/xh/firefox-58.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "94ba86099376c14900fadef25a77b9b4422d8f50d26bcc3bf024dc5d6a35f4c08f897cb5dc1c94232798d9fff11e7b018c90ff7808bc7ee9c861e57f425e96e5";
+      sha512 = "4ce7c4627a7db67ebe85ddb134cadca8cc4ecd3a01d8895dcb8b691f85e01911818404cc7243b4f5e1df0133a204a1ce5289168cae0b7e1b0b2674a659fc6684";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/zh-CN/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/zh-CN/firefox-58.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "a6cdd0d0553e84a727da33e8f06afe004f4a95d726982b32dc7f74f36182e8bd2b186dfd7f3a90760ab7b01f932fdfc8de4d1b154c5133151f29b7a4d78a409f";
+      sha512 = "d0a73f00af50d70b055a1b2e89dc942b56d8d6e3a297407060a88a994dfcbd52fd60ec221e3afd9b6036500d27d861415ab0b25ceb443210321823e4e3b189e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0.4/linux-i686/zh-TW/firefox-57.0.4.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/58.0.2/linux-i686/zh-TW/firefox-58.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "a6ecdee1aefeb29b51861b011334346acf9816971c8b40196a06969c3e21e1a8ed96f1393f25e558f6fc6e5cf35b5a497de91df4764ad30c52d7ce06bd7d6732";
+      sha512 = "a855e8de90b5b26e8d4fed05b48c5efd6626c9d793f30c1f0b71d9b062a4e253b8c417a44e581ea8edd7babf5bd536b4384dd494dbb2fa36d7f585e555cdd655";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index aeae471ce5bb..91b86a18375c 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -38,12 +38,25 @@
 
 ## other
 
-# If you want the resulting program to call itself
-# "Firefox"/"Torbrowser" instead of "Nightly" or whatever, enable this
-# option. However, in Firefox's case, those binaries may not be
-# distributed without permission from the Mozilla Foundation, see
-# http://www.mozilla.org/foundation/trademarks/.
-, enableOfficialBranding ? isTorBrowserLike
+# As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
+# https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
+# have permission to use the official firefox branding.
+#
+# Fur purposes of documentation the statement of @sylvestre:
+# > As the person who did part of the work described in the LWN article
+# > and release manager working for Mozilla, I can confirm the statement
+# > that I made in
+# > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
+# >
+# > @garbas shared with me the list of patches applied for the Nix package.
+# > As they are just for portability and tiny modifications, they don't
+# > alter the experience of the product. In parallel, Rok also shared the
+# > build options. They seem good (even if I cannot judge the quality of the
+# > packaging of the underlying dependencies like sqlite, png, etc).
+# > Therefor, as long as you keep the patch queue sane and you don't alter
+# > the experience of Firefox users, you won't have any issues using the
+# > official branding.
+, enableOfficialBranding ? true
 }:
 
 assert stdenv.cc ? libc && stdenv.cc.libc != null;
@@ -88,8 +101,20 @@ stdenv.mkDerivation (rec {
     rm -f js/src/configure
     rm -f .mozconfig*
 
+ '' + lib.optionalString (stdenv.lib.versionAtLeast version "58.0.0") ''
+    cat >.mozconfig <<END_MOZCONFIG
+    ${lib.concatStringsSep "\n" (map (flag: "ac_add_options ${flag}") configureFlags)}
+    ${lib.optionalString googleAPISupport "ac_add_options --with-google-api-keyfile=$TMPDIR/ga"}
+    END_MOZCONFIG
+  '' + lib.optionalString googleAPISupport ''
+    # Google API key used by Chromium and Firefox.
+    # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
+    # please get your own set of keys.
+    echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
+    configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
+  '' + ''
     # this will run autoconf213
-    make -f client.mk configure-files
+    ${if (stdenv.lib.versionAtLeast version "58.0.0") then "./mach configure" else "make -f client.mk configure-files"}
 
     configureScript="$(realpath ./configure)"
 
@@ -99,11 +124,6 @@ stdenv.mkDerivation (rec {
     test -f layout/style/ServoBindings.toml && sed -i -e '/"-DMOZ_STYLO"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
 
     cd obj-*
-  '' + lib.optionalString googleAPISupport ''
-    # Google API key used by Chromium and Firefox.
-    # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
-    # please get your own set of keys.
-    echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" >ga
   '';
 
   configureFlags = [
@@ -132,7 +152,7 @@ stdenv.mkDerivation (rec {
   ]
   ++ lib.optionals (stdenv.lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
     # on i686-linux: --with-libclang-path is not available in this configuration
-    "--with-libclang-path=${llvmPackages.clang-unwrapped}/lib"
+    "--with-libclang-path=${llvmPackages.libclang}/lib"
     "--with-clang-path=${llvmPackages.clang}/bin/clang"
   ]
   ++ lib.optionals (stdenv.lib.versionAtLeast version "57") [
@@ -166,7 +186,6 @@ stdenv.mkDerivation (rec {
   ++ flag gssSupport "negotiateauth"
   ++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
   ++ flag webrtcSupport "webrtc"
-  ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
   ++ flag crashreporterSupport "crashreporter"
   ++ lib.optional drmSupport "--enable-eme=widevine"
 
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 7a01978f7d96..619544925803 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -6,10 +6,10 @@ rec {
 
   firefox = common rec {
     pname = "firefox";
-    version = "57.0.4";
+    version = "58.0.2";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0";
+      sha512 = "ff748780492fc66b3e44c7e7641f16206e4c09514224c62d37efac2c59877bdf428a3670bfb50407166d7b505d4e2ea020626fd776b87f6abb6bc5d2e54c773f";
     };
 
     patches =
@@ -32,10 +32,10 @@ rec {
 
   firefox-esr = common rec {
     pname = "firefox-esr";
-    version = "52.5.3esr";
+    version = "52.6.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "7b9c87905c53bc681dc6475e05596449fed88850f9dc07c8223d0d3edd2dd9d8a0dd88ebae1cd59eced2165696df9370de5e85cc03cded58ec4d0f622634417f";
+      sha512 = "cf583df34272b7ff8841c3b093ca0819118f9c36d23c6f9b3135db298e84ca022934bcd189add6473922b199b47330c0ecf14c303ab4177c03dbf26e64476fa4";
     };
 
     patches =
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index dd4cb439c1fa..010f60881b5b 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -8,7 +8,7 @@
 , google_talk_plugin, fribid, gnome3/*.gnome_shell*/
 , esteidfirefoxplugin
 , vlc_npapi
-, browserpass
+, browserpass, chrome-gnome-shell
 , libudev
 , kerberos
 }:
@@ -63,6 +63,7 @@ let
       nativeMessagingHosts =
         ([ ]
           ++ lib.optional (cfg.enableBrowserpass or false) browserpass
+          ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell
           ++ extraNativeMessagingHosts
         );
       libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index b868c434e234..b1b1132f22b0 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -38,13 +38,12 @@
 
 with stdenv.lib;
 
-with chromium.upstream-info;
-
 let
   opusWithCustomModes = libopus.override {
     withCustomModes = true;
   };
 
+  version = chromium.upstream-info.version;
   gtk = if (versionAtLeast version "59.0.0.0") then gtk3 else gtk2;
   gnome = if (versionAtLeast version "59.0.0.0") then gnome3 else gnome2;
 
@@ -68,7 +67,7 @@ in stdenv.mkDerivation rec {
 
   name = "google-chrome${suffix}-${version}";
 
-  src = binary;
+  src = chromium.upstream-info.binary;
 
   buildInputs = [
     patchelf
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 614f55d01d6d..dc9c33585526 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 = "28.0.0.137";
+  version = "28.0.0.161";
 
   src = fetchurl {
     url =
@@ -84,14 +84,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "1hj3sfrspdkhq967fmnpgamgiq90k263cqfas94gp3dzslmkingw"
+          "0dsgq39c2d0kkdcd9j4nddqn3qiq5pvm2r67ji4m4wyv9chn518m"
         else
-          "1v4k6hzngm23xwxnh6ngplp2m0ga480sbcm668bpcj61krmi6xy4"
+          "0x26qi9qr01rppji5l4nwvmrhmq6qy83dsppbb7jqjmgyvknq5jd"
       else
         if arch == "x86_64" then
-          "0ijmrk6262a1xcf98g94vdlqxnik9f7igjy08j3a2i4b5bikq479"
+          "1s62gx2a9q962w3gc847x2xwlzkq4dkzbmvf74x5k5c2k2l9hhg0"
         else
-          "10a17dba4zy29padvi3fnv2s8v71q698ffqjp8ggsla42pjyhvkh";
+          "1m5pcgz2w9f3jkm3hpvysc8ap20y458xnba7j51d7h7fjy6md89x";
   };
 
   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 d5c4f993d8ba..4528dd70cbd3 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 = "28.0.0.137";
+  version = "28.0.0.161";
 
   src = fetchurl {
     url =
@@ -65,9 +65,9 @@ stdenv.mkDerivation rec {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0xr3hf828sm0xdnmk2kavxmvzc6m0mw369khrxyfwrbxvdsibwn8"
+        "0934vs3c51fjz9pr846wg9xn7h2qybswayfkhz0pnzcfnng2rrf1"
       else
-        "1wr0avjpshrj51svb1sfnshz39xxla1brqs8pbcgfgyqjh350rgn";
+        "0pwi7pbfldiqiwc7yfy7psyr93679r025vjxmiybs2ap69vly4v0";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/otter/default.nix b/pkgs/applications/networking/browsers/otter/default.nix
new file mode 100644
index 000000000000..93cf220e4996
--- /dev/null
+++ b/pkgs/applications/networking/browsers/otter/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, cmake, openssl, gst_all_1, fetchFromGitHub
+, qtbase, qtmultimedia, qtwebengine
+, version ? "0.9.94"
+, sourceSha ? "19mfm0f6qqkd78aa6q4nq1y9gnlasqiyk68zgqjp1i03g70h08k5"
+}:
+stdenv.mkDerivation {
+  name = "otter-browser-${version}";
+
+  src = fetchFromGitHub {
+    owner = "OtterBrowser";
+    repo = "otter-browser";
+    rev = "v${version}";
+    sha256 = sourceSha;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase qtmultimedia qtwebengine ];
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl3Plus;
+    description = "Browser aiming to recreate the best aspects of the classic Opera (12.x) UI using Qt5";
+    maintainers = with maintainers; [ lheckemann ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index fb8c16abd532..9142ecde8598 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -29,12 +29,13 @@ let
 in python3Packages.buildPythonApplication rec {
   name = "qutebrowser-${version}${versionPostfix}";
   namePrefix = "";
-  version = "1.0.4";
+  version = "1.1.1";
   versionPostfix = "";
 
+  # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0z8zrgr914bfmimqk3l17dxyc7gzh42sw8lfp041zzvj6fxw3lkr";
+    sha256 = "09fa77rg1yrl8cksavxmgm9z2246s4d8wjbkl5jm1gsam345f7mz";
   };
 
   # Needs tox
@@ -79,6 +80,8 @@ in python3Packages.buildPythonApplication rec {
     install -Dm644 icons/qutebrowser.svg \
         "$out/share/icons/hicolor/scalable/apps/qutebrowser.svg"
     install -Dm755 -t "$out/share/qutebrowser/userscripts/" misc/userscripts/*
+    install -Dm755 -t "$out/share/qutebrowser/scripts/" \
+      scripts/{importer.py,dictcli.py,keytester.py,open_url_in_instance.sh,utils.py}
   '';
 
   postFixup = lib.optionalString (! withWebEngineDefault) ''
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 8f22045578d7..d64c7a20cb99 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.11";
+  version = "7.5";
 
   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 = "0i42jxdka0sq8fp6lj64n0az6m4g72il9qhdn63p0h7y4204i2v4";
+      sha256 = "1ia8qv5hj7zrrli5d9qf65s3rlrls0whrx3q96lw63x2gn05nwv7";
     };
 
     "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 = "1p9s6wqghpkml662vnp5194i8gb9bkqxdr96fmw0fh305cyk25k0";
+      sha256 = "1sw1n7jsagyl5cjs265x3k9jzh0j0yh767ixcy17vif5f9dfyzak";
     };
   };
 in
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index ce06dea70105..5b10932e73b3 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "2.11";
+  version = "3.1.0";
 
   src = fetchurl {
     url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "0d9rankzgmnx5423pyfkbxy0qxw3ck2vrdjdnlhddy15wkk87i9f";
+    sha256 = "1gws028c2v1zh6r142hmjvi2m447lwqqh65m6z3dzcar2yw35z3f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index f65e2fe1851b..83819761e9bb 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
-    maintainers = [ maintainers.mornfall maintainers.cstrahan ];
+    maintainers = [ maintainers.cstrahan ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 408019eeb4b2..173402144ccc 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, kubernetes }:
+{ stdenv, fetchurl, kubectl }:
 let
   arch = if stdenv.isLinux
          then "linux-amd64"
          else "darwin-amd64";
   checksum = if stdenv.isLinux
-             then "9f04c4824fc751d6c932ae5b93f7336eae06e78315352aa80241066aa1d66c49"
-             else "5058142bcd6e16b7e01695a8f258d27ae0b6469caf227ddf6aa2181405e6aa8e";
+             then "19sbvpll947y4dxn2dj26by2bwhcxa5nbkrq7x3cikn7z5bmj7vf"
+             else "0jllj13jv8yil6iqi4xcs5v4z388h7i7hcnv98gc14spkyjshf3d";
   pname = "helm";
-  version = "2.7.2";
+  version = "2.8.0";
 in
 stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ ];
 
-  propagatedBuildInputs = [ kubernetes ];
+  propagatedBuildInputs = [ kubectl ];
 
   phases = [ "buildPhase" "installPhase" ];
 
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 6654ee89c806..68c66d78de1c 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -23,7 +23,7 @@ let
   });
 
 in stdenv.mkDerivation rec {
-  version = "1.4.0";
+  version = "1.4.1";
   name = "mesos-${version}";
 
   enableParallelBuilding = true;
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://apache/mesos/${version}/${name}.tar.gz";
-    sha256 = "0c08kd226nrjwm2z2drpq4vi97h9r8b1xkdvkgh1114fxg7cyvys";
+    sha256 = "1c7l0rim9ija913gpppz2mcms08ywyqhlzbbspqsi7wwfdd7jwsr";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index f69b0e5eca9b..d27693823a61 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -15,15 +15,15 @@ let
   # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
   # currently https://storage.googleapis.com/minikube/k8s_releases.json
 
-  localkube-version = "1.8.0";
+  localkube-version = "1.9.0";
   localkube-binary = fetchurl {
     url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
-    sha256 = "09mv1g9i0d14brvvp2wxgmfqvgp0na5dbm4z76a660q1fxszvgqc";
+    sha256 = "1z5c061mx2flg6hq05d00bvkn722gxv8y9rfpjyk23nk697k31fh";
   };
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "0.24.1";
+  version = "0.25.0";
 
   goPackagePath = "k8s.io/minikube";
 
@@ -31,7 +31,7 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "18b5ic4lcn84hq2ji5alyx58x9vi0b03544i5xzfgn3h2k78kynk";
+    sha256 = "0nsdi8mr8p69z696ksfb5ahzqqnvjn4a2z6cp0kyby8sakcjhsby";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile
new file mode 100644
index 000000000000..c4f9a5511de9
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'terraform_landscape'
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
new file mode 100644
index 000000000000..047ddaadad07
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
@@ -0,0 +1,25 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    colorize (0.8.1)
+    commander (4.4.4)
+      highline (~> 1.7.2)
+    diffy (3.2.0)
+    highline (1.7.10)
+    polyglot (0.3.5)
+    terraform_landscape (0.1.17)
+      colorize (~> 0.7)
+      commander (~> 4.4)
+      diffy (~> 3.0)
+      treetop (~> 1.6)
+    treetop (1.6.9)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  terraform_landscape
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/pkgs/applications/networking/cluster/terraform-landscape/default.nix
new file mode 100644
index 000000000000..a0dca341ff3e
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/default.nix
@@ -0,0 +1,19 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  name = "terraform-landscape-${version}";
+
+  version = (import gemset).terraform_landscape.version;
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    description = "Improve Terraform's plan output to be easier to read and understand";
+    homepage    = https://github.com/coinbase/terraform-landscape;
+    license     = with licenses; apsl20;
+    maintainers = with maintainers; [ mbode ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
new file mode 100644
index 000000000000..38321b9d37aa
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
@@ -0,0 +1,61 @@
+{
+  colorize = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  commander = {
+    dependencies = ["highline"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "165yr8qzan3gnk241mnwxsvdfwp6p1afg13z0mqdily6lh95acl9";
+      type = "gem";
+    };
+    version = "4.4.4";
+  };
+  diffy = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "015nn9zaciqj43mfpjlw619r5dvnfkrjcka8nsa6j260v6qya941";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
+  highline = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
+      type = "gem";
+    };
+    version = "1.7.10";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  terraform_landscape = {
+    dependencies = ["colorize" "commander" "diffy" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bx8nfqbpxb2hnxnnl1m4sq6jlzf451c85m047jfq04b6w9691fl";
+      type = "gem";
+    };
+    version = "0.1.17";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sdkd1v2h8dhj9ncsnpywmqv7w1mdwsyc5jwyxlxwriacv8qz8bd";
+      type = "gem";
+    };
+    version = "1.6.9";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 54a54b37cadb..890fe231cbff 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -100,8 +100,8 @@ in rec {
   terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
 
   terraform_0_11 = pluggable (generic {
-    version = "0.11.1";
-    sha256 = "04qyhlif3b3kjs3m6c3mx45sgr5r13x55aic638zzlrhbpmqiih1";
+    version = "0.11.3";
+    sha256 = "0637x7jcm62pdnivmh4rggly6dmlvdh3jpsd1z4vba15gbm203nz";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/cluster/terraform/providers/default.nix b/pkgs/applications/networking/cluster/terraform/providers/default.nix
index 72da1dd77d57..40117b458550 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/default.nix
@@ -11,6 +11,10 @@ let
         inherit owner repo sha256;
         rev = "v${version}";
       };
+
+      # Terraform allow checking the provider versions, but this breaks
+      # if the versions are not provided via file paths.
+      postBuild = "mv go/bin/${repo}{,_v${version}}";
     };
 
   maybeDrv = name: data:
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 576daa88127a..a31c7882693c 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "terragrunt-${version}";
-  version = "0.13.23";
+  version = "0.14.0";
 
   goPackagePath = "github.com/gruntwork-io/terragrunt";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev    = "v${version}";
     owner  = "gruntwork-io";
     repo   = "terragrunt";
-    sha256 = "1xx3kw38vr563x3bn0rrg1iq4r51rl0qci2magwwng62cgh3zaiy";
+    sha256 = "1fz4ny7jmwr1xp68bmzlb6achird7jwbb6n6zim6c1w0qybxiqg9";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix
index c371c756a152..30d6acb9afaf 100644
--- a/pkgs/applications/networking/cluster/terragrunt/deps.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev = "d0cb8551ac28d362e77ea475e5b7b2ebaec06b6b";
-      sha256 = "1546kb49wb1qjx6pz7aj4iygmqsjps70npb5csm5q08wxk63vhls";
+      rev = "00cca3f093a8236a93fbbeeae7d28ad83811683c";
+      sha256 = "1x2frsin6d9drx9k65pv0r0l0asj16fzj815s2a9db2mxh8jycsp";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/go-getter";
-      rev = "994f50a6f071b07cfbea9eca9618c9674091ca51";
-      sha256 = "1v2whvi9rnrkz4ji3b3sinvv3ahr5s4iyzchz00wjw0q2kdvj1zj";
+      rev = "285374cdfad63de2c43d7562f49ced6dde5a7ba0";
+      sha256 = "0xmwxfb0vm20ga1j1r3lavxm15vwqdkisdkshw1nia7byhwmb4xm";
     };
   }
   {
@@ -68,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-zglob";
-      rev = "4b74c24375b3b1ee226867156e01996f4e19a8d6";
-      sha256 = "1qc502an4q3wgvrd9zw6zprgm28d90d2f98bdamdf4js03jj22xn";
+      rev = "4959821b481786922ac53e7ef25c61ae19fb7c36";
+      sha256 = "0rwkdw143kphpmingsrw1zp030zf3p08f64h347jpdm4lz8z5449";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "06020f85339e21b2478f756a78e295255ffa4d6a";
-      sha256 = "12zb5jh7ri4vna3f24y9g10nzrnz9wbvwnk29wjk3vg0ljia64s9";
+      rev = "b4575eea38cca1123ec2dc90c26529b5c5acfcff";
+      sha256 = "1x80f3kcb1wd2mdxks3wcsp26q9g7ahr8b18z1anl5igg6zl61kf";
     };
   }
   {
@@ -104,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "2aa2c176b9dab406a6970f6a55f513e8a8c8b18f";
-      sha256 = "1j92x4291flz3i4pk6bi3y59nnsi6lj34zmyfp7axf68fd8vm5ml";
+      rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71";
+      sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd";
     };
   }
   {
@@ -122,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/urfave/cli";
-      rev = "39908eb08fee7c10d842622a114a5c133fb0a3c6";
-      sha256 = "1s0whq54xmcljdg94g6sghpf6mkhf6fdxxb18zg0yzzj6fz9yj8j";
+      rev = "75104e932ac2ddb944a6ea19d9f9f26316ff1145";
+      sha256 = "13iagavgqq3sn9m3sck0chydwy5rcbhj0ylvc1169vs8q2m13yh9";
     };
   }
 ]
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index 611d7904991a..8664e38a8ed6 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "errbot-${version}";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "mirror://pypi/e/errbot/${name}.tar.gz";
-    sha256 = "1r9w7pmdw77h1hwxns6d0sdg8cndsq1lwkq0y5qiiqr91jz93ajm";
+    sha256 = "0nkfq6fx87g7kvxrb5lp8gkb75658cmyffnacpy8jq3a16py3jrr";
   };
 
   disabled = !pythonPackages.isPy3k;
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index 22f9f7822ddf..e6a5737530bc 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
-, asciidoc, docbook_xml_dtd_45, libxslt, docbook_xml_xslt, makeWrapper }:
+, asciidoc, docbook_xml_dtd_45, libxslt, docbook_xml_xslt, libiconv, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "newsboat-${version}";
@@ -12,16 +12,24 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteInPlace Makefile --replace "|| true" ""
+    # Allow other ncurses versions on Darwin
+    substituteInPlace config.sh \
+      --replace "ncurses5.4" "ncurses"
   '';
 
   nativeBuildInputs = [ pkgconfig asciidoc docbook_xml_dtd_45 libxslt docbook_xml_xslt ]
-                      ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
+                      ++ stdenv.lib.optional stdenv.isDarwin [ makeWrapper libiconv ];
 
   buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ];
 
-  installFlags = [ "DESTDIR=$(out)" "prefix=" ];
+  makeFlags = [ "prefix=$(out)" ];
 
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+  doCheck = true;
+  checkTarget = "test";
+
+  postInstall = ''
+    cp -r contrib $out
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
     for prog in $out/bin/*; do
       wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
     done
@@ -30,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage    = https://newsboat.org/;
     description = "A fork of Newsbeuter, an RSS/Atom feed reader for the text console.";
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda nicknovitski ];
     license     = licenses.mit;
     platforms   = platforms.unix;
   };
diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix
index 72a98a996046..3a5983c2e276 100644
--- a/pkgs/applications/networking/feedreaders/rawdog/default.nix
+++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix
@@ -18,6 +18,5 @@ python2Packages.buildPythonApplication rec {
     description = "RSS Aggregator Without Delusions Of Grandeur";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix
index fd349b320d28..a7fd31cac2ff 100644
--- a/pkgs/applications/networking/feedreaders/rsstail/default.nix
+++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.vanheusden.com/rsstail/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 105239aca024..585e0c847da2 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -75,5 +75,6 @@ buildPythonApplication rec {
     description = "Multipurpose automation tool for content like torrents";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ domenkozar tari ];
+    broken = true; # as of 2018-02-09
   };
 }
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 210d78369da6..ddfa4fd607d1 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.29.0"; in
+let version = "3.30.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga";
+    sha256 = "1w0zqkccbsbmnjc9pfd1i3ywzwrdp0pprryvdk4sfn5ms9nnf2wi";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 627b6aac29cb..a140de2c236a 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,30 +1,33 @@
 { callPackage, stdenv }:
 
 let
-  stableVersion = "2.1.2";
-  previewVersion = "2.1.2";
+  stableVersion = "2.1.3";
+  # Currently there is no preview version.
+  previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
     in args // { inherit version branch; };
   mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
+  guiSrcHash = "1yya0alc4ifgikka513ps243l8211rvifm0xz1ymx8nck0s6sj35";
+  serverSrcHash = "16d698gpj2r3z7qvvlrsx8ylgb1nfkmia2pcvk22068p3ajwypx1";
 in {
   guiStable = mkGui {
     stable = true;
-    sha256Hash = "1p3z1dlank0nzj5yyap2n2gv1xa66x9iqi4q7vvy0xcxbqzmqszk";
+    sha256Hash = guiSrcHash;
   };
   guiPreview = mkGui {
     stable = false;
-    sha256Hash = "1p3z1dlank0nzj5yyap2n2gv1xa66x9iqi4q7vvy0xcxbqzmqszk";
+    sha256Hash = guiSrcHash;
   };
 
   serverStable = mkServer {
     stable = true;
-    sha256Hash = "0nd7j33ns94hh65b9j0m177b7h25slpny74ga8qppghvv2iqsbp8";
+    sha256Hash = serverSrcHash;
   };
   serverPreview = mkServer {
     stable = false;
-    sha256Hash = "0nd7j33ns94hh65b9j0m177b7h25slpny74ga8qppghvv2iqsbp8";
+    sha256Hash = serverSrcHash;
   };
 }
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 5a201dfc4074..3fd7317ef6c2 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -4,29 +4,6 @@
 
 let
   pythonPackages = python3Packages;
-  # TODO: Not sure if all these overwrites are really required...
-  # Upstream seems to have some reasons (bugs, incompatibilities) though.
-  multidict_3_1_3 =
-    (stdenv.lib.overrideDerivation pythonPackages.multidict (oldAttrs:
-      rec {
-        pname = "multidict";
-        version = "3.1.3";
-        name = "${pname}-${version}";
-        src = pythonPackages.fetchPypi {
-          inherit pname version;
-          sha256 = "04kdxh19m41c6vbshwk8jfbidsfsqn7mn0abvx09nyg78sh80pw7";
-        };
-        doInstallCheck = false;
-      }));
-  yarl = (stdenv.lib.overrideDerivation pythonPackages.yarl
-    (oldAttrs:
-      { propagatedBuildInputs = [ multidict_3_1_3 ]; }));
-  aiohttp = (stdenv.lib.overrideDerivation pythonPackages.aiohttp
-    (oldAttrs:
-      rec {
-        propagatedBuildInputs = [ yarl multidict_3_1_3 ]
-          ++ (with pythonPackages; [ async-timeout chardet ]);
-      }));
   aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors
     (oldAttrs:
       rec {
@@ -37,7 +14,6 @@ let
           inherit pname version;
           sha256 = "11b51mhr7wjfiikvj3nc5s8c7miin2zdhl3yrzcga4mbpkj892in";
         };
-        propagatedBuildInputs = [ aiohttp ];
       }));
 in pythonPackages.buildPythonPackage rec {
   name = "${pname}-${version}";
@@ -50,16 +26,13 @@ in pythonPackages.buildPythonPackage rec {
     sha256 = sha256Hash;
   };
 
-  propagatedBuildInputs = [ yarl aiohttp aiohttp-cors multidict_3_1_3 ]
+  propagatedBuildInputs = [ aiohttp-cors ]
     ++ (with pythonPackages; [
+      yarl aiohttp multidict
       jinja2 psutil zipstream raven jsonschema typing
       prompt_toolkit
     ]);
 
-  postPatch = ''
-    sed -i 's/yarl>=0.11,<0.12/yarl/g' requirements.txt
-  '';
-
   # Requires network access
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index b01c6497fb23..42c510495574 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,9 +1,6 @@
 { stdenv, fetchurl, autoreconfHook, python, intltool, pkgconfig, libX11
 , ldns, pythonPackages
 
-# Test requirements
-, xvfb_run
-
 , enableJingle ? true, farstream ? null, gst-plugins-bad ? null
 ,                      libnice ? null
 , enableE2E ? true
@@ -25,13 +22,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gajim-${version}";
-  version = "0.16.8";
+  version = "0.16.9";
 
   src = fetchurl {
     name = "${name}.tar.bz2";
     url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?"
         + "ref=${name}";
-    sha256 = "009cpzqh4zy7hc9pq3r5m4lgagwawhjab13rjzavb0n9ggijcscb";
+    sha256 = "121dh906zya9n7npyk7b5xama0z3ycy9jl7l5jm39pc86h1winh3";
   };
 
   patches = let
@@ -46,8 +43,7 @@ stdenv.mkDerivation rec {
     name = "gajim-${name}.patch";
     url = "https://dev.gajim.org/gajim/gajim/commit/${rev}.diff";
     inherit sha256;
-  }) cherries)
-    ++ [./fix-tests.patch]; # https://dev.gajim.org/gajim/gajim/issues/8660
+  }) cherries);
 
   postPatch = ''
     sed -i -e '0,/^[^#]/ {
@@ -74,8 +70,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoreconfHook pythonPackages.wrapPython intltool pkgconfig
-    # Test dependencies
-    xvfb_run
   ];
 
   autoreconfPhase = ''
@@ -114,9 +108,8 @@ stdenv.mkDerivation rec {
 
   doInstallCheck = true;
   installCheckPhase = ''
-    XDG_DATA_DIRS="$out/share/gajim''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS" \
     PYTHONPATH="test:$out/share/gajim/src:''${PYTHONPATH:+:}$PYTHONPATH" \
-      xvfb-run make test
+      make test_nogui
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch b/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch
deleted file mode 100644
index cb866bb2d739..000000000000
--- a/pkgs/applications/networking/instant-messengers/gajim/fix-tests.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/common/gajim.py b/src/common/gajim.py
-index 4a5d884b6..95d401b67 100644
---- a/src/common/gajim.py
-+++ b/src/common/gajim.py
-@@ -415,7 +415,7 @@ def get_jid_from_account(account_name, full=False):
-     jid = name + '@' + hostname
-     if full:
-         resource = connections[account_name].server_resource
--        jid += '/' + resource
-+        jid += '/' + str(resource)
-     return jid
- 
- def get_our_jids():
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index 770c2fc02c5e..3caa75acb070 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.2.1665";
+  version = "4.30.3.1670";
 
   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 = "0gk1h2p5apppw94353378b2z93c5kllhgadb91z1g3mczczsbm0n";
+        sha256 = "0alqzay6bvi7ybrrdk5r0xkg4sx6qjsqbgmr16bkqxncxhb215ay";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
index 0e052e847ccb..654c343caa8b 100644
--- a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
@@ -12,7 +12,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "04sgns9qczzw2152gqdr6bjyy4fmgs26cz8n3qck94l0j51rxhz8";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ msgpack pyqt4 numpy pyopencl ] ++ [ openssl ];
+  propagatedBuildInputs = with pythonPackages; [ msgpack-python pyqt4 numpy pyopencl ] ++ [ openssl ];
 
   preConfigure = ''
     # Remove interaction and misleading output
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 373adc42d229..f79d708ec5d7 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -40,13 +40,13 @@ in
   stdenv.mkDerivation rec {
     name = "signal-desktop-${version}";
 
-    version = "1.1.0";
+    version = "1.3.0";
 
     src =
       if stdenv.system == "x86_64-linux" then
         fetchurl {
           url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-          sha256 = "1v0ydfdgcnkh6rk7gmqbjrzpz56mw2gjmakz58gpn167ln7l1vkl";
+          sha256 = "047l3yyqvzyi5969r0n9cwdarsxfbssj415ysh57w7vkdp01axsr";
         }
       else
         throw "Signal for Desktop is not currently supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index a32623c1c848..b6f731ee6513 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 = "3.0.0";
+  version = "3.0.5";
 
   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 = "17hq31x9k03rvj2sdsdfj6j75v30yrywlsbca4d56a0qsdzysxkw";
+        sha256 = "13im5m119cp5v0gvr1vpxjqskr8rvl6pii91b5x522wm7plfhj8s";
       }
     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 3f438c625088..c4158d280e2b 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,36 +1,42 @@
-{ mkDerivation, lib, fetchgit, pkgconfig, gyp, cmake
-, qtbase, qtimageformats
-, gtk3, libappindicator-gtk3, dee
-, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio
-, gcc
+{ mkDerivation, lib, fetchgit, fetchpatch
+, pkgconfig, gyp, cmake, gcc7, makeWrapper
+, qtbase, qtimageformats, gtk3, libappindicator-gtk3
+, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 }:
 
 mkDerivation rec {
   name = "telegram-desktop-${version}";
-  version = "1.1.23";
+  version = "1.2.6";
 
   # Submodules
   src = fetchgit {
     url = "git://github.com/telegramdesktop/tdesktop";
     rev = "v${version}";
-    sha256 = "0pdjrypjg015zvg8iydrja8kzvq0jsi1wz77r2cxvyyb4rkgyv7x";
+    sha256 = "15g0m2wwqfp13wd7j31p8cx1kpylx5m8ljaksnsqdkgyr9l1ar8w";
     fetchSubmodules = true;
   };
 
+  # TODO: Not active anymore.
   tgaur = fetchgit {
     url = "https://aur.archlinux.org/telegram-desktop-systemqt.git";
-    rev = "885d0594d8dfa0a17c14140579a3d27ef2b9bdd0";
-    sha256 = "0cdci8d8j3czhznp7gqn16w32j428njmzxr34pdsv40gggh0lbpn";
+    rev = "1ed27ce40913b9e6e87faf7a2310660c2790b98e";
+    sha256 = "1i7ipqgisaw54g1nbg2cvpbx89g9gyjjb3sak1486pxsasp1qhyc";
   };
 
-  buildInputs = [
-    gtk3 libappindicator-gtk3 dee qtbase qtimageformats ffmpeg openalSoft minizip
-    libopus alsaLib libpulseaudio
+  patches = [
+    (fetchpatch {
+      name = "tdesktop.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/repos/community-x86_64/tdesktop.patch?h=packages/telegram-desktop&id=f0eefac36f529295f8b065a14b6d5f1a51d7614d";
+      sha256 = "1a4wap5xnp6zn4913r3zdpy6hvkcfxcy4zzimy7fwzp7iwy20iqa";
+    })
   ];
 
-  nativeBuildInputs = [ pkgconfig gyp cmake gcc ];
+  nativeBuildInputs = [ pkgconfig gyp cmake gcc7 makeWrapper ];
 
-  patches = [ "${tgaur}/tdesktop.patch" ];
+  buildInputs = [
+    qtbase qtimageformats gtk3 libappindicator-gtk3
+    dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
+  ];
 
   enableParallelBuilding = true;
 
@@ -54,7 +60,7 @@ mkDerivation rec {
     "-I${libopus.dev}/include/opus"
     "-I${alsaLib.dev}/include/alsa"
     "-I${libpulseaudio.dev}/include/pulse"
-  ]) [ "QtCore" "QtGui" ];
+  ]) [ "QtCore" "QtGui" "QtDBus" ];
   CPPFLAGS = NIX_CFLAGS_COMPILE;
 
   preConfigure = ''
@@ -69,6 +75,9 @@ mkDerivation rec {
       -e 's,-flto,,g'
 
     sed -i Telegram/gyp/qt.gypi \
+      -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
+      -e 's,\d+",\d+" | head -n1,g'
+    sed -i Telegram/gyp/qt_moc.gypi \
       -e "s,/usr/bin/moc,moc,g"
     sed -i Telegram/gyp/qt_rcc.gypi \
       -e "s,/usr/bin/rcc,rcc,g"
@@ -98,6 +107,13 @@ mkDerivation rec {
     for icon_size in 16 32 48 64 128 256 512; do
       install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram-desktop.png"
     done
+
+    # This is necessary to run Telegram in a pure environment.
+    wrapProgram $out/bin/telegram-desktop \
+      --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \
+      --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
+    sed -i $out/bin/telegram-desktop \
+      -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
   '';
 
   meta = with lib; {
@@ -105,6 +121,6 @@ mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     homepage = https://desktop.telegram.org/;
-    maintainers = with maintainers; [ abbradar garbas ];
+    maintainers = with maintainers; [ abbradar garbas primeos ];
   };
 }
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 0e8c4849f3c7..c543825c9f28 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.6";
+  version = "1.1.0";
   name = "irssi-${version}";
 
   src = fetchurl {
     url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0iiz0x698bdlpssbj357ln5f7ccjwc1m1550xzy1g7kwcvdpp4mb";
+    sha256 = "0y362v6ncgs77q5axv7vgjm6vcxiaj5chsxj1ha07jaxsr1z7285";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/mailreaders/afew/default.nix b/pkgs/applications/networking/mailreaders/afew/default.nix
new file mode 100644
index 000000000000..e2b3d073dd33
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/afew/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, pythonPackages, notmuch }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "afew";
+  version = "1.3.0";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "0105glmlkpkjqbz350dxxasvlfx9dk0him9vwbl86andzi106ygz";
+  };
+
+  buildInputs = with pythonPackages; [ setuptools_scm ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    pythonPackages.notmuch chardet dkimpy
+  ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) subprocess32;
+
+  makeWrapperArgs = [
+    ''--prefix PATH ':' "${notmuch}/bin"''
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/afewmail/afew;
+    description = "An initial tagging script for notmuch mail";
+    license = licenses.isc;
+    maintainers = with maintainers; [ garbas andir flokli ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index cccfdbc75608..aee4d8ca04e6 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -32,19 +32,17 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "claws-mail-${version}";
-  version = "3.15.1";
+  version = "3.16.0";
 
   src = fetchurl {
     url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
-    sha256 = "0hlm2jipyr4z6izlrpvabpz4ivh49i13avnm848kr1nv68pkq2cd";
+    sha256 = "1awpr3s7n8bq8p3w10a4j6lg5bizjxyiqp4rqzc2j8cn7lyi64n2";
   };
 
   outputs = [ "out" "dev" ];
 
   patches = [ ./mime.patch ];
 
-  hardeningDisable = [ "format" ];
-
   postPatch = ''
     substituteInPlace src/procmime.c \
         --subst-var-by MIMEROOTDIR ${shared_mime_info}/share
diff --git a/pkgs/applications/networking/mailreaders/mblaze/default.nix b/pkgs/applications/networking/mailreaders/mblaze/default.nix
index 6cfac41676cc..dac9475665f5 100644
--- a/pkgs/applications/networking/mailreaders/mblaze/default.nix
+++ b/pkgs/applications/networking/mailreaders/mblaze/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "mblaze-${version}";
-  version = "0.3";
+  version = "0.3.1";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "chneukirchen";
     repo = "mblaze";
     rev = "v${version}";
-    sha256 = "1jrn81rvw6qanlfppc12dkvpbmidzrq1lx3rfhvcsna55k3gjyw9";
+    sha256 = "1a4rqadq3dm6r11v7akng1qy88zpiq5qbqdryb8df3pxkv62nm1a";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index d28bfb647e5b..90fbe18f0bc5 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mutt-${version}";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
-    sha256 = "15kqxpx8bykqbyw4q33hkz0j2f65v6cl21sl5li2vw5vaaim5qd2";
+    sha256 = "1qbngck1pq1jkpnbpcwcb2q2zqrkgp0nd68wwp57bprxjgb8a6j3";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 0c0f55e63370..c23c264559f8 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     [[ -s "$lib" ]] || die "couldn't find libnotmuch"
 
     badname="$(otool -L "$prg" | awk '$1 ~ /libtalloc/ { print $1 }')"
-    goodname="$(find "${talloc}/lib" -name 'libtalloc.?.?.?.dylib')"
+    goodname="$(find "${talloc}/lib" -name 'libtalloc.*.*.*.dylib')"
 
     [[ -n "$badname" ]]  || die "couldn't find libtalloc reference in binary"
     [[ -n "$goodname" ]] || die "couldn't find libtalloc in nix store"
diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
index b865622efe42..e25dfe834f65 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
@@ -2,19 +2,20 @@
 , notmuch, openssl, pkgconfig, sqlite, xapian, zlib
 }:
 stdenv.mkDerivation rec {
-  version = "2";
+  version = "5";
   name = "muchsync-${version}";
   passthru = {
     inherit version;
   };
   src = fetchurl {
     url = "http://www.muchsync.org/src/${name}.tar.gz";
-    sha256 = "1dqp23a043kkzl0g2f4j3m7r7lg303gz7a0fsj0dm5ag3kpvp5f1";
+    sha256 = "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ notmuch openssl sqlite xapian zlib ];
   meta = {
     description = "Synchronize maildirs and notmuch databases";
+    homepage = "http://www.muchsync.org/";
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ ocharles ];
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 656c4f03c0e8..0ae1777a839c 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.5.2";
+  version = "52.6.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ar/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ar/thunderbird-52.6.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "637ca11b07a86b806ea274cf3cd9a47dc2d23a2700203c1ddfb25bac15bb4ed1eb4749f630021dd0f33f00c43539954d9fecc192d3582e752940ade0930422ef";
+      sha512 = "fa4cc97701d7a44e2256149497a72a7057f3b677163b85029a9721fa03b4b518fa8c3564ad727824faf3c81242bc7dfe673f7fbbe1bb2b92aea16b779df8d6f5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ast/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ast/thunderbird-52.6.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "78c6da93f60134c9b033f270d04b983713dd84ba6af8cd1c0529471dbd3c860085491bc54f0fd37a8373dd5164b064653d9ae6ab12f7748a9722aa61472ed7cb";
+      sha512 = "f40ae6c5f72ad797b42c6ada1302eebf63b649bfa2d5838cea7371ad92de8e1eaaa79cd115993d96dd873bca996b12fb20c8f4f40ee4db144cc2bbd5a27ef182";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/be/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/be/thunderbird-52.6.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "7081fddbc88cdd0280bb35c7f16c33f8935d639d91e2ed4258e344565ea6f27d1ed8f2b5daa5d2e861e92357ba65c4c4b05260fab83f0bfaf6e2fa44ab081fbb";
+      sha512 = "768453738bda8b0040d3b4cb21b1695dacaa54cacac5ec3130d5e4ebeea4e0ad8303ff2860fe5cfe5915df951aabe2f8a069b979abdc8ab8eb161811d93a8558";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/bg/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/bg/thunderbird-52.6.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "d5d21dfea54ac7c75c515cd95f0140a21451a3b2c533cc95f0a519a13b950e01c6f1d17e2fdae3610b46fef7450e1d816158a71ae37e8813d8b9dbbde2fbb4e1";
+      sha512 = "dbe67671831f90f739a7af794578270f1177ce7e54727c78e6b74d6bc400ca3cff2ed4174b5b38b73ad1ebab0d9d0df34fd6e3ee769cf96e99f4fd84ff69d018";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/bn-BD/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/bn-BD/thunderbird-52.6.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "c59b5b7381ce8fc65018bd70dce55488b12915d2c9fab7421433d7836cde95a409c2f5206323581bcf7af08b90e7ce8eb3c55b0a4f660734d3e159077ba60374";
+      sha512 = "4d7aa1a03c1ec122150611270502fc209406703f0081e4e6ed212d07b327adc67c49db2891b1b62799c48218935200c5f671615a159a900f4d838250ab578798";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/br/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/br/thunderbird-52.6.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "f3d5bea008f0849dc8834d51b6ba0529c2f803e5b059582076baf016fd9a02288d57851e1073c1df3f79f4fdb0f72ca8c707d25f75109d6b33ed60353180e80c";
+      sha512 = "9e229670bb1a4263a1922b5c4d6329209d95aed8f92264977c8c9d1de81c89440666602fad19b686fe214e8847e305d531046fc00a77347393d3d38be31f7f1e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ca/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ca/thunderbird-52.6.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "64d024e4c696cffd4d97566411f7412ae16e98f169101bd36e87efb027555bc163f38ea1898b29a772fe31e1667dd69cc5eb19a96e04982b01b0de3975654292";
+      sha512 = "0a905562d18452535a6cc05b945467e40c4ab8dd80d13ea07de293e02477cf5ac1c49546213e236f8266aaccc923ed261f1702b38289f2e165d818bb7e55b218";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/cs/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/cs/thunderbird-52.6.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "ecd78ba038a9133d8ecd0184ae44af661efd38d08e53184cb26b221d50101df38bc7833a0cd7c76d55a185288f055f5ac630b1da525a9008d878b4c5a3d9166c";
+      sha512 = "3a2417f8b8396e0bd9c1b900f1547ea631683d35cf1e089698641dfd62672824a5594c8bae1ceed6d9fa4adb646da1b027a3c0378687b86ecd2351e4db227d22";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/cy/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/cy/thunderbird-52.6.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "1aaef9550bb3e3e5a49ad220344a9b8e20db885e06eea182f87dc8ddeaac62b0cd2b94f58524b0c6d3afea054cea0d75cc96f80732e390cc47848da16cad3fba";
+      sha512 = "6f705e71057c5f4016ffc60ffd0dc114f462785eb139da474412fd6164c761d89f7faf08ffdc93cc746b0d3df1b57024d69c20303d867bb3ffdd2739869bc075";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/da/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/da/thunderbird-52.6.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "fa501b4febbeefc90ff9ecf4c2dc4468c6fd2dd04559ac886d8e58ea3d4eaf003cb4577197b5b5c391f602b83defe158b8e3405b36edf2a6e48e48719849deeb";
+      sha512 = "4f981281b63ed48e58bee4b7702389dca2bf5497cc74e8603945b25c7ce18e73b7b0ec006df8e48ea5ca8d57c6b874e7cbdeb2f43e214cbb0b99cc7983556790";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/de/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/de/thunderbird-52.6.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "e4c87e3736dcfbe4e8fcce8a101030844cacfe2c20209de4a21cce247b8e80de3e4646c9a84c36d6d73199ea5926c2777a678b8f2b83521078c0c3a10a752b32";
+      sha512 = "4553f9b771e4ee907e2e379eb87ac62143df34cd3777e8dadd74b46839c6cb79f8fec87b4bd48fefdd21a4837611637897232895278ef3bb0337f816c37ce685";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/dsb/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/dsb/thunderbird-52.6.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "eb169f9d2e9836b83edfd8ef8f7af867ac27831bb5aadf5a75f6e652b507dd7c34ca135c278f95d8f967406732d296af3d42a18fa9e91c8ed18216da77824e11";
+      sha512 = "cfb64b6eddcbe54a701c5bca339225bec63e96dc2b1d3d2e358b32820239a970913415e8248ed8852be77d1e64741ab4746476e51a1fb9e9d6510cd6eabcfcb4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/el/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/el/thunderbird-52.6.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "dfd0160965fbebdffc217ed171bbb308902e1b0e89d91abe8167d7d26db991a8ce2b40b3161d623441102b2b6379a774b6af4a19bb39c27c59d76840351900b1";
+      sha512 = "4761f016a202abfafd3d249ccca8d05b8697645eb820cb45b1567476cd806c49e9a13d9c5ff28df5c226e1f787abd698cbc610df28e03b5f0d70ad43b90a0ae4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/en-GB/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/en-GB/thunderbird-52.6.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "8c8506a8fe62e6ca55b1d99d8db9ec5fd224fa87ff63f9eae49656001f94124312110a414769d5d396574aa0e1f69a8f0a5298d6ad86146ba40912ebe68393a6";
+      sha512 = "a310e79e4da7a79a0c9d48db19b68e197fa71e4ff3d3b1c1178206ff0bbe883623d97ded1268a8512f370dbb232b8534e503d42bb6fc70583b78e78deb27fcd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/en-US/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/en-US/thunderbird-52.6.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "73e15c04a11190e8968bc64226ae4c677fa00ab460fe3497aab861c92c07ff6a3814673a7773ffc4e735491ac338e9d190e0c7cd626416c2508826000e1df002";
+      sha512 = "10c1147b8509876d3b278df8d362cfb3279086d51ad40de1ffc8814878ba28b051940b347b4ca1a67bad8090ba488426403b219b2add070b704fac200ad4c283";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/es-AR/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/es-AR/thunderbird-52.6.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "6b42efb1bd21fb9c9df67496a09fdba958145d56b185d10187256e45b8891dcf725cecbf1868c7cdba515397085f616328c111301ab1cce584158a17ae47b944";
+      sha512 = "77753858bcba266c6ea44f12eefc5a8fd1b6a7ef39b2e778e01490ff290046415e6a75a56a104dae12b1a6cfc69b179d13f6cf5b80ef20e8120864b7e9447d1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/es-ES/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/es-ES/thunderbird-52.6.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "c1eaa597f18102f93b7621d50b5ebb54f9007ad01b5ce543e3f53cae88a42ce06c7d2332fb0e6b080ac2209403dfe06ce24a17f09c7ae3d5ace8d5e85e1ce603";
+      sha512 = "f9228ef15899197a8defc67cfa8f51e17aa3f2e5b1e8b79cef8b221a012e47b74d5a91dc82ba1a53e97f1518b4d60f08220f870427751c9ee1c477600cfb3a38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/et/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/et/thunderbird-52.6.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "b0386ef97662e21806c15342b68b2224ed3b41a8f1648f1b9869b527eb8b60951f9453a5abbc74e94905799953af5a7289b25c80fc370772368f39a048ef89bc";
+      sha512 = "37cdd026fe48f84b19adf63c6bb642fd2efa72a95125fbf5e2761623c920549c045589dc53892a828bc759630e8cfd1afad5825af7d51d6c7c5fc495e450f401";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/eu/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/eu/thunderbird-52.6.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "d7070db2bac9aabbf5b020f60080d3beb9b1ecb4df73fb541f387435eb9ea80e2297c76a79910af0858ea42882298cfdd5c5016bd2049fdbe91dfe1f4bdb8b70";
+      sha512 = "4827d5f30c5a9bda1aaf5836250d43b41d38d2f882cae61a097c5ae753a7d429a7486d8a47991173ebea15bb70cfdd6b1d4ee4c1e7696b41e9e047786f320b0f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/fi/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fi/thunderbird-52.6.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "2dc49e7ebb96cafb37b600490bbf49a40393ed00cd4889e1bda6331e9dbf377a4cd53cb6cd98e7fb2e7cdf0da75e69e38e9f3894ab289f3ba0894f499e4f83b3";
+      sha512 = "9e40fdfa10cfb24e4983834d72c831b5e94d8a05e51e45e989564c558af6d5c91710da1a63f5a21042da2cca9a4b310a52c1c212db02bcbe77d5579ba600d9fc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/fr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fr/thunderbird-52.6.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "2ece29dfad71788ee5bf98afa262edc3b9bfaf57a2ea07d669c1003b09c5a5fbefcdb028d4842c53e17c1a63cce16f9296e574b834631cd485d0737cb13b174c";
+      sha512 = "362d689566ac6ad74adcbccb188ca958af5d308090cc13f268be8608f4b20917ed0b1ccc33fd344b6b4434ed2a8a62c212cc25dc85f52f7ab20e0355df06a370";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/fy-NL/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/fy-NL/thunderbird-52.6.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "a84eab825c051666d606fff131542c71bcad7f204db19dc10d54166b499869e43951c9799d05b194f66ff40d5f307957c2d27de17da6ecac48ac24621da7287a";
+      sha512 = "90b553cf697bc488e7f91eca2b9fceda94da72d49ff561af9a2f59dbe830a1ea29a49c9be8c544e1c83503a1902076a2badd7b35656372a18899f579d9455de6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ga-IE/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ga-IE/thunderbird-52.6.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "181fcdb0bae1a2aed16ba61523ec90f89b884d907796e1d1c37c722f68b89dbbabf977446022af6c7050e3e26d995e33891880e875f28247653225479847acfb";
+      sha512 = "8fa91ed0e71961e0850f6acd69ffec0876e4b8f72d19b170429c10bd00681095bf816f7c028afa2f01eb5c32f27b6f8272b1a1e3340bdc87ccc9477bb100fbf1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/gd/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/gd/thunderbird-52.6.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "cc91084f593788da76815f185e2b9a877409537cdf52566000953a008bcb2783c09cd8893cba9f387b731fd636b1d8e7b7208832623d1222b5fef72db8cb4541";
+      sha512 = "8653c7664694898222e1dc292bdc244a6a2bc900b240a7fed30ea5cce47e7fc5524afe7b67795d15f0eafb250a5218ae5f8fa8236b7c6e91e15c3c74808a798c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/gl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/gl/thunderbird-52.6.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "6491bf74093139c86a5809d02582b6d055ebdb3cbf29a1a24ff7529a6e8c2bb89e26c27e7f65bb588c379566741510d6f8372f7f2a11004350cc7e907a3a6d8d";
+      sha512 = "22e5454c0af357e030dda5a84347eb154524d0337fae6389102ffb0073ff33997dacac9b40dede462f55ea30c1bb4da65cc8e272271611f42ddd80b5ab9dae05";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/he/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/he/thunderbird-52.6.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "4235dfe0f51f55dcb905453aadc01baec3b8033384e5085072abb600c71f777699df4b556233ffa9b07f5d62442aefbce6f1eef2a9d557b24b48d797cf03b026";
+      sha512 = "51bddbb2a254849b6dcbfaf1f2faae13454bbb71472c7c95d279b5f83a6b29b1b063d904f02f13295fa32e6b33867856341994db9a2201d8f358b006c0c7752b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/hr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hr/thunderbird-52.6.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "4236d464d704ba9c4c60323dd3518a37f71d24cd441404b6ae7a0e97ff17c839e2eff48d100211cf5ce9d3759336e7a0c29abe5f8390facedd769804adb8b956";
+      sha512 = "a08e2a71ac92e317944f09b2f03bbcfc32122493ebc0800534b6f3c714d4af0c431caf97be1818bc284826b88f08db3e4392f0c2b89ac7adba587f2f450cf804";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/hsb/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hsb/thunderbird-52.6.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "876a6c45e62c1025bf29ad3c626e3d2cbbc7d9d660e8e862b0fb586b73ed42a0bb58611dc69af727571c93f31dca450dd9156ba78b23b9a4a2116e561a8e3763";
+      sha512 = "9539a6c48e60c4c773b735afa6ee544ceceffdca76ceeedd90973145f7deb23f2e449901cdc75190b5bd510537e70fd948775dc66caef8a7b95fc31843cbdb66";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/hu/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hu/thunderbird-52.6.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "7bf7604f08e452f33154ba91cdef8aeda9905470f526f403dd76e19d1010f822cf2f3fb7c5f0525299bd0401139df1a12631f796d603e0ec3af4aa8df73ed0f2";
+      sha512 = "d4d0fca22d430ec037bdf5cf8ccbce99df3cab22e4e6a2c3fb040cd1db960903e503ff2c8f633aa1f037a590b0a48134d949c1c4899de429a0533175fbb4a61b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/hy-AM/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/hy-AM/thunderbird-52.6.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "bd62aedb2c800265fc34c884f1605caa0040794cc49479189dfa4a959d49397ef023efaac0937c9573ef7a114cee16504b5a65f8f8f3f3d4d222f4a173707bfa";
+      sha512 = "362ddd92ceec22ac93d95d721c1806ff0270fccf33f0cc4452ee147b3388f071b6d5aa27a0e7548a35a50453d55be2532d7fde19be611b9f0ecd741b5de59e1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/id/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/id/thunderbird-52.6.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "1dd761bc1bdd865b5ebb494c00dede5e616a1bf7fbe6d7cf88d4f5362eb75435ae162d2e027fb7928783fe255179de00d28a29ab3d90350f75be7a1e4ad428a9";
+      sha512 = "29ba391bbd9b8984850f056d856bcf90c0ac816fb8b831416e5a96f36e9b2dd0517cb5f1caf37998f75f024f3fbdd3b989ca6d4973ded22cbd15568a7b249531";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/is/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/is/thunderbird-52.6.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "12dbca26babd51739fc6505fdd36ad32b5827e1c3e439f3ae4c2c8e0f165528e693af537bec8630146c6c6bbc55b75d7c5bdd3bd84b5255cbf756d627beac2ce";
+      sha512 = "2303d0d74e112bc4f86e6d73fb63fabe8f10aa3486a9d2f61fe16b0b0525bc7b6091c94e27f0ccb548b47bf808c937b83a4609c5c0cd0bd0fc6556c18dc08661";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/it/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/it/thunderbird-52.6.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "9c9b77c70429436b1cb0030c92109343eba9357f58873c13399e9e64f44807e06fc0c429e0748ce9a11f68baf643bec7cf313fe79cbfd35e548ad579b0e6e108";
+      sha512 = "d3d9e95728063bd4e4742619c8ec27d4a0cdc34941ef8e6e3af71f19d59b4db6661366a81f1df7fd1de3a2ce995a1232f39744a825493a0c456d5257d02f7cf0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ja/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ja/thunderbird-52.6.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "2f785ddcb2e16ee1970cb582852ce52e1f3f7cbd58e8f714a18a387019b510cddfa1927f593b61ccc4b662b6e65f3fe20135eed451ba07a1df45b5979743b20d";
+      sha512 = "1d64a298e5b0ec9eaac8f8972ae975a98a5bcbc4823abd59a6cbab251ddcb5ba76263bdae0b55dac15455d8b7d9c8bda71cc54ea0fe67aea5efa5552973be94b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/kab/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/kab/thunderbird-52.6.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "1bbd7b2c79cce7b74614e6f09cd7235d58def667f74bf3276ec928df4f0084704654224f100f227cdb350f839a13e474cbc98e4614ae45cf00969b2706291076";
+      sha512 = "1b351b01ea540b809cad198912853b3f74bc9cb52c33b7fe4ab586f921ea4a2486f28e855d2be95398af6abad2911c5fd3f0ab16938edea85596689799b452b1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ko/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ko/thunderbird-52.6.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "e176558707cda5570b020aa0fc3620deae7edc6e7e363e1ba4b51d6cad9f4a9e74a35be5f419fcc0e18dca31b6c887a62112f99b4a60d9026b8dc5f87de45f74";
+      sha512 = "d9895da7e3099c5d9389308ae6982a77387cd7d61c07ec16e4511c00fc3b18bd025b95c6f05a94cd5e990eb9472816bd4af0a1bbe3605561f2bfe2b9f9b207e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/lt/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/lt/thunderbird-52.6.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "f431c57a74e0f8498a9a1ad36e6528d09dccf8b03aaf9e7ab66ddd503bbd78ddd15176a5e6c2358eeb616ee023f78414c30b67fd39c4c2f15f4e377df81759cf";
+      sha512 = "8791ae3c0ee4745449b1690f69de0665f7854288188f1570e4c876b1f936e790d651bb1f9ecfcfe99f01f49026d534e667f262c72290894368579313b8a59615";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/nb-NO/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nb-NO/thunderbird-52.6.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "5bfae55863550e32ea6581d0c24ae5374e2365d9e5e8f05f91856d0fd2760b761d183b12c9809668730efbba63e6c23408431f4616f6a7cc52ee465ccb939aba";
+      sha512 = "be2e537c4dabfc6070f180205787712317ea3bf1befebb5d99d0be562aac60f728635ab665b6813776d985ff5c5d10e72658dbe20c6441722113ca8f9cf00553";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/nl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nl/thunderbird-52.6.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "fd7d35c0205610d868fb0676f3a8aaf328b1906dd1b174124e254ec8b08e5173741853938707dc99b10b4417df4a7010e20cb8a1038bf8f3258dee593cf788bb";
+      sha512 = "20bc3bd3105880541b2dae20b703191cdb499dc7778fe874da5ae9b0b1626d72075631e256bc0c2fee1c4d1d27424cc6168c419afa8bec8a00d5904ae0678f12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/nn-NO/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/nn-NO/thunderbird-52.6.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "1070fbd6c51d68e560fa0eeab66f2baa39d11752018d20d23a3577b12b504355f5729d0d961ffd20256521f54eda69d03fb8efef70f8254685e28b0164201354";
+      sha512 = "2437751b998ee2898bbb8f8187adcbd102d29fc54054fb04efef2e0f7f308c864215bb8468ac42975bbd18c6e4a0c8903e5784a4d203df3643029cff696c2540";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/pa-IN/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pa-IN/thunderbird-52.6.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "12293c8258f02403c8db220c73cf76b24315268324f2c6ac41dba7d77d9653cd1a21771a4994f7c6dc0db9948a601008e347d908c05dc59b7cf6ddcf95b2e86b";
+      sha512 = "925ffbbd7d9e301c52b60963bced66af8b97a7b24275d73ca923f0d757164faf4ba7c69003286d74a69f1ed328e94347ba63c6ca7e13f47f42b7529af9de5ee6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/pl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pl/thunderbird-52.6.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "331b81876aeb162e1f4e838cb00712e971310285febfa669bf7c6d245c1e8353be941b6d1236423e0d835feacaabf859077da1918cf2652f6b79de30c4beaa30";
+      sha512 = "27dfc79cfcfaea36ee50b2249e8e2a5195e9dd2f755b0f9d3274af2e4cb3d0d5214a4065e08678bbfcae4b51f0a0c2c4b4385c2a199a5b65035ac895de08bd63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/pt-BR/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pt-BR/thunderbird-52.6.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "d69fdae2048b738133fd07c6aa0ab6c264e555a3bc3a899d09fd7fe49435511fd544f3ef04e079c4efd320bc2abfa813f85a5f2a9e477af56aa47495466103b6";
+      sha512 = "b600e2e3dc931ba2db5e4bf36187f971c7c1c710f8535d59c999a9685f551454a6e39f80cf70374aeac41ddace2f80fbe68bcda1675b80c5cc39dd8fccf7625f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/pt-PT/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/pt-PT/thunderbird-52.6.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "fa3286336d47b2216b0ec0c5fb6cba2421cb0cc81d1f815515c637a063b8de167cccfc3dd30b02636ae88e74efb34f8fde1b198924fe864b1fdc08d95b7f0f3d";
+      sha512 = "3ca5ed7c487ca11ef2fc743e8a66eeaa05d2585d2fab0ca40b0d965e10e43d1216de358eb61921578fcdc72b69766f8fe24beb3c548ed47c705ab84a30941c34";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/rm/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/rm/thunderbird-52.6.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "b4affea897ac5af177c1fb6e4919f94f5f20860c3f492584c79664d803b7c2d092a96f1a3afe6b3212f689901a52d0ca74abab4910ba291280d52ecef2cf9a33";
+      sha512 = "2d9e51a01175549c712c5bd1e95e08012ed9494a0f6fa5ffec8ee1c311279a6826cee99488a72d86f2cd98d9d9d6d20ef886bd4f69d100a2b589ef8dfc887335";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ro/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ro/thunderbird-52.6.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "3cdcf374f33961484962a6294ad8fd654b006f3472ce6550936a8c00a28943088c9c61049fba278cd304381003b46903a5514ac340b5a85a959edfe17242eb4e";
+      sha512 = "8cfd1503ef3f4a9b4765d6c3fcc3a44aaa2fa557fc2a698452d10b037fdfcca09c462b455c4088b69aa89c153f14b1621d3c87c942a7bbb4627f95bbf0a37738";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ru/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ru/thunderbird-52.6.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "aa1d54fe356ef15d852a9ce3f269deee411d4815f4108c93c832def784c1afa104193e62fd9b47977d20ecfcf3057c05d76f39cc3abeb0341102b7e6e6639763";
+      sha512 = "74d611abaa10d04be342139e19b7f724516a91de07a5f4ae4c4cd3ad927accb5e6668830040defa20878ec1fc884bc983d084729ebcd1fd453c7082a627329ec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/si/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/si/thunderbird-52.6.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "543710116d67afb86e316dd17bf9a74a07ee5e3772381d9f0495af4d42075e96b6ff888ce0c3ce68ec779dc051f3ecb6105d51a6e4459cb4907a604662c933b7";
+      sha512 = "292b5da1ea566ebeae2756b659b1f2ad40a4dc57517da926b3f8263a219e734d197d9aa55ce91582bd8818e0434d2a6b3bc40892d0cbd4715fcac50e3aebf7f3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/sk/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sk/thunderbird-52.6.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "3ae5ab97172ff0f4d3eaea7a69fa54d9bcf639a8032ee2c5a3fcda2d8b30072d3386c54ef7e8c9bf5417a6030966c1097d69d41dd8c5355e82d048b783aef461";
+      sha512 = "a5f6466d7ff0ceed4fa25c446925e398cd91c29d705ea1e28166bec09834b1f3ac61722823828d97d17b1ce7ac2e67aa98c3d5d94806b7a470d29c5722f37d9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/sl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sl/thunderbird-52.6.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "9f3e0724e837608cf4a64a2505af732e4cdf61928bd5dd1237e27d5222147a8ec52870e88c73653de8518e9ab81af4fb8916b067c780b1af25b8f6c208a10684";
+      sha512 = "9167d416f7552b55f8551146a3073757bea4106fea2004ad4303809f0532b85d37fea449ed09f0d162cbda2f429d869b90b5ef14f29784f418c63085a7c9b5b1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/sq/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sq/thunderbird-52.6.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "0f2e10a8b9cae1185079af8e37ca9622d9ed29b6bb38377cc2db7523dded8da4969798941ab1e99cc70b36bf2fa59549567cf5c1e1cc40ee0131350d60f8239f";
+      sha512 = "aceb16a89f40243f56611d726a47b15bc6b0e5c1177a4beda6b147749299640742dd9d5f64384e88f4fc065c5f5ab80a7456a81ed63331a99a60e1e2e8b76a08";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/sr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sr/thunderbird-52.6.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "1f32b2705e4939c5e57f7a6a3eac29ccacbd90bb93361007b208a0eb1aea4f279b50fa17ffb86571cc2aa793742d3ff62caf28047b69c95ce358b6ec2cd24268";
+      sha512 = "c0cefc58703c51d169686bb6c25477ea3116fc9691e0bf971d2a141ee8e93e4e1853911189c2b49d331d8b04c70e3c154083a05179c93a22b043a70918808ba3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/sv-SE/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/sv-SE/thunderbird-52.6.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "887176e1d4d9cb385ce0261a45f22bb67a87a125da737403c6965a6dd57ec7f0763b1245ea0d04b79aff5f41cd1ded3a06dc4ee301a17c01a9417ea2d515dcb0";
+      sha512 = "179429292f73320f33d3cfbdd4b55b65117c8b8f60abadbf8c28537ab1e6e7664f7e2fa1b20ecdb201d7d535a9974638a7c22c2f5ba0fabea580509bd35d2a3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/ta-LK/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/ta-LK/thunderbird-52.6.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "fb981e6175b1f8fe79b65f2c324e376a89c7378074a6ead4cf3444516fd8d566591f942133642830caeef1f342ceb169d2e558171a5675ffc96a82deeca585a5";
+      sha512 = "ccc1e3b1ca1e2a762c840c5e52b33cb3c05b75195576e95f7d28abe53aa6438d83eb185664797be9a0726f51416b4cc70877a4d6e01282d426459820eac59b01";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/tr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/tr/thunderbird-52.6.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "2ce313b74b8512eea958c2c3e303829a3d7452a48efc07afbfbe9ea783c6099e75693b679cddb65802fef5a47f98526b7ceaf4c1e7fdebf9357c91d5a306bd70";
+      sha512 = "55b14f94b1824df5e05d8c8f8c1a86a3d9667123dfb7b86723888ffeab93b8b0ed8dde082c3db0ee33446052e81b6f282e4ac3ae9a2a51ef25e01c6ffc93ad1d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/uk/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/uk/thunderbird-52.6.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "dcf852d0c584c3959fe0f7ff72cdd45fa8497aa1ca44ca036e849c3395da470a52376343f4b6e37a343e2f2919245a52e63bb5dfb5651bbf749c72c35a8918b0";
+      sha512 = "94047ef1efc45fcd228012a8833ca1d6d5540ba0549a5f598ca420564e85dd0bfe4995968ba241d57b588db542f6c33445459c77b40eb3b568f66d3ef8e4e91b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/vi/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/vi/thunderbird-52.6.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "2b3c262c1955045bbda194715f4e9fce97872054ca8cc6f7bca3c1c6da303ccda4715336c846d47bc204fadca003ba9f4efdb6798e55c9e928ca822544bfe152";
+      sha512 = "f30ab0cc3b6d4322d9d65150da1b247db12305f8a39acef383048118f30a757ca380134f0f12c238432a23f5d70d173e53e24f46af158ccdcf5eac516267840c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/zh-CN/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/zh-CN/thunderbird-52.6.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "74e7d7f4039d38f6af9590303d173d7293046f897e5b23acf8ff16c7b1ecfc50d0e8896550ee371f19e73518432d137779cba26bad913e8deb9e4af1b0637edc";
+      sha512 = "4dd0923c8258dec6de71aad216dffb2945852f2d6ad20e104599a43a13e7c48bdaaa70a7afb35e3699bbaffc9a69623d6d24e299f1a0e75f604ba9bad96647ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-x86_64/zh-TW/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-x86_64/zh-TW/thunderbird-52.6.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "914af708ab185b76a67e8a2a4c85c14f41bdc05bfbef66c56a8b28820e4eeb866dcb6d60b1b4b61d924af9a6ccfa9ec6a10afd6ffb74794487472d508807b417";
+      sha512 = "39264550d88ad4fbc247b9bb61015b2c0a9e75ffc19ec34e1d7053995e2fcfd65721140f2f4486fe959e67484c6ca6305e997c77b59b98e60e9e979c60e320f7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ar/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ar/thunderbird-52.6.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "b749fdc34c15b48bcc0b99af41ac0357fff3a9c4bf774de536caf1fa65b33dfc69a4a14a4cb0c06a82d41e222362cccafb9ff8f4ca64c128cf0a031c1161d74f";
+      sha512 = "b801148b9eccf4425710ff3c5430795d873448ee068dec8e8343ec9094d8c04e317dd0cf6e2d3b69029459d980b841470365441e26d8f71503d9c6f03a52d0fa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ast/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ast/thunderbird-52.6.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "f3ddb2b95237e8c505286328369c9f7613e5cb22ede50f8842e936c158aa6cbdb053de6c0f4ef0a9256b394b5510c1733ce0f8cc8423370581ec54b871f59b56";
+      sha512 = "7368be5dab56f03635d3bc06f1d1871893dd8a694388baa90a44cef5f88717a705daeb2230dae8c2bfaf8b40e1f7987aeefc729b4e77ec1055726b0944276c79";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/be/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/be/thunderbird-52.6.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "d41e1bcb8460015876d784eccb37aabfeaa8a283f408e6606d84175f3e6b1e7428b8d277d30b250192cede4cb6bf2746945cf6fd4afa698fcb1b4230ee0f6d5b";
+      sha512 = "a39137149f5800b5ea612382b86840b095fd09e38d06ffaeb4a2f5e242b47cac828ffb87c9870a9ebc75b9bd26b0499c2899d5b778267dc6842d21afaab0e7bf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/bg/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/bg/thunderbird-52.6.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "e07885f88953dab1a940d21142fc04c7b8b2f807fc424f69b99f90d4a8f5ed034fc00de92d76dd4fb858c669cf6c3e9cb82f93ac3a264ba71f7b644e99849fef";
+      sha512 = "2314afbb259a561e98bffe3d30aaac571b8f7f54de2246af78a012fcbee19fda15c8a921221ebea738fb09be07a1139f5edc14f1f9f55945a63e08c625a6bf52";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/bn-BD/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/bn-BD/thunderbird-52.6.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "2cdab1cc1066ab51d8fd0787115568cf70f3d584d2fd5e3908eee0f64037ce61a80a3f19ae31dc8cabca8f05cee51221917c717ea535a5a8085dd3410fa56422";
+      sha512 = "e8cd137f04521293ea60c8f8557b4482baf1d7936c9fca1ea7426ea8a99cae48f3e441a81cf1a779034595eb755009db512f29d31c8ada11391cea0f3962d61d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/br/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/br/thunderbird-52.6.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "0db76f3544b14360bdee64186b9f828dce717d72d23ab59d4568cf079dd1db138e5b79eb500bae6d0043550bb906a0558f07e3b5ac98d0ff67705578d04ebefb";
+      sha512 = "0715d8eda4c144c35b5583bdce6eac058788b761949bcb79f156ba4931c380e33f7810fed55e283e02c5af2d555df471c48383d1ace21da7f88c3b0a8e97213b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ca/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ca/thunderbird-52.6.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "6229309d3e81f374f4f04071843e3a1e7e18ad8316359ba6badd0509284ef59c16085af9a52956a5a2f438bd9cf8c88400e15fb99bcb75001f08fb72c285b3ad";
+      sha512 = "21ec148ddfef69ead9f1b367dce4d6a93a7f1d31fb691035d40132cd4955a66f162a44f0e5b0caaae8cfdb76b0842cd78a630cb6a7949e839611d98d58776a47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/cs/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/cs/thunderbird-52.6.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "12a2df8d37d02076acf6cd2bc86bbc71e38e157e121b1729096c880481a82d23a0c1c8f1c8b1ff53193aefa1eebc64ffa49bebf38dcdee5fdbdf429bff5d9993";
+      sha512 = "f2c7c86db91332b9f38ab4ae732ca44c7f7bfa32e3b8123f7ba9662fe9f74b9f01a58ca63a9954b45aad05272baca385797679103c29a95dcf248fe8cdac5a53";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/cy/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/cy/thunderbird-52.6.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "7c71ae8ce62dd271e0202b4e25b52ab9291ff83b920465b9a96c36d55c520ee87a5a348ab9d0ffd495744b787d424741ecf9e89ae4879281d0a6f2cb3742ae2b";
+      sha512 = "f0bdfa8373fc87faa567720c4c998f08ba836f8c26a59e38e92bd641e7efd42010530575bdfe1fa7bc78b7688380eafc274b8954f2a59e60912713afacd42789";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/da/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/da/thunderbird-52.6.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "36861c719370036033286139f5e93d750eb8712afea42df7cc7f8bbfb9a00dde999e3ac4e38bc48b64a343a8091483163914cd362e9e30e0f9a98c6cf6a1783a";
+      sha512 = "80dc629b815c4ec98026f0ee5c2b7f754bc9bf0e5d026775866f502ca55b826ce071470a8713ae98089bf2208e5b0d0771a20307db5351b4af78169bd8efc1ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/de/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/de/thunderbird-52.6.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "8571075c5435ab4763ac1c0f3904ca39b5ad1363390fd78eec9b73115caccb3eb3cc9f2e1a8c4119469ed5cc99d648fc905a8fb4d51c0bd10dc9ecb0338ad59b";
+      sha512 = "bd66cf808f3d5ba73dfb0d314050c5d4ddc59966abc84e904cde2dd73c20086dcbd580c1a0bff4d1dee7ae940e38a53b9a37ed75e05758ff9da799f2ae1f7aab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/dsb/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/dsb/thunderbird-52.6.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "1b873aa804d253786b37a8bd1e85884f12c48292c3703d9c04a9d370e8fff73b0d865495a65de7fe690e34f835220ea88810194385ef50f3b285e8237f3761bc";
+      sha512 = "58e50c2d6c2d42fcd34273ead868753373e054602ab1ea7e9ea9d5ed15b8ae15e6b654fe81b6a56942f1cd4eb3778d11897fc2b9e34e789aff7d83b47bd3c100";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/el/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/el/thunderbird-52.6.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "8f6327796a1e937e0d43f2af23f25292ee3a56b9d173bcbad1bf1d7cd60ca464570ef4a9d8255d2f3897dc862680073146a6509944014d0abeb21395da8c0201";
+      sha512 = "40888eca974a5e9dab7459c790b7e589906da72ca9ea64fa690225d876310239faeff8925366b5fc559a5793efcac01696f22886c9ecbd5dfad5661083b8e63d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/en-GB/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/en-GB/thunderbird-52.6.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "e27a9c743a1d439e3cda7f2924c01044c797f88bd4b90723face80a472c8e0854c747472e5cb72dfe10ab1018188044681e1ae633ea55f4a11aae6f62a3a891b";
+      sha512 = "5a418b8f6b857a4554cddb81b36b5f4885ba694ff08b3b5f3c342491637587719578738eac9abee2735e8d0fa1ab216ee9bb5cce67955c4b7c30c3a063b95477";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/en-US/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/en-US/thunderbird-52.6.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "b20aeac366bbfe257e709133fafa59bc8fd784d33926a167adf24d2c90d2cf5adfb68815e2000de4837be7cf73258d890cef555be82112aaeaef2bcc244f634f";
+      sha512 = "628a5f50871bf44c59e1d8983f520d5ede9f22bff15eb4b03673dc6d4b0f72c84247a5e29ba67e871be449825dde8090a6e9a50501e434bbc17d86aeb846e1cf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/es-AR/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/es-AR/thunderbird-52.6.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "a3547d8ea9675970dfe9dc40e1b763558fbb204b8d0940156b97212f2a5af00ca82ea2493f77fe896e257d7e0cb1ce7a1fe05a4c23aaa09222da43cc9b823e88";
+      sha512 = "595419a4c26c8974ada3e9856dcabe863666133a98d5730a1a295f1edc414d1d0b3a159afc94bd927c934d44e9b4ed4282d4211948bcbe8b6d744948e7b48e02";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/es-ES/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/es-ES/thunderbird-52.6.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "2ad8177608038799c2ea653ea056c599949972a51493a27a34d4aa0769814106cebc8eac3521c7d6186432fadbf8e17e7b9e5221bdd1bf70de4fa80de163e964";
+      sha512 = "898a14402ab621fb81b563c039db3ae343173cb39872ca6a2985f6a279af7ffaca404af179cef3adb48285b05e24b372c1e8a1918557280ecd10a4368b540f27";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/et/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/et/thunderbird-52.6.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "a68d4606e943a4b5841853b1c2d5165f5c97405690d467c0548ef0169fe472e76088c0387f9adabcd5837a3fba72287398453c4e149343bc9130348b5d62c682";
+      sha512 = "b2ce107034b87b9e4459add9e1d6777e58f52465f81720d1a6276dbe0c341c92984fa9979ec8da0544f4699cf98a097098ed14759c38e47a0f9ea4aba6916907";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/eu/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/eu/thunderbird-52.6.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "dfc826d722b7ff331df35b6fc9b82eae9714f8f8e75c1fe3119a3b449a5b2817a8641e939ddf32b4b6605406a7cfeb57de24493b5a4d0cf9992a3dc30f2558cc";
+      sha512 = "a401cb39dd18e83cbe64de9c527ce4d72a951f32c5150a88bb509487f3ed4364624354a6571d41ee18f1061841cfe9bb704bf355893fab6cc44d94f660a5e0b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/fi/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fi/thunderbird-52.6.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "2676d22c662a5d7b4b3eb32a71b032e76bb609b39a89381054b254ad7a966625af2166b2a5edd9c09ad8d9728933203c99a3c60e03c2fb031b748e94c16eba77";
+      sha512 = "d87a4ff14023c2a20241a920d2fac288d76124ba3734ffcae664cbf46ba3a3d54fe42979c243e6ae231f7b5aa54dfe9c82ad87f3839714aa8a21409a6e87221d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/fr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fr/thunderbird-52.6.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "b6ec3f6f2abb0f1ae8de3167e03d9d254959a93881b4cb8202db5880bade5569a53f1b5aaeaec10fb6fcfe453fcbe7cf0c090947c546ec62ae0f858dc0b251d8";
+      sha512 = "5bd14acb63b044b2aa6f2f75fc365b6d65012a504ac3735cd2d72097b65aa61662007e06857f7288329c39517af01e694d19be5498bf4b718fb9b2510c8ed313";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/fy-NL/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/fy-NL/thunderbird-52.6.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "c0e2618f223f5b58d80283b23c38ce703d5fa019444dc2168d1ca88149780e458ed9c5414931457a0a3e7733407eb07b1fd38f3b40c381db2f012c5a1eec7eaf";
+      sha512 = "13baa3c5bf0c24474f6f31291b54ff9c846bc3a6056bf43a74f3e5ad4919879adeadfe583151f55cc721e8aaa0b9011cc8e9c3a402d2fc363b4b2ab97f5aef76";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ga-IE/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ga-IE/thunderbird-52.6.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "fb6e815a5690382f1608d20cecb596012677616cfe3de11ba8aacdf32c59314a5e61ade11151965fa4c5f310445700f9fe89e14734f8876ebad4dcde9f46535a";
+      sha512 = "632cc17bb0e9a5ee4e651cde51f71eb6efb6eac35297126ca3c7397e4bbd407f583b70a2aa5cdb4345276b493f3d8161cd376a443b37be3ba6b2782b7d6a534b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/gd/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/gd/thunderbird-52.6.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "3edf7e424f7a21540225d6e30543bb39f395564a3effd5064f3471f7922c19e275fc7b20e1df929a93eb375e0b37937f5beb239003300bff0af8af0d2f7b203d";
+      sha512 = "03b3f6ab1fa5edd9f4c37f1d2ed9ba7a34e4b3d714bdf238f7e4ed8e8c65c432fff5a2815a1993ac8f221a997dab2b0ee22dea46d5a8b566bad35ae1cc9a4f46";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/gl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/gl/thunderbird-52.6.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "7afea0817603271e8ddfa01374102f8856fa1d090fb3a98ff9e3ef477aeb019f3860e68c6ea72659ea0b65c54967c68bfa0d84a040d7677469ece8460fbf93c3";
+      sha512 = "36398fa1d04ee096c1e2fa1420ca375dc7ff135ff63343e20c916b6ecb03b2adc6e30d26e66ee6ab38cd816d928e8c628a55bb3f6cf921bf7691b6092700200b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/he/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/he/thunderbird-52.6.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "546484c47f925bfb92bab962735cef6a74336d6b282881afce1054caaee559360e2df1d497d857a12ae76b99ce765ac985adf48d17f9a759b262f8b134e9adf0";
+      sha512 = "f819c1bc97298445f3d3d5ef91470a7ff370a5db5e4884e8c2590e06bbfbf9a33c7d1cb9919379a6aa654e47f49b6f9e127584eeb29cb14f2e73efc01d4f8ee7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/hr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hr/thunderbird-52.6.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "552ebbc20522633fdd27117a941a0541bc3195b4a650612e6bf9f5e341f09c39efe1a58dcb9b0bf3ebb4797c7cf49e7d8a8d7922d2f3cb83284f9a3dca7e6b68";
+      sha512 = "bdebf02084d98a6279c27d914935e4e8486d86cb27475e99983ab0cd8166f78c82b6815528f7afc10e6aae8f0859c393f6f42b7d1a081925b1fe2053f309052f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/hsb/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hsb/thunderbird-52.6.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "f92450010bfb1d1620bd4819103d89f0d58af567231219ff106dbd48550e04af2900b362b93bd199482aaeb72a0ac88344e3767d754d6934d401cca13af4b718";
+      sha512 = "b0db8f59739e0ead2d0ec64bf00f6b62854b2b55b34db04e31c27db14b3b67e6af3bc9d857fb528e4e6115e3e1f2da75b685b17a33cf9ea976cca7ef5ebecb56";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/hu/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hu/thunderbird-52.6.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "6a4d10925475f3fc499f49894f6c79de88bd394c9b3359efb326e55aa3e1af9b7d6ee2c853908bedd95e113d697ae3b25e612dff72d81d01addb1fbc39c6ea36";
+      sha512 = "10ca02217736663a1fb44e20430bf2ac3a76fb5f87e57e539361ba12361c2f79aa3892fac02c4365890c6506eb86bde8fc955dd126eeddefb7b27813050d1861";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/hy-AM/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/hy-AM/thunderbird-52.6.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "ecf982393bfc9c826dd74ea6c0452788c34958f031636c4f70bf12388e966a3630cde159f3751540b3b917e52f0b64a2cd572d211ef3b61d97725a80f51b4f5e";
+      sha512 = "a0240daee40e6d8cd76d81bfbc4bd47052f9e20a00b8c687806633eb72e16d9393a6005c16f5391d2caa5a55fb7e0b7e12d1097fe140d6fd664e3ca40358b597";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/id/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/id/thunderbird-52.6.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "a4d735acd212827ceea6205125e8d38f292b0994a5375738857b12531aaa947539033fe3be3e198eae82b77647d243227200a9fafb4ff2729bf4b0028868295f";
+      sha512 = "4450789df3c0176cde9adac0f8b075ca64690c0278b6da9de4040faefa35a9c915de1daec1e1b1ccae2d80c8d55f664c8535d9cc31ade68ef8081fc3f102e992";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/is/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/is/thunderbird-52.6.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "8d4b0a3eef192d42ecc9c65eb692b5c35ead5c1a7ef17f575e96e06f8990a76607b31abafbb03cabbdd4385eefcb09bb0477c7a6cff1b5fc3a60bc9fb1d0518e";
+      sha512 = "9ad56f873a0138d55a34b6058681c9edb185734c3b358aa1ffd91161403cba5fa0a2d02d858fe45ebbb2e991c0a8da1bfcb6516c9836e26a3aec7e2160f292a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/it/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/it/thunderbird-52.6.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "4f2d5c1bd7cc404bb8ab6097bc3dd40424a745f8a6cbc0e73722a28d68a582150acbdab83e02b89811c6617e63a2d56f5f02f6fc463092e8e959a91552a6f3d8";
+      sha512 = "242f2c9b2a7821bbd6601f4aeccbfe8f9c31556a061c0200b1139ce28c613c3781fa0ece4c9674c19a2283f647b2804820f29e26cba9ecfdc53a6b05964e2762";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ja/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ja/thunderbird-52.6.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "78445e5bb7211d7319609edb30e063c3584ed8c92eb4fb2953520720125306c28905e2248eb5825d6bc09399d38e35f37be57707e64edd3aae555b4ea748205f";
+      sha512 = "1686f8cfc156744f2e9c02afa19ca00ac29db0e6f9b07900aae9b068928ff30431350ddb75824918df5a64e076d88b312f1055b74db44ec7cb909d505d2c013d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/kab/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/kab/thunderbird-52.6.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "7ad9d0213a2cd6297cf899f311ea3b8a7493f8596c352c351aa5aae3c7b0639c787dfda9d63adde7b2d920277c09d987b690506c762e24da16d86f985cb8f846";
+      sha512 = "cadfcf6a02732831411f180d0363d3c3cb08e31d7d108b5f55d14bb75b6c48a744b40ec2a964f659904fde4c5e82ea8b89651db55406e5327db41c6f15f74416";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ko/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ko/thunderbird-52.6.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "a76a8acadbf082a7fbaecae8798fbb3fec4d03515db2f0a7d2d10d15ef468c128329e79f68e9b0075c4a7767bf56de5d3f1f5521cfa7beaad2fa2026fecb43f2";
+      sha512 = "4b4e6bc229049210695536a0e12d685995bf439ab8b2b7879142c93cc749882ed79b98063fabd4df97503e771f585cbfc1590b2a3815a6121a7e43417addaaad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/lt/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/lt/thunderbird-52.6.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "cd8911a16d2662f5b80b76b04013113a8e9a231d25404afebe29852b5335d587a1dd22aaa74727c1b74ae5b26ffbd0f4723fc86ecef5c43397485a5199d65b71";
+      sha512 = "5d73c90f57e50500debfccb555183cb616ac9d893a19ee29fe22f4823085bd62aea156fd5c0f0f6ff49291636c4d90af253096416aeb87982da5455bf548a40b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/nb-NO/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nb-NO/thunderbird-52.6.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "3a82189796c1bbbe4633ef7beb054cd5f324504173678aae2763714b4ca25b04bce479eb63d89abe920c89ce7a4159eefa5e27b6e5959d2bea01a4cd53e13e58";
+      sha512 = "0adf9e6b10010ea5cce216a510e53fc5dc9c2066eceacf3c3c6bda7526b3bfef1083b130c08432dc59f09e02e19f0c4a5b885cb43627771aec00d78828377eb6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/nl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nl/thunderbird-52.6.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "63e40217f5abea50375c0fc0060cab6c6291acb25d468edde8a14751c0693f0e9d751cbdee339a2c141269edad6c4ac87ec37f440257b5a78492bc43e66a9cd6";
+      sha512 = "372e39c33a78e70d628fc1bc1a9719b3d902d67eead4e47091b40913a4aa76dac63db003cae8113f7d194cc6fd24cad13c4e87aefd1d6bf425434835c983ca7a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/nn-NO/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/nn-NO/thunderbird-52.6.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "bfa15dfb0606ca225ec370426b983a17c614dc850b665e40ba648504f5d9bf556a2f31ec20533fe739ff94f57f3eb5486f422972c7ed8c08d8cd7c8a023f9937";
+      sha512 = "1c66f021fbdf85e1aaed26e5a6d3abcbc9d71e91126bca10a6f8b62b10abf3927a44ae559136478fd9628dfe3409c4edd83f3336302c84fb0b6be6d4031dbb3a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/pa-IN/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pa-IN/thunderbird-52.6.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "6989775d3e36ec43aeccf3db32627d3f1be13021943a088385313fc7111d4288b8daa32ec37a9679353d68a9f15761fac2f7a4eb7dc1a60e3d15598296b11f82";
+      sha512 = "aba5a6804f08eb303e71aba94b11116f253dd19dd31e10c05ad5469800378ffef678a90a8a33db2da516bb55ea2d1d1b5537c3c11ff9132ce9ce890fb4e8e413";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/pl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pl/thunderbird-52.6.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "05d252299552f987641be34e5f3462d56b08b01a66637b2d039d1a39f2fdb1b9b986ecd353bc69290bd64b5858b2e7fb7c928209cdbb98b27fca479ec8f959b4";
+      sha512 = "19559239283420bac401dfefec812bbc18d33483380c44f217b70d9412b3d93f9ab3c2f5d9d518191fd891316e9ccb5b21f901676026f7ad2414a4541d584f98";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/pt-BR/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pt-BR/thunderbird-52.6.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "b40deb4d5239e335f2c2e65d676cb6528c3320ee28bc9d83dd53bae2a486bcce2921726309754cc0bc155d3f8a0f56d69aa98e782bb4b8375cfcebfee5f58320";
+      sha512 = "64ada0291a3da9713eb81cd05ddbcddd70379bf07a14e019580bbb7b5fea4976ad7aeae87a651da070139e975bb52f66271ed3124eeada4d6a90f4afed948d3f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/pt-PT/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/pt-PT/thunderbird-52.6.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "0afa965096f5a79b79b3e49af1758dc200ceb8161192a97d260313f9582f1c8b7a1d4e54e093cca6b9c92a9458dd38ba0493fdd1d6567f0505a90fc9bd97f09a";
+      sha512 = "ce57a764ee2a529d7e37b6d620cf7c3825f7af1cc04da0502d64d2a7fb577a27a171a4f5d589c3f5e738192241776be4119d45958b2d77fbe3ae4f82279ab380";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/rm/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/rm/thunderbird-52.6.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "c9babc6d6e85936a251d4f7214991a06a3b92c6ae207a8012fe14cffb277a6b2468213a4ba94672a360bfdf9f4b817b8663cc15ceeafb79a63cbac13310e1aca";
+      sha512 = "04bc57c8360be5917fe2e05b6b672fab614ea5a6ff150c83242ee20e89756f2f24afa096249fad5f2795c47e570815281bce70449385efc5e510c64204e5f7cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ro/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ro/thunderbird-52.6.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "86f303e7878cb988ee1773e6de2ea6b433028d4bfd40d9388384b14b5343b1de9b6b5084f92f1c95b4110ecc7fda669ed98d50dbb6266a775f4e058d5083e24a";
+      sha512 = "86c790e5b3faeface66d001ea9e56006ac2955883337204e5f79764cdf74860df210688f8467c9f7b0051c9efd5cdbc5c98b615656155b99361bbba656254a47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ru/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ru/thunderbird-52.6.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "d262ad2a73ab34bdecf6d180840922bfe16fdd4dc7097ccd900712d99ca915da648f2a196accbf6ff9946d9fc48c674e9eb0f0bafdfc94cd6f9069139cf0f036";
+      sha512 = "cbf316a94b64d02ee83fdafddbb60daac5157ea11c57889703bde88e3c4baec720dde515e9864f021cbb39e6945a33ccf909623fda0abe542e07b11eab8154d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/si/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/si/thunderbird-52.6.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "6b39cd9501b2dc44d033efe9524c5865cad8fdfd8224a51fb04679227e5306d67d05a9acaf4f5810cd67e6d10b1afc69ff80e63a7926616c35c79ecc3f02d93b";
+      sha512 = "cf0dddbe01bddd623ce5052f0a72dee9da4eb5de1932d0a0a656baba55c79eaec51387e37f74c1a1a754ee71def8c972af5dda5a5bf9e78c19a2c11c1cc42e57";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/sk/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sk/thunderbird-52.6.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "356c86279387b023540fba86f73376b1be12413887f8ea2c3b706ccc268aad282d77b7eb863e58d6f15f66516dd4bd8f56a8f413815753dfd6496f81ee842aea";
+      sha512 = "5c70a7e8a47e44a47eac2d00526c4c8da340121c1fc8c136b3b40cbe0809548e9cde6d6dc76d1ad679d7bdedefdaf3fc373b2c124cca6b36a9cdb9f4e6da939a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/sl/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sl/thunderbird-52.6.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "86d035a6b7108fab33582eb665afce9063e3d55b0c468b81569503cdde7ffe169de227024e94a60dd45e39073eaa3c3f313bf061c0ba492b66f75f79941c6100";
+      sha512 = "9bbaf000fd2c1fe28f0f64c31c7736a2595399788498ae8be8fdac8dabc709efeacd8fb1f6ae8a095c130ff7620e1b7c6e909959b9c724b7bde736049664357c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/sq/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sq/thunderbird-52.6.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "f2dd5958774c81710aa59d7c9cf8543c86d82cd21da16b13ad1580cb2680df5caf973cf28a505fb994ad809264deeceea8806641fa27b9df5a7f26c725030515";
+      sha512 = "6f8d71fa87777b11f5ebf14c6811ce9a0c2c380db5b7f3fe774219cc60bea6d4f59de8a3dd193d855725c3a0e5470b36dc0538f94539d637be14de5d8e480c7b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/sr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sr/thunderbird-52.6.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "47a96a821fb825b6624262bbc0138027b842a9a69985af8903a7bfd435f6cbd3211e382899f3cc989cf716759aad927a8be22b2500f42f75362cfad09dbe67fe";
+      sha512 = "0bbcd2a98f767a8836d054a97c797a0ea7eac5c08fed9177189474e47e8dc50d395735c0eaf8c6e839ac608084c6e533a3b20fda5e69ad74ada53636f1181359";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/sv-SE/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/sv-SE/thunderbird-52.6.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "978c8c41034137361663f2b12818477baac0e795e4c1ca7f7a013a8e1bb68534ef2a8a9d73e31c1ded7461bc5dc6298fc628dc6190b3657ce415f9687a3ed85e";
+      sha512 = "22cc597657e44124162a6b8693022bd4086e3b4e0f9e42342c997bd333e1182163f0ca0c67d91cbb5e18c45605c877eb69d00372c86a9378ed2e7846547f3964";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/ta-LK/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/ta-LK/thunderbird-52.6.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "970405c59d2589e49c53f0ab37e959c6f3b94bac41929ac6d5776c7b78b91bc0f8a6c1acee1557338b76bb8fc2a9f62f179a0ad10a0a8c984254d39577402556";
+      sha512 = "902832bf66b2efd39cf038e9361bf0ee8f9682e73a42895ccf6bb637eeabb8d4d5e8b3b3d28bfa52e537ad1babee6bbb8d033c538a61880920ace6a4a7cadf95";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/tr/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/tr/thunderbird-52.6.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "cec76a997708b5339d5e49baea40125226f4bd708fa57f43f7812e2c7be686515986b90ab6ee525dadcaccbd9b9ea2c961e1a645b2c9634062e3e0c9c00ce2dc";
+      sha512 = "70dbb015aa4acf35d5cba0e9d8916bed2603c7e44574c98e98e56edfb68db3ab572402fda5c809d838c51a2e3f135cd3b86f2dde44acd2e1ae2f12cecc276655";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/uk/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/uk/thunderbird-52.6.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "be710c5a5d28b34136ad72456ab9893d7c31dc0f3eea8cfc38d70169c37df5c96fb3aa18b72555e081115d0791f3a634325da191ac004ffc6a38d1412e140e95";
+      sha512 = "9fd85a4f4366caea3409cca47df70d2f028c7d85c248ebbe5e7e92005d98d45947639fae2aac8a145e4cad12cc92e368b9f86de4623a7d1a35e0485fb35cff97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/vi/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/vi/thunderbird-52.6.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "7d1f59f1fd78609700b6d6246087b88c5190139c79e7e60f2eaba91908ff0afbac0bce0e2a60594cda0800cf68ab0b5568702e0cfcfd1718e4cf46a88f20bc01";
+      sha512 = "205b22a39b795946f019cbb9e8c1813a0ca9f59551c9ea30c661fbe43bbf1d87069dd3992e71c83226b2559cdb4db2186b37120c847367b6a4e1b16aba24510f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/zh-CN/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/zh-CN/thunderbird-52.6.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "5763d93646a83b8a88e8c4b1c1c72101831f72323b600d576619330e2cf77ac7a9dc668aef5ef59188e0f467db900d1d8f3c2ef299f422f83de51f53519c70be";
+      sha512 = "d1a9247b1db70ddba4f0cf80af7b8606e6bf006b31d3e771a4047dd7ccd121114bab900c38c02f36c4b60636caae75047f153bafd06aacf1b546c3d8af01806a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.5.2/linux-i686/zh-TW/thunderbird-52.5.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/52.6.0/linux-i686/zh-TW/thunderbird-52.6.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "cd593b08ed5f31dd89b44e9b79b1db324c51facf63e9d9c0c2ad847b9cc13a0548e831a87078c9c0ae910512c4855e6f3ae22d1c40189e082ff6ff26224c35b4";
+      sha512 = "a92b42e7e1869ad91d8343072d508df6bb8e67ddf7d929d4911457c5bba04fc1ec7d3218685954a4ded7ecf819bfbef975813fb2bbb9d1da60444b83f1f0fdb9";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 720b20e71290..bfbd97001973 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.5.2";
+  version = "52.6.0";
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "d626d3d37959539b15b5d2ae4a580fcc160380974bfc1a69a1fc8ff2435932e90a69fa386d5ecb6721d9154603c6b7d063e3368f6f995fea057eb593c06ef4ff";
+    sha512 = "80742c95ed61d1cb2e72b71bb23bdd211a40240ab4393e9f028a38f902547372084a8f56445e2394484be088a7b9801405f3d6618fb2742601cc968bf34427f0";
   };
 
   # New sed no longer tolerates this mistake.
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index dd4491be3410..d8029f02a6f0 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, pkgconfig
+{ stdenv, fetchurl, fetchgit, fetchpatch, pkgconfig
 , qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
 , alsaLib, python
 , jackSupport ? false, libjack2 ? null
@@ -17,7 +17,7 @@ let
   generic = overrides: source: stdenv.mkDerivation (source // overrides // {
     name = "${overrides.type}-${source.version}";
 
-    patches = optional jackSupport ./mumble-jack-support.patch;
+    patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
 
     nativeBuildInputs = [ pkgconfig python ]
       ++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}"
@@ -116,6 +116,13 @@ let
       url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz";
       sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
     };
+
+    # Fix compile error against boost 1.66 (#33655):
+    patches = singleton (fetchpatch {
+      url = "https://github.com/mumble-voip/mumble/commit/"
+          + "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
+      sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
+    });
   };
 
   gitSource = rec {
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index 3edf45d9acd9..904a6812c489 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
     homepage = http://x2go.org/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/sync/rsync/base.nix b/pkgs/applications/networking/sync/rsync/base.nix
index 69613c489e1e..abc1f27e4f60 100644
--- a/pkgs/applications/networking/sync/rsync/base.nix
+++ b/pkgs/applications/networking/sync/rsync/base.nix
@@ -1,42 +1,21 @@
 { stdenv, fetchurl, fetchpatch }:
 
 rec {
-  version = "3.1.2";
+  version = "3.1.3";
   src = fetchurl {
     # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
     url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
-    sha256 = "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc";
+    sha256 = "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m";
+  };
+  upstreamPatchTarball = fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
+    url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
+    sha256 = "167vk463bb3xl9c4gsbxms111dk1ip7pq8y361xc0xfa427q9hhd";
   };
-  patches = [
-    (fetchurl {
-      # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
-      url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
-      sha256 = "09i3dcl37p22dp75vlnsvx7bm05ggafnrf1zwhf2kbij4ngvxvpd";
-    })
-    (fetchpatch {
-      name = "CVE-2017-16548.patch";
-      url = "https://git.samba.org/rsync.git/?p=rsync.git;a=commitdiff_plain;h=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1;hp=bc112b0e7feece62ce98708092306639a8a53cce";
-      sha256 = "1dcdnfhbc5gd0ph7pds0xr2v8rpb2a4p7l9c1wml96nhnyww1pg1";
-    })
-    (fetchpatch {
-      name = "CVE-2017-17433.patch";
-      url = "https://git.samba.org/?p=rsync.git;a=patch;h=3e06d40029cfdce9d0f73d87cfd4edaf54be9c51";
-      sha256 = "1kvnh6znp37a447h9fm2pk7v4phx20bk60j4wbsd92xlpp7vck52";
-    })
-    (fetchpatch {
-      name = "CVE-2017-17434-patch1.patch";
-      url = "https://git.samba.org/?p=rsync.git;a=patch;h=5509597decdbd7b91994210f700329d8a35e70a1";
-      sha256 = "16gg670s6b4gn3fywkkagixkpkpf31a3fiqx2a544640pblbgvyx";
-    })
-    (fetchpatch {
-      name = "CVE-2017-17434-patch2.patch";
-      url = "https://git.samba.org/?p=rsync.git;a=patch;h=70aeb5fddd1b2f8e143276f8d5a085db16c593b9";
-      sha256 = "182pc5bk1i57ganyn51bcs6vi2fib7zcw4kz3iyqkzihnjds10a6";
-    })
-  ];
 
   meta = with stdenv.lib; {
-    homepage = http://rsync.samba.org/;
+    description = "Fast incremental file transfer utility";
+    homepage = https://rsync.samba.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 8c66e41f4cd2..f1e3f6b7301c 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   mainSrc = base.src;
 
-  patchesSrc = base.patches;
+  patchesSrc = base.upstreamPatchTarball;
 
   srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
   patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
new file mode 100644
index 000000000000..5e4f9738d445
--- /dev/null
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub, libnotify, librsvg, psmisc, gtk3, substituteAll, syncthing, wrapGAppsHook, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3, bcrypt, gobjectIntrospection }:
+
+buildPythonApplication rec {
+  version = "0.9.2.7";
+  name = "syncthing-gtk-${version}";
+
+  src = fetchFromGitHub {
+    owner = "syncthing";
+    repo = "syncthing-gtk";
+    rev = "v${version}";
+    sha256 = "08k7vkibia85klwjxbnzk67h4pphrizka5v9zxwvvv3cisjiclc2";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    # For setup hook populating GI_TYPELIB_PATH
+    gobjectIntrospection
+  ];
+
+  buildInputs = [
+    gtk3 (librsvg.override { enableIntrospection = true; })
+    libnotify
+    # Schemas with proxy configuration
+    gnome3.gsettings_desktop_schemas
+  ];
+
+  propagatedBuildInputs = [
+    dateutil pyinotify pygobject3 bcrypt
+  ];
+
+  patches = [
+    ./disable-syncthing-binary-configuration.patch
+    (substituteAll {
+      src = ./paths.patch;
+      killall = "${psmisc}/bin/killall";
+      syncthing = "${syncthing}/bin/syncthing";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "version = get_version()" "version = '${version}'"
+    substituteInPlace scripts/syncthing-gtk --replace "/usr/share" "$out/share"
+    substituteInPlace syncthing_gtk/app.py --replace "/usr/share" "$out/share"
+    substituteInPlace syncthing_gtk/uisettingsdialog.py --replace "/usr/share" "$out/share"
+    substituteInPlace syncthing_gtk/wizard.py --replace "/usr/share" "$out/share"
+    substituteInPlace syncthing-gtk.desktop --replace "/usr/bin/syncthing-gtk" "$out/bin/syncthing-gtk"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GTK3 & python based GUI for Syncthing";
+    maintainers = with maintainers; [ ];
+    platforms = syncthing.meta.platforms;
+    homepage = https://github.com/syncthing/syncthing-gtk;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
new file mode 100644
index 000000000000..6c516e98acb1
--- /dev/null
+++ b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
@@ -0,0 +1,77 @@
+--- a/find-daemon.glade
++++ b/find-daemon.glade
+@@ -112,6 +112,7 @@
+                   <object class="GtkEntry" id="vsyncthing_binary">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="margin_right">20</property>
+                     <signal name="changed" handler="cb_check_value" swapped="no"/>
+                   </object>
+@@ -126,6 +127,7 @@
+                     <property name="label" translatable="yes">_Browse...</property>
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="receives_default">True</property>
+                     <property name="use_underline">True</property>
+                     <property name="yalign">0.51999998092651367</property>
+--- a/syncthing_gtk/configuration.py
++++ b/syncthing_gtk/configuration.py
+@@ -168,6 +168,8 @@
+ 			yield k
+ 	
+ 	def get(self, key):
++		if key == "syncthing_binary":
++			return self.REQUIRED_KEYS[key][1]
+ 		return self.values[key]
+ 	
+ 	def set(self, key, value):
+--- a/syncthing_gtk/finddaemondialog.py
++++ b/syncthing_gtk/finddaemondialog.py
+@@ -163,7 +163,7 @@
+ 		self["lblDownloadProgress"].set_markup(_("Download failed."))
+ 		self["btDownload"].set_visible(True)
+ 		self["pbDownload"].set_visible(False)
+-		self["vsyncthing_binary"].set_sensitive(True)
++		self["vsyncthing_binary"].set_sensitive(False)
+ 		self["btBrowse"].set_sensitive(True)
+ 		self["btSave"].set_sensitive(True)
+ 	
+@@ -179,7 +179,7 @@
+ 	
+ 	def cb_extract_finished(self, downloader, *a):
+ 		""" Called after extraction is finished """
+-		self["vsyncthing_binary"].set_sensitive(True)
++		self["vsyncthing_binary"].set_sensitive(False)
+ 		self["btBrowse"].set_sensitive(True)
+ 		self["vsyncthing_binary"].set_text(downloader.get_target())
+ 		self["lblDownloadProgress"].set_markup("<b>" + _("Download finished.") + "</b>")
+--- a/syncthing_gtk/wizard.py
++++ b/syncthing_gtk/wizard.py
+@@ -60,7 +60,6 @@
+ 		self.quit_button.connect("clicked", lambda *a : self.emit("cancel"))
+ 		# Pages
+ 		self.add_page(IntroPage(self))
+-		self.add_page(FindDaemonPage())
+ 		self.add_page(GenerateKeysPage())
+ 		self.add_page(HttpSettingsPage())
+ 		self.add_page(SaveSettingsPage())
+--- a/ui-settings.glade
++++ b/ui-settings.glade
+@@ -943,6 +943,7 @@
+                     <property name="label" translatable="yes">_Browse...</property>
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="receives_default">True</property>
+                     <property name="use_underline">True</property>
+                     <property name="yalign">0.51999998092651367</property>
+@@ -974,6 +975,7 @@
+                   <object class="GtkEntry" id="vsyncthing_binary">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
++                    <property name="sensitive">False</property>
+                     <property name="hexpand">True</property>
+                     <signal name="changed" handler="cb_check_value" swapped="no"/>
+                   </object>
diff --git a/pkgs/applications/networking/syncthing-gtk/paths.patch b/pkgs/applications/networking/syncthing-gtk/paths.patch
new file mode 100644
index 000000000000..0ba5a4f2db84
--- /dev/null
+++ b/pkgs/applications/networking/syncthing-gtk/paths.patch
@@ -0,0 +1,22 @@
+--- a/syncthing_gtk/configuration.py
++++ b/syncthing_gtk/configuration.py
+@@ -30,7 +30,7 @@
+ 		"autokill_daemon"			: (int, 2),	# 0 - never kill, 1 - always kill, 2 - ask
+ 		"daemon_priority"			: (int, 0), # uses nice values
+ 		"max_cpus"					: (int, 0), # 0 for all cpus
+-		"syncthing_binary"			: (str, "/usr/bin/syncthing"),
++		"syncthing_binary"			: (str, "@syncthing@"),
+ 		"syncthing_arguments"		: (str, ""),
+ 		"minimize_on_start"			: (bool, False),
+ 		"folder_as_path"			: (bool, True),
+--- a/syncthing_gtk/tools.py
++++ b/syncthing_gtk/tools.py
+@@ -303,7 +303,7 @@
+ 			return False
+ 		# signal 0 doesn't kill anything, but killall exits with 1 if
+ 		# named process is not found
+-		p = Popen(["killall", "-u", os.environ["USER"], "-q", "-s", "0", "syncthing"])
++		p = Popen(["@killall@", "-u", os.environ["USER"], "-q", "-s", "0", "syncthing"])
+ 		p.communicate()
+ 		return p.returncode == 0
+ 	else:
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 1a79e31a05d8..f5e8876e2b34 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.43";
+  version = "0.14.44";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "1n09zmp9dqrl3y0fa0l1gx6f09j9mm3xdf7b58y03znspsg7mxhi";
+    sha256 = "1gdkx6lbzmdz2hqc9slbq41rwgkxmdisnj0iywx4mppmc2b4v6wh";
   };
 
   buildInputs = [ go removeReferencesTo ];
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index c3424e2fc779..7c059b6f9fde 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://humdi.net/vnstat/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
index 2923a30b2ef0..4b68285c3f1a 100644
--- a/pkgs/applications/networking/znc/modules.nix
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -15,6 +15,26 @@ let
 
 in rec {
 
+  backlog = zncDerivation rec {
+    name = "znc-backlog-${version}";
+    version = "git-2017-06-13";
+    module_name = "backlog";
+
+    src = fetchFromGitHub {
+      owner = "FruitieX";
+      repo = "znc-backlog";
+      rev = "42e8f439808882d2dae60f2a161eabead14e4b0d";
+      sha256 = "1k7ifpqqzzf2j7w795q4mx1nvmics2higzjqr3mid3lp43sqg5s6";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Request backlog for IRC channels.";
+      homepage = https://github.com/fruitiex/znc-backlog/;
+      license = licenses.asl20;
+      maintainers = with maintainers; [ infinisil ];
+    };
+  };
+
   clientbuffer = zncDerivation rec {
     name = "znc-clientbuffer-${version}";
     version = "git-2015-08-27";
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index f6c4728eb531..d17cd2a7ab75 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
     perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
   ];
+  propagatedUserEnvPkgs = [ gconf ];
 
   configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
 
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 1d90e8be282a..3d63b4195a27 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , hicolor_icon_theme, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.1.6";
+  name = "homebank-5.1.7";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "1q4h890g6a6pm6kfiavbq9sbpsnap0f854sja2y5q3x0j0ay2q98";
+    sha256 = "19szz86jxya8v4r3pa5czng9q2kn5hhbk273x1wqvdv40z0577jp";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index cd59f78b6c67..c8948d13cf7f 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , defaultIconTheme, glib, ncurses, xmlsec, epoxy, gpgme
-, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" "it" ]
+, langs ? [ "ca" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "nl" "pl" "ru" "sl" ]
 , withHelp ? true
 , kdeIntegration ? false
 }:
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 679afaa2dce5..5070de5262e5 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , defaultIconTheme, glib, ncurses
-, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" "it" ]
+, langs ? [ "ca" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "nl" "pl" "ru" "sl" ]
 , withHelp ? true
 }:
 
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 1aaf05a123e1..436644ef247f 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   name = "skrooge-${version}";
-  version = "2.9.0";
+  version = "2.10.5";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
-    sha256 = "1dbvdrkdpgv39v8h7k3mri0nzlslfyd5kk410czj0jdn4qq400md";
+    sha256 = "1c1yihypb6qgbzfcrw4ylqr9zivyba10xzvibrmfkrilxi6i582n";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix
new file mode 100644
index 000000000000..88b65be07656
--- /dev/null
+++ b/pkgs/applications/office/spice-up/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, fetchFromGitHub
+, gettext
+, libxml2
+, pkgconfig
+, gtk3
+, granite
+, gnome3
+, json_glib
+, cmake
+, ninja
+, libgudev
+, libevdev
+, vala
+, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "spice-up-${version}";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "Philip-Scott";
+    repo = "Spice-up";
+    rev = version;
+    sha256 = "0cbyhi6d99blv33183j6nakzcqxz5hqy9ijykiasbmdycfd5q0fh";
+  };
+  USER = "nix-build-user";
+
+  XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
+    "${granite}/share"
+    "${gnome3.libgee}/share"
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    wrapGAppsHook
+    vala
+    cmake
+    ninja
+    gettext
+    libxml2
+  ];
+  buildInputs = [
+    gtk3
+    granite
+    gnome3.libgee
+    json_glib
+    libgudev
+    libevdev
+    gnome3.gnome_themes_standard
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Create simple and beautiful presentations on the Linux desktop";
+    homepage = https://github.com/Philip-Scott/Spice-up;
+    maintainers = with maintainers; [ samdroid-apps ];
+    platforms = platforms.linux;
+    # The COPYING file has GPLv3; some files have GPLv2+ and some have GPLv3+
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix
index da096acc27fc..be5ac7a2f2be 100644
--- a/pkgs/applications/office/wordgrinder/default.nix
+++ b/pkgs/applications/office/wordgrinder/default.nix
@@ -16,8 +16,7 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
     "LUA_INCLUDE=${lua52Packages.lua}/include"
     "LUA_LIB=${lua52Packages.lua}/lib/liblua.so"
-    "XFT_PACKAGE=--libs=\{-lX11 -lXft\}"
-  ];
+  ] ++ stdenv.lib.optional stdenv.isLinux "XFT_PACKAGE=--libs=\{-lX11 -lXft\}";
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
@@ -37,11 +36,12 @@ stdenv.mkDerivation rec {
   ];
 
   # To be able to find <Xft.h>
-  NIX_CFLAGS_COMPILE = "-I${libXft.dev}/include/X11";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isLinux "-I${libXft.dev}/include/X11";
 
   # Binaries look for LuaFileSystem library (lfs.so) at runtime
   postInstall = ''
     wrapProgram $out/bin/wordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/xwordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
   '';
 
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = https://cowlark.com/wordgrinder;
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix
index d6e00659c1a9..406f42e9ad7b 100644
--- a/pkgs/applications/science/biology/bedtools/default.nix
+++ b/pkgs/applications/science/biology/bedtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "bedtools-${version}";
-  version = "2.26.0";
+  version = "2.27.1";
 
   src = fetchFromGitHub {
     owner = "arq5x";
     repo = "bedtools2";
     rev = "v${version}";
-    sha256 = "1j2ia68rmcw3qksjm5gvv1cb84bh76vmln59mvncr2an23f5a3ss";
+    sha256 = "1pk68y052rm2m24yfmy82ms8p6kd6xcqxxgi7n0a1sbh89wllm6s";
   };
 
   buildInputs = [ zlib python ];
diff --git a/pkgs/applications/science/biology/bowtie2/default.nix b/pkgs/applications/science/biology/bowtie2/default.nix
index 05a85cafedf1..f04b81ea9795 100644
--- a/pkgs/applications/science/biology/bowtie2/default.nix
+++ b/pkgs/applications/science/biology/bowtie2/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "bowtie2";
-  version = "2.3.3.1";
+  version = "2.3.4";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "BenLangmead";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pcyks76bnnkq6h0gqjw4fkdddjjnw7k5ibim7ajkbvfw58a99y0";
+    sha256 = "15k86ln1xgqkyk8ms09cgdhagz49jpvr6ij6mha1f9ga5fxnnp1m";
   };
 
   buildInputs = [ zlib tbb ];
diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix
index bc13032f1aac..d1dbacf053fb 100644
--- a/pkgs/applications/science/biology/bwa/default.nix
+++ b/pkgs/applications/science/biology/bwa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "bwa-${version}";
-  version = "0.7.16a";
+  version = "0.7.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/bio-bwa/${name}.tar.bz2";
-    sha256 = "0w61zxh6b4isydw5qp6pdb1mc50jg1h8vhahw2xm24w7i1gxpv4g";
+    sha256 = "1zfhv2zg9v1icdlq4p9ssc8k01mca5d1bd87w71py2swfi74s6yy";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index a2a40f0acc80..13cb407391c0 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "igv-${version}";
-  version = "2.3.98";
+  version = "2.4.6";
 
   src = fetchurl {
-    url = "http://data.broadinstitute.org/igv/projects/downloads/IGV_${version}.zip";
-    sha256 = "1bjdsvx8jsbcry6v7yfclh3vrlsvaw38f3s9587lklj63zj638l2";
+    url = "http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
+    sha256 = "00p9xhfn6snzm31q9l3dxccsj7rhlci8n3pgpy3k67q91mi2hkna";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
new file mode 100644
index 000000000000..d80ffea9a780
--- /dev/null
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, hdf5, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "kallisto-${version}";
+  version = "0.43.1";
+
+  src = fetchFromGitHub {
+    repo = "kallisto";
+    owner = "pachterlab";
+    rev = "v${version}";
+    sha256 = "04697pf7jvy7vw126s1rn09q4iab9223jvb1nb0jn7ilwkq7pgwz";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  
+  buildInputs = [ hdf5 zlib ];
+
+  meta = with stdenv.lib; {
+    description = "kallisto is a program for quantifying abundances of transcripts from RNA-Seq data";
+    homepage = https://pachterlab.github.io/kallisto;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.arcadio ];
+  };
+}
diff --git a/pkgs/applications/science/biology/muscle/default.nix b/pkgs/applications/science/biology/muscle/default.nix
new file mode 100644
index 000000000000..9cbabc7ab37e
--- /dev/null
+++ b/pkgs/applications/science/biology/muscle/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  _name   = "muscle";
+  name    = "${_name}-${version}";
+  version = "3.8.31";
+
+  src = fetchurl {
+    url = "https://www.drive5.com/muscle/downloads${version}/${_name}${version}_src.tar.gz";
+    sha256 = "1b89z0x7h098g99g00nqadgjnb2r5wpi9s11b7ddffqkh9m9dia3";
+  };
+
+  patches = [
+    ./muscle-3.8.31-no-static.patch
+  ];
+
+  preBuild = ''
+    cd ./src/
+    patchShebangs mk
+  '';
+
+  installPhase = ''
+    install -vD muscle $out/bin/muscle
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A multiple sequence alignment method with reduced time and space complexity";
+    license     = licenses.publicDomain;
+    homepage    = https://www.drive5.com/muscle/;
+    maintainers = [ maintainers.unode ];
+    # NOTE: Supposed to be compatible with darwin/intel & PPC but currently fails.
+    # Anyone with access to these platforms is welcome to give it a try
+    platforms   = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch b/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch
new file mode 100644
index 000000000000..7f4b2129518d
--- /dev/null
+++ b/pkgs/applications/science/biology/muscle/muscle-3.8.31-no-static.patch
@@ -0,0 +1,21 @@
+--- a/src/mk	2010-05-02 01:15:42.000000000 +0200
++++ b/src/mk	2018-01-27 17:07:23.539092748 +0100
+@@ -5,14 +5,14 @@
+ rm -f *.o muscle.make.stdout.txt muscle.make.stderr.txt
+ for CPPName in $CPPNames
+ do
+-  echo $CPPName >> /dev/tty
++  echo $CPPName
+   g++ $ENV_GCC_OPTS -c -O3 -msse2 -mfpmath=sse -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 $CPPName.cpp -o $CPPName.o  >> muscle.make.stdout.txt 2>> muscle.make.stderr.txt
+ done
+ 
+ LINK_OPTS=
+-if [ `uname -s` == Linux ] ; then
+-    LINK_OPTS=-static
+-fi
++#if [ `uname -s` == Linux ] ; then
++#    LINK_OPTS=-static
++#fi
+ g++ $LINK_OPTS $ENV_LINK_OPTS -g -o muscle $ObjNames  >> muscle.make.stdout.txt 2>> muscle.make.stderr.txt
+ tail muscle.make.stderr.txt
+ 
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 3f17825202ea..5578a41f4441 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  version = "2.7.1";
+  version = "2.17.4";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0rcfcvy9zacqmh7nyqlm93hzsx6gfygmcf8d2p02h5l69gvygnb9";
+    sha256 = "00ffi8kkrlh72vjjkjpgi8zys3r9hkdk4xi82kcahch8pix4qzf2";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/applications/science/biology/raxml/default.nix b/pkgs/applications/science/biology/raxml/default.nix
new file mode 100644
index 000000000000..0bac6c778049
--- /dev/null
+++ b/pkgs/applications/science/biology/raxml/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, fetchFromGitHub
+, zlib
+, pkgs
+, mpi ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "RAxML";
+  version = "8.2.11";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "stamatak";
+    repo = "standard-${pname}";
+    rev = "v${version}";
+    sha256 = "08fmqrr7y5a2fmmrgfz2p0hmn4mn71l5yspxfcwwsqbw6vmdfkhg";
+  };
+
+  buildInputs = if mpi then [ pkgs.openmpi ] else [];
+
+  # TODO darwin, AVX and AVX2 makefile targets
+  buildPhase = if mpi then ''
+      make -f Makefile.MPI.gcc
+    '' else ''
+      make -f Makefile.SSE3.PTHREADS.gcc
+    '';
+
+  installPhase = if mpi then ''
+    mkdir -p $out/bin && cp raxmlHPC-MPI $out/bin
+  '' else ''
+    mkdir -p $out/bin && cp raxmlHPC-PTHREADS-SSE3 $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies";
+    license = licenses.gpl3;
+    homepage = https://sco.h-its.org/exelixis/web/software/raxml/;
+    maintainers = [ maintainers.unode ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 640f32671bbd..365057414e99 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "samtools";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "17p4vdj2j2qr3b2c0v4100h6cg4jj3zrb4dmdnd9d9aqs74d4p7f";
+    sha256 = "e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/science/biology/samtools/samtools-0.1.19-no-curses.patch b/pkgs/applications/science/biology/samtools/samtools-0.1.19-no-curses.patch
new file mode 100644
index 000000000000..a7782a1a0264
--- /dev/null
+++ b/pkgs/applications/science/biology/samtools/samtools-0.1.19-no-curses.patch
@@ -0,0 +1,22 @@
+diff --git a/Makefile b/Makefile
+index 2f51bfc..395d6f1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ CC=			gcc
+ CFLAGS=		-g -Wall -O2
+ #LDFLAGS=		-Wl,-rpath,\$$ORIGIN/../lib
+-DFLAGS=		-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1
++DFLAGS=		-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE # -D_CURSES_LIB=1
+ KNETFILE_O=	knetfile.o
+ LOBJS=		bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o	\
+ 			bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o bedidx.o \
+@@ -15,7 +15,7 @@ PROG=		samtools
+ INCLUDES=	-I.
+ SUBDIRS=	. bcftools misc
+ LIBPATH=
+-LIBCURSES=	-lcurses # -lXCurses
++LIBCURSES=	# -lcurses # -lXCurses
+ 
+ .SUFFIXES:.c .o
+ .PHONY: all lib
diff --git a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix
new file mode 100644
index 000000000000..a811bc4412f2
--- /dev/null
+++ b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "samtools";
+  version = "0.1.19";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/samtools/${name}.tar.bz2";
+    sha256 = "d080c9d356e5f0ad334007e4461cbcee3c4ca97b8a7a5a48c44883cf9dee63d4";
+  };
+
+  patches = [
+    ./samtools-0.1.19-no-curses.patch
+  ];
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man
+
+    cp samtools $out/bin
+    cp samtools.1 $out/share/man
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tools for manipulating SAM/BAM/CRAM format";
+    license = licenses.mit;
+    homepage = http://samtools.sourceforge.net/;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.unode ];
+  };
+}
diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix
new file mode 100644
index 000000000000..1642739140d6
--- /dev/null
+++ b/pkgs/applications/science/biology/star/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "star-${version}";
+  version = "2.5.3a";
+
+  src = fetchFromGitHub {
+    repo = "STAR";
+    owner = "alexdobin";
+    rev = version;
+    sha256 = "1fd9xl7i1zxgsxn2qf6gz8s42g2djm29qmp6qb35d8nnxh8ns54x";
+  };
+
+  sourceRoot = "source/source";
+  
+  postPatch = "sed 's:/bin/rm:rm:g' -i Makefile";
+  
+  buildInputs = [ zlib ];
+  
+  buildPhase = "make STAR STARlong";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp STAR STARlong $out/bin
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "Spliced Transcripts Alignment to a Reference";
+    homepage = https://github.com/alexdobin/STAR;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.arcadio ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix
new file mode 100644
index 000000000000..98499ca009af
--- /dev/null
+++ b/pkgs/applications/science/chemistry/molden/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, which, gfortran, mesa_glu, xorg } :
+
+stdenv.mkDerivation rec {
+  version = "5.7";
+  name = "molden-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
+    sha256 = "0gaq11gm09ax25lvgfrvxv9dxvi76hps116fp6k7sqgvdd68vf0s";
+  };
+
+  nativeBuildInputs = [ which ];
+  buildInputs = [ gfortran mesa_glu xorg.libX11 xorg.libXmu ];
+
+  postPatch = ''
+     substituteInPlace ./makefile --replace '-L/usr/X11R6/lib'  "" \
+                                  --replace '-I/usr/X11R6/include' "" \
+                                  --replace '/usr/local/' $out/ \
+                                  --replace 'sudo' "" \
+				                          --replace '-C surf depend' '-C surf'
+     sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile
+  '';
+
+  preInstall = ''
+     mkdir -p $out/bin
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+     description = "Display and manipulate molecular structures";
+     homepage = http://www.cmbi.ru.nl/molden/;
+     license = {
+       fullName = "Free for academic/non-profit use";
+       url = http://www.cmbi.ru.nl/molden/CopyRight.html;
+       free = false;
+     };
+     platforms = platforms.linux;
+     maintainers = with maintainers; [ markuskowa ];
+  };
+}
+
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
new file mode 100644
index 000000000000..2ff20fef40e8
--- /dev/null
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, symlinkJoin, gfortran, perl, procps
+, libyaml, libxc, fftw, openblas, gsl
+}:
+
+let
+  version = "7.2";
+  fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
+
+in stdenv.mkDerivation {
+  name = "octopus-${version}";
+
+  src = fetchurl {
+    url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
+    sha256 = "03zzmq72zdnjkhifbmlxs7ig7x6sf6mv8zv9mxhakm9hzwa9yn7m";
+  };
+
+  nativeBuildInputs = [ perl procps fftw.dev ];
+  buildInputs = [ libyaml gfortran libxc openblas gsl fftw.out ];
+
+  configureFlags = ''
+    --with-yaml-prefix=${libyaml}
+    --with-blas=-lopenblas
+    --with-lapack=-lopenblas
+    --with-fftw-prefix=${fftwAll}
+    --with-gsl-prefix=${gsl}
+    --with-libxc-prefix=${libxc}
+  '';
+
+  doCheck = false;
+  checkTarget = "check-short";
+
+  postPatch = ''
+    patchShebangs ./
+  '';
+
+  postConfigure = ''
+    patchShebangs testsuite/oct-run_testsuite.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Real-space time dependent density-functional theory code";
+    homepage = http://octopus-code.org;
+    maintainers = with maintainers; [ markuskowa ];
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/bitscope/common.nix b/pkgs/applications/science/electronics/bitscope/common.nix
index 90bf4dc840df..e1db7131a65b 100644
--- a/pkgs/applications/science/electronics/bitscope/common.nix
+++ b/pkgs/applications/science/electronics/bitscope/common.nix
@@ -65,6 +65,6 @@ let
     runScript = target;
   };
 in buildFHSUserEnv {
-  name = attrs.toolName;
+  name = "${attrs.toolName}-${attrs.version}";
   runScript = "${pkg.outPath}/bin/${attrs.toolName}";
 } // { inherit (pkg) meta name; }
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index b3f0b3259277..095aa5a7f8c8 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0irh9b4haz0pzzxrb4hwcss91a0xb499kjrcrmr2s59p3zq8bbd9";
   };
 
-  buildInputs = [ gmp cmake ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ gmp ];
   enableParallelBuilding = true;
 
   preConfigure = ''
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index 367449f44f38..081dc788163b 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple Theorem Prover";
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     license = licenses.mit;
   };
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 6a26ee6e3d68..e8feaa0acc44 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
-  version = "2018.01.10";
+  version = "2018.02.04";
 
   src = fetchFromGitHub {
-    owner  = "cliffordwolf";
+    owner  = "yosyshq";
     repo   = "symbiyosys";
-    rev    = "25936009bbc2cffd289c607ddf42a578527aa59c";
-    sha256 = "06idd8vbn4s2k6bja4f6lxjc4qwgbak2fhfxj8f18ki1xb3yqfh6";
+    rev    = "236f6412c1c1afe95d752eaf907f66f19c343134";
+    sha256 = "06bsvvkn9yhz9jvgf7a6pf407ab9m5qrr42niww666z967xdw4p0";
   };
 
   buildInputs = [ python3 yosys ];
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index d2188673fb7d..7bd19cfc520e 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
 , libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
 , less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
-, curl, Cocoa, Foundation, cf-private, libobjc, tzdata, fetchpatch
+, curl, Cocoa, Foundation, cf-private, libobjc, libcxx, tzdata, fetchpatch
 , withRecommendedPackages ? true
 , enableStrictBarrier ? false
 }:
@@ -19,10 +19,14 @@ stdenv.mkDerivation rec {
     pango pcre perl readline texLive xz zlib less texinfo graphviz icu
     pkgconfig bison imake which jdk openblas curl
   ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ tcl tk ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation cf-private libobjc ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
 
   patches = [ ./no-usr-local-search-paths.patch ];
 
+  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
+  '';
+
   preConfigure = ''
     configureFlagsArray=(
       --disable-lto
@@ -40,8 +44,8 @@ stdenv.mkDerivation rec {
       --enable-R-shlib
       AR=$(type -p ar)
       AWK=$(type -p gawk)
-      CC=$(type -p gcc)
-      CXX=$(type -p g++)
+      CC=$(type -p cc)
+      CXX=$(type -p c++)
       FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
       JAVA_HOME="${jdk}"
       RANLIB=$(type -p ranlib)
@@ -50,9 +54,9 @@ stdenv.mkDerivation rec {
       --without-tcltk
       --without-aqua
       --disable-R-framework
-      CC="clang"
-      CXX="clang++"
       OBJC="clang"
+      CPPFLAGS="-isystem ${libcxx}/include/c++/v1"
+      LDFLAGS="-L${libcxx}/lib"
   '' + ''
     )
     echo >>etc/Renviron.in "TCLLIBPATH=${tk}/lib"
diff --git a/pkgs/applications/science/math/almonds/default.nix b/pkgs/applications/science/math/almonds/default.nix
new file mode 100644
index 000000000000..fb76699b0c83
--- /dev/null
+++ b/pkgs/applications/science/math/almonds/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonApplication, fetchFromGitHub, ncurses, pillow, pytest }:
+
+let
+  version = "1.25b";
+in
+
+buildPythonApplication {
+  name = "almonds-${version}";
+  src = fetchFromGitHub {
+    owner = "Tenchi2xh";
+    repo = "Almonds";
+    rev = version;
+    sha256 = "0j8d8jizivnfx8lpc4w6sbqj5hq35nfz0vdg7ld80sc5cs7jr3ws";
+  };
+
+  nativeBuildInputs = [ pytest ];
+  buildInputs = [ ncurses ];
+  propagatedBuildInputs = [ pillow ];
+
+  checkPhase = "py.test";
+
+  meta = with stdenv.lib; {
+    description = "Terminal Mandelbrot fractal viewer";
+    homepage = https://github.com/Tenchi2xh/Almonds;
+    # No license has been specified
+    license = licenses.unfree;
+    maintainers = with maintainers; [ infinisil ];
+  };
+}
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index 24dc4436b0fd..686e93b5d5e2 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -18,6 +18,7 @@
 # - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath
 
 { stdenv
+, bash
 , fetchurl
 , perl
 , gfortran
@@ -26,13 +27,17 @@
 , gettext
 , which
 , texlive
+, texinfo
 , hevea
 }:
 
 stdenv.mkDerivation rec {
-  version = "8.0";
+  version = "8.1";
   name = "sage-${version}";
 
+  # Modified version of patchShebangs that patches to the sage-internal version if possible
+  # and falls back to the system version if not.
+  patchSageShebangs = ./patchSageShebangs.sh;
   src = fetchurl {
     # Note that the source is *not* fetched from github, since that doesn't
     # the upstream folder with all the source tarballs of the spkgs.
@@ -70,11 +75,12 @@ stdenv.mkDerivation rec {
       "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz"
       "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz"
     ];
-    sha256 = "1a9rhb8jby6fdqa2s7n2fl9jwqqlsl7qz7dbpbwvg6jwlrvni7fg";
+    sha256 = "1cpcs1mr0yii64s152xmxyd450bfzjb22jjj0zh9y3n6g9alzpyq";
   };
 
   postPatch = ''
     substituteAllInPlace src/bin/sage-env
+    bash=${bash} substituteAllInPlace build/bin/sage-spkg
   '';
 
   installPhase = ''
@@ -84,14 +90,16 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "doc" ];
 
   buildInputs = [
+    bash # needed for the build
     perl # needed for the build
     python # needed for the build
-    gfortran # needed to build giac
+    gfortran # needed to build giac, openblas
     autoreconfHook # needed to configure sage with prefix
     gettext # needed to build the singular spkg
     hevea # needed to build the docs of the giac spkg
     which # needed in configure of mpir
     # needed to build the docs of the giac spkg
+    texinfo # needed to build maxima
     (texlive.combine { inherit (texlive)
       scheme-basic
       collection-pstricks # needed by giac
@@ -102,18 +110,22 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  nativeBuildInputs = [ gfortran perl which ];
+
   patches = [
     # fix usages of /bin/rm
     ./spkg-singular.patch
     # help python find the crypt library
-    ./spkg-python2.patch
-    ./spkg-python3.patch
+    # patches python3 and indirectly python2, since those installation files are symlinked
+    ./spkg-python.patch
     # fix usages of /usr/bin/perl
     ./spkg-git.patch
     # fix usages of /bin/cp and add necessary argument to function call
     ./spkg-giac.patch
     # environment
     ./env.patch
+    # adjust wrapper shebang and patch shebangs after each spkg build
+    ./shebangs.patch
   ];
 
   enableParallelBuilding = true;
@@ -144,7 +156,14 @@ stdenv.mkDerivation rec {
   preBuild = ''
     # TODO do this conditionally
     export SAGE_SPKG_INSTALL_DOCS='no'
-    patchShebangs build
+    # symlink python to make sure the shebangs are patched to the sage path
+    # while still being able to use python before building it
+    # (this is important because otherwise sage will try to install python
+    # packages globally later on)
+    ln -s "${python}/bin/python2" $out/bin/python2
+    ln -s "$out/bin/python2" $out/bin/python
+    touch $out/bin/python3
+    bash $patchSageShebangs .
   '';
 
   postBuild = ''
@@ -153,9 +172,12 @@ stdenv.mkDerivation rec {
     rm -rf "$out/sage-root/src/.git"
     rm -r "$out/sage-root/logs"
     # Fix dependency cycle between out and doc
+    rm -f "$out/sage-root/config.log"
     rm -f "$out/sage-root/config.status"
     rm -f "$out/sage-root/build/make/Makefile-auto"
     rm -f "$out/sage-home/.sage/gap/libgap-workspace-"*
+    # Make sure all shebangs are properly patched
+    bash $patchSageShebangs $out
   '';
 
   # TODO there are some doctest failures, which seem harmless.
diff --git a/pkgs/applications/science/math/sage/patchSageShebangs.sh b/pkgs/applications/science/math/sage/patchSageShebangs.sh
new file mode 100644
index 000000000000..6ddf93af0114
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patchSageShebangs.sh
@@ -0,0 +1,51 @@
+# This is a slightly modified version of nix's default patchShebangs
+
+dir="$1"
+
+echo "patching sage internal script interpreter paths in $( readlink -f "$dir")"
+
+find "$dir" -type f -perm -0100 | while read f; do
+    if [ "$(head -1 "$f" | head -c+2)" != '#!' ]; then
+        # missing shebang => not a script
+        continue
+    fi
+
+    oldInterpreterLine=$(head -1 "$f" | tail -c+3)
+    read -r oldPath arg0 args <<< "$oldInterpreterLine"
+
+    if $(echo "$oldPath" | grep -q "/bin/env$"); then
+        # Check for unsupported 'env' functionality:
+        # - options: something starting with a '-'
+        # - environment variables: foo=bar
+        if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
+            echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
+            exit 1
+        fi
+        executable="$arg0"
+    else
+        if [ "$oldPath" = "" ]; then
+            # If no interpreter is specified linux will use /bin/sh. Set
+            # oldpath="/bin/sh" so that we get /nix/store/.../sh.
+            oldPath="/bin/sh"
+        fi
+        executable="$(basename "$oldPath")"
+        args="$arg0 $args"
+    fi
+
+    newPath="$(echo "$out/bin/$executable $args" | sed 's/[[:space:]]*$//')"
+    if [[ ! -x "$newPath" ]] ; then
+        newPath="$(command -v "$executable" || true)"
+    fi
+
+    # Strip trailing whitespace introduced when no arguments are present
+    newInterpreterLine="$(echo "$newPath $args" | sed 's/[[:space:]]*$//')"
+
+    if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
+        if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
+            echo "$f: sage interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
+            # escape the escape chars so that sed doesn't interpret them
+            escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
+            sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
+        fi
+    fi
+done
diff --git a/pkgs/applications/science/math/sage/shebangs.patch b/pkgs/applications/science/math/sage/shebangs.patch
new file mode 100644
index 000000000000..96ed5a4bc6c3
--- /dev/null
+++ b/pkgs/applications/science/math/sage/shebangs.patch
@@ -0,0 +1,36 @@
+diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg
+index 83e61a7e0d..942ba206c7 100755
+--- a/build/bin/sage-spkg
++++ b/build/bin/sage-spkg
+@@ -648,8 +648,12 @@ if ! sage-apply-patches; then
+     error_msg "Error applying patches"
+     exit 1
+ fi
++
++@bash@/bin/bash @patchSageShebangs@ .
++
+ cd ..
+ 
++
+ ##################################################################
+ # The package has been extracted, prepare for installation
+ ##################################################################
+@@ -671,7 +675,7 @@ write_script_wrapper() {
+     local tmpscript="$(dirname "$script")/.tmp-${script##*/}"
+ 
+     cat > "$tmpscript" <<__EOF__
+-#!/usr/bin/env bash
++#! @bash@/bin/bash
+ 
+ export SAGE_ROOT="$SAGE_ROOT"
+ export SAGE_SRC="$SAGE_SRC"
+@@ -833,6 +837,9 @@ if [ "$UNAME" = "CYGWIN" ]; then
+     sage-rebase.sh "$SAGE_LOCAL" 2>/dev/null
+ fi
+ 
++@bash@/bin/bash @patchSageShebangs@ .
++@bash@/bin/bash @patchSageShebangs@ "$out/bin"
++
+ echo "Successfully installed $PKG_NAME"
+ 
+ if [ "$SAGE_CHECK" = "yes" ]; then
diff --git a/pkgs/applications/science/math/sage/spkg-giac.patch b/pkgs/applications/science/math/sage/spkg-giac.patch
index 15b91433d254..c79d4422133d 100644
--- a/pkgs/applications/science/math/sage/spkg-giac.patch
+++ b/pkgs/applications/science/math/sage/spkg-giac.patch
@@ -1,10 +1,19 @@
---- old/build/pkgs/giac/spkg-install	2017-07-21 14:10:00.000000000 -0500
-+++ new/build/pkgs/giac/spkg-install	2017-10-15 15:55:55.321237645 -0500
-@@ -4,6 +4,8 @@
+diff --git a/build/pkgs/giac/spkg-install b/build/pkgs/giac/spkg-install
+index bdd8df6cb8..3fd7a3ef8a 100644
+--- a/build/pkgs/giac/spkg-install
++++ b/build/pkgs/giac/spkg-install
+@@ -2,6 +2,15 @@
  ## Giac
  ###########################################
  
-+find . -type f -exec sed -e 's@/bin/cp@cp@g' -i '{}' ';' && echo "Patching input parser" && find . -iname 'input_parser.cc'
++# Fix hardcoded paths, while making sure to only update timestamps of actually
++# changed files (otherwise confuses make)
++grep -rlF '/bin/cp' . | while read file
++do
++	sed -e 's@/bin/cp@cp@g' -i "$file"
++done
++
++# Fix input parser syntax
 +sed -e 's@yylex (&yylval)@yylex (\&yyval, scanner)@gp' -i 'src/src/input_parser.cc'
  
  if [ "$SAGE_LOCAL" = "" ]; then
diff --git a/pkgs/applications/science/math/sage/spkg-git.patch b/pkgs/applications/science/math/sage/spkg-git.patch
index ff9a7b2e491a..74f552dd3c36 100644
--- a/pkgs/applications/science/math/sage/spkg-git.patch
+++ b/pkgs/applications/science/math/sage/spkg-git.patch
@@ -1,12 +1,17 @@
 diff --git a/build/pkgs/git/spkg-install b/build/pkgs/git/spkg-install
-index 8469cb58c2..d0dc9a1db9 100755
+index 87874de3d8..b0906245fa 100644
 --- a/build/pkgs/git/spkg-install
 +++ b/build/pkgs/git/spkg-install
-@@ -35,6 +35,8 @@ fi
+@@ -33,6 +33,13 @@ fi
  
  cd src
  
-+find . -type f -exec sed -e 's@/usr/bin/perl@perl@g' -i '{}' ';'
++# Fix hardcoded paths, while making sure to only update timestamps of actually
++# changed files (otherwise confuses make)
++grep -rlF '/usr/bin/perl' . | while read file
++do
++	sed -e 's@/usr/bin/perl@perl@g' -i "$file"
++done
 +
  # We don't want to think about Fink or Macports
  export NO_FINK=1
diff --git a/pkgs/applications/science/math/sage/spkg-python.patch b/pkgs/applications/science/math/sage/spkg-python.patch
new file mode 100644
index 000000000000..e39981b6552a
--- /dev/null
+++ b/pkgs/applications/science/math/sage/spkg-python.patch
@@ -0,0 +1,13 @@
+diff --git a/build/pkgs/python3/spkg-build b/build/pkgs/python3/spkg-build
+index 56db087ae5..b450703c5f 100644
+--- a/build/pkgs/python3/spkg-build
++++ b/build/pkgs/python3/spkg-build
+@@ -27,6 +27,8 @@ fi
+ export EXTRA_CFLAGS="`testcflags.sh -Wno-unused` $CFLAGS"
+ unset CFLAGS
+ 
++export LDFLAGS="$LDFLAGS -lcrypt"
++
+ if [ "$UNAME" = Darwin ]; then
+     PYTHON_CONFIGURE="--disable-toolbox-glue $PYTHON_CONFIGURE"
+ 
diff --git a/pkgs/applications/science/math/sage/spkg-python2.patch b/pkgs/applications/science/math/sage/spkg-python2.patch
deleted file mode 100644
index 5d92d3f8beaf..000000000000
--- a/pkgs/applications/science/math/sage/spkg-python2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- old/build/pkgs/python2/spkg-install	2017-07-21 14:10:00.000000000 -0500
-+++ new/build/pkgs/python2/spkg-install	2017-10-15 11:26:54.823134067 -0500
-@@ -22,6 +22,9 @@
- 
- cd src
- 
-+LDFLAGS="-lcrypt $LDFLAGS"
-+export LDFLAGS
-+
- if [ "$SAGE_DEBUG" = "yes" ]; then
-     echo "Building Python with pydebug"
-     PYTHON_CONFIGURE="$PYTHON_CONFIGURE --with-pydebug"
diff --git a/pkgs/applications/science/math/sage/spkg-python3.patch b/pkgs/applications/science/math/sage/spkg-python3.patch
deleted file mode 100644
index 51827fd11be0..000000000000
--- a/pkgs/applications/science/math/sage/spkg-python3.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- old/build/pkgs/python3/spkg-install	2017-07-21 14:10:00.000000000 -0500
-+++ new/build/pkgs/python3/spkg-install	2017-10-15 13:11:17.769261404 -0500
-@@ -22,6 +22,9 @@
- 
- cd src
- 
-+LDFLAGS="-lcrypt $LDFLAGS"		
-+export LDFLAGS
-+
- if [ "$SAGE_DEBUG" = "yes" ]; then
-     echo "Building Python with pydebug"
-     PYTHON_CONFIGURE="$PYTHON_CONFIGURE --with-pydebug"
diff --git a/pkgs/applications/science/math/sage/spkg-singular.patch b/pkgs/applications/science/math/sage/spkg-singular.patch
index d561768600b4..606ffcd3ad4e 100644
--- a/pkgs/applications/science/math/sage/spkg-singular.patch
+++ b/pkgs/applications/science/math/sage/spkg-singular.patch
@@ -1,11 +1,17 @@
---- old/build/pkgs/singular/spkg-install	2017-10-15 10:35:41.826540964 -0500
-+++ new/build/pkgs/singular/spkg-install	2017-10-15 10:36:40.613743443 -0500
-@@ -4,6 +4,9 @@
+diff --git a/build/pkgs/singular/spkg-install b/build/pkgs/singular/spkg-install
+index 8caafb1699..3c34e6608a 100644
+--- a/build/pkgs/singular/spkg-install
++++ b/build/pkgs/singular/spkg-install
+@@ -2,6 +2,13 @@
  ## Singular
  ###########################################
  
-+find . -type f -exec sed -e 's@/bin/rm@rm@g' -i '{}' ';'
-+#echo '#!/usr/bin/env bash\nIgnoring missing $1' > src/build-aux/missing
++# Fix hardcoded paths, while making sure to only update timestamps of actually
++# changed files (otherwise confuses make)
++grep -rlF '/bin/rm' . | while read file
++do
++	sed -e 's@/bin/rm@rm@g' -i "$file"
++done
 +
  if [ -z "$SAGE_LOCAL" ]; then
      echo >&2 "Error: SAGE_LOCAL undefined -- exiting..."
diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix
index 7af0df5360d5..6a692e07c433 100644
--- a/pkgs/applications/science/math/weka/default.nix
+++ b/pkgs/applications/science/math/weka/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "weka-${version}";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/weka/${stdenv.lib.replaceChars ["."]["-"] name}.zip";
-    sha256 = "16n1a74d1cispp0a22zyiivi78izi354y67gmbyvv2lv9sc45wmk";
+    sha256 = "0p353lhhcv3swwn1bl64vkyjk480vv9ghhlyqjxiar4p3xifjayb";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix
index 0952b61551e3..04a5def81e69 100644
--- a/pkgs/applications/science/spyder/default.nix
+++ b/pkgs/applications/science/spyder/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchPypi, unzip, buildPythonApplication, makeDesktopItem
 # mandatory
-, qtpy, numpydoc, qtconsole, qtawesome, jedi, pycodestyle, psutil
-, pyflakes, rope, sphinx, nbconvert, mccabe
+, numpydoc, qtconsole, qtawesome, jedi, pycodestyle, psutil
+, pyflakes, rope, sphinx, nbconvert, mccabe, pyopengl, cloudpickle
 # optional
 , numpy ? null, scipy ? null, matplotlib ? null
 # optional
@@ -10,17 +10,21 @@
 
 buildPythonApplication rec {
   pname = "spyder";
-  version = "3.2.4";
-  namePrefix = "";
+  version = "3.2.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "028hg71gfq2yrplwhhl7hl4rbwji1l0zxzghblwmb0i443ki10v3";
+    sha256 = "87d6a4f5ee1aac4284461ee3584c3ade50cb53feb3fe35abebfdfb9be18c526a";
   };
 
+  # Somehow setuptools can't find pyqt5. Maybe because the dist-info folder is missing?
+  postPatch = ''
+    substituteInPlace setup.py --replace 'pyqt5;python_version>="3"' ' '
+  '';
+
   propagatedBuildInputs = [
-    jedi pycodestyle psutil qtpy pyflakes rope numpy scipy matplotlib pylint
-    numpydoc qtconsole qtawesome nbconvert mccabe
+    jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint
+    numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle
   ];
 
   # There is no test for spyder
diff --git a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index b2a4bc66c699..7bf83b5621b5 100644
--- a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 let
-  version = "1.12.15";
+  version = "1.13.0";
   jarName = "bfg-${version}.jar";
   mavenUrl = "http://central.maven.org/maven2/com/madgag/bfg/${version}/${jarName}";
 in
@@ -12,7 +12,7 @@ in
 
     src = fetchurl {
       url = mavenUrl;
-      sha256 = "17dh25jambkk55khknlhy8wa9s1i1xmh9hdgj72j1lzyl0ag42ik";
+      sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
     };
 
     buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 7056249de3fc..e5e36e998ace 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -100,6 +100,8 @@ rec {
 
   gitflow = callPackage ./gitflow { };
 
+  grv = callPackage ./grv { };
+
   hub = callPackage ./hub {
     inherit (darwin) Security;
   };
@@ -115,7 +117,7 @@ rec {
     git = gitSVN;
   };
 
-  svn2git_kde = callPackage ./svn2git-kde { };
+  svn_all_fast_export = libsForQt5.callPackage ./svn-all-fast-export { };
 
   tig = callPackage ./tig { };
 
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 5878f3a8b74c..988911d2eb7b 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "diff-so-fancy-${version}";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "1hgppp8ngjbjzbi96529p36hzi0ysdndrh6d6m71gs21am8v4m9r";
+    sha256 = "0j8dxfl4js7agwdpcvxwigzpp0lik33h7s3vsjg0pd413h2j4mvz";
   };
 
   # Perl is needed here for patchShebangs
diff --git a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
index 4ed9c5c0509c..c14a027b4abe 100644
--- a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
@@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://git.fishsoup.net/cgit/git-bz/;
 
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index f308073f1f1e..b4c3baecd417 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
       directly through the Git command line.
     '';
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 3a2585433307..8b64e2d375bb 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -13,7 +13,7 @@
 }:
 
 let
-  version = "2.15.1";
+  version = "2.16.1";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "0p04linqdywdf7m1hqa904fzqvgzplsxlzdqrn96j1j5gpyr174r";
+    sha256 = "06gay8k29glg4giwphjalcc1fknxw4bmxkmbr3ic3gzxy8vl7bfg";
   };
 
   hardeningDisable = [ "format" ];
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
index 1aec77504b7b..9a484262b7b2 100644
--- 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
@@ -1,47 +1,28 @@
-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
+index 8060ea35c..c81067a19 100644
 --- a/Documentation/git-send-email.txt
 +++ b/Documentation/git-send-email.txt
-@@ -203,9 +203,8 @@ a password is obtained using 'git-credential'.
+@@ -203,8 +203,7 @@ 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.
- 
+-	option; the built-in default is to search for `sendmail` in
+-	`/usr/sbin`, `/usr/lib` and $PATH if such program is
++        option; the built-in default is to search in $PATH if such program is
+ 	available, falling back to `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
+index edcc6d346..8e357aeab 100755
 --- a/git-send-email.perl
 +++ b/git-send-email.perl
-@@ -885,7 +885,8 @@ if (defined $initial_reply_to) {
+@@ -885,8 +885,7 @@ if (defined $initial_reply_to) {
  }
- 
+
  if (!defined $smtp_server) {
--	foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
+-	my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
+-	push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
 +	my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH};
-+	foreach (@sendmail_paths) {
+ 	foreach (@sendmail_paths) {
  		if (-x $_) {
  			$smtp_server = $_;
- 			last;
--- 
-2.15.0
-
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch
index 5e24c19f0fee..addb1dbc5e06 100644
--- a/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch
+++ b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch
@@ -1,21 +1,21 @@
 diff --git a/connect.c b/connect.c
-index fd7ffe1..20cd992 100644
+index c3a014c5b..fbca3262b 100644
 --- a/connect.c
 +++ b/connect.c
-@@ -768,7 +768,7 @@
+@@ -1010,7 +1010,7 @@ static void fill_ssh_args(struct child_process *conn, const char *ssh_host,
+
+ 		ssh = getenv("GIT_SSH");
+ 		if (!ssh)
+-			ssh = "ssh";
++			ssh = "@ssh@";
+ 		variant = determine_ssh_variant(ssh, 0);
+ 	}
 
- 				ssh = getenv("GIT_SSH");
- 				if (!ssh)
--					ssh = "ssh";
-+					ssh = "@ssh@";
-				else
-					handle_ssh_variant(ssh, 0,
-								&port_option,
 diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
-index 50029d0..17b9594 100644
+index 480a6b30d..781720424 100644
 --- a/git-gui/lib/remote_add.tcl
 +++ b/git-gui/lib/remote_add.tcl
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ method _add {} {
  		# Parse the location
  		if { [regexp {(?:git\+)?ssh://([^/]+)(/.+)} $location xx host path]
  		     || [regexp {([^:][^:]+):(.+)} $location xx host path]} {
diff --git a/pkgs/applications/version-management/git-and-tools/grv/default.nix b/pkgs/applications/version-management/git-and-tools/grv/default.nix
new file mode 100644
index 000000000000..be5b58c57334
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/grv/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, curl, libgit2_0_25, ncurses, pkgconfig, readline }:
+let
+  version = "0.1.2";
+in
+buildGoPackage {
+  name = "grv-${version}";
+
+  buildInputs = [ ncurses readline curl libgit2_0_25 ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  goPackagePath = "github.com/rgburke/grv";
+
+  src = fetchFromGitHub {
+    owner = "rgburke";
+    repo = "grv";
+    rev = "v${version}";
+    sha256 = "1i8cr5xxdacpby60nqfyj8ijyc0h62029kbds2lq26rb8nn9qih2";
+    fetchSubmodules = true;
+  };
+
+  buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
+
+  meta = with stdenv.lib; {
+    description = " GRV is a terminal interface for viewing git repositories";
+    homepage = https://github.com/rgburke/grv;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ andir ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index 7da45e2d3f96..188e5a4faafa 100644
--- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -1,17 +1,20 @@
-{ stdenv, fetchurl, cmake, qtbase }:
+{ stdenv, fetchgit, cmake, qtbase }:
 
 stdenv.mkDerivation rec {
-  name = "qgit-2.6";
+  name = "qgit-2.7";
 
-  src = fetchurl {
-    url = "http://libre.tibirna.org/attachments/download/12/${name}.tar.gz";
-    sha256 = "1brrhac6s6jrw3djhgailg5d5s0vgrfvr0sczqgzpp3i6pxf8qzl";
+  src = fetchgit {
+    url = "http://repo.or.cz/qgit4/redivivus.git";
+    rev = name;
+    sha256 = "0c0zxykpgkxb8gpgzz5i6b8nrzg7cdxikvpg678x7gsnxhlwjv3a";
   };
 
   buildInputs = [ qtbase ];
 
   nativeBuildInputs = [ cmake ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     license = licenses.gpl2;
     homepage = http://libre.tibirna.org/projects/qgit/wiki/QGit;
diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
new file mode 100644
index 000000000000..fbafc5257d7b
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, fetchpatch, qmake, qtbase, qttools, subversion, apr }:
+
+let
+  version = "1.0.11";
+in
+stdenv.mkDerivation {
+  name = "svn-all-fast-export-${version}";
+
+  src = fetchFromGitHub {
+    owner = "svn-all-fast-export";
+    repo = "svn2git";
+    rev = version;
+    sha256 = "0lhnw8f15j4wkpswhrjd7bp9xkhbk32zmszaxayzfhbdl0g7pzwj";
+  };
+
+  # https://github.com/svn-all-fast-export/svn2git/pull/40
+  patches = [
+    (fetchpatch {
+      name = "pr40.patch";
+      sha256 = "1qndhk5csf7kddk3giailx7r0cdipq46lj73nkcws43n4n93synk";
+      url = https://github.com/svn-all-fast-export/svn2git/pull/40.diff;
+    })
+  ];
+
+  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ apr.dev subversion.dev qtbase ];
+
+  qmakeFlags = [
+    "VERSION=${version}"
+    "APR_INCLUDE=${apr.dev}/include/apr-1"
+    "SVN_INCLUDE=${subversion.dev}/include/subversion-1"
+  ];
+
+  installPhase = "make install INSTALL_ROOT=$out";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/svn-all-fast-export/svn2git;
+    description = "A fast-import based converter for an svn repo to git repos";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
deleted file mode 100644
index e52fdb6375bf..000000000000
--- a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchgit, qt4, qmake4Hook, subversion, apr }:
-
-stdenv.mkDerivation rec {
-  name = "svn2git-kde-1.0.5";
-
-  src = fetchgit {
-    url = http://git.gitorious.org/svn2git/svn2git.git;
-    rev = "149d6c6e14a1724c96999328683a9264fc508264";
-    sha256 = "0gjxhnraizlwyidn66rczwc01f6sfx4ndmsj86ssqml3p0d4sl6q";
-  };
-
-  NIX_CFLAGS_COMPILE = [ "-I${apr.dev}/include/apr-1" "-I${subversion.dev}/include/subversion-1" "-DVER=\"${src.rev}\"" ];
-
-  patchPhase = ''
-    sed -i 's|/bin/cat|cat|' ./src/repository.cpp
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp svn-all-fast-export $out/bin
-  '';
-
-  buildInputs = [ subversion apr qt4 ];
-
-  nativeBuildInputs = [ qmake4Hook ];
-
-  meta.broken = true;
-}
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index ea4c9c8731d2..d13e61395827 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -18,11 +18,11 @@ let
     };
   };
 
-  version = "10.3.3";
+  version = "10.3.4";
 
   gitlabDeb = fetchurl {
     url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
-    sha256 = "0bnafl7mpm3vjhfkqwgf5ff1y1iixfdfvv25zmpl0yjd70fwx2aq";
+    sha256 = "0b6508hcahvhfpxyrqs05kz9a7c1wv658asm6a7ccish6hnwcica";
   };
 
 in
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "1fhjijs8rvxrgx43fc7vp6f3vwshwq74gjwk41fi2yam8bri8p6k";
+    sha256 = "0cvp4wwkc04qffsq738867j31igwzj7zlmahdl24yddbmpa5x8r1";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
index 5e1feacd83d4..78b59f59e949 100644
--- a/pkgs/applications/version-management/gitolite/default.nix
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, git, nettools, perl }:
+{ stdenv, fetchFromGitHub, git, nettools, perl }:
 
 stdenv.mkDerivation rec {
   name = "gitolite-${version}";
-  version = "3.6.3";
+  version = "3.6.7";
 
-  src = fetchurl {
-    url = "https://github.com/sitaramc/gitolite/archive/v${version}.tar.gz";
-    sha256 = "16cxifjxnri719qb6zzwkdf61x5y957acbdhcgqcan23x1mfn84v";
+  src = fetchFromGitHub {
+    owner = "sitaramc";
+    repo = "gitolite";
+    rev = "9123ae44b14b9df423a7bf1e693e05865ca320ac";
+    sha256 = "0rmyzr66lxh2ildf3h1nh3hh2ndwk21rjdin50r5vhwbdd7jg8vb";
   };
 
   buildInputs = [ git nettools perl ];
@@ -26,6 +28,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     perl ./install -to $out/bin
+    echo ${version} > $out/bin/VERSION
   '';
 
   meta = with stdenv.lib; {
@@ -33,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage    = http://gitolite.com/gitolite/index.html;
     license     = licenses.gpl2;
     platforms   = platforms.unix;
-    maintainers = [ maintainers.thoughtpolice maintainers.lassulus ];
+    maintainers = [ maintainers.thoughtpolice maintainers.lassulus maintainers.tomberek ];
   };
 }
diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix
index c2006e9dd6bf..c24d80e3f2ef 100644
--- a/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/pkgs/applications/version-management/monotone-viz/default.nix
@@ -22,15 +22,15 @@ stdenv.mkDerivation rec {
   patchFlags = ["-p0"];
   patches = [
     (fetchurl {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-dot.patch";
+      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-dot.patch";
       sha256 = "0risfy8iqmkr209hmnvpv57ywbd3rvchzzd0jy2lfyqrrrm6zknw";
     })
     (fetchurl {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-new-stdio.patch";
+      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-new-stdio.patch";
       sha256 = "16bj0ppzqd45an154dr7sifjra7lv4m9anxfw3c56y763jq7fafa";
     })
     (fetchurl {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-typefix.patch";
+      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-typefix.patch";
       sha256 = "1gfp82rc7pawb5x4hh2wf7xh1l1l54ib75930xgd1y437la4703r";
     })
   ];
diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix
index c3ed61f31a23..c4c09094edd4 100644
--- a/pkgs/applications/version-management/nbstripout/default.nix
+++ b/pkgs/applications/version-management/nbstripout/default.nix
@@ -25,7 +25,7 @@ buildPythonApplication rec {
 
   # ignore flake8 tests for the nix wrapped setup.py
   checkPhase = ''
-    PATH=$PATH:$out/bin:${mercurial}/bin pytest --ignore=nix_run_setup.py .
+    PATH=$PATH:$out/bin:${mercurial}/bin pytest .
   '';
 
   meta = {
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index e75223c6c363..2bde0a68480e 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "src-${version}";
-  version = "1.13";
+  version = "1.17";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${name}.tar.gz";
-    sha256 = "0l13ld8nxm1c720ns22lyx3q1bq2c2zn78vi5w92b7nl6p2nncy8";
+    sha256 = "17885hpq8nxhqzwl50nrgdk1q9dq4cxjxldgkk8shdf08s5hcqhk";
   };
 
   buildInputs = [ python rcs git makeWrapper ];
diff --git a/pkgs/applications/version-management/tailor/default.nix b/pkgs/applications/version-management/tailor/default.nix
index 424a402780af..4d41cad0d8e6 100644
--- a/pkgs/applications/version-management/tailor/default.nix
+++ b/pkgs/applications/version-management/tailor/default.nix
@@ -7,7 +7,7 @@ python2Packages.buildPythonApplication rec {
   src = fetchurl {
     urls = [
       "http://darcs.arstecnica.it/tailor/tailor-${version}.tar.gz"
-      "http://pkgs.fedoraproject.org/repo/pkgs/tailor/tailor-${version}.tar.gz/58a6bc1c1d922b0b1e4579c6440448d1/tailor-${version}.tar.gz"
+      "http://src.fedoraproject.org/repo/pkgs/tailor/tailor-${version}.tar.gz/58a6bc1c1d922b0b1e4579c6440448d1/tailor-${version}.tar.gz"
     ];
     sha256 = "061acapxxn5ab3ipb5nd3nm8pk2xj67bi83jrfd6lqq3273fmdjh";
   };
diff --git a/pkgs/applications/video/bombono/default.nix b/pkgs/applications/video/bombono/default.nix
index 40d9aa2f2282..e3ba331e437a 100644
--- a/pkgs/applications/video/bombono/default.nix
+++ b/pkgs/applications/video/bombono/default.nix
@@ -1,7 +1,12 @@
 { stdenv, fetchFromGitHub, wrapGAppsHook, gtk2, boost, gnome2, scons,
 mjpegtools, libdvdread, dvdauthor, gettext, dvdplusrwtools, libxmlxx, ffmpeg,
-enca, pkgconfig }:
+enca, pkgconfig, fetchpatch }:
 
+let fetchPatchFromAur = {name, sha256}:
+fetchpatch {
+  inherit name sha256;
+  url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=e6cc6bc80c672aaa1a2260abfe8823da299a192c";
+}; in
 stdenv.mkDerivation rec {
   name = "bombono-${version}";
   version = "1.2.4";
@@ -12,6 +17,17 @@ stdenv.mkDerivation rec {
     sha256 = "1lz1vik6abn1i1pvxhm55c9g47nxxv755wb2ijszwswwrwgvq5b9";
   };
 
+  patches = map fetchPatchFromAur [
+    {name="fix_ffmpeg_codecid.patch";	sha256="1asfc0lqzk4gjssrvjmsi1xr53ygnsx2sh7c8yzp5r3j2bagxhp7";}
+    {name="fix_ptr2bool_cast.patch";	sha256="0iqzrmbg38ikh4x9cmx0v0rnm7a9lcq0kd8sh1z9yfmnz71qqahg";}
+    {name="fix_c++11_literal_warnings.patch";	sha256="1zbf12i77p0j0090pz5lzg4a7kyahahzqssybv7vi0xikwvw57w9";}
+    {name="autoptr2uniqueptr.patch";	sha256="0a3wvwfplmqvi8fnj929y85z3h1iq7baaz2d4v08h1q2wbmakqdm";}
+    {name="fix_deprecated_boost_api.patch";	sha256="184gdz3w95ihhsd8xscpwvq77xd4il47kvmv6wslax77xyw50gm8";}
+    {name="fix_throw_specifications.patch";	sha256="1f5gi3qwm843hsxvijq7sjy0s62xm7rnr1vdp7f242fi0ldq6c1n";}
+    {name="fix_operator_ambiguity.patch";	sha256="0r4scsbsqfg6wgzsbfxxpckamvgyrida0n1ypg1klx24pk5dc7n7";}
+    {name="fix_ffmpeg30.patch";	sha256="1irva7a9bpbzs60ga8ypa3la9y84i5rz20jnd721qmfqp2yip8dw";}
+  ];
+
   nativeBuildInputs = [ wrapGAppsHook scons pkgconfig gettext ];
 
   buildInputs = [
@@ -20,9 +36,11 @@ stdenv.mkDerivation rec {
     ];
 
   buildPhase = ''
-    scons PREFIX=$out
+    scons PREFIX=$out -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
     '';
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     scons install
     '';
@@ -31,5 +49,6 @@ stdenv.mkDerivation rec {
     description = "a DVD authoring program for personal computers";
     homepage = "http://www.bombono.org/";
     license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ symphorien ];
   };
 }
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index 69f58fe94bd8..e9f172aad76e 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
     homepage = https://clipgrab.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/video/gnome-mpv/default.nix b/pkgs/applications/video/gnome-mpv/default.nix
index 2f073d1731dc..0b4bd5851341 100644
--- a/pkgs/applications/video/gnome-mpv/default.nix
+++ b/pkgs/applications/video/gnome-mpv/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
   '';
 
   doCheck = true;
-  checkPhase = "meson test";
 
   meta = with stdenv.lib; {
     description = "Simple GTK+ frontend for the mpv video player";
@@ -38,6 +37,5 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/gnome-mpv/gnome-mpv;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index bef3a78d782e..8b94204cd627 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
     homepage = https://flavio.tordini.org/minitube;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 867dacc213e2..9324b08efd72 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitLab, pkgconfig, autoconf, automake, libiconv
 , drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, qt5, boost
-, libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt
+, libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt, cmark
 , withGUI ? true
 }:
 
@@ -10,20 +10,20 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "19.0.0";
+  version = "20.0.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "068g0mmi284zl9d9p9zhp55h6rj58j5c27czd3mg42kq74cwcsx9";
+    sha256 = "0qrjvvp0pvw9i91rh0zrxpclq7xap2dpjip0s5bm4gv14gh4l4mc";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
 
   buildInputs = [
     expat file xdg_utils boost libebml zlib libmatroska libogg
-    libvorbis flac
+    libvorbis flac cmark
   ]
   ++ optional stdenv.isDarwin libiconv
   ++ optionals withGUI [qt5.qtbase qt5.qtmultimedia];
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index dcbafd8594d3..403fc7e4ee11 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -95,6 +95,11 @@ in stdenv.mkDerivation rec {
       url = "https://github.com/mpv-player/mpv/commit/2ecf240b1cd20875991a5b18efafbe799864ff7f.patch";
       sha256 = "1sr0770rvhsgz8d7ysr9qqp4g9gwdhgj8g3rgnz90wl49lgrykhb";
     })
+    (fetchpatch {
+      name = "CVE-2018-6360.patch";
+      url = https://salsa.debian.org/multimedia-team/mpv/raw/ddface85a1adfdfe02ffb25b5ac7fac715213b97/debian/patches/09_ytdl-hook-whitelist-protocols.patch;
+      sha256 = "1gb1lkjbr8rv4v9ji6w5z97kbxbi16dbwk2255ajbvngjrc7vivv";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 64bdbd21686f..1c7a72d95ae1 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.3";
+  version = "21.0.2";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg";
+    sha256 = "1yyvxqzxy9dz6rmjcrdn90nfaff4f38mfz2gsq535cr59sg3f8jc";
   };
 
   patches = [ ./find-xcb.patch ];
diff --git a/pkgs/applications/video/qmediathekview/default.nix b/pkgs/applications/video/qmediathekview/default.nix
new file mode 100644
index 000000000000..9d34ab72f0cf
--- /dev/null
+++ b/pkgs/applications/video/qmediathekview/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, qtbase, qttools, xz, boost, qmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "QMediathekView";
+  version = "2017-04-16";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "adamreichold";
+    repo = pname;
+    rev = "8c69892b95bf6825bd06a8c594168a98fe7cb2d1";
+    sha256 = "1wca1w4iywd3hmiwcqx6fv79p3x5n1cgbw2liw3hs24ch3z54ckm";
+  };
+
+  postPatch = ''
+    substituteInPlace ${pname}.pro \
+      --replace /usr ""
+  '';
+
+  buildInputs = [ qtbase qttools xz boost ];
+
+  nativeBuildInputs = [ qmake pkgconfig ];
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "An alternative Qt-based front-end for the database maintained by the MediathekView project";
+    inherit (src.meta) homepage;
+    license = licenses.gpl3Plus;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
index 8b2a69acfcc8..c3204cc9c0ce 100644
--- a/pkgs/applications/video/quvi/library.nix
+++ b/pkgs/applications/video/quvi/library.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://quvi.sf.net;
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
index 6f4e60913390..603534be4c8b 100644
--- a/pkgs/applications/video/quvi/scripts.nix
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://quvi.sf.net;
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
index 3f99258737c2..333f4e6ab4de 100644
--- a/pkgs/applications/video/quvi/tool.nix
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://quvi.sf.net;
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 9fd07febbfce..9ff54bd681f8 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,17 +1,17 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.9.0";
+  version = "0.10.0";
   name = "streamlink-${version}";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = "${version}";
-    sha256 = "11jczkar3aqsbl5amkm7lsv4fz6xdaydd5izn222wjzsbvnzrcgd";
+    sha256 = "1p9gkwcvqlnv09ihqh71nh82nnmq9ybp1v8d8kd2vhkg1vm5ximn";
   };
 
-  buildInputs = with pythonPackages; [ pytest mock ];
+  checkInputs = with pythonPackages; [ pytest mock requests-mock ];
 
   propagatedBuildInputs = (with pythonPackages; [ pycryptodome requests iso-639 iso3166 websocket_client ]) ++ [ rtmpdump ffmpeg ];
 
diff --git a/pkgs/applications/video/subdl/default.nix b/pkgs/applications/video/subdl/default.nix
new file mode 100644
index 000000000000..32bd731f16e9
--- /dev/null
+++ b/pkgs/applications/video/subdl/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  name = "subdl-0.0pre.2017.11.06";
+
+  src = fetchFromGitHub {
+    owner = "alexanderwink";
+    repo = "subdl";
+    rev = "4cf5789b11f0ff3f863b704b336190bf968cd471";
+    sha256 = "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8";
+  };
+
+  meta = {
+    homepage = https://github.com/alexanderwink/subdl;
+    description = "A command-line tool to download subtitles from opensubtitles.org";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.exfalso ];
+  };
+
+  buildInputs = [ python3 ];
+
+  installPhase = ''
+    install -vD subdl $out/bin/subdl
+  '';  
+}
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 3316633e4378..86b6535e5396 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -1,23 +1,38 @@
 { stdenv, lib, fetchFromGitHub, removeReferencesTo
-, go, libapparmor, apparmor-parser, libseccomp }:
+, go, libapparmor, apparmor-parser, libseccomp, btrfs-progs }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   name = "containerd-${version}";
-  version = "0.2.9";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "0rix0mv203fn3rcxmpqdpb54l1a0paqplg2xgldpd943qi1rm552";
+    sha256 = "0kfafqi66yp4qy738pl11f050hfrx9m4kc670qpx7fmf9ii7q6p2";
   };
 
-  buildInputs = [ removeReferencesTo go ];
+  hardeningDisable = [ "fortify" ];
+
+  buildInputs = [ removeReferencesTo go btrfs-progs ];
+  buildFlags = "VERSION=v${version}";
+
+  BUILDTAGS = []
+    ++ optional (btrfs-progs == null) "no_btrfs";
+
+  preConfigure = ''
+    # Extract the source
+    cd "$NIX_BUILD_TOP"
+    mkdir -p "go/src/github.com/containerd"
+    mv "$sourceRoot" "go/src/github.com/containerd/containerd"
+    export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+'';
 
   preBuild = ''
-    ln -s $(pwd) vendor/src/github.com/containerd/containerd
+    cd go/src/github.com/containerd/containerd
+    patchShebangs .
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index c4c0adbb9bf9..339d3e8490d9 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -39,13 +39,6 @@ rec {
       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 {
@@ -215,4 +208,16 @@ rec {
     tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
     tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
   };
+
+  docker_18_02 = dockerGen rec {
+    version = "18.02.0-ce";
+    rev = "fc4de447b563498eb4da89f56fb858bbe761d91b"; # git commit
+    sha256 = "1025cwv2niiwg5pc30nb1qky1raisvd9ix2qw6rdib232hwq9k8m";
+    runcRev = "9f9c96235cc97674e935002fc3d78361b696a69e";
+    runcSha256 = "18f8vqdbf685dd777pjh8jzpxafw2vapqh4m43xgyi7lfwa0gsln";
+    containerdRev = "9b55aab90508bd389d7654c4baf173a981477d55";
+    containerdSha256 = "0kfafqi66yp4qy738pl11f050hfrx9m4kc670qpx7fmf9ii7q6p2";
+    tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
+    tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
+  };
 }
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
new file mode 100644
index 000000000000..e9cee2503851
--- /dev/null
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub
+, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice_protocol, fontconfig
+, libX11, freefont_ttf
+}:
+
+stdenv.mkDerivation rec {
+  name = "looking-glass-client-${version}";
+  version = "a10";
+
+  src = fetchFromGitHub {
+    owner = "gnif";
+    repo = "LookingGlass";
+    rev = version;
+    sha256 = "10jxnkrvskjzkg86iz3hnb5v91ykzx6pvcnpy1v4436g5f2d62wn";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    SDL SDL2 SDL2_ttf openssl spice_protocol fontconfig
+    libX11 freefont_ttf
+  ];
+
+  enableParallelBuilding = true;
+
+  sourceRoot = "source/client";
+
+  installPhase = ''
+    mkdir -p $out
+    mv bin $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A KVM Frame Relay (KVMFR) implementation";
+    longDescription = ''
+      Looking Glass is an open source application that allows the use of a KVM
+      (Kernel-based Virtual Machine) configured for VGA PCI Pass-through
+      without an attached physical monitor, keyboard or mouse. This is the final
+      step required to move away from dual booting with other operating systems
+      for legacy programs that require high performance graphics.
+    '';
+    homepage = https://looking-glass.hostfission.com/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.pneumaticat ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 91b02f7ad1f0..68ab979ecfbe 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -101,6 +101,10 @@ stdenv.mkDerivation rec {
     else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
     else "";
 
+  passthru = {
+    qemu-system-i386 = "bin/qemu-system-i386";
+  };
+
   meta = with stdenv.lib; {
     homepage = http://www.qemu.org/;
     description = "A generic and open source machine emulator and virtualizer";
diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix
index a99e6f569564..cb84ad49aebd 100644
--- a/pkgs/applications/virtualization/remotebox/default.nix
+++ b/pkgs/applications/virtualization/remotebox/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
       RemoteBox aims to fill this gap by providing a graphical VirtualBox
       client which is able to manage a VirtualBox server installation.
     '';
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 68ee06953a38..2f5a6192c86c 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -13,12 +13,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   baseName = "virt-viewer";
-  version = "5.0";
+  version = "6.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    sha256 = "0blbp1wkw8ahss9va0bmcz2yx18j0mvm6fzrzhh2ly3sja5ysb8b";
+    sha256 = "1chqrf658niivzfh85cbwkbv9vyg8sv1mv3i31vawkfsfdvvsdwh";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 3e9322ddeafb..38509d299d95 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -21,10 +21,10 @@ let
   buildType = "release";
   # Manually sha256sum the extensionPack file, must be hex!
   # Do not forget to update the hash in ./guest-additions/default.nix!
-  extpack = "98e9df4f23212c3de827af9d770b391cf2dba8d21f4de597145512c1479302cd";
-  extpackRev = "119785";
-  main = "053xpf0kxrig4jq5djfz9drhkxy1x5a4p9qvgxc0b3hnk6yn1869";
-  version = "5.2.4";
+  extpack = "70584a70b666e9332ae2c6be0e64da4b8e3a27124801156577f205750bdde4f5";
+  extpackRev = "120293";
+  main = "1rx45ivwk89ghjc5zdd7c7j92w0w3930xj7l1zhwrvshxs454w7y";
+  version = "5.2.6";
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
   extensionPack = requireFile rec {
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 8f789cdf1707..f82eec07a29d 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0qhsr6vc48ld2p9q3a6n6rfg57rsn163axr3r1m2yqr2snr4pnk0";
+    sha256 = "1px9jp6lv7ff7kn4ns5r4dq7xl4wiz3h4ckgdhgvxs040njpdzy5";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/applications/virtualization/xen/4.5.nix b/pkgs/applications/virtualization/xen/4.5.nix
index ec3fe9ccf221..22799a7af8e7 100644
--- a/pkgs/applications/virtualization/xen/4.5.nix
+++ b/pkgs/applications/virtualization/xen/4.5.nix
@@ -248,4 +248,10 @@ callPackage (import ./generic.nix (rec {
       -i tools/libxl/libxl_device.c
   '';
 
+  passthru = {
+    qemu-system-i386 = if withInternalQemu
+      then "lib/xen/bin/qemu-system-i386"
+      else throw "this xen has no qemu builtin";
+  };
+
 })) ({ ocamlPackages = ocamlPackages_4_02; } // args)
diff --git a/pkgs/applications/virtualization/xen/4.8.nix b/pkgs/applications/virtualization/xen/4.8.nix
index 6eedca18960b..44a52a1026af 100644
--- a/pkgs/applications/virtualization/xen/4.8.nix
+++ b/pkgs/applications/virtualization/xen/4.8.nix
@@ -176,4 +176,10 @@ callPackage (import ./generic.nix (rec {
       -i tools/libxl/libxl_device.c
   '';
 
+  passthru = {
+    qemu-system-i386 = if withInternalQemu
+      then "lib/xen/bin/qemu-system-i386"
+      else throw "this xen has no qemu builtin";
+  };
+
 })) args
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index ca596cdfddc1..2808c8552eff 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -41,7 +41,6 @@ with luaPackages; stdenv.mkDerivation rec {
   #cmakeFlags = "-DGENERATE_MANPAGES=ON";
   cmakeFlags = "-DOVERRIDE_VERSION=${version}";
 
-  LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
   GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
   LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
   LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
@@ -52,7 +51,6 @@ with luaPackages; stdenv.mkDerivation rec {
       --add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
       --add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
       --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 ]}"
 
     wrapProgram $out/bin/awesome-client \
diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix
index a589e21be98b..ec1673f5040d 100644
--- a/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/pkgs/applications/window-managers/i3/lock-color.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchFromGitHub, which, pkgconfig, libxcb, xcbutilkeysyms
-, xcbutilimage, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxcb,
+  xcbutilkeysyms , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon,
+  libxkbfile, libjpeg_turbo
+}:
 
 stdenv.mkDerivation rec {
-  version = "2.9.1-c";
+  version = "2.10.1-1-c";
   name = "i3lock-color-${version}";
 
   src = fetchFromGitHub {
-    owner = "chrjguill";
+    owner = "PandorasFox";
     repo = "i3lock-color";
-    rev = version;
-    sha256 = "0qnw71qbppgp3ywj1k07av7wkl9syfb8j6izrkhj143q2ks4rkvl";
+    rev = "01476c56333cccae80cdd3f125b0b9f3a0fe2cb3";
+    sha256 = "06ca8496fkdkvh4ycg0b7kd3r1bjdqdwfimb51v4nj1lm87pdkdf";
   };
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage pam libX11
-    libev cairo libxkbcommon libxkbfile ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libxcb xcbutilkeysyms xcbutilimage pam libX11
+    libev cairo libxkbcommon libxkbfile libjpeg_turbo ];
 
   makeFlags = "all";
   preInstall = ''
diff --git a/pkgs/applications/window-managers/i3/lock-fancy.nix b/pkgs/applications/window-managers/i3/lock-fancy.nix
index 6c53c51551ac..e28a9cf75be8 100644
--- a/pkgs/applications/window-managers/i3/lock-fancy.nix
+++ b/pkgs/applications/window-managers/i3/lock-fancy.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  rev = "546ce2e71bd2339f2134904c7d22062e86105b46";
-  name = "i3lock-fancy-unstable-2016-10-13_rev${builtins.substring 0 7 rev}";
+  rev = "3734fba160166006521e513f5734eb76ac6aa48f";
+  name = "i3lock-fancy-unstable-2017-12-14_rev${builtins.substring 0 7 rev}";
   src = fetchFromGitHub {
     owner = "meskarune";
     repo = "i3lock-fancy";
     inherit rev;
-    sha256 = "1pbxydwdfd7jlw3b8cnlwlrkqlyh5jyanfhjybndqmacd3y8vplb";
+    sha256 = "1bg4xds2hmbq8rp6azbdqvgp1aaq5y1bp05cfwqqm6y3sjw7ywzl";
   };
   patchPhase = ''
     sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" lock
@@ -18,12 +18,12 @@ stdenv.mkDerivation rec {
     sed -i -e "s|convert |${imagemagick.out}/bin/convert |" lock
     sed -i -e "s|awk -F|${gawk}/bin/awk -F|" lock
     sed -i -e "s| awk | ${gawk}/bin/awk |" lock
-    sed -i -e "s|i3lock -n |${i3lock-color}/bin/i3lock-color -n |" lock
-    sed -i -e 's|ICON="$SCRIPTPATH/icons/lockdark.png"|ICON="'$out'/share/i3lock-fancy/icons/lockdark.png"|' lock
-    sed -i -e 's|ICON="$SCRIPTPATH/icons/lock.png"|ICON="'$out'/share/i3lock-fancy/icons/lock.png"|' lock
+    sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" lock
+    sed -i -e 's|icon="$scriptpath/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' lock
+    sed -i -e 's|icon="$scriptpath/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' lock
     sed -i -e "s|getopt |${getopt}/bin/getopt |" lock
     sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" lock
-    sed -i -e "s|SHOT=(import -window root)|SHOT=(${scrot}/bin/scrot -z)|" lock
+    sed -i -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z)|" lock
   '';
   installPhase = ''
     mkdir -p $out/bin $out/share/i3lock-fancy/icons
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index 20df6566b23f..4d572e8c040d 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "i3lock-${version}";
-  version = "2.9.1";
+  version = "2.10";
 
   src = fetchurl {
     url = "https://i3wm.org/i3lock/${name}.tar.bz2";
-    sha256 = "1467ha4ssbfjk1jh0ya2i5ljzm554ln18nyrppvsipg8shb1cshh";
+    sha256 = "1vn8828ih7mpdl58znfnzpdwdgwksq16rghm5qlppbbz66zk5sr9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch b/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
index e3c88a5fa551..71d3d9cafaa3 100644
--- a/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
+++ b/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
@@ -1,15 +1,5 @@
-From 00c5af939567429d40877845dc52b54fde2d8a50 Mon Sep 17 00:00:00 2001
-From: "Alexander V. Nikolaev" <avn@avnik.info>
-Date: Thu, 26 Nov 2015 10:53:12 +0200
-Subject: [PATCH 1/3] Substitution vars for absolute paths
-
----
- libqtile/pangocffi.py | 6 +++---
- libqtile/xcursors.py  | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
 diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py
-index 27691d1..25f690d 100644
+index 1e8f5c04..e860d43a 100644
 --- a/libqtile/pangocffi.py
 +++ b/libqtile/pangocffi.py
 @@ -58,9 +58,9 @@ except ImportError:
@@ -26,18 +16,15 @@ index 27691d1..25f690d 100644
  
  def CairoContext(cairo_t):
 diff --git a/libqtile/xcursors.py b/libqtile/xcursors.py
-index e0e55e1..59b6428 100644
+index f1133555..3e61204a 100644
 --- a/libqtile/xcursors.py
 +++ b/libqtile/xcursors.py
-@@ -114,7 +114,7 @@ class Cursors(dict):
+@@ -112,7 +112,7 @@ class Cursors(dict):
  
      def _setup_xcursor_binding(self):
          try:
 -            xcursor = ffi.dlopen('libxcb-cursor.so')
 +            xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so')
          except OSError:
-             self.log.warning("xcb-cursor not found, fallback to font pointer")
+             logger.warning("xcb-cursor not found, fallback to font pointer")
              return False
--- 
-2.6.3
-
diff --git a/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch b/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
index b620bfb25014..7d184838fbaa 100644
--- a/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
+++ b/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
@@ -1,57 +1,52 @@
-From f299a0aa0eefcf16bb4990f00ac3946727f43ef3 Mon Sep 17 00:00:00 2001
-From: "Alexander V. Nikolaev" <avn@avnik.info>
-Date: Fri, 27 Nov 2015 10:49:48 +0200
-Subject: [PATCH 2/3] Restore PATH and PYTHONPATH
-
----
- bin/qtile         | 1 +
- bin/qtile-run     | 1 +
- bin/qtile-session | 2 ++
- libqtile/utils.py | 7 +++++++
- 4 files changed, 11 insertions(+)
-
+diff --git a/bin/qshell b/bin/qshell
+index 2ba7e61c..0ac2a2ef 100755
+--- a/bin/qshell
++++ b/bin/qshell
+@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
+ sys.path.insert(0, base_dir)
+ 
+ if __name__ == '__main__':
++    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
+     from libqtile.scripts import qshell
+     qshell.main()
 diff --git a/bin/qtile b/bin/qtile
-index 66034fe..ce3fcd1 100755
+index 3e82814d..335b5cea 100755
 --- a/bin/qtile
 +++ b/bin/qtile
-@@ -131,6 +131,7 @@ def make_qtile():
- 
+@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
+ sys.path.insert(0, base_dir)
  
- if __name__ == "__main__":
+ if __name__ == '__main__':
 +    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     rename_process()
-     q = make_qtile()
-     try:
+     from libqtile.scripts import qtile
+     qtile.main()
 diff --git a/bin/qtile-run b/bin/qtile-run
-index ccedb96..646a476 100755
+index e4b121be..1c203bc9 100755
 --- a/bin/qtile-run
 +++ b/bin/qtile-run
-@@ -50,6 +50,7 @@ def main():
-     proc.wait()
+@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
+ sys.path.insert(0, base_dir)
  
- if __name__ == "__main__":
+ if __name__ == '__main__':
 +    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     try:
-         main()
-     except KeyboardInterrupt:
-diff --git a/bin/qtile-session b/bin/qtile-session
-index 84f6a2d..da31b12 100755
---- a/bin/qtile-session
-+++ b/bin/qtile-session
-@@ -25,6 +25,8 @@
- Qtile session manager.
- """
+     from libqtile.scripts import qtile_run
+     qtile_run.main()
+diff --git a/bin/qtile-top b/bin/qtile-top
+index 5316e0e7..272c6430 100755
+--- a/bin/qtile-top
++++ b/bin/qtile-top
+@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
+ sys.path.insert(0, base_dir)
  
-+__import__("importlib").import_module("libqtile.utils").restore_os_environment()
-+
- from libqtile.log_utils import init_log
- import logging
- import os
+ if __name__ == '__main__':
++    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
+     from libqtile.scripts import qtile_top
+     qtile_top.main()
 diff --git a/libqtile/utils.py b/libqtile/utils.py
-index 284089b..ec3539e 100644
+index 36ed0a58..bca9eab3 100644
 --- a/libqtile/utils.py
 +++ b/libqtile/utils.py
-@@ -227,3 +227,11 @@ def describe_attributes(obj, attrs, func=None):
+@@ -240,3 +240,11 @@ def describe_attributes(obj, attrs, func=None):
              pairs.append('%s=%s' % (attr, value))
  
      return ', '.join(pairs)
diff --git a/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch b/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
index d9377897fc69..c9ae57c8615c 100644
--- a/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
+++ b/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
@@ -1,17 +1,8 @@
-From b560c11078fecc35df2c62f34beda06c4e80a10d Mon Sep 17 00:00:00 2001
-From: "Alexander V. Nikolaev" <avn@avnik.info>
-Date: Fri, 27 Nov 2015 10:54:35 +0200
-Subject: [PATCH 3/3] Restart executable
-
----
- libqtile/manager.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/libqtile/manager.py b/libqtile/manager.py
-index b1a38e2..110f7d8 100644
+index 36518a74..9b6bdd02 100644
 --- a/libqtile/manager.py
 +++ b/libqtile/manager.py
-@@ -1339,7 +1339,7 @@ class Qtile(command.CommandObject):
+@@ -1386,7 +1386,7 @@ class Qtile(command.CommandObject):
          argv = [s for s in argv if not s.startswith('--with-state')]
          argv.append('--with-state=' + buf.getvalue().decode())
  
@@ -19,7 +10,4 @@ index b1a38e2..110f7d8 100644
 +        self.cmd_execute(os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:])
  
      def cmd_spawn(self, cmd):
-         """
--- 
-2.6.3
-
+         """Run cmd in a shell.
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index a7b9a77b3dbf..79752829e2a5 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -7,13 +7,13 @@ in
 
 python27Packages.buildPythonApplication rec {
   name = "qtile-${version}";
-  version = "0.10.4";
+  version = "0.10.7";
 
   src = fetchFromGitHub {
     owner = "qtile";
     repo = "qtile";
     rev = "v${version}";
-    sha256 = "0rwklzgkp3x242xql6qmfpfnhr788hd3jc1l80pc5ybxlwyfx59i";
+    sha256 = "18szgplyym0b65vnaa8nqzadq6q0mhsiky9g5hqhn7xzf4kykmj8";
   };
 
   patches = [
diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix
index 1830ee2c42a5..c8b67ec047ae 100644
--- a/pkgs/applications/window-managers/way-cooler/default.nix
+++ b/pkgs/applications/window-managers/way-cooler/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, fetchurl, pkgconfig, makeWrapper, symlinkJoin, writeShellScriptBin, callPackage, defaultCrateOverrides
-, wayland, wlc, dbus_libs, dbus_glib, cairo, libxkbcommon, pam, python3Packages, lemonbar
+{ stdenv, fetchurl, makeWrapper, symlinkJoin, writeShellScriptBin, callPackage, defaultCrateOverrides
+, wayland, wlc, cairo, libxkbcommon, pam, python3Packages, lemonbar, gdk_pixbuf
 }:
 
 let
@@ -9,13 +9,10 @@ let
   fakegit = writeShellScriptBin "git" ''
     echo ""
   '';
-  way-cooler = ((callPackage ./way-cooler.nix {}).way_cooler_0_6_2.override {
+  way-cooler = (((callPackage ./way-cooler.nix {}).way_cooler { builtin-lua = true; }).override {
     crateOverrides = defaultCrateOverrides // {
 
-    way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit ]; };
-    dbus = attrs: { buildInputs = [ pkgconfig dbus_libs ]; };
-    gobject-sys = attrs: { buildInputs = [ dbus_glib ]; };
-    cairo-rs = attrs: { buildInputs = [ cairo ]; };
+    way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit gdk_pixbuf wayland ]; };
   };}).overrideAttrs (oldAttrs: rec {
     nativeBuildInputs = [ makeWrapper ];
 
@@ -23,51 +20,35 @@ let
       mkdir -p $out/etc
       cp -r config $out/etc/way-cooler
     '';
-    # prior v0.7 https://github.com/way-cooler/way-cooler/issues/395
     postFixup = ''
-      makeWrapper $out/bin/way_cooler $out/bin/way-cooler \
-        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ wayland ]}"
+      cd $out/bin
+      mv way_cooler way-cooler
     '';
   });
-  wc-bg = ((callPackage ./wc-bg.nix {}).way_cooler_bg_0_2_1.override {
-    crateOverrides = defaultCrateOverrides // {
+  wc-bg = ((callPackage ./wc-bg.nix {}).wc_bg {}).overrideAttrs (oldAttrs: rec {
+    nativeBuildInputs = [ makeWrapper ];
 
-    dbus = attrs: { buildInputs = [ pkgconfig dbus_libs ]; };
-  };}).overrideAttrs (oldAttrs: rec {
     postFixup = ''
-      cd $out/bin
-      mv way_cooler_bg way-cooler-bg
+      makeWrapper $out/bin/wc_bg $out/bin/wc-bg \
+        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ wayland ]}"
     '';
   });
-  wc-grab = ((callPackage ./wc-grab.nix {}).wc_grab_0_2_0.override {
-    crateOverrides = defaultCrateOverrides // {
-
-    wc-grab = attrs: {
-      src = fetchFromGitHub {
-        owner = "way-cooler";
-        repo = "way-cooler-grab";
-        rev = "v0.2.0";
-        sha256 = "1pc8rhvzdi6bi8g5w03i0ygbcpks9051c3d3yc290rgmmmmkmnwq";
-      };
-    };
-
-    dbus = attrs: { buildInputs = [ pkgconfig dbus_libs ]; };
-  };}).overrideAttrs (oldAttrs: rec {
+  wc-grab = ((callPackage ./wc-grab.nix {}).wc_grab {}).overrideAttrs (oldAttrs: rec {
     postFixup = ''
       cd $out/bin
       mv wc_grab wc-grab
     '';
   });
-  wc-lock = ((callPackage ./wc-lock.nix {}).wc_lock_0_1_0.override {
-    crateOverrides = defaultCrateOverrides // { wc-lock = attrs: {
+  wc-lock = (((callPackage ./wc-lock.nix {}).wc_lock {}).override {
+    crateOverrides = defaultCrateOverrides // {
 
-    buildInputs = [ pam ];
-  };};}).overrideAttrs (oldAttrs: rec {
+    wc-lock = attrs: { buildInputs = [ pam ]; };
+  };}).overrideAttrs (oldAttrs: rec {
     nativeBuildInputs = [ makeWrapper ];
 
     postFixup = ''
       makeWrapper $out/bin/wc_lock $out/bin/wc-lock \
-        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxkbcommon ]}"
+        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxkbcommon wayland ]}"
     '';
   });
   # https://github.com/way-cooler/way-cooler/issues/446
@@ -102,7 +83,7 @@ let
     ${wc-bar-bare}/bin/bar.py $SELECTED $BACKGROUND $SELECTED_OTHER_WORKSPACE 2> /tmp/bar_debug.txt | ${lemonbar}/bin/lemonbar -B $BACKGROUND -F "#FFF" -n "lemonbar" -p -d
   '';
 in symlinkJoin rec {
-  version = "0.6.2";
+  version = "0.8.0";
   name = "way-cooler-with-extensions-${version}";
   paths = [ way-cooler wc-bg wc-grab wc-lock wc-bar ];
 
diff --git a/pkgs/applications/window-managers/way-cooler/way-cooler.nix b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
index 816a1c887089..9ba6db367720 100644
--- a/pkgs/applications/window-managers/way-cooler/way-cooler.nix
+++ b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
@@ -1,938 +1,1862 @@
-# Generated by carnix 0.5.0: carnix -o way-cooler.nix Cargo.lock
+# Generated by carnix 0.6.5: carnix -o way-cooler.nix Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+    mapFeatures = features: map (fun: fun { features = features; });
     mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.5.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.4.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.5.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0bgw1kiy121kikjrwj6zsd7l8n1gg1jirivzkc7zpjsvqa3p0hla";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.6.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.8.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0whaj3969ysqxzk620sk1isvq6vh85516f2fplvqjrw3syz44sb2";
-      inherit dependencies buildDependencies features;
-    };
-    c_vec_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "c_vec";
-      version = "1.2.1";
-      authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
-      sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
-      inherit dependencies buildDependencies features;
-    };
-    cairo_rs_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cairo-rs";
-      version = "0.1.3";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "17wp5wh1jvn2ny8s6fckvbwn0x8ixha6xrqas1bqxd9ygm5g58w1";
-      libName = "cairo";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    cairo_sys_rs_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cairo-sys-rs";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "1fzxshv7vysnnc2nywla6gj3hh00nr6cz1ak0mrxkg65rzrgxkww";
-      libName = "cairo_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    cfg_if_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cfg-if";
-      version = "0.1.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1grr9v6ijms84cvl1jqv5hp9clw9gn3l3g6kj9a31sdzvidd6v29";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus";
-      version = "0.4.1";
-      authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-      sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_macros_0_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus-macros";
-      version = "0.0.6";
-      authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
-      sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
-      inherit dependencies buildDependencies features;
-    };
-    dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dlib";
-      version = "0.3.1";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0mgg4r90yby68qg7y8csbclhsm53ac26vsyq615viq535plllhzw";
-      inherit dependencies buildDependencies features;
-    };
-    dummy_rustwlc_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dummy-rustwlc";
-      version = "0.6.3";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
-      sha256 = "09pcl2r3ifajgq794j4jqaq0n4kyb2z4aaavs1fr78w4fhrzqqmj";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
-      inherit dependencies buildDependencies features;
-    };
-    fixedbitset_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fixedbitset";
-      version = "0.1.6";
-      authors = [ "bluss" ];
-      sha256 = "1jcq0i41l888153v4jyb6q2kc9sjs004md5byfz5mprlmhdawha3";
-      inherit dependencies buildDependencies features;
-    };
-    gcc_0_3_46_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gcc";
-      version = "0.3.46";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "17rbdxa2yapjymbdq7b930sc1ipiwhx4xz7hh48q4bz3d28zg6qb";
-      inherit dependencies buildDependencies features;
-    };
-    getopts_0_2_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "getopts";
-      version = "0.2.14";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1wdz34vls97g9868h8kiw4wmwkbyxg4xm3xzvr1542hc3w4c7z0a";
-      inherit dependencies buildDependencies features;
-    };
-    glib_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glib";
-      version = "0.1.3";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "1j2zwsnxlfdrj8wdi8yp3zl5l9nydsifgxspnwl6ijq3ywnjhcpa";
-      inherit dependencies buildDependencies features;
-    };
-    glib_sys_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glib-sys";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "06ymp4ljrjnb7cly0bixy3svxgnwpbx79499889dqakpfs7566rc";
-      libName = "glib_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    gobject_sys_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gobject-sys";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "0rrk3c94myhspyl3iq7k4kcm72zxl8bk3r7kvqv2f9lf6y820giw";
-      libName = "gobject_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    hlua_0_1_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hlua";
-      version = "0.1.9";
-      authors = [ "pierre.krieger1708@gmail.com" ];
-      sha256 = "1vn7w1rcaj9g04yx5jak09a3wpw7g3yx2fgn8ibx36z07vpf57fs";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0jp1wvfw0qqbyz0whbycp7xr5nx1ds5plh4wsfyj503xmjf9ab4k";
-      inherit dependencies buildDependencies features;
-    };
-    json_macro_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "json_macro";
-      version = "0.1.1";
-      authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
-      sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.8";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "1xbpxx7cd5kl60g87g43q80jxyrsildhxfjc42jb1x4jncknpwbl";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.23";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1i29f6k26fmv81c5bjc6hw2j95sd01h9ad66qxdc755b24xfa9jm";
-      inherit dependencies buildDependencies features;
-    };
-    libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libloading";
-      version = "0.3.4";
-      authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-      sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    log_0_3_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.7";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1qxrwkhpfzhgcmfnw4bl9yy7wwr92wwbin3dp6izcfy58lr369v4";
-      inherit dependencies buildDependencies features;
-    };
-    lua52_sys_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lua52-sys";
-      version = "0.0.4";
-      authors = [ "Pierre Krieger <pierre.krieger1708@gmail.com>" ];
-      sha256 = "115i7k2dnnf4c1b2mxwf5mvqv2wsqmmxm3krphf5wjky20gi2ciz";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "0.1.11";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-      inherit dependencies buildDependencies features;
-    };
-    nix_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nix";
-      version = "0.6.0";
-      authors = [ "Carl Lerche <me@carllerche.com>" ];
-      sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    nix_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nix";
-      version = "0.8.1";
-      authors = [ "The nix-rust Project Developers" ];
-      sha256 = "0iqmn55ajwcq91pl8xviwdvc2zrkaccajsp0nc9lbq9ydli0vhf9";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.37";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-      inherit dependencies buildDependencies features;
-    };
-    ordermap_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ordermap";
-      version = "0.2.10";
-      authors = [ "bluss" ];
-      sha256 = "1pj6d56nwi0wa7cnwl80dwz13vws9nf5s1b7k7i2dav35gkpwy1z";
-      inherit dependencies buildDependencies features;
-    };
-    petgraph_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "petgraph";
-      version = "0.4.5";
-      authors = [ "bluss" "mitchmindtree" ];
-      sha256 = "0482id2flwnxkhj1443g384cvk7f9lva9n6wj2wsag9145zhpjzg";
-      inherit dependencies buildDependencies features;
-    };
-    phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_codegen";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
-      inherit dependencies buildDependencies features;
-    };
-    phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_generator";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
-      inherit dependencies buildDependencies features;
-    };
-    phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_shared";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.15";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-      inherit dependencies buildDependencies features;
-    };
-    regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.1.80";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.3.9";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-serialize";
-      version = "0.3.24";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc_version";
-      version = "0.1.7";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-      inherit dependencies buildDependencies features;
-    };
-    rustwlc_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustwlc";
-      version = "0.6.2";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-      sha256 = "16k8wzyvn1syxcjimy2vh7hc6jlbw31v03ysrzrqgfwncmwx5b2d";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver";
-      version = "0.1.20";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-      inherit dependencies buildDependencies features;
-    };
-    serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "0.9.15";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "0.9.10";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-      inherit dependencies buildDependencies features;
-    };
-    siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "siphasher";
-      version = "0.2.2";
-      authors = [ "Frank Denis <github@pureftpd.org>" ];
-      sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-      inherit dependencies buildDependencies features;
-    };
-    target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "target_build_utils";
-      version = "0.3.1";
-      authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-      sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread-id";
-      version = "2.0.0";
-      authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-      sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.2.7";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "0.1.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-      inherit dependencies buildDependencies features;
-    };
-    uuid_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "uuid";
-      version = "0.3.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
-      inherit dependencies buildDependencies features;
-    };
-    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "void";
-      version = "1.0.2";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-      inherit dependencies buildDependencies features;
-    };
-    way_cooler_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "way-cooler";
-      version = "0.6.2";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-      sha256 = "0ygzgjjhf54fcpk6sbi0acbyki4ff1v7wyckfk4lhv4ycpg9v3cj";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_scanner_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-scanner";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1kdhpm1gkn99sj8vxhyr1x6nxnhm0cjvypajycvn2fa9sdpgw8yc";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_server_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-server";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1aqidrac0z7ny65yhfv9inl3xmdmph21yhmyd3k0nafyghgg9pxw";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.6.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0vqrc46ib5hgbq6djghapairbjskdncas09k680f7pwylbi7yzcj";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-    xml_rs_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "xml-rs";
-      version = "0.3.6";
-      authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-      sha256 = "1g1cclib7fj900m4669vxlz45lxcq0m36g7cd8chl494c2xsgj15";
-      libPath = "src/lib.rs";
-      libName = "xml";
-      crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
-      inherit dependencies buildDependencies features;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  aho_corasick_0_5_3 = aho_corasick_0_5_3_ rec {
-    dependencies = [ memchr_0_1_11 ];
-  };
-  memchr_0_1_11_features."default".from_aho_corasick_0_5_3__default = true;
-  bitflags_0_4_0 = bitflags_0_4_0_ rec {
-    features = mkFeatures bitflags_0_4_0_features;
-  };
-  bitflags_0_4_0_features."".self = true;
-  bitflags_0_5_0 = bitflags_0_5_0_ rec {
-    features = mkFeatures bitflags_0_5_0_features;
-  };
-  bitflags_0_5_0_features."".self = true;
-  bitflags_0_6_0 = bitflags_0_6_0_ rec {};
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_8_2 = bitflags_0_8_2_ rec {
-    features = mkFeatures bitflags_0_8_2_features;
-  };
-  bitflags_0_8_2_features."i128".self_unstable = hasFeature (bitflags_0_8_2_features."unstable" or {});
-  c_vec_1_2_1 = c_vec_1_2_1_ rec {};
-  cairo_rs_0_1_3 = cairo_rs_0_1_3_ rec {
-    dependencies = [ c_vec_1_2_1 cairo_sys_rs_0_3_4 glib_0_1_3 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "glib") features then [glib_0_1_3] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [];
-    features = mkFeatures cairo_rs_0_1_3_features;
-  };
-  cairo_rs_0_1_3_features."".self = true;
-  cairo_rs_0_1_3_features."glib".self_default = hasDefault cairo_rs_0_1_3_features;
-  cairo_rs_0_1_3_features."gtk-rs-lgpl-docs".self_embed-lgpl-docs = hasFeature (cairo_rs_0_1_3_features."embed-lgpl-docs" or {});
-  cairo_rs_0_1_3_features."gtk-rs-lgpl-docs".self_purge-lgpl-docs = hasFeature (cairo_rs_0_1_3_features."purge-lgpl-docs" or {});
-  c_vec_1_2_1_features."default".from_cairo_rs_0_1_3__default = true;
-  cairo_sys_rs_0_3_4_features."png".from_cairo_rs_0_1_3__png = hasFeature (cairo_rs_0_1_3_features."png" or {});
-  cairo_sys_rs_0_3_4_features."v1_12".from_cairo_rs_0_1_3__v1_12 = hasFeature (cairo_rs_0_1_3_features."v1_12" or {});
-  cairo_sys_rs_0_3_4_features."xcb".from_cairo_rs_0_1_3__xcb = hasFeature (cairo_rs_0_1_3_features."xcb" or {});
-  cairo_sys_rs_0_3_4_features."default".from_cairo_rs_0_1_3__default = true;
-  glib_0_1_3_features."default".from_cairo_rs_0_1_3__default = true;
-  libc_0_2_23_features."default".from_cairo_rs_0_1_3__default = true;
-  winapi_0_2_8_features."default".from_cairo_rs_0_1_3__default = true;
-  cairo_sys_rs_0_3_4 = cairo_sys_rs_0_3_4_ rec {
-    dependencies = [ libc_0_2_23 ]
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures cairo_sys_rs_0_3_4_features;
-  };
-  cairo_sys_rs_0_3_4_features."v1_12".self_v1_14 = hasFeature (cairo_sys_rs_0_3_4_features."v1_14" or {});
-  cairo_sys_rs_0_3_4_features."x11".self_xlib = hasFeature (cairo_sys_rs_0_3_4_features."xlib" or {});
-  libc_0_2_23_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  x11_0_0_0_features."xlib".from_cairo_sys_rs_0_3_4 = true;
-  x11_0_0_0_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  cfg_if_0_1_0 = cfg_if_0_1_0_ rec {};
-  dbus_0_4_1 = dbus_0_4_1_ rec {
-    dependencies = [ libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-  };
-  libc_0_2_23_features."default".from_dbus_0_4_1__default = true;
-  dbus_macros_0_0_6 = dbus_macros_0_0_6_ rec {
-    dependencies = [ dbus_0_4_1 ];
-  };
-  dbus_0_4_1_features."default".from_dbus_macros_0_0_6__default = true;
-  dlib_0_3_1 = dlib_0_3_1_ rec {
-    dependencies = [ libloading_0_3_4 ];
-    features = mkFeatures dlib_0_3_1_features;
-  };
-  dlib_0_3_1_features."".self = true;
-  libloading_0_3_4_features."default".from_dlib_0_3_1__default = true;
-  dtoa_0_4_1 = dtoa_0_4_1_ rec {};
-  dummy_rustwlc_0_6_3 = dummy_rustwlc_0_6_3_ rec {
-    dependencies = [ bitflags_0_6_0 libc_0_2_23 wayland_sys_0_9_4 ];
-  };
-  bitflags_0_6_0_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  libc_0_2_23_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  wayland_sys_0_9_4_features."server".from_dummy_rustwlc_0_6_3 = true;
-  wayland_sys_0_9_4_features."dlopen".from_dummy_rustwlc_0_6_3 = true;
-  wayland_sys_0_9_4_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  env_logger_0_3_5 = env_logger_0_3_5_ rec {
-    dependencies = [ log_0_3_7 regex_0_1_80 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_1_80] else []);
-    features = mkFeatures env_logger_0_3_5_features;
-  };
-  env_logger_0_3_5_features."".self = true;
-  env_logger_0_3_5_features."regex".self_default = hasDefault env_logger_0_3_5_features;
-  log_0_3_7_features."default".from_env_logger_0_3_5__default = true;
-  regex_0_1_80_features."default".from_env_logger_0_3_5__default = true;
-  fixedbitset_0_1_6 = fixedbitset_0_1_6_ rec {};
-  gcc_0_3_46 = gcc_0_3_46_ rec {
-    dependencies = [];
-    features = mkFeatures gcc_0_3_46_features;
-  };
-  gcc_0_3_46_features."rayon".self_parallel = hasFeature (gcc_0_3_46_features."parallel" or {});
-  rayon_0_0_0_features."default".from_gcc_0_3_46__default = true;
-  getopts_0_2_14 = getopts_0_2_14_ rec {};
-  glib_0_1_3 = glib_0_1_3_ rec {
-    dependencies = [ bitflags_0_5_0 glib_sys_0_3_4 gobject_sys_0_3_4 lazy_static_0_2_8 libc_0_2_23 ];
-    features = mkFeatures glib_0_1_3_features;
-  };
-  glib_0_1_3_features."v2_38".self_v2_40 = hasFeature (glib_0_1_3_features."v2_40" or {});
-  glib_0_1_3_features."v2_40".self_v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  glib_0_1_3_features."v2_44".self_v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  glib_0_1_3_features."v2_46".self_v2_48 = hasFeature (glib_0_1_3_features."v2_48" or {});
-  glib_0_1_3_features."v2_48".self_v2_50 = hasFeature (glib_0_1_3_features."v2_50" or {});
-  bitflags_0_5_0_features."default".from_glib_0_1_3__default = true;
-  glib_sys_0_3_4_features."v2_38".from_glib_0_1_3__v2_38 = hasFeature (glib_0_1_3_features."v2_38" or {});
-  glib_sys_0_3_4_features."v2_40".from_glib_0_1_3__v2_40 = hasFeature (glib_0_1_3_features."v2_40" or {});
-  glib_sys_0_3_4_features."v2_44".from_glib_0_1_3__v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  glib_sys_0_3_4_features."v2_46".from_glib_0_1_3__v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  glib_sys_0_3_4_features."v2_48".from_glib_0_1_3__v2_48 = hasFeature (glib_0_1_3_features."v2_48" or {});
-  glib_sys_0_3_4_features."v2_50".from_glib_0_1_3__v2_50 = hasFeature (glib_0_1_3_features."v2_50" or {});
-  glib_sys_0_3_4_features."default".from_glib_0_1_3__default = true;
-  gobject_sys_0_3_4_features."v2_38".from_glib_0_1_3__v2_38 = hasFeature (glib_0_1_3_features."v2_38" or {});
-  gobject_sys_0_3_4_features."v2_44".from_glib_0_1_3__v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  gobject_sys_0_3_4_features."v2_46".from_glib_0_1_3__v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  gobject_sys_0_3_4_features."default".from_glib_0_1_3__default = true;
-  lazy_static_0_2_8_features."default".from_glib_0_1_3__default = true;
-  libc_0_2_23_features."default".from_glib_0_1_3__default = true;
-  glib_sys_0_3_4 = glib_sys_0_3_4_ rec {
-    dependencies = [ bitflags_0_8_2 libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures glib_sys_0_3_4_features;
-  };
-  glib_sys_0_3_4_features."v2_34".self_v2_36 = hasFeature (glib_sys_0_3_4_features."v2_36" or {});
-  glib_sys_0_3_4_features."v2_36".self_v2_38 = hasFeature (glib_sys_0_3_4_features."v2_38" or {});
-  glib_sys_0_3_4_features."v2_38".self_v2_40 = hasFeature (glib_sys_0_3_4_features."v2_40" or {});
-  glib_sys_0_3_4_features."v2_40".self_v2_44 = hasFeature (glib_sys_0_3_4_features."v2_44" or {});
-  glib_sys_0_3_4_features."v2_44".self_v2_46 = hasFeature (glib_sys_0_3_4_features."v2_46" or {});
-  glib_sys_0_3_4_features."v2_46".self_v2_48 = hasFeature (glib_sys_0_3_4_features."v2_48" or {});
-  glib_sys_0_3_4_features."v2_48".self_v2_50 = hasFeature (glib_sys_0_3_4_features."v2_50" or {});
-  bitflags_0_8_2_features."default".from_glib_sys_0_3_4__default = true;
-  libc_0_2_23_features."default".from_glib_sys_0_3_4__default = true;
-  gobject_sys_0_3_4 = gobject_sys_0_3_4_ rec {
-    dependencies = [ bitflags_0_8_2 glib_sys_0_3_4 libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures gobject_sys_0_3_4_features;
-  };
-  gobject_sys_0_3_4_features."v2_34".self_v2_36 = hasFeature (gobject_sys_0_3_4_features."v2_36" or {});
-  gobject_sys_0_3_4_features."v2_36".self_v2_38 = hasFeature (gobject_sys_0_3_4_features."v2_38" or {});
-  gobject_sys_0_3_4_features."v2_38".self_v2_42 = hasFeature (gobject_sys_0_3_4_features."v2_42" or {});
-  gobject_sys_0_3_4_features."v2_42".self_v2_44 = hasFeature (gobject_sys_0_3_4_features."v2_44" or {});
-  gobject_sys_0_3_4_features."v2_44".self_v2_46 = hasFeature (gobject_sys_0_3_4_features."v2_46" or {});
-  bitflags_0_8_2_features."default".from_gobject_sys_0_3_4__default = true;
-  glib_sys_0_3_4_features."default".from_gobject_sys_0_3_4__default = true;
-  libc_0_2_23_features."default".from_gobject_sys_0_3_4__default = true;
-  hlua_0_1_9 = hlua_0_1_9_ rec {
-    dependencies = [ libc_0_2_23 lua52_sys_0_0_4 ];
-  };
-  libc_0_2_23_features."default".from_hlua_0_1_9__default = true;
-  lua52_sys_0_0_4_features."default".from_hlua_0_1_9__default = true;
-  itoa_0_3_1 = itoa_0_3_1_ rec {};
-  json_macro_0_1_1 = json_macro_0_1_1_ rec {
-    dependencies = [ rustc_serialize_0_3_24 ];
-  };
-  rustc_serialize_0_3_24_features."default".from_json_macro_0_1_1__default = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  lazy_static_0_2_8 = lazy_static_0_2_8_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_8_features;
-  };
-  lazy_static_0_2_8_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  lazy_static_0_2_8_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_8__default = true;
-  libc_0_2_23 = libc_0_2_23_ rec {
-    features = mkFeatures libc_0_2_23_features;
-  };
-  libc_0_2_23_features."use_std".self_default = hasDefault libc_0_2_23_features;
-  libloading_0_3_4 = libloading_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_8 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ target_build_utils_0_3_1 ];
-  };
-  lazy_static_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_libloading_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  log_0_3_7 = log_0_3_7_ rec {
-    features = mkFeatures log_0_3_7_features;
-  };
-  log_0_3_7_features."use_std".self_default = hasDefault log_0_3_7_features;
-  lua52_sys_0_0_4 = lua52_sys_0_0_4_ rec {
-    dependencies = [ libc_0_2_23 ];
-    buildDependencies = [ gcc_0_3_46 pkg_config_0_3_9 ];
-  };
-  libc_0_2_23_features."default".from_lua52_sys_0_0_4__default = true;
-  memchr_0_1_11 = memchr_0_1_11_ rec {
-    dependencies = [ libc_0_2_23 ];
-  };
-  libc_0_2_23_features."default".from_memchr_0_1_11__default = true;
-  nix_0_6_0 = nix_0_6_0_ rec {
-    dependencies = [ bitflags_0_4_0 cfg_if_0_1_0 libc_0_2_23 void_1_0_2 ];
-    buildDependencies = [ rustc_version_0_1_7 semver_0_1_20 ];
-    features = mkFeatures nix_0_6_0_features;
-  };
-  nix_0_6_0_features."".self = true;
-  bitflags_0_4_0_features."default".from_nix_0_6_0__default = true;
-  cfg_if_0_1_0_features."default".from_nix_0_6_0__default = true;
-  libc_0_2_23_features."default".from_nix_0_6_0__default = true;
-  void_1_0_2_features."default".from_nix_0_6_0__default = true;
-  nix_0_8_1 = nix_0_8_1_ rec {
-    dependencies = [ bitflags_0_7_0 cfg_if_0_1_0 libc_0_2_23 void_1_0_2 ];
-    features = mkFeatures nix_0_8_1_features;
-  };
-  nix_0_8_1_features."".self = true;
-  bitflags_0_7_0_features."default".from_nix_0_8_1__default = true;
-  cfg_if_0_1_0_features."default".from_nix_0_8_1__default = true;
-  libc_0_2_23_features."default".from_nix_0_8_1__default = true;
-  void_1_0_2_features."default".from_nix_0_8_1__default = true;
-  num_traits_0_1_37 = num_traits_0_1_37_ rec {};
-  ordermap_0_2_10 = ordermap_0_2_10_ rec {
-    features = mkFeatures ordermap_0_2_10_features;
-  };
-  ordermap_0_2_10_features."".self = true;
-  petgraph_0_4_5 = petgraph_0_4_5_ rec {
-    dependencies = [ fixedbitset_0_1_6 ordermap_0_2_10 ]
-      ++ (if lib.lists.any (x: x == "ordermap") features then [ordermap_0_2_10] else []);
-    features = mkFeatures petgraph_0_4_5_features;
-  };
-  petgraph_0_4_5_features."".self = true;
-  petgraph_0_4_5_features."unstable".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."quickcheck".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."stable_graph".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."graphmap".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."graphmap".self_default = hasDefault petgraph_0_4_5_features;
-  petgraph_0_4_5_features."stable_graph".self_default = hasDefault petgraph_0_4_5_features;
-  petgraph_0_4_5_features."ordermap".self_graphmap = hasFeature (petgraph_0_4_5_features."graphmap" or {});
-  petgraph_0_4_5_features."generate".self_unstable = hasFeature (petgraph_0_4_5_features."unstable" or {});
-  fixedbitset_0_1_6_features."default".from_petgraph_0_4_5__default = true;
-  ordermap_0_2_10_features."default".from_petgraph_0_4_5__default = true;
-  quickcheck_0_0_0_features."default".from_petgraph_0_4_5__default = false;
-  phf_0_7_21 = phf_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 ];
-    features = mkFeatures phf_0_7_21_features;
-  };
-  phf_0_7_21_features."".self = true;
-  phf_shared_0_7_21_features."core".from_phf_0_7_21__core = hasFeature (phf_0_7_21_features."core" or {});
-  phf_shared_0_7_21_features."unicase".from_phf_0_7_21__unicase = hasFeature (phf_0_7_21_features."unicase" or {});
-  phf_shared_0_7_21_features."default".from_phf_0_7_21__default = true;
-  phf_codegen_0_7_21 = phf_codegen_0_7_21_ rec {
-    dependencies = [ phf_generator_0_7_21 phf_shared_0_7_21 ];
-  };
-  phf_generator_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_shared_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_generator_0_7_21 = phf_generator_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 rand_0_3_15 ];
-  };
-  phf_shared_0_7_21_features."default".from_phf_generator_0_7_21__default = true;
-  rand_0_3_15_features."default".from_phf_generator_0_7_21__default = true;
-  phf_shared_0_7_21 = phf_shared_0_7_21_ rec {
-    dependencies = [ siphasher_0_2_2 ];
-    features = mkFeatures phf_shared_0_7_21_features;
-  };
-  phf_shared_0_7_21_features."".self = true;
-  siphasher_0_2_2_features."default".from_phf_shared_0_7_21__default = true;
-  unicase_0_0_0_features."default".from_phf_shared_0_7_21__default = true;
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  rand_0_3_15 = rand_0_3_15_ rec {
-    dependencies = [ libc_0_2_23 ];
-  };
-  libc_0_2_23_features."default".from_rand_0_3_15__default = true;
-  regex_0_1_80 = regex_0_1_80_ rec {
-    dependencies = [ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ];
-    features = mkFeatures regex_0_1_80_features;
-  };
-  regex_0_1_80_features."simd".self_simd-accel = hasFeature (regex_0_1_80_features."simd-accel" or {});
-  aho_corasick_0_5_3_features."default".from_regex_0_1_80__default = true;
-  memchr_0_1_11_features."default".from_regex_0_1_80__default = true;
-  regex_syntax_0_3_9_features."default".from_regex_0_1_80__default = true;
-  simd_0_0_0_features."default".from_regex_0_1_80__default = true;
-  thread_local_0_2_7_features."default".from_regex_0_1_80__default = true;
-  utf8_ranges_0_1_3_features."default".from_regex_0_1_80__default = true;
-  regex_syntax_0_3_9 = regex_syntax_0_3_9_ rec {};
-  rustc_serialize_0_3_24 = rustc_serialize_0_3_24_ rec {};
-  rustc_version_0_1_7 = rustc_version_0_1_7_ rec {
-    dependencies = [ semver_0_1_20 ];
-  };
-  semver_0_1_20_features."default".from_rustc_version_0_1_7__default = true;
-  rustwlc_0_6_2 = rustwlc_0_6_2_ rec {
-    dependencies = [ bitflags_0_7_0 libc_0_2_23 wayland_sys_0_6_0 ]
-      ++ (if lib.lists.any (x: x == "wayland-sys") features then [wayland_sys_0_6_0] else []);
-    features = mkFeatures rustwlc_0_6_2_features;
-  };
-  rustwlc_0_6_2_features."".self = true;
-  rustwlc_0_6_2_features."wayland-sys".self_wlc-wayland = hasFeature (rustwlc_0_6_2_features."wlc-wayland" or {});
-  bitflags_0_7_0_features."default".from_rustwlc_0_6_2__default = true;
-  libc_0_2_23_features."default".from_rustwlc_0_6_2__default = true;
-  wayland_sys_0_6_0_features."server".from_rustwlc_0_6_2 = true;
-  wayland_sys_0_6_0_features."default".from_rustwlc_0_6_2__default = true;
-  semver_0_1_20 = semver_0_1_20_ rec {};
-  serde_0_9_15 = serde_0_9_15_ rec {
-    dependencies = [];
-    features = mkFeatures serde_0_9_15_features;
-  };
-  serde_0_9_15_features."unstable".self_alloc = hasFeature (serde_0_9_15_features."alloc" or {});
-  serde_0_9_15_features."alloc".self_collections = hasFeature (serde_0_9_15_features."collections" or {});
-  serde_0_9_15_features."std".self_default = hasDefault serde_0_9_15_features;
-  serde_0_9_15_features."serde_derive".self_derive = hasFeature (serde_0_9_15_features."derive" or {});
-  serde_0_9_15_features."serde_derive".self_playground = hasFeature (serde_0_9_15_features."playground" or {});
-  serde_0_9_15_features."unstable".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_0_9_15_features."std".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_derive_0_0_0_features."default".from_serde_0_9_15__default = true;
-  serde_json_0_9_10 = serde_json_0_9_10_ rec {
-    dependencies = [ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_15 ];
-    features = mkFeatures serde_json_0_9_10_features;
-  };
-  serde_json_0_9_10_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_0_9_10_features."preserve_order" or {});
-  dtoa_0_4_1_features."default".from_serde_json_0_9_10__default = true;
-  itoa_0_3_1_features."default".from_serde_json_0_9_10__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_0_9_10__default = true;
-  num_traits_0_1_37_features."default".from_serde_json_0_9_10__default = true;
-  serde_0_9_15_features."default".from_serde_json_0_9_10__default = true;
-  siphasher_0_2_2 = siphasher_0_2_2_ rec {
-    dependencies = [];
-  };
-  clippy_0_0_0_features."default".from_siphasher_0_2_2__default = true;
-  target_build_utils_0_3_1 = target_build_utils_0_3_1_ rec {
-    dependencies = [ phf_0_7_21 serde_json_0_9_10 ]
-      ++ (if lib.lists.any (x: x == "serde_json") features then [serde_json_0_9_10] else []);
-    buildDependencies = [ phf_codegen_0_7_21 ];
-    features = mkFeatures target_build_utils_0_3_1_features;
-  };
-  target_build_utils_0_3_1_features."".self = true;
-  target_build_utils_0_3_1_features."serde_json".self_default = hasDefault target_build_utils_0_3_1_features;
-  phf_0_7_21_features."default".from_target_build_utils_0_3_1__default = true;
-  serde_json_0_9_10_features."default".from_target_build_utils_0_3_1__default = true;
-  thread_id_2_0_0 = thread_id_2_0_0_ rec {
-    dependencies = [ kernel32_sys_0_2_2 libc_0_2_23 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_thread_id_2_0_0__default = true;
-  libc_0_2_23_features."default".from_thread_id_2_0_0__default = true;
-  thread_local_0_2_7 = thread_local_0_2_7_ rec {
-    dependencies = [ thread_id_2_0_0 ];
-  };
-  thread_id_2_0_0_features."default".from_thread_local_0_2_7__default = true;
-  utf8_ranges_0_1_3 = utf8_ranges_0_1_3_ rec {};
-  uuid_0_3_1 = uuid_0_3_1_ rec {
-    dependencies = [ rand_0_3_15 rustc_serialize_0_3_24 ]
-      ++ (if lib.lists.any (x: x == "rand") features then [rand_0_3_15] else [])      ++ (if lib.lists.any (x: x == "rustc-serialize") features then [rustc_serialize_0_3_24] else []);
-    features = mkFeatures uuid_0_3_1_features;
-  };
-  uuid_0_3_1_features."".self = true;
-  uuid_0_3_1_features."rand".self_v4 = hasFeature (uuid_0_3_1_features."v4" or {});
-  uuid_0_3_1_features."sha1".self_v5 = hasFeature (uuid_0_3_1_features."v5" or {});
-  rand_0_3_15_features."default".from_uuid_0_3_1__default = true;
-  rustc_serialize_0_3_24_features."default".from_uuid_0_3_1__default = true;
-  serde_0_0_0_features."default".from_uuid_0_3_1__default = true;
-  sha1_0_0_0_features."default".from_uuid_0_3_1__default = true;
-  void_1_0_2 = void_1_0_2_ rec {
-    features = mkFeatures void_1_0_2_features;
-  };
-  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
-  way_cooler_0_6_2 = way_cooler_0_6_2_ rec {
-    dependencies = [ bitflags_0_7_0 cairo_rs_0_1_3 dbus_0_4_1 dbus_macros_0_0_6 env_logger_0_3_5 getopts_0_2_14 hlua_0_1_9 json_macro_0_1_1 lazy_static_0_2_8 log_0_3_7 nix_0_6_0 petgraph_0_4_5 rustc_serialize_0_3_24 rustwlc_0_6_2 uuid_0_3_1 wayland_server_0_9_4 wayland_sys_0_9_4 ];
-    buildDependencies = [ wayland_scanner_0_9_4 ];
-    features = mkFeatures way_cooler_0_6_2_features;
-  };
-  way_cooler_0_6_2_features."".self = true;
-  bitflags_0_7_0_features."default".from_way_cooler_0_6_2__default = true;
-  cairo_rs_0_1_3_features."default".from_way_cooler_0_6_2__default = true;
-  dbus_0_4_1_features."default".from_way_cooler_0_6_2__default = true;
-  dbus_macros_0_0_6_features."default".from_way_cooler_0_6_2__default = true;
-  env_logger_0_3_5_features."default".from_way_cooler_0_6_2__default = true;
-  getopts_0_2_14_features."default".from_way_cooler_0_6_2__default = true;
-  hlua_0_1_9_features."default".from_way_cooler_0_6_2__default = true;
-  json_macro_0_1_1_features."default".from_way_cooler_0_6_2__default = true;
-  lazy_static_0_2_8_features."default".from_way_cooler_0_6_2__default = true;
-  log_0_3_7_features."default".from_way_cooler_0_6_2__default = true;
-  nix_0_6_0_features."default".from_way_cooler_0_6_2__default = true;
-  petgraph_0_4_5_features."default".from_way_cooler_0_6_2__default = true;
-  rustc_serialize_0_3_24_features."default".from_way_cooler_0_6_2__default = true;
-  rustwlc_0_6_2_features."wlc-wayland".from_way_cooler_0_6_2 = true;
-  rustwlc_0_6_2_features."static-wlc".from_way_cooler_0_6_2__static-wlc = hasFeature (way_cooler_0_6_2_features."static-wlc" or {});
-  rustwlc_0_6_2_features."default".from_way_cooler_0_6_2__default = true;
-  uuid_0_3_1_features."v4".from_way_cooler_0_6_2 = true;
-  uuid_0_3_1_features."rustc-serialize".from_way_cooler_0_6_2 = true;
-  uuid_0_3_1_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_server_0_9_4_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_sys_0_9_4_features."client".from_way_cooler_0_6_2 = true;
-  wayland_sys_0_9_4_features."dlopen".from_way_cooler_0_6_2 = true;
-  wayland_sys_0_9_4_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_scanner_0_9_4 = wayland_scanner_0_9_4_ rec {
-    dependencies = [ xml_rs_0_3_6 ];
-  };
-  xml_rs_0_3_6_features."default".from_wayland_scanner_0_9_4__default = true;
-  wayland_server_0_9_4 = wayland_server_0_9_4_ rec {
-    dependencies = [ bitflags_0_7_0 libc_0_2_23 nix_0_8_1 wayland_sys_0_9_4 ];
-    buildDependencies = [ wayland_scanner_0_9_4 ];
-    features = mkFeatures wayland_server_0_9_4_features;
-  };
-  wayland_server_0_9_4_features."".self = true;
-  bitflags_0_7_0_features."default".from_wayland_server_0_9_4__default = true;
-  libc_0_2_23_features."default".from_wayland_server_0_9_4__default = true;
-  nix_0_8_1_features."default".from_wayland_server_0_9_4__default = true;
-  wayland_sys_0_9_4_features."server".from_wayland_server_0_9_4 = true;
-  wayland_sys_0_9_4_features."dlopen".from_wayland_server_0_9_4__dlopen = hasFeature (wayland_server_0_9_4_features."dlopen" or {});
-  wayland_sys_0_9_4_features."default".from_wayland_server_0_9_4__default = true;
-  wayland_sys_0_6_0 = wayland_sys_0_6_0_ rec {
-    dependencies = [ dlib_0_3_1 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_23] else []);
-    features = mkFeatures wayland_sys_0_6_0_features;
-  };
-  wayland_sys_0_6_0_features."".self = true;
-  wayland_sys_0_6_0_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  wayland_sys_0_6_0_features."libc".self_server = hasFeature (wayland_sys_0_6_0_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_6_0__dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_6_0__default = true;
-  lazy_static_0_0_0_features."default".from_wayland_sys_0_6_0__default = true;
-  libc_0_2_23_features."default".from_wayland_sys_0_6_0__default = true;
-  wayland_sys_0_9_4 = wayland_sys_0_9_4_ rec {
-    dependencies = [ dlib_0_3_1 lazy_static_0_2_8 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "lazy_static") features then [lazy_static_0_2_8] else [])      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_23] else []);
-    features = mkFeatures wayland_sys_0_9_4_features;
-  };
-  wayland_sys_0_9_4_features."".self = true;
-  wayland_sys_0_9_4_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_9_4_features."dlopen" or {});
-  wayland_sys_0_9_4_features."libc".self_server = hasFeature (wayland_sys_0_9_4_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_9_4__dlopen = hasFeature (wayland_sys_0_9_4_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_9_4__default = true;
-  lazy_static_0_2_8_features."default".from_wayland_sys_0_9_4__default = true;
-  libc_0_2_23_features."default".from_wayland_sys_0_9_4__default = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  xml_rs_0_3_6 = xml_rs_0_3_6_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_xml_rs_0_3_6__default = true;
+  way_cooler = f: way_cooler_0_8_0 { features = way_cooler_0_8_0_features { way_cooler_0_8_0 = f; }; };
+  aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.5.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
+    libName = "aho_corasick";
+    crateBin = [ {  name = "aho-corasick-dot"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.4.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.6.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.9.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
+    inherit dependencies buildDependencies features;
+  };
+  c_vec_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "c_vec";
+    version = "1.2.1";
+    authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
+    sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
+    inherit dependencies buildDependencies features;
+  };
+  cairo_rs_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cairo-rs";
+    version = "0.2.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "0bcbhbyips15b7la4r43p4x57jv1w2ll8iwg9lxwvzz5k6c7iwvd";
+    libName = "cairo";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  cairo_sys_rs_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cairo-sys-rs";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "062nxihlydci65pyy2ldn7djkc9sm7a5xvkl8pxrsxfxvfapm5br";
+    libName = "cairo_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cfg-if";
+    version = "0.1.2";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus";
+    version = "0.4.1";
+    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
+    sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_macros_0_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus-macros";
+    version = "0.0.6";
+    authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
+    sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
+    inherit dependencies buildDependencies features;
+  };
+  dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dlib";
+    version = "0.3.1";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
+    inherit dependencies buildDependencies features;
+  };
+  dlib_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dlib";
+    version = "0.4.0";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "08sy43rji5dyhyz8r4i0dz6zan1r1dz8sh6fk3c1jyhy8v8s96jr";
+    inherit dependencies buildDependencies features;
+  };
+  dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+    inherit dependencies buildDependencies features;
+  };
+  dummy_rustwlc_0_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dummy-rustwlc";
+    version = "0.7.1";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
+    sha256 = "13priwnxpjvmym6yh9v9x1230ca04cba7bzbnn21pbvqngis1y88";
+    inherit dependencies buildDependencies features;
+  };
+  env_logger_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "env_logger";
+    version = "0.3.5";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
+    inherit dependencies buildDependencies features;
+  };
+  fixedbitset_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fixedbitset";
+    version = "0.1.8";
+    authors = [ "bluss" ];
+    sha256 = "18qr6w8jlfvhq825dr0mv9k0xqgb43sshdihbarc9khi9cz910a2";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.3.2";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1zhxksplv52nlqd4j21h8462b5s913ngnhd303qsxsxn8dpaxgkq";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_sys_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.3.2";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0p8mrhg8pxk4kpzziv6nlxd8xgkj916gsg2b0x2mvf9dxwzrqhnk";
+    inherit dependencies buildDependencies features;
+  };
+  gcc_0_3_54_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gcc";
+    version = "0.3.54";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "07a5i47r8achc6gxsba3ga17h9gnh4b9a2cak8vjg4hx62aajkr4";
+    inherit dependencies buildDependencies features;
+  };
+  gdk_pixbuf_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gdk-pixbuf";
+    version = "0.2.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "082z1s30haa59ax35wsv06mj8z8bhhq0fac36g01qa77kpiphj5y";
+    libName = "gdk_pixbuf";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  gdk_pixbuf_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gdk-pixbuf-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "1r98zdqqik3hh1l10jmhhcjx59yk4m0bs9pc7hnkwp2p6gm968vp";
+    libName = "gdk_pixbuf_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  getopts_0_2_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "getopts";
+    version = "0.2.15";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "14wm893ihscwwbwpd1xvjm23slaidridbl2p2ghwkx69xfzm9333";
+    inherit dependencies buildDependencies features;
+  };
+  gio_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gio-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "064lv6h3qfgjzc6pbbxgln24b2fq9gxzh78z6d7fwfa97azllv2l";
+    libName = "gio_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  glib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glib";
+    version = "0.3.1";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "00s3n0pd8by1fk2l01mxmbnqq4ff6wadnkcf9jbjvr1l9bzgyqbl";
+    inherit dependencies buildDependencies features;
+  };
+  glib_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glib-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "153i1zmk824hdf8agkaqcgddlwpvgng71n7bdpaav5f4zzlfyp2w";
+    libName = "glib_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  gobject_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gobject-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "00zmcbzqfhn9w01cphhf3hbq8ldd9ajba7x07z59vv1gdq6wjzli";
+    libName = "gobject_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.4";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    inherit dependencies buildDependencies features;
+  };
+  json_macro_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "json_macro";
+    version = "0.1.1";
+    authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
+    sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
+    inherit dependencies buildDependencies features;
+  };
+  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.11";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "1.0.0";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0wfvqyr2nvx2mbsrscg5y7gfa9skhb8p72ayanl8vl49pw24v4fh";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.34";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "11jmqdxmv0ka10ay0l8nzx0nl7s2lc3dbrnh1mgbr2grzwdyxi2s";
+    inherit dependencies buildDependencies features;
+  };
+  libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libloading";
+    version = "0.3.4";
+    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
+    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  libloading_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libloading";
+    version = "0.4.3";
+    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
+    sha256 = "1cgb6xbadm59gc3cq733wrzsp59914hrjam0fan5gn1z100b6319";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.3.9";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.4.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0d6m7c1cr6sj3kk47801zyjgnzyl94yh2ra9gxc3waljza7wvx92";
+    inherit dependencies buildDependencies features;
+  };
+  memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memchr";
+    version = "0.1.11";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
+    inherit dependencies buildDependencies features;
+  };
+  nix_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nix";
+    version = "0.6.0";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  nix_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nix";
+    version = "0.9.0";
+    authors = [ "The nix-rust Project Developers" ];
+    sha256 = "00p63bphzwwn460rja5l2wcpgmv7ljf7illf6n95cppx63d180q0";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_41_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.41";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "134gv890n1gv8v0jys55k0940gqp2hibgf1fs8q9jmyk2xp1jp9m";
+    inherit dependencies buildDependencies features;
+  };
+  ordermap_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ordermap";
+    version = "0.3.2";
+    authors = [ "bluss" ];
+    sha256 = "13zw8i0gf3snihmg9xvd63sd3ffdhhv8bmgfwbwf4shqxh6h3sac";
+    inherit dependencies buildDependencies features;
+  };
+  petgraph_0_4_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "petgraph";
+    version = "0.4.10";
+    authors = [ "bluss" "mitchmindtree" ];
+    sha256 = "1fdh2hwkrbf716qxdiasjn8jspvshhykclj8mwafdd8h241159sj";
+    inherit dependencies buildDependencies features;
+  };
+  phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_codegen";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
+    inherit dependencies buildDependencies features;
+  };
+  phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_generator";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
+    inherit dependencies buildDependencies features;
+  };
+  phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_shared";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_19_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.19";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "19zx65w7rrrfnjifmjp2i80w9bc6ld7pcwnk5hmr9xszmmvhk8zp";
+    inherit dependencies buildDependencies features;
+  };
+  regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex";
+    version = "0.1.80";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
+    inherit dependencies buildDependencies features;
+  };
+  regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.3.9";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
+    inherit dependencies buildDependencies features;
+  };
+  rlua_0_9_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rlua";
+    version = "0.9.7";
+    authors = [ "kyren <catherine@chucklefish.org>" ];
+    sha256 = "1671b5ga54aq49sqx69hvnjr732hf9jpqwswwxgpcqq8q05mfzgp";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc-serialize";
+    version = "0.3.24";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.1.7";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
+    inherit dependencies buildDependencies features;
+  };
+  rustwlc_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustwlc";
+    version = "0.7.0";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
+    sha256 = "0gqi9pdw74al33ja25h33q68vnfklj3gpjgkiqqbr3gflgli5h1i";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "semver";
+    version = "0.1.20";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
+    inherit dependencies buildDependencies features;
+  };
+  serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde";
+    version = "0.9.15";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
+    inherit dependencies buildDependencies features;
+  };
+  serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_json";
+    version = "0.9.10";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
+    inherit dependencies buildDependencies features;
+  };
+  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "siphasher";
+    version = "0.2.2";
+    authors = [ "Frank Denis <github@pureftpd.org>" ];
+    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
+    inherit dependencies buildDependencies features;
+  };
+  target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "target_build_utils";
+    version = "0.3.1";
+    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
+    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread-id";
+    version = "2.0.0";
+    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
+    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
+    inherit dependencies buildDependencies features;
+  };
+  thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.2.7";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
+    inherit dependencies buildDependencies features;
+  };
+  token_store_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "token_store";
+    version = "0.1.2";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1v7acraqyh6iibg87pwkxm41v783sminxm5k9f4ndra7r0vq4zvq";
+    inherit dependencies buildDependencies features;
+  };
+  utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "0.1.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
+    inherit dependencies buildDependencies features;
+  };
+  uuid_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "uuid";
+    version = "0.3.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
+    inherit dependencies buildDependencies features;
+  };
+  void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "void";
+    version = "1.0.2";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+    inherit dependencies buildDependencies features;
+  };
+  way_cooler_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "way-cooler";
+    version = "0.8.0";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
+    sha256 = "1xg7sg0ssc7a8nx7g6pjdfz9ndf0l7p2n0ydh3sqym3k5ifxi965";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_scanner_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-scanner";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "043s30i7da64a7inmwiib36ax681vw7zr0pfl54alcyc6pgyanb1";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_server_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-server";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0m8565848l8f1h3mwlyxy3nfqv11vpl50y9qcpmp60hw8w2vw124";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.6.0";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.9.10";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1q9qyjl6bz356kh50lzvk48qbs87zbaqh5mhm6nlngkg1qrbvi6c";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+    inherit dependencies buildDependencies features;
+  };
+  xcb_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xcb";
+    version = "0.8.1";
+    authors = [ "Remi Thebault <remi.thebault@gmail.com>" ];
+    sha256 = "12jk8rbbmw3h9w0c7idvjph5bx0qpjgrv0nql2cfwy571j9qxb7j";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  xml_rs_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xml-rs";
+    version = "0.7.0";
+    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
+    sha256 = "12rynhqjgkg2hzy9x1d1232p9d9jm40bc3by5yzjv8gx089mflyb";
+    libPath = "src/lib.rs";
+    libName = "xml";
+    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  aho_corasick_0_5_3 = { features?(aho_corasick_0_5_3_features {}) }: aho_corasick_0_5_3_ {
+    dependencies = mapFeatures features ([ memchr_0_1_11 ]);
+  };
+  aho_corasick_0_5_3_features = f: updateFeatures f (rec {
+    aho_corasick_0_5_3.default = (f.aho_corasick_0_5_3.default or true);
+    memchr_0_1_11.default = true;
+  }) [ memchr_0_1_11_features ];
+  bitflags_0_4_0 = { features?(bitflags_0_4_0_features {}) }: bitflags_0_4_0_ {
+    features = mkFeatures (features.bitflags_0_4_0 or {});
+  };
+  bitflags_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_4_0.default = (f.bitflags_0_4_0.default or true);
+  }) [];
+  bitflags_0_6_0 = { features?(bitflags_0_6_0_features {}) }: bitflags_0_6_0_ {};
+  bitflags_0_6_0_features = f: updateFeatures f (rec {
+    bitflags_0_6_0.default = (f.bitflags_0_6_0.default or true);
+  }) [];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
+  }) [];
+  bitflags_0_9_1 = { features?(bitflags_0_9_1_features {}) }: bitflags_0_9_1_ {
+    features = mkFeatures (features.bitflags_0_9_1 or {});
+  };
+  bitflags_0_9_1_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = (f.bitflags_0_9_1.default or true);
+    bitflags_0_9_1.example_generated =
+      (f.bitflags_0_9_1.example_generated or false) ||
+      (f.bitflags_0_9_1.default or false) ||
+      (bitflags_0_9_1.default or false);
+  }) [];
+  bitflags_1_0_1 = { features?(bitflags_1_0_1_features {}) }: bitflags_1_0_1_ {
+    features = mkFeatures (features.bitflags_1_0_1 or {});
+  };
+  bitflags_1_0_1_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = (f.bitflags_1_0_1.default or true);
+    bitflags_1_0_1.example_generated =
+      (f.bitflags_1_0_1.example_generated or false) ||
+      (f.bitflags_1_0_1.default or false) ||
+      (bitflags_1_0_1.default or false);
+  }) [];
+  c_vec_1_2_1 = { features?(c_vec_1_2_1_features {}) }: c_vec_1_2_1_ {};
+  c_vec_1_2_1_features = f: updateFeatures f (rec {
+    c_vec_1_2_1.default = (f.c_vec_1_2_1.default or true);
+  }) [];
+  cairo_rs_0_2_0 = { features?(cairo_rs_0_2_0_features {}) }: cairo_rs_0_2_0_ {
+    dependencies = mapFeatures features ([ c_vec_1_2_1 cairo_sys_rs_0_4_0 libc_0_2_34 ]
+      ++ (if features.cairo_rs_0_2_0.glib or false then [ glib_0_3_1 ] else [])
+      ++ (if features.cairo_rs_0_2_0.glib-sys or false then [ glib_sys_0_4_0 ] else []))
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([]);
+    features = mkFeatures (features.cairo_rs_0_2_0 or {});
+  };
+  cairo_rs_0_2_0_features = f: updateFeatures f (rec {
+    c_vec_1_2_1.default = true;
+    cairo_rs_0_2_0.default = (f.cairo_rs_0_2_0.default or true);
+    cairo_rs_0_2_0.glib =
+      (f.cairo_rs_0_2_0.glib or false) ||
+      (f.cairo_rs_0_2_0.use_glib or false) ||
+      (cairo_rs_0_2_0.use_glib or false);
+    cairo_rs_0_2_0.glib-sys =
+      (f.cairo_rs_0_2_0.glib-sys or false) ||
+      (f.cairo_rs_0_2_0.use_glib or false) ||
+      (cairo_rs_0_2_0.use_glib or false);
+    cairo_rs_0_2_0.gtk-rs-lgpl-docs =
+      (f.cairo_rs_0_2_0.gtk-rs-lgpl-docs or false) ||
+      (f.cairo_rs_0_2_0.embed-lgpl-docs or false) ||
+      (cairo_rs_0_2_0.embed-lgpl-docs or false) ||
+      (f.cairo_rs_0_2_0.purge-lgpl-docs or false) ||
+      (cairo_rs_0_2_0.purge-lgpl-docs or false);
+    cairo_rs_0_2_0.use_glib =
+      (f.cairo_rs_0_2_0.use_glib or false) ||
+      (f.cairo_rs_0_2_0.default or false) ||
+      (cairo_rs_0_2_0.default or false);
+    cairo_sys_rs_0_4_0.default = true;
+    cairo_sys_rs_0_4_0.png =
+      (f.cairo_sys_rs_0_4_0.png or false) ||
+      (cairo_rs_0_2_0.png or false) ||
+      (f.cairo_rs_0_2_0.png or false);
+    cairo_sys_rs_0_4_0.v1_12 =
+      (f.cairo_sys_rs_0_4_0.v1_12 or false) ||
+      (cairo_rs_0_2_0.v1_12 or false) ||
+      (f.cairo_rs_0_2_0.v1_12 or false);
+    cairo_sys_rs_0_4_0.xcb =
+      (f.cairo_sys_rs_0_4_0.xcb or false) ||
+      (cairo_rs_0_2_0.xcb or false) ||
+      (f.cairo_rs_0_2_0.xcb or false);
+    glib_0_3_1.default = true;
+    glib_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    winapi_0_2_8.default = true;
+  }) [ c_vec_1_2_1_features cairo_sys_rs_0_4_0_features glib_0_3_1_features glib_sys_0_4_0_features libc_0_2_34_features winapi_0_2_8_features ];
+  cairo_sys_rs_0_4_0 = { features?(cairo_sys_rs_0_4_0_features {}) }: cairo_sys_rs_0_4_0_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.cairo_sys_rs_0_4_0 or {});
+  };
+  cairo_sys_rs_0_4_0_features = f: updateFeatures f (rec {
+    cairo_sys_rs_0_4_0.default = (f.cairo_sys_rs_0_4_0.default or true);
+    cairo_sys_rs_0_4_0.v1_12 =
+      (f.cairo_sys_rs_0_4_0.v1_12 or false) ||
+      (f.cairo_sys_rs_0_4_0.v1_14 or false) ||
+      (cairo_sys_rs_0_4_0.v1_14 or false);
+    cairo_sys_rs_0_4_0.x11 =
+      (f.cairo_sys_rs_0_4_0.x11 or false) ||
+      (f.cairo_sys_rs_0_4_0.xlib or false) ||
+      (cairo_sys_rs_0_4_0.xlib or false);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_34_features pkg_config_0_3_9_features winapi_0_2_8_features ];
+  cfg_if_0_1_2 = { features?(cfg_if_0_1_2_features {}) }: cfg_if_0_1_2_ {};
+  cfg_if_0_1_2_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = (f.cfg_if_0_1_2.default or true);
+  }) [];
+  dbus_0_4_1 = { features?(dbus_0_4_1_features {}) }: dbus_0_4_1_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+  };
+  dbus_0_4_1_features = f: updateFeatures f (rec {
+    dbus_0_4_1.default = (f.dbus_0_4_1.default or true);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ libc_0_2_34_features pkg_config_0_3_9_features ];
+  dbus_macros_0_0_6 = { features?(dbus_macros_0_0_6_features {}) }: dbus_macros_0_0_6_ {
+    dependencies = mapFeatures features ([ dbus_0_4_1 ]);
+  };
+  dbus_macros_0_0_6_features = f: updateFeatures f (rec {
+    dbus_0_4_1.default = true;
+    dbus_macros_0_0_6.default = (f.dbus_macros_0_0_6.default or true);
+  }) [ dbus_0_4_1_features ];
+  dlib_0_3_1 = { features?(dlib_0_3_1_features {}) }: dlib_0_3_1_ {
+    dependencies = mapFeatures features ([ libloading_0_3_4 ]);
+    features = mkFeatures (features.dlib_0_3_1 or {});
+  };
+  dlib_0_3_1_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
+    libloading_0_3_4.default = true;
+  }) [ libloading_0_3_4_features ];
+  dlib_0_4_0 = { features?(dlib_0_4_0_features {}) }: dlib_0_4_0_ {
+    dependencies = mapFeatures features ([ libloading_0_4_3 ]);
+    features = mkFeatures (features.dlib_0_4_0 or {});
+  };
+  dlib_0_4_0_features = f: updateFeatures f (rec {
+    dlib_0_4_0.default = (f.dlib_0_4_0.default or true);
+    libloading_0_4_3.default = true;
+  }) [ libloading_0_4_3_features ];
+  dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
+  dtoa_0_4_2_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
+  }) [];
+  dummy_rustwlc_0_7_1 = { features?(dummy_rustwlc_0_7_1_features {}) }: dummy_rustwlc_0_7_1_ {
+    dependencies = mapFeatures features ([ bitflags_0_6_0 libc_0_2_34 wayland_sys_0_9_10 ]);
+  };
+  dummy_rustwlc_0_7_1_features = f: updateFeatures f (rec {
+    bitflags_0_6_0.default = true;
+    dummy_rustwlc_0_7_1.default = (f.dummy_rustwlc_0_7_1.default or true);
+    libc_0_2_34.default = true;
+    wayland_sys_0_9_10.default = true;
+    wayland_sys_0_9_10.dlopen = true;
+    wayland_sys_0_9_10.server = true;
+  }) [ bitflags_0_6_0_features libc_0_2_34_features wayland_sys_0_9_10_features ];
+  env_logger_0_3_5 = { features?(env_logger_0_3_5_features {}) }: env_logger_0_3_5_ {
+    dependencies = mapFeatures features ([ log_0_3_9 ]
+      ++ (if features.env_logger_0_3_5.regex or false then [ regex_0_1_80 ] else []));
+    features = mkFeatures (features.env_logger_0_3_5 or {});
+  };
+  env_logger_0_3_5_features = f: updateFeatures f (rec {
+    env_logger_0_3_5.default = (f.env_logger_0_3_5.default or true);
+    env_logger_0_3_5.regex =
+      (f.env_logger_0_3_5.regex or false) ||
+      (f.env_logger_0_3_5.default or false) ||
+      (env_logger_0_3_5.default or false);
+    log_0_3_9.default = true;
+    regex_0_1_80.default = true;
+  }) [ log_0_3_9_features regex_0_1_80_features ];
+  fixedbitset_0_1_8 = { features?(fixedbitset_0_1_8_features {}) }: fixedbitset_0_1_8_ {};
+  fixedbitset_0_1_8_features = f: updateFeatures f (rec {
+    fixedbitset_0_1_8.default = (f.fixedbitset_0_1_8.default or true);
+  }) [];
+  fuchsia_zircon_0_3_2 = { features?(fuchsia_zircon_0_3_2_features {}) }: fuchsia_zircon_0_3_2_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 fuchsia_zircon_sys_0_3_2 ]);
+  };
+  fuchsia_zircon_0_3_2_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    fuchsia_zircon_0_3_2.default = (f.fuchsia_zircon_0_3_2.default or true);
+    fuchsia_zircon_sys_0_3_2.default = true;
+  }) [ bitflags_1_0_1_features fuchsia_zircon_sys_0_3_2_features ];
+  fuchsia_zircon_sys_0_3_2 = { features?(fuchsia_zircon_sys_0_3_2_features {}) }: fuchsia_zircon_sys_0_3_2_ {};
+  fuchsia_zircon_sys_0_3_2_features = f: updateFeatures f (rec {
+    fuchsia_zircon_sys_0_3_2.default = (f.fuchsia_zircon_sys_0_3_2.default or true);
+  }) [];
+  gcc_0_3_54 = { features?(gcc_0_3_54_features {}) }: gcc_0_3_54_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.gcc_0_3_54 or {});
+  };
+  gcc_0_3_54_features = f: updateFeatures f (rec {
+    gcc_0_3_54.default = (f.gcc_0_3_54.default or true);
+    gcc_0_3_54.rayon =
+      (f.gcc_0_3_54.rayon or false) ||
+      (f.gcc_0_3_54.parallel or false) ||
+      (gcc_0_3_54.parallel or false);
+  }) [];
+  gdk_pixbuf_0_2_0 = { features?(gdk_pixbuf_0_2_0_features {}) }: gdk_pixbuf_0_2_0_ {
+    dependencies = mapFeatures features ([ gdk_pixbuf_sys_0_4_0 glib_0_3_1 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([]);
+    features = mkFeatures (features.gdk_pixbuf_0_2_0 or {});
+  };
+  gdk_pixbuf_0_2_0_features = f: updateFeatures f (rec {
+    gdk_pixbuf_0_2_0.default = (f.gdk_pixbuf_0_2_0.default or true);
+    gdk_pixbuf_0_2_0.gtk-rs-lgpl-docs =
+      (f.gdk_pixbuf_0_2_0.gtk-rs-lgpl-docs or false) ||
+      (f.gdk_pixbuf_0_2_0.embed-lgpl-docs or false) ||
+      (gdk_pixbuf_0_2_0.embed-lgpl-docs or false) ||
+      (f.gdk_pixbuf_0_2_0.purge-lgpl-docs or false) ||
+      (gdk_pixbuf_0_2_0.purge-lgpl-docs or false);
+    gdk_pixbuf_0_2_0.v2_28 =
+      (f.gdk_pixbuf_0_2_0.v2_28 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_30 or false) ||
+      (gdk_pixbuf_0_2_0.v2_30 or false);
+    gdk_pixbuf_0_2_0.v2_30 =
+      (f.gdk_pixbuf_0_2_0.v2_30 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_32 or false) ||
+      (gdk_pixbuf_0_2_0.v2_32 or false);
+    gdk_pixbuf_0_2_0.v2_32 =
+      (f.gdk_pixbuf_0_2_0.v2_32 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_36 or false) ||
+      (gdk_pixbuf_0_2_0.v2_36 or false);
+    gdk_pixbuf_sys_0_4_0.default = true;
+    gdk_pixbuf_sys_0_4_0.v2_28 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_28 or false) ||
+      (gdk_pixbuf_0_2_0.v2_28 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_28 or false);
+    gdk_pixbuf_sys_0_4_0.v2_30 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_30 or false) ||
+      (gdk_pixbuf_0_2_0.v2_30 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_30 or false);
+    gdk_pixbuf_sys_0_4_0.v2_32 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_32 or false) ||
+      (gdk_pixbuf_0_2_0.v2_32 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_32 or false);
+    gdk_pixbuf_sys_0_4_0.v2_36 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_36 or false) ||
+      (gdk_pixbuf_0_2_0.v2_36 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_36 or false);
+    glib_0_3_1.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+  }) [ gdk_pixbuf_sys_0_4_0_features glib_0_3_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features ];
+  gdk_pixbuf_sys_0_4_0 = { features?(gdk_pixbuf_sys_0_4_0_features {}) }: gdk_pixbuf_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 gio_sys_0_4_0 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gdk_pixbuf_sys_0_4_0 or {});
+  };
+  gdk_pixbuf_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    gdk_pixbuf_sys_0_4_0.default = (f.gdk_pixbuf_sys_0_4_0.default or true);
+    gdk_pixbuf_sys_0_4_0.v2_28 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_28 or false) ||
+      (f.gdk_pixbuf_sys_0_4_0.v2_30 or false) ||
+      (gdk_pixbuf_sys_0_4_0.v2_30 or false);
+    gdk_pixbuf_sys_0_4_0.v2_30 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_30 or false) ||
+      (f.gdk_pixbuf_sys_0_4_0.v2_32 or false) ||
+      (gdk_pixbuf_sys_0_4_0.v2_32 or false);
+    gdk_pixbuf_sys_0_4_0.v2_32 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_32 or false) ||
+      (f.gdk_pixbuf_sys_0_4_0.v2_36 or false) ||
+      (gdk_pixbuf_sys_0_4_0.v2_36 or false);
+    gio_sys_0_4_0.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features gio_sys_0_4_0_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  getopts_0_2_15 = { features?(getopts_0_2_15_features {}) }: getopts_0_2_15_ {};
+  getopts_0_2_15_features = f: updateFeatures f (rec {
+    getopts_0_2_15.default = (f.getopts_0_2_15.default or true);
+  }) [];
+  gio_sys_0_4_0 = { features?(gio_sys_0_4_0_features {}) }: gio_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gio_sys_0_4_0 or {});
+  };
+  gio_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    gio_sys_0_4_0.default = (f.gio_sys_0_4_0.default or true);
+    gio_sys_0_4_0.v2_34 =
+      (f.gio_sys_0_4_0.v2_34 or false) ||
+      (f.gio_sys_0_4_0.v2_36 or false) ||
+      (gio_sys_0_4_0.v2_36 or false);
+    gio_sys_0_4_0.v2_36 =
+      (f.gio_sys_0_4_0.v2_36 or false) ||
+      (f.gio_sys_0_4_0.v2_38 or false) ||
+      (gio_sys_0_4_0.v2_38 or false);
+    gio_sys_0_4_0.v2_38 =
+      (f.gio_sys_0_4_0.v2_38 or false) ||
+      (f.gio_sys_0_4_0.v2_40 or false) ||
+      (gio_sys_0_4_0.v2_40 or false);
+    gio_sys_0_4_0.v2_40 =
+      (f.gio_sys_0_4_0.v2_40 or false) ||
+      (f.gio_sys_0_4_0.v2_42 or false) ||
+      (gio_sys_0_4_0.v2_42 or false);
+    gio_sys_0_4_0.v2_42 =
+      (f.gio_sys_0_4_0.v2_42 or false) ||
+      (f.gio_sys_0_4_0.v2_44 or false) ||
+      (gio_sys_0_4_0.v2_44 or false);
+    gio_sys_0_4_0.v2_44 =
+      (f.gio_sys_0_4_0.v2_44 or false) ||
+      (f.gio_sys_0_4_0.v2_46 or false) ||
+      (gio_sys_0_4_0.v2_46 or false);
+    gio_sys_0_4_0.v2_46 =
+      (f.gio_sys_0_4_0.v2_46 or false) ||
+      (f.gio_sys_0_4_0.v2_48 or false) ||
+      (gio_sys_0_4_0.v2_48 or false);
+    gio_sys_0_4_0.v2_48 =
+      (f.gio_sys_0_4_0.v2_48 or false) ||
+      (f.gio_sys_0_4_0.v2_50 or false) ||
+      (gio_sys_0_4_0.v2_50 or false);
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  glib_0_3_1 = { features?(glib_0_3_1_features {}) }: glib_0_3_1_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 gobject_sys_0_4_0 lazy_static_0_2_11 libc_0_2_34 ]);
+    features = mkFeatures (features.glib_0_3_1 or {});
+  };
+  glib_0_3_1_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_0_3_1.default = (f.glib_0_3_1.default or true);
+    glib_0_3_1.v2_34 =
+      (f.glib_0_3_1.v2_34 or false) ||
+      (f.glib_0_3_1.v2_38 or false) ||
+      (glib_0_3_1.v2_38 or false);
+    glib_0_3_1.v2_38 =
+      (f.glib_0_3_1.v2_38 or false) ||
+      (f.glib_0_3_1.v2_40 or false) ||
+      (glib_0_3_1.v2_40 or false);
+    glib_0_3_1.v2_40 =
+      (f.glib_0_3_1.v2_40 or false) ||
+      (f.glib_0_3_1.v2_44 or false) ||
+      (glib_0_3_1.v2_44 or false);
+    glib_0_3_1.v2_44 =
+      (f.glib_0_3_1.v2_44 or false) ||
+      (f.glib_0_3_1.v2_46 or false) ||
+      (glib_0_3_1.v2_46 or false);
+    glib_0_3_1.v2_46 =
+      (f.glib_0_3_1.v2_46 or false) ||
+      (f.glib_0_3_1.v2_48 or false) ||
+      (glib_0_3_1.v2_48 or false);
+    glib_0_3_1.v2_48 =
+      (f.glib_0_3_1.v2_48 or false) ||
+      (f.glib_0_3_1.v2_50 or false) ||
+      (glib_0_3_1.v2_50 or false);
+    glib_sys_0_4_0.default = true;
+    glib_sys_0_4_0.v2_34 =
+      (f.glib_sys_0_4_0.v2_34 or false) ||
+      (glib_0_3_1.v2_34 or false) ||
+      (f.glib_0_3_1.v2_34 or false);
+    glib_sys_0_4_0.v2_38 =
+      (f.glib_sys_0_4_0.v2_38 or false) ||
+      (glib_0_3_1.v2_38 or false) ||
+      (f.glib_0_3_1.v2_38 or false);
+    glib_sys_0_4_0.v2_40 =
+      (f.glib_sys_0_4_0.v2_40 or false) ||
+      (glib_0_3_1.v2_40 or false) ||
+      (f.glib_0_3_1.v2_40 or false);
+    glib_sys_0_4_0.v2_44 =
+      (f.glib_sys_0_4_0.v2_44 or false) ||
+      (glib_0_3_1.v2_44 or false) ||
+      (f.glib_0_3_1.v2_44 or false);
+    glib_sys_0_4_0.v2_46 =
+      (f.glib_sys_0_4_0.v2_46 or false) ||
+      (glib_0_3_1.v2_46 or false) ||
+      (f.glib_0_3_1.v2_46 or false);
+    glib_sys_0_4_0.v2_48 =
+      (f.glib_sys_0_4_0.v2_48 or false) ||
+      (glib_0_3_1.v2_48 or false) ||
+      (f.glib_0_3_1.v2_48 or false);
+    glib_sys_0_4_0.v2_50 =
+      (f.glib_sys_0_4_0.v2_50 or false) ||
+      (glib_0_3_1.v2_50 or false) ||
+      (f.glib_0_3_1.v2_50 or false);
+    gobject_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.v2_34 =
+      (f.gobject_sys_0_4_0.v2_34 or false) ||
+      (glib_0_3_1.v2_34 or false) ||
+      (f.glib_0_3_1.v2_34 or false);
+    gobject_sys_0_4_0.v2_38 =
+      (f.gobject_sys_0_4_0.v2_38 or false) ||
+      (glib_0_3_1.v2_38 or false) ||
+      (f.glib_0_3_1.v2_38 or false);
+    gobject_sys_0_4_0.v2_44 =
+      (f.gobject_sys_0_4_0.v2_44 or false) ||
+      (glib_0_3_1.v2_44 or false) ||
+      (f.glib_0_3_1.v2_44 or false);
+    gobject_sys_0_4_0.v2_46 =
+      (f.gobject_sys_0_4_0.v2_46 or false) ||
+      (glib_0_3_1.v2_46 or false) ||
+      (f.glib_0_3_1.v2_46 or false);
+    lazy_static_0_2_11.default = true;
+    libc_0_2_34.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features lazy_static_0_2_11_features libc_0_2_34_features ];
+  glib_sys_0_4_0 = { features?(glib_sys_0_4_0_features {}) }: glib_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.glib_sys_0_4_0 or {});
+  };
+  glib_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_sys_0_4_0.default = (f.glib_sys_0_4_0.default or true);
+    glib_sys_0_4_0.v2_34 =
+      (f.glib_sys_0_4_0.v2_34 or false) ||
+      (f.glib_sys_0_4_0.v2_36 or false) ||
+      (glib_sys_0_4_0.v2_36 or false);
+    glib_sys_0_4_0.v2_36 =
+      (f.glib_sys_0_4_0.v2_36 or false) ||
+      (f.glib_sys_0_4_0.v2_38 or false) ||
+      (glib_sys_0_4_0.v2_38 or false);
+    glib_sys_0_4_0.v2_38 =
+      (f.glib_sys_0_4_0.v2_38 or false) ||
+      (f.glib_sys_0_4_0.v2_40 or false) ||
+      (glib_sys_0_4_0.v2_40 or false);
+    glib_sys_0_4_0.v2_40 =
+      (f.glib_sys_0_4_0.v2_40 or false) ||
+      (f.glib_sys_0_4_0.v2_44 or false) ||
+      (glib_sys_0_4_0.v2_44 or false);
+    glib_sys_0_4_0.v2_44 =
+      (f.glib_sys_0_4_0.v2_44 or false) ||
+      (f.glib_sys_0_4_0.v2_46 or false) ||
+      (glib_sys_0_4_0.v2_46 or false);
+    glib_sys_0_4_0.v2_46 =
+      (f.glib_sys_0_4_0.v2_46 or false) ||
+      (f.glib_sys_0_4_0.v2_48 or false) ||
+      (glib_sys_0_4_0.v2_48 or false);
+    glib_sys_0_4_0.v2_48 =
+      (f.glib_sys_0_4_0.v2_48 or false) ||
+      (f.glib_sys_0_4_0.v2_50 or false) ||
+      (glib_sys_0_4_0.v2_50 or false);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  gobject_sys_0_4_0 = { features?(gobject_sys_0_4_0_features {}) }: gobject_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gobject_sys_0_4_0 or {});
+  };
+  gobject_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = (f.gobject_sys_0_4_0.default or true);
+    gobject_sys_0_4_0.v2_34 =
+      (f.gobject_sys_0_4_0.v2_34 or false) ||
+      (f.gobject_sys_0_4_0.v2_36 or false) ||
+      (gobject_sys_0_4_0.v2_36 or false);
+    gobject_sys_0_4_0.v2_36 =
+      (f.gobject_sys_0_4_0.v2_36 or false) ||
+      (f.gobject_sys_0_4_0.v2_38 or false) ||
+      (gobject_sys_0_4_0.v2_38 or false);
+    gobject_sys_0_4_0.v2_38 =
+      (f.gobject_sys_0_4_0.v2_38 or false) ||
+      (f.gobject_sys_0_4_0.v2_42 or false) ||
+      (gobject_sys_0_4_0.v2_42 or false);
+    gobject_sys_0_4_0.v2_42 =
+      (f.gobject_sys_0_4_0.v2_42 or false) ||
+      (f.gobject_sys_0_4_0.v2_44 or false) ||
+      (gobject_sys_0_4_0.v2_44 or false);
+    gobject_sys_0_4_0.v2_44 =
+      (f.gobject_sys_0_4_0.v2_44 or false) ||
+      (f.gobject_sys_0_4_0.v2_46 or false) ||
+      (gobject_sys_0_4_0.v2_46 or false);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  itoa_0_3_4 = { features?(itoa_0_3_4_features {}) }: itoa_0_3_4_ {
+    features = mkFeatures (features.itoa_0_3_4 or {});
+  };
+  itoa_0_3_4_features = f: updateFeatures f (rec {
+    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
+  }) [];
+  json_macro_0_1_1 = { features?(json_macro_0_1_1_features {}) }: json_macro_0_1_1_ {
+    dependencies = mapFeatures features ([ rustc_serialize_0_3_24 ]);
+  };
+  json_macro_0_1_1_features = f: updateFeatures f (rec {
+    json_macro_0_1_1.default = (f.json_macro_0_1_1.default or true);
+    rustc_serialize_0_3_24.default = true;
+  }) [ rustc_serialize_0_3_24_features ];
+  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  lazy_static_0_2_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_0_2_11 or {});
+  };
+  lazy_static_0_2_11_features = f: updateFeatures f (rec {
+    lazy_static_0_2_11.compiletest_rs =
+      (f.lazy_static_0_2_11.compiletest_rs or false) ||
+      (f.lazy_static_0_2_11.compiletest or false) ||
+      (lazy_static_0_2_11.compiletest or false);
+    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
+    lazy_static_0_2_11.nightly =
+      (f.lazy_static_0_2_11.nightly or false) ||
+      (f.lazy_static_0_2_11.spin_no_std or false) ||
+      (lazy_static_0_2_11.spin_no_std or false);
+    lazy_static_0_2_11.spin =
+      (f.lazy_static_0_2_11.spin or false) ||
+      (f.lazy_static_0_2_11.spin_no_std or false) ||
+      (lazy_static_0_2_11.spin_no_std or false);
+  }) [];
+  lazy_static_1_0_0 = { features?(lazy_static_1_0_0_features {}) }: lazy_static_1_0_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_1_0_0 or {});
+  };
+  lazy_static_1_0_0_features = f: updateFeatures f (rec {
+    lazy_static_1_0_0.compiletest_rs =
+      (f.lazy_static_1_0_0.compiletest_rs or false) ||
+      (f.lazy_static_1_0_0.compiletest or false) ||
+      (lazy_static_1_0_0.compiletest or false);
+    lazy_static_1_0_0.default = (f.lazy_static_1_0_0.default or true);
+    lazy_static_1_0_0.nightly =
+      (f.lazy_static_1_0_0.nightly or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
+    lazy_static_1_0_0.spin =
+      (f.lazy_static_1_0_0.spin or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
+  }) [];
+  libc_0_2_34 = { features?(libc_0_2_34_features {}) }: libc_0_2_34_ {
+    features = mkFeatures (features.libc_0_2_34 or {});
+  };
+  libc_0_2_34_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = (f.libc_0_2_34.default or true);
+    libc_0_2_34.use_std =
+      (f.libc_0_2_34.use_std or false) ||
+      (f.libc_0_2_34.default or false) ||
+      (libc_0_2_34.default or false);
+  }) [];
+  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
+    dependencies = mapFeatures features ([ lazy_static_0_2_11 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ target_build_utils_0_3_1 ]);
+  };
+  libloading_0_3_4_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_0_2_11.default = true;
+    libloading_0_3_4.default = (f.libloading_0_3_4.default or true);
+    target_build_utils_0_3_1.default = true;
+    winapi_0_2_8.default = true;
+  }) [ lazy_static_0_2_11_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  libloading_0_4_3 = { features?(libloading_0_4_3_features {}) }: libloading_0_4_3_ {
+    dependencies = mapFeatures features ([ lazy_static_1_0_0 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  libloading_0_4_3_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_1_0_0.default = true;
+    libloading_0_4_3.default = (f.libloading_0_4_3.default or true);
+    winapi_0_2_8.default = true;
+  }) [ lazy_static_1_0_0_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  log_0_3_9 = { features?(log_0_3_9_features {}) }: log_0_3_9_ {
+    dependencies = mapFeatures features ([ log_0_4_0 ]);
+    features = mkFeatures (features.log_0_3_9 or {});
+  };
+  log_0_3_9_features = f: updateFeatures f (rec {
+    log_0_3_9.default = (f.log_0_3_9.default or true);
+    log_0_3_9.use_std =
+      (f.log_0_3_9.use_std or false) ||
+      (f.log_0_3_9.default or false) ||
+      (log_0_3_9.default or false);
+    log_0_4_0.default = true;
+    log_0_4_0.max_level_debug =
+      (f.log_0_4_0.max_level_debug or false) ||
+      (log_0_3_9.max_level_debug or false) ||
+      (f.log_0_3_9.max_level_debug or false);
+    log_0_4_0.max_level_error =
+      (f.log_0_4_0.max_level_error or false) ||
+      (log_0_3_9.max_level_error or false) ||
+      (f.log_0_3_9.max_level_error or false);
+    log_0_4_0.max_level_info =
+      (f.log_0_4_0.max_level_info or false) ||
+      (log_0_3_9.max_level_info or false) ||
+      (f.log_0_3_9.max_level_info or false);
+    log_0_4_0.max_level_off =
+      (f.log_0_4_0.max_level_off or false) ||
+      (log_0_3_9.max_level_off or false) ||
+      (f.log_0_3_9.max_level_off or false);
+    log_0_4_0.max_level_trace =
+      (f.log_0_4_0.max_level_trace or false) ||
+      (log_0_3_9.max_level_trace or false) ||
+      (f.log_0_3_9.max_level_trace or false);
+    log_0_4_0.max_level_warn =
+      (f.log_0_4_0.max_level_warn or false) ||
+      (log_0_3_9.max_level_warn or false) ||
+      (f.log_0_3_9.max_level_warn or false);
+    log_0_4_0.release_max_level_debug =
+      (f.log_0_4_0.release_max_level_debug or false) ||
+      (log_0_3_9.release_max_level_debug or false) ||
+      (f.log_0_3_9.release_max_level_debug or false);
+    log_0_4_0.release_max_level_error =
+      (f.log_0_4_0.release_max_level_error or false) ||
+      (log_0_3_9.release_max_level_error or false) ||
+      (f.log_0_3_9.release_max_level_error or false);
+    log_0_4_0.release_max_level_info =
+      (f.log_0_4_0.release_max_level_info or false) ||
+      (log_0_3_9.release_max_level_info or false) ||
+      (f.log_0_3_9.release_max_level_info or false);
+    log_0_4_0.release_max_level_off =
+      (f.log_0_4_0.release_max_level_off or false) ||
+      (log_0_3_9.release_max_level_off or false) ||
+      (f.log_0_3_9.release_max_level_off or false);
+    log_0_4_0.release_max_level_trace =
+      (f.log_0_4_0.release_max_level_trace or false) ||
+      (log_0_3_9.release_max_level_trace or false) ||
+      (f.log_0_3_9.release_max_level_trace or false);
+    log_0_4_0.release_max_level_warn =
+      (f.log_0_4_0.release_max_level_warn or false) ||
+      (log_0_3_9.release_max_level_warn or false) ||
+      (f.log_0_3_9.release_max_level_warn or false);
+    log_0_4_0.std =
+      (f.log_0_4_0.std or false) ||
+      (log_0_3_9.use_std or false) ||
+      (f.log_0_3_9.use_std or false);
+  }) [ log_0_4_0_features ];
+  log_0_4_0 = { features?(log_0_4_0_features {}) }: log_0_4_0_ {
+    dependencies = mapFeatures features ([ cfg_if_0_1_2 ]);
+    features = mkFeatures (features.log_0_4_0 or {});
+  };
+  log_0_4_0_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = true;
+    log_0_4_0.default = (f.log_0_4_0.default or true);
+  }) [ cfg_if_0_1_2_features ];
+  memchr_0_1_11 = { features?(memchr_0_1_11_features {}) }: memchr_0_1_11_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+  };
+  memchr_0_1_11_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = true;
+    memchr_0_1_11.default = (f.memchr_0_1_11.default or true);
+  }) [ libc_0_2_34_features ];
+  nix_0_6_0 = { features?(nix_0_6_0_features {}) }: nix_0_6_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_4_0 cfg_if_0_1_2 libc_0_2_34 void_1_0_2 ]);
+    buildDependencies = mapFeatures features ([ rustc_version_0_1_7 semver_0_1_20 ]);
+    features = mkFeatures (features.nix_0_6_0 or {});
+  };
+  nix_0_6_0_features = f: updateFeatures f (rec {
+    bitflags_0_4_0.default = true;
+    cfg_if_0_1_2.default = true;
+    libc_0_2_34.default = true;
+    nix_0_6_0.default = (f.nix_0_6_0.default or true);
+    rustc_version_0_1_7.default = true;
+    semver_0_1_20.default = true;
+    void_1_0_2.default = true;
+  }) [ bitflags_0_4_0_features cfg_if_0_1_2_features libc_0_2_34_features void_1_0_2_features rustc_version_0_1_7_features semver_0_1_20_features ];
+  nix_0_9_0 = { features?(nix_0_9_0_features {}) }: nix_0_9_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 cfg_if_0_1_2 libc_0_2_34 void_1_0_2 ]);
+  };
+  nix_0_9_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    cfg_if_0_1_2.default = true;
+    libc_0_2_34.default = true;
+    nix_0_9_0.default = (f.nix_0_9_0.default or true);
+    void_1_0_2.default = true;
+  }) [ bitflags_0_9_1_features cfg_if_0_1_2_features libc_0_2_34_features void_1_0_2_features ];
+  num_traits_0_1_41 = { features?(num_traits_0_1_41_features {}) }: num_traits_0_1_41_ {};
+  num_traits_0_1_41_features = f: updateFeatures f (rec {
+    num_traits_0_1_41.default = (f.num_traits_0_1_41.default or true);
+  }) [];
+  ordermap_0_3_2 = { features?(ordermap_0_3_2_features {}) }: ordermap_0_3_2_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.ordermap_0_3_2 or {});
+  };
+  ordermap_0_3_2_features = f: updateFeatures f (rec {
+    ordermap_0_3_2.default = (f.ordermap_0_3_2.default or true);
+    ordermap_0_3_2.serde =
+      (f.ordermap_0_3_2.serde or false) ||
+      (f.ordermap_0_3_2.serde-1 or false) ||
+      (ordermap_0_3_2.serde-1 or false);
+  }) [];
+  petgraph_0_4_10 = { features?(petgraph_0_4_10_features {}) }: petgraph_0_4_10_ {
+    dependencies = mapFeatures features ([ fixedbitset_0_1_8 ]
+      ++ (if features.petgraph_0_4_10.ordermap or false then [ ordermap_0_3_2 ] else []));
+    features = mkFeatures (features.petgraph_0_4_10 or {});
+  };
+  petgraph_0_4_10_features = f: updateFeatures f (rec {
+    fixedbitset_0_1_8.default = true;
+    ordermap_0_3_2.default = true;
+    petgraph_0_4_10.default = (f.petgraph_0_4_10.default or true);
+    petgraph_0_4_10.generate =
+      (f.petgraph_0_4_10.generate or false) ||
+      (f.petgraph_0_4_10.unstable or false) ||
+      (petgraph_0_4_10.unstable or false);
+    petgraph_0_4_10.graphmap =
+      (f.petgraph_0_4_10.graphmap or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false) ||
+      (f.petgraph_0_4_10.default or false) ||
+      (petgraph_0_4_10.default or false);
+    petgraph_0_4_10.ordermap =
+      (f.petgraph_0_4_10.ordermap or false) ||
+      (f.petgraph_0_4_10.graphmap or false) ||
+      (petgraph_0_4_10.graphmap or false);
+    petgraph_0_4_10.quickcheck =
+      (f.petgraph_0_4_10.quickcheck or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false);
+    petgraph_0_4_10.serde =
+      (f.petgraph_0_4_10.serde or false) ||
+      (f.petgraph_0_4_10.serde-1 or false) ||
+      (petgraph_0_4_10.serde-1 or false);
+    petgraph_0_4_10.serde_derive =
+      (f.petgraph_0_4_10.serde_derive or false) ||
+      (f.petgraph_0_4_10.serde-1 or false) ||
+      (petgraph_0_4_10.serde-1 or false);
+    petgraph_0_4_10.stable_graph =
+      (f.petgraph_0_4_10.stable_graph or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false) ||
+      (f.petgraph_0_4_10.default or false) ||
+      (petgraph_0_4_10.default or false);
+    petgraph_0_4_10.unstable =
+      (f.petgraph_0_4_10.unstable or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false);
+  }) [ fixedbitset_0_1_8_features ordermap_0_3_2_features ];
+  phf_0_7_21 = { features?(phf_0_7_21_features {}) }: phf_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 ]);
+    features = mkFeatures (features.phf_0_7_21 or {});
+  };
+  phf_0_7_21_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = (f.phf_0_7_21.default or true);
+    phf_shared_0_7_21.core =
+      (f.phf_shared_0_7_21.core or false) ||
+      (phf_0_7_21.core or false) ||
+      (f.phf_0_7_21.core or false);
+    phf_shared_0_7_21.default = true;
+    phf_shared_0_7_21.unicase =
+      (f.phf_shared_0_7_21.unicase or false) ||
+      (phf_0_7_21.unicase or false) ||
+      (f.phf_0_7_21.unicase or false);
+  }) [ phf_shared_0_7_21_features ];
+  phf_codegen_0_7_21 = { features?(phf_codegen_0_7_21_features {}) }: phf_codegen_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_generator_0_7_21 phf_shared_0_7_21 ]);
+  };
+  phf_codegen_0_7_21_features = f: updateFeatures f (rec {
+    phf_codegen_0_7_21.default = (f.phf_codegen_0_7_21.default or true);
+    phf_generator_0_7_21.default = true;
+    phf_shared_0_7_21.default = true;
+  }) [ phf_generator_0_7_21_features phf_shared_0_7_21_features ];
+  phf_generator_0_7_21 = { features?(phf_generator_0_7_21_features {}) }: phf_generator_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 rand_0_3_19 ]);
+  };
+  phf_generator_0_7_21_features = f: updateFeatures f (rec {
+    phf_generator_0_7_21.default = (f.phf_generator_0_7_21.default or true);
+    phf_shared_0_7_21.default = true;
+    rand_0_3_19.default = true;
+  }) [ phf_shared_0_7_21_features rand_0_3_19_features ];
+  phf_shared_0_7_21 = { features?(phf_shared_0_7_21_features {}) }: phf_shared_0_7_21_ {
+    dependencies = mapFeatures features ([ siphasher_0_2_2 ]);
+    features = mkFeatures (features.phf_shared_0_7_21 or {});
+  };
+  phf_shared_0_7_21_features = f: updateFeatures f (rec {
+    phf_shared_0_7_21.default = (f.phf_shared_0_7_21.default or true);
+    siphasher_0_2_2.default = true;
+  }) [ siphasher_0_2_2_features ];
+  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
+  pkg_config_0_3_9_features = f: updateFeatures f (rec {
+    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
+  }) [];
+  rand_0_3_19 = { features?(rand_0_3_19_features {}) }: rand_0_3_19_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_2 ]) else []);
+    features = mkFeatures (features.rand_0_3_19 or {});
+  };
+  rand_0_3_19_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_3_2.default = true;
+    libc_0_2_34.default = true;
+    rand_0_3_19.default = (f.rand_0_3_19.default or true);
+    rand_0_3_19.i128_support =
+      (f.rand_0_3_19.i128_support or false) ||
+      (f.rand_0_3_19.nightly or false) ||
+      (rand_0_3_19.nightly or false);
+  }) [ libc_0_2_34_features fuchsia_zircon_0_3_2_features ];
+  regex_0_1_80 = { features?(regex_0_1_80_features {}) }: regex_0_1_80_ {
+    dependencies = mapFeatures features ([ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ]);
+    features = mkFeatures (features.regex_0_1_80 or {});
+  };
+  regex_0_1_80_features = f: updateFeatures f (rec {
+    aho_corasick_0_5_3.default = true;
+    memchr_0_1_11.default = true;
+    regex_0_1_80.default = (f.regex_0_1_80.default or true);
+    regex_0_1_80.simd =
+      (f.regex_0_1_80.simd or false) ||
+      (f.regex_0_1_80.simd-accel or false) ||
+      (regex_0_1_80.simd-accel or false);
+    regex_syntax_0_3_9.default = true;
+    thread_local_0_2_7.default = true;
+    utf8_ranges_0_1_3.default = true;
+  }) [ aho_corasick_0_5_3_features memchr_0_1_11_features regex_syntax_0_3_9_features thread_local_0_2_7_features utf8_ranges_0_1_3_features ];
+  regex_syntax_0_3_9 = { features?(regex_syntax_0_3_9_features {}) }: regex_syntax_0_3_9_ {};
+  regex_syntax_0_3_9_features = f: updateFeatures f (rec {
+    regex_syntax_0_3_9.default = (f.regex_syntax_0_3_9.default or true);
+  }) [];
+  rlua_0_9_7 = { features?(rlua_0_9_7_features {}) }: rlua_0_9_7_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ ]
+      ++ (if features.rlua_0_9_7.gcc or false then [ gcc_0_3_54 ] else []));
+    features = mkFeatures (features.rlua_0_9_7 or {});
+  };
+  rlua_0_9_7_features = f: updateFeatures f (rec {
+    gcc_0_3_54.default = true;
+    libc_0_2_34.default = true;
+    rlua_0_9_7.builtin-lua =
+      (f.rlua_0_9_7.builtin-lua or false) ||
+      (f.rlua_0_9_7.default or false) ||
+      (rlua_0_9_7.default or false);
+    rlua_0_9_7.default = (f.rlua_0_9_7.default or true);
+    rlua_0_9_7.gcc =
+      (f.rlua_0_9_7.gcc or false) ||
+      (f.rlua_0_9_7.builtin-lua or false) ||
+      (rlua_0_9_7.builtin-lua or false);
+  }) [ libc_0_2_34_features gcc_0_3_54_features ];
+  rustc_serialize_0_3_24 = { features?(rustc_serialize_0_3_24_features {}) }: rustc_serialize_0_3_24_ {};
+  rustc_serialize_0_3_24_features = f: updateFeatures f (rec {
+    rustc_serialize_0_3_24.default = (f.rustc_serialize_0_3_24.default or true);
+  }) [];
+  rustc_version_0_1_7 = { features?(rustc_version_0_1_7_features {}) }: rustc_version_0_1_7_ {
+    dependencies = mapFeatures features ([ semver_0_1_20 ]);
+  };
+  rustc_version_0_1_7_features = f: updateFeatures f (rec {
+    rustc_version_0_1_7.default = (f.rustc_version_0_1_7.default or true);
+    semver_0_1_20.default = true;
+  }) [ semver_0_1_20_features ];
+  rustwlc_0_7_0 = { features?(rustwlc_0_7_0_features {}) }: rustwlc_0_7_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 libc_0_2_34 ]
+      ++ (if features.rustwlc_0_7_0.wayland-sys or false then [ wayland_sys_0_6_0 ] else []));
+    features = mkFeatures (features.rustwlc_0_7_0 or {});
+  };
+  rustwlc_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    libc_0_2_34.default = true;
+    rustwlc_0_7_0.default = (f.rustwlc_0_7_0.default or true);
+    rustwlc_0_7_0.wayland-sys =
+      (f.rustwlc_0_7_0.wayland-sys or false) ||
+      (f.rustwlc_0_7_0.wlc-wayland or false) ||
+      (rustwlc_0_7_0.wlc-wayland or false);
+    wayland_sys_0_6_0.default = true;
+    wayland_sys_0_6_0.server = true;
+  }) [ bitflags_0_7_0_features libc_0_2_34_features wayland_sys_0_6_0_features ];
+  semver_0_1_20 = { features?(semver_0_1_20_features {}) }: semver_0_1_20_ {};
+  semver_0_1_20_features = f: updateFeatures f (rec {
+    semver_0_1_20.default = (f.semver_0_1_20.default or true);
+  }) [];
+  serde_0_9_15 = { features?(serde_0_9_15_features {}) }: serde_0_9_15_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.serde_0_9_15 or {});
+  };
+  serde_0_9_15_features = f: updateFeatures f (rec {
+    serde_0_9_15.alloc =
+      (f.serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.collections or false) ||
+      (serde_0_9_15.collections or false);
+    serde_0_9_15.default = (f.serde_0_9_15.default or true);
+    serde_0_9_15.serde_derive =
+      (f.serde_0_9_15.serde_derive or false) ||
+      (f.serde_0_9_15.derive or false) ||
+      (serde_0_9_15.derive or false) ||
+      (f.serde_0_9_15.playground or false) ||
+      (serde_0_9_15.playground or false);
+    serde_0_9_15.std =
+      (f.serde_0_9_15.std or false) ||
+      (f.serde_0_9_15.default or false) ||
+      (serde_0_9_15.default or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+    serde_0_9_15.unstable =
+      (f.serde_0_9_15.unstable or false) ||
+      (f.serde_0_9_15.alloc or false) ||
+      (serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+  }) [];
+  serde_json_0_9_10 = { features?(serde_json_0_9_10_features {}) }: serde_json_0_9_10_ {
+    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_41 serde_0_9_15 ]);
+    features = mkFeatures (features.serde_json_0_9_10 or {});
+  };
+  serde_json_0_9_10_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = true;
+    itoa_0_3_4.default = true;
+    num_traits_0_1_41.default = true;
+    serde_0_9_15.default = true;
+    serde_json_0_9_10.default = (f.serde_json_0_9_10.default or true);
+    serde_json_0_9_10.linked-hash-map =
+      (f.serde_json_0_9_10.linked-hash-map or false) ||
+      (f.serde_json_0_9_10.preserve_order or false) ||
+      (serde_json_0_9_10.preserve_order or false);
+  }) [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_41_features serde_0_9_15_features ];
+  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
+    dependencies = mapFeatures features ([]);
+  };
+  siphasher_0_2_2_features = f: updateFeatures f (rec {
+    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
+  }) [];
+  target_build_utils_0_3_1 = { features?(target_build_utils_0_3_1_features {}) }: target_build_utils_0_3_1_ {
+    dependencies = mapFeatures features ([ phf_0_7_21 ]
+      ++ (if features.target_build_utils_0_3_1.serde_json or false then [ serde_json_0_9_10 ] else []));
+    buildDependencies = mapFeatures features ([ phf_codegen_0_7_21 ]);
+    features = mkFeatures (features.target_build_utils_0_3_1 or {});
+  };
+  target_build_utils_0_3_1_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = true;
+    phf_codegen_0_7_21.default = true;
+    serde_json_0_9_10.default = true;
+    target_build_utils_0_3_1.default = (f.target_build_utils_0_3_1.default or true);
+    target_build_utils_0_3_1.serde_json =
+      (f.target_build_utils_0_3_1.serde_json or false) ||
+      (f.target_build_utils_0_3_1.default or false) ||
+      (target_build_utils_0_3_1.default or false);
+  }) [ phf_0_7_21_features serde_json_0_9_10_features phf_codegen_0_7_21_features ];
+  thread_id_2_0_0 = { features?(thread_id_2_0_0_features {}) }: thread_id_2_0_0_ {
+    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_34 ]);
+  };
+  thread_id_2_0_0_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_34.default = true;
+    thread_id_2_0_0.default = (f.thread_id_2_0_0.default or true);
+  }) [ kernel32_sys_0_2_2_features libc_0_2_34_features ];
+  thread_local_0_2_7 = { features?(thread_local_0_2_7_features {}) }: thread_local_0_2_7_ {
+    dependencies = mapFeatures features ([ thread_id_2_0_0 ]);
+  };
+  thread_local_0_2_7_features = f: updateFeatures f (rec {
+    thread_id_2_0_0.default = true;
+    thread_local_0_2_7.default = (f.thread_local_0_2_7.default or true);
+  }) [ thread_id_2_0_0_features ];
+  token_store_0_1_2 = { features?(token_store_0_1_2_features {}) }: token_store_0_1_2_ {};
+  token_store_0_1_2_features = f: updateFeatures f (rec {
+    token_store_0_1_2.default = (f.token_store_0_1_2.default or true);
+  }) [];
+  utf8_ranges_0_1_3 = { features?(utf8_ranges_0_1_3_features {}) }: utf8_ranges_0_1_3_ {};
+  utf8_ranges_0_1_3_features = f: updateFeatures f (rec {
+    utf8_ranges_0_1_3.default = (f.utf8_ranges_0_1_3.default or true);
+  }) [];
+  uuid_0_3_1 = { features?(uuid_0_3_1_features {}) }: uuid_0_3_1_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.uuid_0_3_1.rand or false then [ rand_0_3_19 ] else [])
+      ++ (if features.uuid_0_3_1.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.uuid_0_3_1 or {});
+  };
+  uuid_0_3_1_features = f: updateFeatures f (rec {
+    rand_0_3_19.default = true;
+    rustc_serialize_0_3_24.default = true;
+    uuid_0_3_1.default = (f.uuid_0_3_1.default or true);
+    uuid_0_3_1.rand =
+      (f.uuid_0_3_1.rand or false) ||
+      (f.uuid_0_3_1.v4 or false) ||
+      (uuid_0_3_1.v4 or false);
+    uuid_0_3_1.sha1 =
+      (f.uuid_0_3_1.sha1 or false) ||
+      (f.uuid_0_3_1.v5 or false) ||
+      (uuid_0_3_1.v5 or false);
+  }) [ rand_0_3_19_features rustc_serialize_0_3_24_features ];
+  void_1_0_2 = { features?(void_1_0_2_features {}) }: void_1_0_2_ {
+    features = mkFeatures (features.void_1_0_2 or {});
+  };
+  void_1_0_2_features = f: updateFeatures f (rec {
+    void_1_0_2.default = (f.void_1_0_2.default or true);
+    void_1_0_2.std =
+      (f.void_1_0_2.std or false) ||
+      (f.void_1_0_2.default or false) ||
+      (void_1_0_2.default or false);
+  }) [];
+  way_cooler_0_8_0 = { features?(way_cooler_0_8_0_features {}) }: way_cooler_0_8_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 cairo_rs_0_2_0 cairo_sys_rs_0_4_0 dbus_0_4_1 dbus_macros_0_0_6 env_logger_0_3_5 gdk_pixbuf_0_2_0 getopts_0_2_15 glib_0_3_1 json_macro_0_1_1 lazy_static_0_2_11 log_0_3_9 nix_0_6_0 petgraph_0_4_10 rlua_0_9_7 rustc_serialize_0_3_24 rustwlc_0_7_0 uuid_0_3_1 wayland_server_0_12_4 wayland_sys_0_12_4 xcb_0_8_1 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_12_4 ]);
+    features = mkFeatures (features.way_cooler_0_8_0 or {});
+  };
+  way_cooler_0_8_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    cairo_rs_0_2_0.default = true;
+    cairo_sys_rs_0_4_0.default = true;
+    dbus_0_4_1.default = true;
+    dbus_macros_0_0_6.default = true;
+    env_logger_0_3_5.default = true;
+    gdk_pixbuf_0_2_0.default = true;
+    getopts_0_2_15.default = true;
+    glib_0_3_1.default = true;
+    json_macro_0_1_1.default = true;
+    lazy_static_0_2_11.default = true;
+    log_0_3_9.default = true;
+    nix_0_6_0.default = true;
+    petgraph_0_4_10.default = true;
+    rlua_0_9_7.builtin-lua =
+      (f.rlua_0_9_7.builtin-lua or false) ||
+      (way_cooler_0_8_0.builtin-lua or false) ||
+      (f.way_cooler_0_8_0.builtin-lua or false);
+    rlua_0_9_7.default = (f.rlua_0_9_7.default or false);
+    rustc_serialize_0_3_24.default = true;
+    rustwlc_0_7_0.default = true;
+    rustwlc_0_7_0.static-wlc =
+      (f.rustwlc_0_7_0.static-wlc or false) ||
+      (way_cooler_0_8_0.static-wlc or false) ||
+      (f.way_cooler_0_8_0.static-wlc or false);
+    rustwlc_0_7_0.wlc-wayland = true;
+    uuid_0_3_1.default = true;
+    uuid_0_3_1.rustc-serialize = true;
+    uuid_0_3_1.v4 = true;
+    way_cooler_0_8_0.default = (f.way_cooler_0_8_0.default or true);
+    wayland_scanner_0_12_4.default = true;
+    wayland_server_0_12_4.default = true;
+    wayland_sys_0_12_4.client = true;
+    wayland_sys_0_12_4.default = true;
+    wayland_sys_0_12_4.dlopen = true;
+    xcb_0_8_1.default = true;
+    xcb_0_8_1.xkb = true;
+  }) [ bitflags_0_7_0_features cairo_rs_0_2_0_features cairo_sys_rs_0_4_0_features dbus_0_4_1_features dbus_macros_0_0_6_features env_logger_0_3_5_features gdk_pixbuf_0_2_0_features getopts_0_2_15_features glib_0_3_1_features json_macro_0_1_1_features lazy_static_0_2_11_features log_0_3_9_features nix_0_6_0_features petgraph_0_4_10_features rlua_0_9_7_features rustc_serialize_0_3_24_features rustwlc_0_7_0_features uuid_0_3_1_features wayland_server_0_12_4_features wayland_sys_0_12_4_features xcb_0_8_1_features wayland_scanner_0_12_4_features ];
+  wayland_scanner_0_12_4 = { features?(wayland_scanner_0_12_4_features {}) }: wayland_scanner_0_12_4_ {
+    dependencies = mapFeatures features ([ xml_rs_0_7_0 ]);
+  };
+  wayland_scanner_0_12_4_features = f: updateFeatures f (rec {
+    wayland_scanner_0_12_4.default = (f.wayland_scanner_0_12_4.default or true);
+    xml_rs_0_7_0.default = true;
+  }) [ xml_rs_0_7_0_features ];
+  wayland_server_0_12_4 = { features?(wayland_server_0_12_4_features {}) }: wayland_server_0_12_4_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 libc_0_2_34 nix_0_9_0 token_store_0_1_2 wayland_sys_0_12_4 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_12_4 ]);
+    features = mkFeatures (features.wayland_server_0_12_4 or {});
+  };
+  wayland_server_0_12_4_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    libc_0_2_34.default = true;
+    nix_0_9_0.default = true;
+    token_store_0_1_2.default = true;
+    wayland_scanner_0_12_4.default = true;
+    wayland_server_0_12_4.default = (f.wayland_server_0_12_4.default or true);
+    wayland_sys_0_12_4.default = true;
+    wayland_sys_0_12_4.dlopen =
+      (f.wayland_sys_0_12_4.dlopen or false) ||
+      (wayland_server_0_12_4.dlopen or false) ||
+      (f.wayland_server_0_12_4.dlopen or false);
+    wayland_sys_0_12_4.server = true;
+  }) [ bitflags_1_0_1_features libc_0_2_34_features nix_0_9_0_features token_store_0_1_2_features wayland_sys_0_12_4_features wayland_scanner_0_12_4_features ];
+  wayland_sys_0_6_0 = { features?(wayland_sys_0_6_0_features {}) }: wayland_sys_0_6_0_ {
+    dependencies = mapFeatures features ([ dlib_0_3_1 ]
+      ++ (if features.wayland_sys_0_6_0.libc or false then [ libc_0_2_34 ] else []));
+    features = mkFeatures (features.wayland_sys_0_6_0 or {});
+  };
+  wayland_sys_0_6_0_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = true;
+    dlib_0_3_1.dlopen =
+      (f.dlib_0_3_1.dlopen or false) ||
+      (wayland_sys_0_6_0.dlopen or false) ||
+      (f.wayland_sys_0_6_0.dlopen or false);
+    libc_0_2_34.default = true;
+    wayland_sys_0_6_0.default = (f.wayland_sys_0_6_0.default or true);
+    wayland_sys_0_6_0.lazy_static =
+      (f.wayland_sys_0_6_0.lazy_static or false) ||
+      (f.wayland_sys_0_6_0.dlopen or false) ||
+      (wayland_sys_0_6_0.dlopen or false);
+    wayland_sys_0_6_0.libc =
+      (f.wayland_sys_0_6_0.libc or false) ||
+      (f.wayland_sys_0_6_0.server or false) ||
+      (wayland_sys_0_6_0.server or false);
+  }) [ dlib_0_3_1_features libc_0_2_34_features ];
+  wayland_sys_0_9_10 = { features?(wayland_sys_0_9_10_features {}) }: wayland_sys_0_9_10_ {
+    dependencies = mapFeatures features ([ dlib_0_3_1 ]
+      ++ (if features.wayland_sys_0_9_10.lazy_static or false then [ lazy_static_0_2_11 ] else [])
+      ++ (if features.wayland_sys_0_9_10.libc or false then [ libc_0_2_34 ] else []));
+    features = mkFeatures (features.wayland_sys_0_9_10 or {});
+  };
+  wayland_sys_0_9_10_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = true;
+    dlib_0_3_1.dlopen =
+      (f.dlib_0_3_1.dlopen or false) ||
+      (wayland_sys_0_9_10.dlopen or false) ||
+      (f.wayland_sys_0_9_10.dlopen or false);
+    lazy_static_0_2_11.default = true;
+    libc_0_2_34.default = true;
+    wayland_sys_0_9_10.default = (f.wayland_sys_0_9_10.default or true);
+    wayland_sys_0_9_10.lazy_static =
+      (f.wayland_sys_0_9_10.lazy_static or false) ||
+      (f.wayland_sys_0_9_10.dlopen or false) ||
+      (wayland_sys_0_9_10.dlopen or false);
+    wayland_sys_0_9_10.libc =
+      (f.wayland_sys_0_9_10.libc or false) ||
+      (f.wayland_sys_0_9_10.server or false) ||
+      (wayland_sys_0_9_10.server or false);
+  }) [ dlib_0_3_1_features lazy_static_0_2_11_features libc_0_2_34_features ];
+  wayland_sys_0_12_4 = { features?(wayland_sys_0_12_4_features {}) }: wayland_sys_0_12_4_ {
+    dependencies = mapFeatures features ([ dlib_0_4_0 ]
+      ++ (if features.wayland_sys_0_12_4.lazy_static or false then [ lazy_static_0_2_11 ] else [])
+      ++ (if features.wayland_sys_0_12_4.libc or false then [ libc_0_2_34 ] else []));
+    features = mkFeatures (features.wayland_sys_0_12_4 or {});
+  };
+  wayland_sys_0_12_4_features = f: updateFeatures f (rec {
+    dlib_0_4_0.default = true;
+    dlib_0_4_0.dlopen =
+      (f.dlib_0_4_0.dlopen or false) ||
+      (wayland_sys_0_12_4.dlopen or false) ||
+      (f.wayland_sys_0_12_4.dlopen or false);
+    lazy_static_0_2_11.default = true;
+    libc_0_2_34.default = true;
+    wayland_sys_0_12_4.default = (f.wayland_sys_0_12_4.default or true);
+    wayland_sys_0_12_4.lazy_static =
+      (f.wayland_sys_0_12_4.lazy_static or false) ||
+      (f.wayland_sys_0_12_4.dlopen or false) ||
+      (wayland_sys_0_12_4.dlopen or false);
+    wayland_sys_0_12_4.libc =
+      (f.wayland_sys_0_12_4.libc or false) ||
+      (f.wayland_sys_0_12_4.server or false) ||
+      (wayland_sys_0_12_4.server or false);
+  }) [ dlib_0_4_0_features lazy_static_0_2_11_features libc_0_2_34_features ];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  }) [];
+  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
+  winapi_build_0_1_1_features = f: updateFeatures f (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
+  xcb_0_8_1 = { features?(xcb_0_8_1_features {}) }: xcb_0_8_1_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 log_0_3_9 ]);
+    buildDependencies = mapFeatures features ([ libc_0_2_34 ]);
+    features = mkFeatures (features.xcb_0_8_1 or {});
+  };
+  xcb_0_8_1_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = true;
+    log_0_3_9.default = true;
+    xcb_0_8_1.composite =
+      (f.xcb_0_8_1.composite or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.damage =
+      (f.xcb_0_8_1.damage or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.default = (f.xcb_0_8_1.default or true);
+    xcb_0_8_1.dpms =
+      (f.xcb_0_8_1.dpms or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.dri2 =
+      (f.xcb_0_8_1.dri2 or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.dri3 =
+      (f.xcb_0_8_1.dri3 or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.glx =
+      (f.xcb_0_8_1.glx or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.randr =
+      (f.xcb_0_8_1.randr or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.record =
+      (f.xcb_0_8_1.record or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.render =
+      (f.xcb_0_8_1.render or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false) ||
+      (f.xcb_0_8_1.randr or false) ||
+      (xcb_0_8_1.randr or false) ||
+      (f.xcb_0_8_1.xfixes or false) ||
+      (xcb_0_8_1.xfixes or false);
+    xcb_0_8_1.res =
+      (f.xcb_0_8_1.res or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.screensaver =
+      (f.xcb_0_8_1.screensaver or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.shape =
+      (f.xcb_0_8_1.shape or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xfixes or false) ||
+      (xcb_0_8_1.xfixes or false);
+    xcb_0_8_1.shm =
+      (f.xcb_0_8_1.shm or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xv or false) ||
+      (xcb_0_8_1.xv or false);
+    xcb_0_8_1.sync =
+      (f.xcb_0_8_1.sync or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false);
+    xcb_0_8_1.thread =
+      (f.xcb_0_8_1.thread or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xevie =
+      (f.xcb_0_8_1.xevie or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xf86dri =
+      (f.xcb_0_8_1.xf86dri or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xfixes =
+      (f.xcb_0_8_1.xfixes or false) ||
+      (f.xcb_0_8_1.composite or false) ||
+      (xcb_0_8_1.composite or false) ||
+      (f.xcb_0_8_1.damage or false) ||
+      (xcb_0_8_1.damage or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false) ||
+      (f.xcb_0_8_1.xinput or false) ||
+      (xcb_0_8_1.xinput or false);
+    xcb_0_8_1.xinerama =
+      (f.xcb_0_8_1.xinerama or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xkb =
+      (f.xcb_0_8_1.xkb or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xlib_xcb =
+      (f.xcb_0_8_1.xlib_xcb or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xprint =
+      (f.xcb_0_8_1.xprint or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xselinux =
+      (f.xcb_0_8_1.xselinux or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xtest =
+      (f.xcb_0_8_1.xtest or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xv =
+      (f.xcb_0_8_1.xv or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xvmc or false) ||
+      (xcb_0_8_1.xvmc or false);
+    xcb_0_8_1.xvmc =
+      (f.xcb_0_8_1.xvmc or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+  }) [ libc_0_2_34_features log_0_3_9_features libc_0_2_34_features ];
+  xml_rs_0_7_0 = { features?(xml_rs_0_7_0_features {}) }: xml_rs_0_7_0_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 ]);
+  };
+  xml_rs_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    xml_rs_0_7_0.default = (f.xml_rs_0_7_0.default or true);
+  }) [ bitflags_1_0_1_features ];
 }
diff --git a/pkgs/applications/window-managers/way-cooler/wc-bg.nix b/pkgs/applications/window-managers/way-cooler/wc-bg.nix
index 50e2bf837348..d1c0993982ab 100644
--- a/pkgs/applications/window-managers/way-cooler/wc-bg.nix
+++ b/pkgs/applications/window-managers/way-cooler/wc-bg.nix
@@ -1,962 +1,1379 @@
-# Generated by carnix 0.5.0: carnix -o wc-bg.nix Cargo.lock
+# Generated by carnix 0.6.5: carnix -o wc-bg.nix Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+    mapFeatures = features: map (fun: fun { features = features; });
     mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ansi_term";
-      version = "0.9.0";
-      authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-      sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.2";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.6.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.8.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0whaj3969ysqxzk620sk1isvq6vh85516f2fplvqjrw3syz44sb2";
-      inherit dependencies buildDependencies features;
-    };
-    byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "byteorder";
-      version = "0.5.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
-      inherit dependencies buildDependencies features;
-    };
-    byteorder_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "byteorder";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "14pdnds4517vcpablc51vv76hvc3glnpkpbb7qdil591q7lyb0m1";
-      inherit dependencies buildDependencies features;
-    };
-    clap_2_23_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "clap";
-      version = "2.23.2";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-      sha256 = "1sfc2h9sn4k3vkgqxwk2mhl75f0i9gl3ncl7d2y7plhp18k5nlrs";
-      inherit dependencies buildDependencies features;
-    };
-    color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "color_quant";
-      version = "1.0.0";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus";
-      version = "0.5.2";
-      authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-      sha256 = "1ga3p2myqxbz34n2bbw4gk1ipf76mjr8r2rvrvnalwggymzfkhj7";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "deque";
-      version = "0.3.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Samuel Fredrickson <kinghajj@gmail.com>" "Linus Färnstrand <faern@faern.net>" "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "04x8i5aagxmslk350i8qszyw7kmvrqc3d99g4qi1xnfmr61y7m68";
-      inherit dependencies buildDependencies features;
-    };
-    dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dlib";
-      version = "0.3.1";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0mgg4r90yby68qg7y8csbclhsm53ac26vsyq615viq535plllhzw";
-      inherit dependencies buildDependencies features;
-    };
-    enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "enum_primitive";
-      version = "0.1.1";
-      authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
-      sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.7.2";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "0b1r4ggdgy1djfvz2s4l5kirmfsmxd286y6wx0p9ahv2phb7inyi";
-      inherit dependencies buildDependencies features;
-    };
-    flate2_0_2_19_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "flate2";
-      version = "0.2.19";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1dpnvw4hcxplalr3bk527d9rfiy7c08580hji9dnfcv5fmdg1znq";
-      inherit dependencies buildDependencies features;
-    };
-    gcc_0_3_45_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gcc";
-      version = "0.3.45";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0d3pzpbh7wr7645i2rkg5f7c4bhp01a9syrw600fjcvqhkiykp5n";
-      inherit dependencies buildDependencies features;
-    };
-    gif_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gif";
-      version = "0.9.1";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "16s7b0rqc6gg1fcbppakm3jy2q462w3qvykcmcmifmg7q7lwsg6r";
-      inherit dependencies buildDependencies features;
-    };
-    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glob";
-      version = "0.2.11";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-      inherit dependencies buildDependencies features;
-    };
-    image_0_10_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "image";
-      version = "0.10.4";
-      authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
-      sha256 = "1pwrs7k5760b38i1lg872x9q2zc6xvhs7mjhlzvjnr5p85zx2fbw";
-      libPath = "./src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "inflate";
-      version = "0.1.1";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0jp1wvfw0qqbyz0whbycp7xr5nx1ds5plh4wsfyj503xmjf9ab4k";
-      inherit dependencies buildDependencies features;
-    };
-    jpeg_decoder_0_1_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "jpeg-decoder";
-      version = "0.1.12";
-      authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
-      sha256 = "1f8y6v3alf93gwfmcd53izh77w2a1gv85zlhdbnyla2kna7r9pwz";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.1.16";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0lc5ixs5bmnc43lfri2ynh9393l7vs0z3sw2v5rkaady2ivnznpc";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.8";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "1xbpxx7cd5kl60g87g43q80jxyrsildhxfjc42jb1x4jncknpwbl";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.21";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0glj3lxwc8358cfw9pb5dd4zr9iynzj6w2ly59nshrggsw021j75";
-      inherit dependencies buildDependencies features;
-    };
-    libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libloading";
-      version = "0.3.4";
-      authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-      sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lzw";
-      version = "0.10.0";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
-      inherit dependencies buildDependencies features;
-    };
-    metadeps_1_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "metadeps";
-      version = "1.1.1";
-      authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
-      sha256 = "1px8v94jn4ps63gqmvgsfcqxrwjhpa9z4xr0y1lh95wn2063fsar";
-      inherit dependencies buildDependencies features;
-    };
-    miniz_sys_0_1_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "miniz-sys";
-      version = "0.1.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "09m2953zr0msq8cgk86991y4aqfvw3cxf52fx0d49jqy92nqmfmv";
-      libPath = "lib.rs";
-      libName = "miniz_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    num_bigint_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-bigint";
-      version = "0.1.37";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0scyqfi5azf48yyc8fhns8i1g8zq1rax155hhj9mhr0c1j6w99gs";
-      inherit dependencies buildDependencies features;
-    };
-    num_integer_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-integer";
-      version = "0.1.34";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1i160ddy78sgih3xq9r6raqmg4s83abwbphv4cvyb1lnwsh0b318";
-      inherit dependencies buildDependencies features;
-    };
-    num_iter_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-iter";
-      version = "0.1.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1xjzf2p2vaqwknkr4s8ka5hn6cpr5rsshnydbpkn2pvapfzdrqd3";
-      inherit dependencies buildDependencies features;
-    };
-    num_rational_0_1_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-rational";
-      version = "0.1.36";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0jibhs8xiap2wlv1xjwdvhyj4yrxwfisqbnfm53vjm5ldlijp87p";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.37";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-      inherit dependencies buildDependencies features;
-    };
-    num_cpus_1_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num_cpus";
-      version = "1.3.0";
-      authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-      sha256 = "0i0zm6qh932k9b67qf7f1vsczkdim5kg9qv73m7y5hhw1i781rrb";
-      inherit dependencies buildDependencies features;
-    };
-    phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_codegen";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
-      inherit dependencies buildDependencies features;
-    };
-    phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_generator";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
-      inherit dependencies buildDependencies features;
-    };
-    phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_shared";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    png_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "png";
-      version = "0.5.2";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "1pgann3f1ysgf8y1acw86v4s3ji1xk85ri353biyvh4i1cpn1g3q";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.15";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-      inherit dependencies buildDependencies features;
-    };
-    rayon_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rayon";
-      version = "0.7.0";
-      authors = [ "Niko Matsakis <niko@alum.mit.edu>" ];
-      sha256 = "102qkpni68wc9fz1hmba1z8d6pgnl86g5gdl9i3h3ilc6zjymxx7";
-      inherit dependencies buildDependencies features;
-    };
-    rayon_core_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rayon-core";
-      version = "1.0.0";
-      authors = [ "Niko Matsakis <niko@alum.mit.edu>" ];
-      sha256 = "0gv3ysmx69r20n0ywjnqbgm802jjzgg0rly1iv1ssphgn5gg4hsh";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_serialize_0_3_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-serialize";
-      version = "0.3.23";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0s8i928syzkj1xrsfqf04xlyi4zl37bfpzilf160gi2vhcikj0lw";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc_version";
-      version = "0.1.7";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-      inherit dependencies buildDependencies features;
-    };
-    scoped_threadpool_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scoped_threadpool";
-      version = "0.1.7";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0dg58f18i6v071640062n0vymr4h42cnj0xy8a7b80sc0mddykyk";
-      inherit dependencies buildDependencies features;
-    };
-    semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver";
-      version = "0.1.20";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-      inherit dependencies buildDependencies features;
-    };
-    serde_0_9_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "0.9.13";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "1lgh3mhmdagzb6wrm6nd4f9mfqwmw464hc8q99ia2qv4xwkx72xp";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "0.9.10";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-      inherit dependencies buildDependencies features;
-    };
-    siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "siphasher";
-      version = "0.2.2";
-      authors = [ "Frank Denis <github@pureftpd.org>" ];
-      sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    target_build_utils_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "target_build_utils";
-      version = "0.3.0";
-      authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-      sha256 = "03vxpzmcsvzi1zzjj1h9c956m9s815v3ikrxa1mz1h5hzs3q7bkg";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    tempfile_2_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempfile";
-      version = "2.1.5";
-      authors = [ "Steven Allen <steven@stebalien.com>" ];
-      sha256 = "1yz8aaj78z9gsn4b71y0m6fa5bnxhqafcczhxvmwra56k943aqkw";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "term_size";
-      version = "0.3.0";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-      sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.2.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_segmentation_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-segmentation";
-      version = "1.1.0";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "10hk7wy0217jwdbp27p36skwkig5lbhk482yfzij9m87h247rry0";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-width";
-      version = "0.1.4";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-      inherit dependencies buildDependencies features;
-    };
-    vec_map_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vec_map";
-      version = "0.7.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-      sha256 = "0jawvi83b1nm101nam0w71kdyh7cy3fr0l9qj1hfcjvzvihfk2l1";
-      inherit dependencies buildDependencies features;
-    };
-    way_cooler_bg_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "way-cooler-bg";
-      version = "0.2.1";
-      authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-      sha256 = "04sa2g4kisc6g15fam7ciqya96l5ajfd8x2fq5i46m22qrvagvq2";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_client_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-client";
-      version = "0.6.2";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "04p9wjjvd4ahylhb27i7aggcrchcqk9ykpny6hjsc1lqfbqbhj3d";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_scanner_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-scanner";
-      version = "0.6.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "01x9i8ngl9m3hngv7p0xb2qfwfxpcljhbrils506cf1l1q8838kb";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.6.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-    xml_rs_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "xml-rs";
-      version = "0.3.6";
-      authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-      sha256 = "1g1cclib7fj900m4669vxlz45lxcq0m36g7cd8chl494c2xsgj15";
-      libPath = "src/lib.rs";
-      libName = "xml";
-      crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
-      inherit dependencies buildDependencies features;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  ansi_term_0_9_0 = ansi_term_0_9_0_ rec {};
-  atty_0_2_2 = atty_0_2_2_ rec {
-    dependencies = (if !(kernel == "windows") then [ libc_0_2_21 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  libc_0_2_21_features."default".from_atty_0_2_2__default = true;
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_2__default = true;
-  winapi_0_2_8_features."default".from_atty_0_2_2__default = true;
-  bitflags_0_6_0 = bitflags_0_6_0_ rec {};
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_8_2 = bitflags_0_8_2_ rec {
-    features = mkFeatures bitflags_0_8_2_features;
-  };
-  bitflags_0_8_2_features."i128".self_unstable = hasFeature (bitflags_0_8_2_features."unstable" or {});
-  byteorder_0_5_3 = byteorder_0_5_3_ rec {
-    features = mkFeatures byteorder_0_5_3_features;
-  };
-  byteorder_0_5_3_features."std".self_default = hasDefault byteorder_0_5_3_features;
-  byteorder_1_0_0 = byteorder_1_0_0_ rec {
-    features = mkFeatures byteorder_1_0_0_features;
-  };
-  byteorder_1_0_0_features."std".self_default = hasDefault byteorder_1_0_0_features;
-  clap_2_23_2 = clap_2_23_2_ rec {
-    dependencies = [ ansi_term_0_9_0 atty_0_2_2 bitflags_0_8_2 strsim_0_6_0 term_size_0_3_0 unicode_segmentation_1_1_0 unicode_width_0_1_4 vec_map_0_7_0 ]
-      ++ (if lib.lists.any (x: x == "ansi_term") features then [ansi_term_0_9_0] else [])      ++ (if lib.lists.any (x: x == "atty") features then [atty_0_2_2] else [])      ++ (if lib.lists.any (x: x == "strsim") features then [strsim_0_6_0] else [])      ++ (if lib.lists.any (x: x == "term_size") features then [term_size_0_3_0] else []);
-    features = mkFeatures clap_2_23_2_features;
-  };
-  clap_2_23_2_features."".self = true;
-  clap_2_23_2_features."ansi_term".self_color = hasFeature (clap_2_23_2_features."color" or {});
-  clap_2_23_2_features."atty".self_color = hasFeature (clap_2_23_2_features."color" or {});
-  clap_2_23_2_features."suggestions".self_default = hasDefault clap_2_23_2_features;
-  clap_2_23_2_features."color".self_default = hasDefault clap_2_23_2_features;
-  clap_2_23_2_features."wrap_help".self_default = hasDefault clap_2_23_2_features;
-  clap_2_23_2_features."clippy".self_lints = hasFeature (clap_2_23_2_features."lints" or {});
-  clap_2_23_2_features."strsim".self_suggestions = hasFeature (clap_2_23_2_features."suggestions" or {});
-  clap_2_23_2_features."term_size".self_wrap_help = hasFeature (clap_2_23_2_features."wrap_help" or {});
-  clap_2_23_2_features."yaml-rust".self_yaml = hasFeature (clap_2_23_2_features."yaml" or {});
-  ansi_term_0_9_0_features."default".from_clap_2_23_2__default = true;
-  atty_0_2_2_features."default".from_clap_2_23_2__default = true;
-  bitflags_0_8_2_features."default".from_clap_2_23_2__default = true;
-  clippy_0_0_0_features."default".from_clap_2_23_2__default = true;
-  strsim_0_6_0_features."default".from_clap_2_23_2__default = true;
-  term_size_0_3_0_features."default".from_clap_2_23_2__default = true;
-  unicode_segmentation_1_1_0_features."default".from_clap_2_23_2__default = true;
-  unicode_width_0_1_4_features."default".from_clap_2_23_2__default = true;
-  vec_map_0_7_0_features."default".from_clap_2_23_2__default = true;
-  yaml_rust_0_0_0_features."default".from_clap_2_23_2__default = true;
-  color_quant_1_0_0 = color_quant_1_0_0_ rec {};
-  dbus_0_5_2 = dbus_0_5_2_ rec {
-    dependencies = [ libc_0_2_21 ];
-    buildDependencies = [ metadeps_1_1_1 ];
-    features = mkFeatures dbus_0_5_2_features;
-  };
-  dbus_0_5_2_features."".self = true;
-  libc_0_2_21_features."default".from_dbus_0_5_2__default = true;
-  deque_0_3_1 = deque_0_3_1_ rec {
-    dependencies = [ rand_0_3_15 ];
-  };
-  rand_0_3_15_features."default".from_deque_0_3_1__default = true;
-  dlib_0_3_1 = dlib_0_3_1_ rec {
-    dependencies = [ libloading_0_3_4 ];
-    features = mkFeatures dlib_0_3_1_features;
-  };
-  dlib_0_3_1_features."".self = true;
-  libloading_0_3_4_features."default".from_dlib_0_3_1__default = true;
-  dtoa_0_4_1 = dtoa_0_4_1_ rec {};
-  enum_primitive_0_1_1 = enum_primitive_0_1_1_ rec {
-    dependencies = [ num_traits_0_1_37 ];
-  };
-  num_traits_0_1_37_features."default".from_enum_primitive_0_1_1__default = false;
-  error_chain_0_7_2 = error_chain_0_7_2_ rec {
-    dependencies = [];
-    features = mkFeatures error_chain_0_7_2_features;
-  };
-  error_chain_0_7_2_features."backtrace".self_default = hasDefault error_chain_0_7_2_features;
-  error_chain_0_7_2_features."example_generated".self_default = hasDefault error_chain_0_7_2_features;
-  backtrace_0_0_0_features."default".from_error_chain_0_7_2__default = true;
-  flate2_0_2_19 = flate2_0_2_19_ rec {
-    dependencies = [ libc_0_2_21 miniz_sys_0_1_9 ]
-      ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_9] else []);
-    features = mkFeatures flate2_0_2_19_features;
-  };
-  flate2_0_2_19_features."".self = true;
-  flate2_0_2_19_features."miniz-sys".self_default = hasDefault flate2_0_2_19_features;
-  flate2_0_2_19_features."tokio-io".self_tokio = hasFeature (flate2_0_2_19_features."tokio" or {});
-  flate2_0_2_19_features."futures".self_tokio = hasFeature (flate2_0_2_19_features."tokio" or {});
-  flate2_0_2_19_features."libz-sys".self_zlib = hasFeature (flate2_0_2_19_features."zlib" or {});
-  futures_0_0_0_features."default".from_flate2_0_2_19__default = true;
-  libc_0_2_21_features."default".from_flate2_0_2_19__default = true;
-  libz_sys_0_0_0_features."default".from_flate2_0_2_19__default = true;
-  miniz_sys_0_1_9_features."default".from_flate2_0_2_19__default = true;
-  tokio_io_0_0_0_features."default".from_flate2_0_2_19__default = true;
-  gcc_0_3_45 = gcc_0_3_45_ rec {
-    dependencies = [];
-    features = mkFeatures gcc_0_3_45_features;
-  };
-  gcc_0_3_45_features."rayon".self_parallel = hasFeature (gcc_0_3_45_features."parallel" or {});
-  rayon_0_0_0_features."default".from_gcc_0_3_45__default = true;
-  gif_0_9_1 = gif_0_9_1_ rec {
-    dependencies = [ color_quant_1_0_0 lzw_0_10_0 ];
-    features = mkFeatures gif_0_9_1_features;
-  };
-  gif_0_9_1_features."libc".self_c_api = hasFeature (gif_0_9_1_features."c_api" or {});
-  gif_0_9_1_features."raii_no_panic".self_default = hasDefault gif_0_9_1_features;
-  color_quant_1_0_0_features."default".from_gif_0_9_1__default = true;
-  libc_0_0_0_features."default".from_gif_0_9_1__default = true;
-  lzw_0_10_0_features."default".from_gif_0_9_1__default = true;
-  glob_0_2_11 = glob_0_2_11_ rec {};
-  image_0_10_4 = image_0_10_4_ rec {
-    dependencies = [ byteorder_0_5_3 enum_primitive_0_1_1 gif_0_9_1 glob_0_2_11 jpeg_decoder_0_1_12 num_iter_0_1_33 num_rational_0_1_36 num_traits_0_1_37 png_0_5_2 scoped_threadpool_0_1_7 ]
-      ++ (if lib.lists.any (x: x == "gif") features then [gif_0_9_1] else [])      ++ (if lib.lists.any (x: x == "jpeg-decoder") features then [jpeg_decoder_0_1_12] else [])      ++ (if lib.lists.any (x: x == "png") features then [png_0_5_2] else [])      ++ (if lib.lists.any (x: x == "scoped_threadpool") features then [scoped_threadpool_0_1_7] else []);
-    features = mkFeatures image_0_10_4_features;
-  };
-  image_0_10_4_features."".self = true;
-  image_0_10_4_features."gif_codec".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."jpeg".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."ico".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."png_codec".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."ppm".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."tga".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."tiff".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."webp".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."bmp".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."hdr".self_default = hasDefault image_0_10_4_features;
-  image_0_10_4_features."gif".self_gif_codec = hasFeature (image_0_10_4_features."gif_codec" or {});
-  image_0_10_4_features."scoped_threadpool".self_hdr = hasFeature (image_0_10_4_features."hdr" or {});
-  image_0_10_4_features."bmp".self_ico = hasFeature (image_0_10_4_features."ico" or {});
-  image_0_10_4_features."png_codec".self_ico = hasFeature (image_0_10_4_features."ico" or {});
-  image_0_10_4_features."jpeg-decoder".self_jpeg = hasFeature (image_0_10_4_features."jpeg" or {});
-  image_0_10_4_features."png".self_png_codec = hasFeature (image_0_10_4_features."png_codec" or {});
-  byteorder_0_5_3_features."default".from_image_0_10_4__default = true;
-  enum_primitive_0_1_1_features."default".from_image_0_10_4__default = true;
-  gif_0_9_1_features."default".from_image_0_10_4__default = true;
-  glob_0_2_11_features."default".from_image_0_10_4__default = true;
-  jpeg_decoder_0_1_12_features."default".from_image_0_10_4__default = true;
-  num_iter_0_1_33_features."default".from_image_0_10_4__default = true;
-  num_rational_0_1_36_features."default".from_image_0_10_4__default = true;
-  num_traits_0_1_37_features."default".from_image_0_10_4__default = true;
-  png_0_5_2_features."default".from_image_0_10_4__default = true;
-  scoped_threadpool_0_1_7_features."default".from_image_0_10_4__default = true;
-  inflate_0_1_1 = inflate_0_1_1_ rec {
-    features = mkFeatures inflate_0_1_1_features;
-  };
-  inflate_0_1_1_features."".self = true;
-  itoa_0_3_1 = itoa_0_3_1_ rec {};
-  jpeg_decoder_0_1_12 = jpeg_decoder_0_1_12_ rec {
-    dependencies = [ byteorder_1_0_0 rayon_0_7_0 ]
-      ++ (if lib.lists.any (x: x == "rayon") features then [rayon_0_7_0] else []);
-    features = mkFeatures jpeg_decoder_0_1_12_features;
-  };
-  jpeg_decoder_0_1_12_features."".self = true;
-  jpeg_decoder_0_1_12_features."rayon".self_default = hasDefault jpeg_decoder_0_1_12_features;
-  byteorder_1_0_0_features."default".from_jpeg_decoder_0_1_12__default = true;
-  rayon_0_7_0_features."default".from_jpeg_decoder_0_1_12__default = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  lazy_static_0_1_16 = lazy_static_0_1_16_ rec {
-    features = mkFeatures lazy_static_0_1_16_features;
-  };
-  lazy_static_0_1_16_features."".self = true;
-  lazy_static_0_2_8 = lazy_static_0_2_8_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_8_features;
-  };
-  lazy_static_0_2_8_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  lazy_static_0_2_8_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_8__default = true;
-  libc_0_2_21 = libc_0_2_21_ rec {
-    features = mkFeatures libc_0_2_21_features;
-  };
-  libc_0_2_21_features."use_std".self_default = hasDefault libc_0_2_21_features;
-  libloading_0_3_4 = libloading_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_8 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ target_build_utils_0_3_0 ];
-  };
-  lazy_static_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_libloading_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  lzw_0_10_0 = lzw_0_10_0_ rec {
-    features = mkFeatures lzw_0_10_0_features;
-  };
-  lzw_0_10_0_features."raii_no_panic".self_default = hasDefault lzw_0_10_0_features;
-  metadeps_1_1_1 = metadeps_1_1_1_ rec {
-    dependencies = [ error_chain_0_7_2 pkg_config_0_3_9 toml_0_2_1 ];
-  };
-  error_chain_0_7_2_features."default".from_metadeps_1_1_1__default = false;
-  pkg_config_0_3_9_features."default".from_metadeps_1_1_1__default = true;
-  toml_0_2_1_features."default".from_metadeps_1_1_1__default = false;
-  miniz_sys_0_1_9 = miniz_sys_0_1_9_ rec {
-    dependencies = [ libc_0_2_21 ];
-    buildDependencies = [ gcc_0_3_45 ];
-  };
-  libc_0_2_21_features."default".from_miniz_sys_0_1_9__default = true;
-  num_bigint_0_1_37 = num_bigint_0_1_37_ rec {
-    dependencies = [ num_integer_0_1_34 num_traits_0_1_37 rand_0_3_15 rustc_serialize_0_3_23 ]
-      ++ (if lib.lists.any (x: x == "rand") features then [rand_0_3_15] else [])      ++ (if lib.lists.any (x: x == "rustc-serialize") features then [rustc_serialize_0_3_23] else []);
-    features = mkFeatures num_bigint_0_1_37_features;
-  };
-  num_bigint_0_1_37_features."".self = true;
-  num_bigint_0_1_37_features."rand".self_default = hasDefault num_bigint_0_1_37_features;
-  num_bigint_0_1_37_features."rustc-serialize".self_default = hasDefault num_bigint_0_1_37_features;
-  num_integer_0_1_34_features."default".from_num_bigint_0_1_37__default = true;
-  num_traits_0_1_37_features."default".from_num_bigint_0_1_37__default = true;
-  rand_0_3_15_features."default".from_num_bigint_0_1_37__default = true;
-  rustc_serialize_0_3_23_features."default".from_num_bigint_0_1_37__default = true;
-  serde_0_0_0_features."default".from_num_bigint_0_1_37__default = true;
-  num_integer_0_1_34 = num_integer_0_1_34_ rec {
-    dependencies = [ num_traits_0_1_37 ];
-  };
-  num_traits_0_1_37_features."default".from_num_integer_0_1_34__default = true;
-  num_iter_0_1_33 = num_iter_0_1_33_ rec {
-    dependencies = [ num_integer_0_1_34 num_traits_0_1_37 ];
-  };
-  num_integer_0_1_34_features."default".from_num_iter_0_1_33__default = true;
-  num_traits_0_1_37_features."default".from_num_iter_0_1_33__default = true;
-  num_rational_0_1_36 = num_rational_0_1_36_ rec {
-    dependencies = [ num_bigint_0_1_37 num_integer_0_1_34 num_traits_0_1_37 rustc_serialize_0_3_23 ]
-      ++ (if lib.lists.any (x: x == "num-bigint") features then [num_bigint_0_1_37] else [])      ++ (if lib.lists.any (x: x == "rustc-serialize") features then [rustc_serialize_0_3_23] else []);
-    features = mkFeatures num_rational_0_1_36_features;
-  };
-  num_rational_0_1_36_features."".self = true;
-  num_rational_0_1_36_features."num-bigint".self_bigint = hasFeature (num_rational_0_1_36_features."bigint" or {});
-  num_rational_0_1_36_features."bigint".self_default = hasDefault num_rational_0_1_36_features;
-  num_rational_0_1_36_features."rustc-serialize".self_default = hasDefault num_rational_0_1_36_features;
-  num_bigint_0_1_37_features."default".from_num_rational_0_1_36__default = true;
-  num_integer_0_1_34_features."default".from_num_rational_0_1_36__default = true;
-  num_traits_0_1_37_features."default".from_num_rational_0_1_36__default = true;
-  rustc_serialize_0_3_23_features."default".from_num_rational_0_1_36__default = true;
-  serde_0_0_0_features."default".from_num_rational_0_1_36__default = true;
-  num_traits_0_1_37 = num_traits_0_1_37_ rec {};
-  num_cpus_1_3_0 = num_cpus_1_3_0_ rec {
-    dependencies = [ libc_0_2_21 ];
-  };
-  libc_0_2_21_features."default".from_num_cpus_1_3_0__default = true;
-  phf_0_7_21 = phf_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 ];
-    features = mkFeatures phf_0_7_21_features;
-  };
-  phf_0_7_21_features."".self = true;
-  phf_shared_0_7_21_features."core".from_phf_0_7_21__core = hasFeature (phf_0_7_21_features."core" or {});
-  phf_shared_0_7_21_features."unicase".from_phf_0_7_21__unicase = hasFeature (phf_0_7_21_features."unicase" or {});
-  phf_shared_0_7_21_features."default".from_phf_0_7_21__default = true;
-  phf_codegen_0_7_21 = phf_codegen_0_7_21_ rec {
-    dependencies = [ phf_generator_0_7_21 phf_shared_0_7_21 ];
-  };
-  phf_generator_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_shared_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_generator_0_7_21 = phf_generator_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 rand_0_3_15 ];
-  };
-  phf_shared_0_7_21_features."default".from_phf_generator_0_7_21__default = true;
-  rand_0_3_15_features."default".from_phf_generator_0_7_21__default = true;
-  phf_shared_0_7_21 = phf_shared_0_7_21_ rec {
-    dependencies = [ siphasher_0_2_2 ];
-    features = mkFeatures phf_shared_0_7_21_features;
-  };
-  phf_shared_0_7_21_features."".self = true;
-  siphasher_0_2_2_features."default".from_phf_shared_0_7_21__default = true;
-  unicase_0_0_0_features."default".from_phf_shared_0_7_21__default = true;
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  png_0_5_2 = png_0_5_2_ rec {
-    dependencies = [ bitflags_0_7_0 flate2_0_2_19 inflate_0_1_1 num_iter_0_1_33 ]
-      ++ (if lib.lists.any (x: x == "flate2") features then [flate2_0_2_19] else []);
-    features = mkFeatures png_0_5_2_features;
-  };
-  png_0_5_2_features."".self = true;
-  png_0_5_2_features."png-encoding".self_default = hasDefault png_0_5_2_features;
-  png_0_5_2_features."flate2".self_png-encoding = hasFeature (png_0_5_2_features."png-encoding" or {});
-  bitflags_0_7_0_features."default".from_png_0_5_2__default = true;
-  flate2_0_2_19_features."default".from_png_0_5_2__default = true;
-  inflate_0_1_1_features."default".from_png_0_5_2__default = true;
-  num_iter_0_1_33_features."default".from_png_0_5_2__default = true;
-  rand_0_3_15 = rand_0_3_15_ rec {
-    dependencies = [ libc_0_2_21 ];
-  };
-  libc_0_2_21_features."default".from_rand_0_3_15__default = true;
-  rayon_0_7_0 = rayon_0_7_0_ rec {
-    dependencies = [ rayon_core_1_0_0 ];
-    features = mkFeatures rayon_0_7_0_features;
-  };
-  rayon_0_7_0_features."".self = true;
-  rayon_core_1_0_0_features."unstable".from_rayon_0_7_0__unstable = hasFeature (rayon_0_7_0_features."unstable" or {});
-  rayon_core_1_0_0_features."default".from_rayon_0_7_0__default = true;
-  rayon_core_1_0_0 = rayon_core_1_0_0_ rec {
-    dependencies = [ deque_0_3_1 lazy_static_0_2_8 libc_0_2_21 num_cpus_1_3_0 rand_0_3_15 ];
-    features = mkFeatures rayon_core_1_0_0_features;
-  };
-  rayon_core_1_0_0_features."futures".self_unstable = hasFeature (rayon_core_1_0_0_features."unstable" or {});
-  deque_0_3_1_features."default".from_rayon_core_1_0_0__default = true;
-  futures_0_0_0_features."default".from_rayon_core_1_0_0__default = true;
-  lazy_static_0_2_8_features."default".from_rayon_core_1_0_0__default = true;
-  libc_0_2_21_features."default".from_rayon_core_1_0_0__default = true;
-  num_cpus_1_3_0_features."default".from_rayon_core_1_0_0__default = true;
-  rand_0_3_15_features."default".from_rayon_core_1_0_0__default = true;
-  rustc_serialize_0_3_23 = rustc_serialize_0_3_23_ rec {};
-  rustc_version_0_1_7 = rustc_version_0_1_7_ rec {
-    dependencies = [ semver_0_1_20 ];
-  };
-  semver_0_1_20_features."default".from_rustc_version_0_1_7__default = true;
-  scoped_threadpool_0_1_7 = scoped_threadpool_0_1_7_ rec {
-    features = mkFeatures scoped_threadpool_0_1_7_features;
-  };
-  scoped_threadpool_0_1_7_features."".self = true;
-  semver_0_1_20 = semver_0_1_20_ rec {};
-  serde_0_9_13 = serde_0_9_13_ rec {
-    dependencies = [];
-    features = mkFeatures serde_0_9_13_features;
-  };
-  serde_0_9_13_features."unstable".self_alloc = hasFeature (serde_0_9_13_features."alloc" or {});
-  serde_0_9_13_features."alloc".self_collections = hasFeature (serde_0_9_13_features."collections" or {});
-  serde_0_9_13_features."std".self_default = hasDefault serde_0_9_13_features;
-  serde_0_9_13_features."serde_derive".self_derive = hasFeature (serde_0_9_13_features."derive" or {});
-  serde_0_9_13_features."serde_derive".self_playground = hasFeature (serde_0_9_13_features."playground" or {});
-  serde_0_9_13_features."unstable".self_unstable-testing = hasFeature (serde_0_9_13_features."unstable-testing" or {});
-  serde_0_9_13_features."std".self_unstable-testing = hasFeature (serde_0_9_13_features."unstable-testing" or {});
-  serde_derive_0_0_0_features."default".from_serde_0_9_13__default = true;
-  serde_json_0_9_10 = serde_json_0_9_10_ rec {
-    dependencies = [ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_13 ];
-    features = mkFeatures serde_json_0_9_10_features;
-  };
-  serde_json_0_9_10_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_0_9_10_features."preserve_order" or {});
-  dtoa_0_4_1_features."default".from_serde_json_0_9_10__default = true;
-  itoa_0_3_1_features."default".from_serde_json_0_9_10__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_0_9_10__default = true;
-  num_traits_0_1_37_features."default".from_serde_json_0_9_10__default = true;
-  serde_0_9_13_features."default".from_serde_json_0_9_10__default = true;
-  siphasher_0_2_2 = siphasher_0_2_2_ rec {
-    dependencies = [];
-  };
-  clippy_0_0_0_features."default".from_siphasher_0_2_2__default = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  target_build_utils_0_3_0 = target_build_utils_0_3_0_ rec {
-    dependencies = [ phf_0_7_21 serde_json_0_9_10 ]
-      ++ (if lib.lists.any (x: x == "serde_json") features then [serde_json_0_9_10] else []);
-    buildDependencies = [ phf_codegen_0_7_21 ];
-    features = mkFeatures target_build_utils_0_3_0_features;
-  };
-  target_build_utils_0_3_0_features."".self = true;
-  target_build_utils_0_3_0_features."serde_json".self_default = hasDefault target_build_utils_0_3_0_features;
-  phf_0_7_21_features."default".from_target_build_utils_0_3_0__default = true;
-  serde_json_0_9_10_features."default".from_target_build_utils_0_3_0__default = true;
-  tempfile_2_1_5 = tempfile_2_1_5_ rec {
-    dependencies = [ rand_0_3_15 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_21 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ rustc_version_0_1_7 ];
-  };
-  rand_0_3_15_features."default".from_tempfile_2_1_5__default = true;
-  libc_0_2_21_features."default".from_tempfile_2_1_5__default = true;
-  kernel32_sys_0_2_2_features."default".from_tempfile_2_1_5__default = true;
-  winapi_0_2_8_features."default".from_tempfile_2_1_5__default = true;
-  term_size_0_3_0 = term_size_0_3_0_ rec {
-    dependencies = []
-      ++ (if !(kernel == "windows") then [ libc_0_2_21 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    features = mkFeatures term_size_0_3_0_features;
-  };
-  term_size_0_3_0_features."clippy".self_lints = hasFeature (term_size_0_3_0_features."lints" or {});
-  term_size_0_3_0_features."nightly".self_lints = hasFeature (term_size_0_3_0_features."lints" or {});
-  term_size_0_3_0_features."lints".self_travis = hasFeature (term_size_0_3_0_features."travis" or {});
-  term_size_0_3_0_features."nightly".self_travis = hasFeature (term_size_0_3_0_features."travis" or {});
-  clippy_0_0_0_features."default".from_term_size_0_3_0__default = true;
-  libc_0_2_21_features."default".from_term_size_0_3_0__default = true;
-  kernel32_sys_0_2_2_features."default".from_term_size_0_3_0__default = true;
-  winapi_0_2_8_features."default".from_term_size_0_3_0__default = true;
-  toml_0_2_1 = toml_0_2_1_ rec {
-    dependencies = [];
-  };
-  toml_0_2_1_features."rustc-serialize".self_default = hasDefault toml_0_2_1_features;
-  rustc_serialize_0_0_0_features."default".from_toml_0_2_1__default = true;
-  serde_0_0_0_features."default".from_toml_0_2_1__default = true;
-  unicode_segmentation_1_1_0 = unicode_segmentation_1_1_0_ rec {
-    features = mkFeatures unicode_segmentation_1_1_0_features;
-  };
-  unicode_segmentation_1_1_0_features."".self = true;
-  unicode_width_0_1_4 = unicode_width_0_1_4_ rec {
-    features = mkFeatures unicode_width_0_1_4_features;
-  };
-  unicode_width_0_1_4_features."".self = true;
-  vec_map_0_7_0 = vec_map_0_7_0_ rec {
-    dependencies = [];
-    features = mkFeatures vec_map_0_7_0_features;
-  };
-  vec_map_0_7_0_features."serde".self_eders = hasFeature (vec_map_0_7_0_features."eders" or {});
-  vec_map_0_7_0_features."serde_derive".self_eders = hasFeature (vec_map_0_7_0_features."eders" or {});
-  serde_0_0_0_features."default".from_vec_map_0_7_0__default = true;
-  serde_derive_0_0_0_features."default".from_vec_map_0_7_0__default = true;
-  way_cooler_bg_0_2_1 = way_cooler_bg_0_2_1_ rec {
-    dependencies = [ byteorder_0_5_3 clap_2_23_2 dbus_0_5_2 image_0_10_4 tempfile_2_1_5 wayland_client_0_6_2 wayland_sys_0_6_0 ];
-  };
-  byteorder_0_5_3_features."default".from_way_cooler_bg_0_2_1__default = true;
-  clap_2_23_2_features."default".from_way_cooler_bg_0_2_1__default = true;
-  dbus_0_5_2_features."default".from_way_cooler_bg_0_2_1__default = true;
-  image_0_10_4_features."default".from_way_cooler_bg_0_2_1__default = true;
-  tempfile_2_1_5_features."default".from_way_cooler_bg_0_2_1__default = true;
-  wayland_client_0_6_2_features."cursor".from_way_cooler_bg_0_2_1 = true;
-  wayland_client_0_6_2_features."dlopen".from_way_cooler_bg_0_2_1 = true;
-  wayland_client_0_6_2_features."default".from_way_cooler_bg_0_2_1__default = true;
-  wayland_sys_0_6_0_features."client".from_way_cooler_bg_0_2_1 = true;
-  wayland_sys_0_6_0_features."dlopen".from_way_cooler_bg_0_2_1 = true;
-  wayland_sys_0_6_0_features."default".from_way_cooler_bg_0_2_1__default = true;
-  wayland_client_0_6_2 = wayland_client_0_6_2_ rec {
-    dependencies = [ bitflags_0_6_0 libc_0_2_21 wayland_sys_0_6_0 ];
-    buildDependencies = [ wayland_scanner_0_6_0 ];
-    features = mkFeatures wayland_client_0_6_2_features;
-  };
-  wayland_client_0_6_2_features."wp-presentation_time".self_all_stable_protocols = hasFeature (wayland_client_0_6_2_features."all_stable_protocols" or {});
-  wayland_client_0_6_2_features."wp-viewporter".self_all_stable_protocols = hasFeature (wayland_client_0_6_2_features."all_stable_protocols" or {});
-  wayland_client_0_6_2_features."unstable-protocols".self_all_unstable_protocols = hasFeature (wayland_client_0_6_2_features."all_unstable_protocols" or {});
-  wayland_client_0_6_2_features."wpu-xdg_shell".self_all_unstable_protocols = hasFeature (wayland_client_0_6_2_features."all_unstable_protocols" or {});
-  bitflags_0_6_0_features."default".from_wayland_client_0_6_2__default = true;
-  lazy_static_0_0_0_features."default".from_wayland_client_0_6_2__default = true;
-  libc_0_2_21_features."default".from_wayland_client_0_6_2__default = true;
-  wayland_sys_0_6_0_features."client".from_wayland_client_0_6_2 = true;
-  wayland_sys_0_6_0_features."cursor".from_wayland_client_0_6_2__cursor = hasFeature (wayland_client_0_6_2_features."cursor" or {});
-  wayland_sys_0_6_0_features."dlopen".from_wayland_client_0_6_2__dlopen = hasFeature (wayland_client_0_6_2_features."dlopen" or {});
-  wayland_sys_0_6_0_features."egl".from_wayland_client_0_6_2__egl = hasFeature (wayland_client_0_6_2_features."egl" or {});
-  wayland_sys_0_6_0_features."default".from_wayland_client_0_6_2__default = true;
-  wayland_scanner_0_6_0 = wayland_scanner_0_6_0_ rec {
-    dependencies = [ xml_rs_0_3_6 ];
-  };
-  xml_rs_0_3_6_features."default".from_wayland_scanner_0_6_0__default = true;
-  wayland_sys_0_6_0 = wayland_sys_0_6_0_ rec {
-    dependencies = [ dlib_0_3_1 lazy_static_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "lazy_static") features then [lazy_static_0_1_16] else []);
-    features = mkFeatures wayland_sys_0_6_0_features;
-  };
-  wayland_sys_0_6_0_features."".self = true;
-  wayland_sys_0_6_0_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  wayland_sys_0_6_0_features."libc".self_server = hasFeature (wayland_sys_0_6_0_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_6_0__dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_6_0__default = true;
-  lazy_static_0_1_16_features."default".from_wayland_sys_0_6_0__default = true;
-  libc_0_0_0_features."default".from_wayland_sys_0_6_0__default = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  xml_rs_0_3_6 = xml_rs_0_3_6_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_xml_rs_0_3_6__default = true;
+  wc_bg = f: wc_bg_0_3_0 { features = wc_bg_0_3_0_features { wc_bg_0_3_0 = f; }; };
+  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.9.0";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
+    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
+    inherit dependencies buildDependencies features;
+  };
+  atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.3";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.9.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+    inherit dependencies buildDependencies features;
+  };
+  byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "byteorder";
+    version = "0.5.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
+    inherit dependencies buildDependencies features;
+  };
+  byteorder_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.1.0";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
+    inherit dependencies buildDependencies features;
+  };
+  cc_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1s5ha0k6cdy1049a5kpzvhnjc9hjvi18zrcr5dmbqpd03ag751g1";
+    inherit dependencies buildDependencies features;
+  };
+  clap_2_26_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "clap";
+    version = "2.26.2";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0njvc0b7m11yym25jrr8h47nb3k3lpzzafjf22y33c5p4rw7fn2d";
+    inherit dependencies buildDependencies features;
+  };
+  coco_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "coco";
+    version = "0.1.1";
+    authors = [ "Stjepan Glavina <stjepang@gmail.com>" ];
+    sha256 = "0hvj4jaj9y6i38c4dkii8nqq98cgx3kyx78cjqkdvk0aqq5sfr94";
+    inherit dependencies buildDependencies features;
+  };
+  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "color_quant";
+    version = "1.0.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
+    inherit dependencies buildDependencies features;
+  };
+  dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dlib";
+    version = "0.3.1";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
+    inherit dependencies buildDependencies features;
+  };
+  dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+    inherit dependencies buildDependencies features;
+  };
+  either_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "either";
+    version = "1.2.0";
+    authors = [ "bluss" ];
+    sha256 = "0l72xaf1kwzgbl3andf3d2ggz7km9059rbmp90iywww8inlnqppp";
+    inherit dependencies buildDependencies features;
+  };
+  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "enum_primitive";
+    version = "0.1.1";
+    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
+    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
+    inherit dependencies buildDependencies features;
+  };
+  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "flate2";
+    version = "0.2.20";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.2.1";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.2.0";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    inherit dependencies buildDependencies features;
+  };
+  futures_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "futures";
+    version = "0.1.16";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0ndk8cl6l600a95q8il2c3y38jz50nhfsczps0nziadqdd45gy2b";
+    inherit dependencies buildDependencies features;
+  };
+  gif_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gif";
+    version = "0.9.2";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "0dl76jrn6127w3bdg2b58p5psf8fpnbzdxdkw1i35ac8dn4vxcqa";
+    inherit dependencies buildDependencies features;
+  };
+  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glob";
+    version = "0.2.11";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+    inherit dependencies buildDependencies features;
+  };
+  image_0_10_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "image";
+    version = "0.10.4";
+    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
+    sha256 = "1pwrs7k5760b38i1lg872x9q2zc6xvhs7mjhlzvjnr5p85zx2fbw";
+    libPath = "./src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "inflate";
+    version = "0.1.1";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
+    inherit dependencies buildDependencies features;
+  };
+  itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.4";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    inherit dependencies buildDependencies features;
+  };
+  jpeg_decoder_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "jpeg-decoder";
+    version = "0.1.13";
+    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
+    sha256 = "0w16gbywlm9p0p3wx34b85q4d1izrx89afcsxlc6g11cx2js4fa2";
+    inherit dependencies buildDependencies features;
+  };
+  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.9";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.32";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1i8njlar6v9qvmkyfvwzhxrvkqw6ijp8fqdnya5csqixxz18a532";
+    inherit dependencies buildDependencies features;
+  };
+  libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libloading";
+    version = "0.3.4";
+    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
+    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lzw";
+    version = "0.10.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
+    inherit dependencies buildDependencies features;
+  };
+  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.10";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  num_bigint_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-bigint";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0pkxd9mb4chdbipprxjc8ll7kjh79n278s2z663zmd80yg5xi788";
+    inherit dependencies buildDependencies features;
+  };
+  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.35";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
+    inherit dependencies buildDependencies features;
+  };
+  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.34";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
+    inherit dependencies buildDependencies features;
+  };
+  num_rational_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-rational";
+    version = "0.1.39";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1qsacdfp97zgpajc2pgbrbga3yag1f0k7yz0gi78vd165gxdwk3m";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+    inherit dependencies buildDependencies features;
+  };
+  num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.7.0";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
+    inherit dependencies buildDependencies features;
+  };
+  phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_codegen";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
+    inherit dependencies buildDependencies features;
+  };
+  phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_generator";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
+    inherit dependencies buildDependencies features;
+  };
+  phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_shared";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  png_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "png";
+    version = "0.5.2";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "1pgann3f1ysgf8y1acw86v4s3ji1xk85ri353biyvh4i1cpn1g3q";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_17_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.17";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "06ra3pr36dlyq3kp5lbia8xnw5g0zsys2d69frr7y6df5hhb1r8j";
+    inherit dependencies buildDependencies features;
+  };
+  rayon_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rayon";
+    version = "0.8.2";
+    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "0d0mddg1k75hb9138pn8lysy2095jijrinskqbpgfr73s0jx6dq8";
+    inherit dependencies buildDependencies features;
+  };
+  rayon_core_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rayon-core";
+    version = "1.2.1";
+    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "12xv2r0dqrgvla24bl5mfvcw0599dlhrj0mx620nq95nyds753kk";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.31";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
+    libName = "syscall";
+    inherit dependencies buildDependencies features;
+  };
+  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_termios";
+    version = "0.1.1";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc-serialize";
+    version = "0.3.24";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
+    inherit dependencies buildDependencies features;
+  };
+  scoped_threadpool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "scoped_threadpool";
+    version = "0.1.8";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1al42hqbbijpah9bc6hw9c49nhnyrc0sj274ja1q3k9305c3s5a6";
+    inherit dependencies buildDependencies features;
+  };
+  scopeguard_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.2";
+    authors = [ "bluss" ];
+    sha256 = "0xlvfawva4fnp6kwr5xjwf0q2d1w6di81nhfby1sa55xj1ia5zs2";
+    inherit dependencies buildDependencies features;
+  };
+  serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde";
+    version = "0.9.15";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
+    inherit dependencies buildDependencies features;
+  };
+  serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_json";
+    version = "0.9.10";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
+    inherit dependencies buildDependencies features;
+  };
+  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "siphasher";
+    version = "0.2.2";
+    authors = [ "Frank Denis <github@pureftpd.org>" ];
+    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
+    inherit dependencies buildDependencies features;
+  };
+  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    inherit dependencies buildDependencies features;
+  };
+  target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "target_build_utils";
+    version = "0.3.1";
+    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
+    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  tempfile_2_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "tempfile";
+    version = "2.2.0";
+    authors = [ "Steven Allen <steven@stebalien.com>" ];
+    sha256 = "1z3l901ipvi0s0mdppw4lwfa77ydb22rfnf6y9sh0pifj7ah5drf";
+    inherit dependencies buildDependencies features;
+  };
+  term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "term_size";
+    version = "0.3.0";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
+    sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
+    inherit dependencies buildDependencies features;
+  };
+  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "termion";
+    version = "1.5.1";
+    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+    inherit dependencies buildDependencies features;
+  };
+  textwrap_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.8.0";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "02j8apii1032cvp9fwrxw4pf11xb287j2n1iv1iixp8yh6vzrq41";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    inherit dependencies buildDependencies features;
+  };
+  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    inherit dependencies buildDependencies features;
+  };
+  way_cooler_client_helpers_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "way-cooler-client-helpers";
+    version = "0.1.0";
+    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
+    sha256 = "0749lh5crd0rhq4dxij9mb3y5902laazjd01l6ci5782bjfk4s39";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_client_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-client";
+    version = "0.9.10";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1cs7zwvqahiysnfqfask96zpfr2bp47dlwwwd9ap8ccvcjbspj67";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_scanner_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-scanner";
+    version = "0.9.10";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0vhnj3vfnrknvdmy72pjh7dck5q5sz1v8kfr0qqzkqf0ylavvyb2";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.9.10";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8";
+    inherit dependencies buildDependencies features;
+  };
+  wc_bg_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wc-bg";
+    version = "0.3.0";
+    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
+    sha256 = "1jywymr80k96481vr6nyyqhlf2gj2n2zgvkwkny2m84v9n3pqn62";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+    inherit dependencies buildDependencies features;
+  };
+  xml_rs_0_6_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xml-rs";
+    version = "0.6.1";
+    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
+    sha256 = "0adjwgmn061p60n81s52a9p26y2jdc20wvinsyw2nzmby5wvnbwk";
+    libPath = "src/lib.rs";
+    libName = "xml";
+    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
+  ansi_term_0_9_0_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
+  }) [];
+  atty_0_2_3 = { features?(atty_0_2_3_features {}) }: atty_0_2_3_ {
+    dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_32 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  atty_0_2_3_features = f: updateFeatures f (rec {
+    atty_0_2_3.default = (f.atty_0_2_3.default or true);
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_32.default = (f.libc_0_2_32.default or false);
+    termion_1_5_1.default = true;
+    winapi_0_2_8.default = true;
+  }) [ termion_1_5_1_features libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
+  }) [];
+  bitflags_0_9_1 = { features?(bitflags_0_9_1_features {}) }: bitflags_0_9_1_ {
+    features = mkFeatures (features.bitflags_0_9_1 or {});
+  };
+  bitflags_0_9_1_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = (f.bitflags_0_9_1.default or true);
+    bitflags_0_9_1.example_generated =
+      (f.bitflags_0_9_1.example_generated or false) ||
+      (f.bitflags_0_9_1.default or false) ||
+      (bitflags_0_9_1.default or false);
+  }) [];
+  byteorder_0_5_3 = { features?(byteorder_0_5_3_features {}) }: byteorder_0_5_3_ {
+    features = mkFeatures (features.byteorder_0_5_3 or {});
+  };
+  byteorder_0_5_3_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = (f.byteorder_0_5_3.default or true);
+    byteorder_0_5_3.std =
+      (f.byteorder_0_5_3.std or false) ||
+      (f.byteorder_0_5_3.default or false) ||
+      (byteorder_0_5_3.default or false);
+  }) [];
+  byteorder_1_1_0 = { features?(byteorder_1_1_0_features {}) }: byteorder_1_1_0_ {
+    features = mkFeatures (features.byteorder_1_1_0 or {});
+  };
+  byteorder_1_1_0_features = f: updateFeatures f (rec {
+    byteorder_1_1_0.default = (f.byteorder_1_1_0.default or true);
+    byteorder_1_1_0.std =
+      (f.byteorder_1_1_0.std or false) ||
+      (f.byteorder_1_1_0.default or false) ||
+      (byteorder_1_1_0.default or false);
+  }) [];
+  cc_1_0_0 = { features?(cc_1_0_0_features {}) }: cc_1_0_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.cc_1_0_0 or {});
+  };
+  cc_1_0_0_features = f: updateFeatures f (rec {
+    cc_1_0_0.default = (f.cc_1_0_0.default or true);
+    cc_1_0_0.rayon =
+      (f.cc_1_0_0.rayon or false) ||
+      (f.cc_1_0_0.parallel or false) ||
+      (cc_1_0_0.parallel or false);
+  }) [];
+  clap_2_26_2 = { features?(clap_2_26_2_features {}) }: clap_2_26_2_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 textwrap_0_8_0 unicode_width_0_1_4 vec_map_0_8_0 ]
+      ++ (if features.clap_2_26_2.ansi_term or false then [ ansi_term_0_9_0 ] else [])
+      ++ (if features.clap_2_26_2.atty or false then [ atty_0_2_3 ] else [])
+      ++ (if features.clap_2_26_2.strsim or false then [ strsim_0_6_0 ] else [])
+      ++ (if features.clap_2_26_2.term_size or false then [ term_size_0_3_0 ] else []));
+    features = mkFeatures (features.clap_2_26_2 or {});
+  };
+  clap_2_26_2_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = true;
+    atty_0_2_3.default = true;
+    bitflags_0_9_1.default = true;
+    clap_2_26_2.ansi_term =
+      (f.clap_2_26_2.ansi_term or false) ||
+      (f.clap_2_26_2.color or false) ||
+      (clap_2_26_2.color or false);
+    clap_2_26_2.atty =
+      (f.clap_2_26_2.atty or false) ||
+      (f.clap_2_26_2.color or false) ||
+      (clap_2_26_2.color or false);
+    clap_2_26_2.clippy =
+      (f.clap_2_26_2.clippy or false) ||
+      (f.clap_2_26_2.lints or false) ||
+      (clap_2_26_2.lints or false);
+    clap_2_26_2.color =
+      (f.clap_2_26_2.color or false) ||
+      (f.clap_2_26_2.default or false) ||
+      (clap_2_26_2.default or false);
+    clap_2_26_2.default = (f.clap_2_26_2.default or true);
+    clap_2_26_2.strsim =
+      (f.clap_2_26_2.strsim or false) ||
+      (f.clap_2_26_2.suggestions or false) ||
+      (clap_2_26_2.suggestions or false);
+    clap_2_26_2.suggestions =
+      (f.clap_2_26_2.suggestions or false) ||
+      (f.clap_2_26_2.default or false) ||
+      (clap_2_26_2.default or false);
+    clap_2_26_2.term_size =
+      (f.clap_2_26_2.term_size or false) ||
+      (f.clap_2_26_2.wrap_help or false) ||
+      (clap_2_26_2.wrap_help or false);
+    clap_2_26_2.wrap_help =
+      (f.clap_2_26_2.wrap_help or false) ||
+      (f.clap_2_26_2.default or false) ||
+      (clap_2_26_2.default or false);
+    clap_2_26_2.yaml =
+      (f.clap_2_26_2.yaml or false) ||
+      (f.clap_2_26_2.doc or false) ||
+      (clap_2_26_2.doc or false);
+    clap_2_26_2.yaml-rust =
+      (f.clap_2_26_2.yaml-rust or false) ||
+      (f.clap_2_26_2.yaml or false) ||
+      (clap_2_26_2.yaml or false);
+    strsim_0_6_0.default = true;
+    term_size_0_3_0.default = true;
+    textwrap_0_8_0.default = true;
+    unicode_width_0_1_4.default = true;
+    vec_map_0_8_0.default = true;
+  }) [ ansi_term_0_9_0_features atty_0_2_3_features bitflags_0_9_1_features strsim_0_6_0_features term_size_0_3_0_features textwrap_0_8_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
+  coco_0_1_1 = { features?(coco_0_1_1_features {}) }: coco_0_1_1_ {
+    dependencies = mapFeatures features ([ either_1_2_0 scopeguard_0_3_2 ]);
+    features = mkFeatures (features.coco_0_1_1 or {});
+  };
+  coco_0_1_1_features = f: updateFeatures f (rec {
+    coco_0_1_1.default = (f.coco_0_1_1.default or true);
+    either_1_2_0.default = true;
+    scopeguard_0_3_2.default = true;
+  }) [ either_1_2_0_features scopeguard_0_3_2_features ];
+  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
+  color_quant_1_0_0_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
+  }) [];
+  dlib_0_3_1 = { features?(dlib_0_3_1_features {}) }: dlib_0_3_1_ {
+    dependencies = mapFeatures features ([ libloading_0_3_4 ]);
+    features = mkFeatures (features.dlib_0_3_1 or {});
+  };
+  dlib_0_3_1_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
+    libloading_0_3_4.default = true;
+  }) [ libloading_0_3_4_features ];
+  dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
+  dtoa_0_4_2_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
+  }) [];
+  either_1_2_0 = { features?(either_1_2_0_features {}) }: either_1_2_0_ {
+    features = mkFeatures (features.either_1_2_0 or {});
+  };
+  either_1_2_0_features = f: updateFeatures f (rec {
+    either_1_2_0.default = (f.either_1_2_0.default or true);
+    either_1_2_0.use_std =
+      (f.either_1_2_0.use_std or false) ||
+      (f.either_1_2_0.default or false) ||
+      (either_1_2_0.default or false);
+  }) [];
+  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
+  };
+  enum_primitive_0_1_1_features = f: updateFeatures f (rec {
+    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
+    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or false);
+  }) [ num_traits_0_1_40_features ];
+  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
+    dependencies = mapFeatures features ([ libc_0_2_32 ]
+      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
+    features = mkFeatures (features.flate2_0_2_20 or {});
+  };
+  flate2_0_2_20_features = f: updateFeatures f (rec {
+    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
+    flate2_0_2_20.futures =
+      (f.flate2_0_2_20.futures or false) ||
+      (f.flate2_0_2_20.tokio or false) ||
+      (flate2_0_2_20.tokio or false);
+    flate2_0_2_20.libz-sys =
+      (f.flate2_0_2_20.libz-sys or false) ||
+      (f.flate2_0_2_20.zlib or false) ||
+      (flate2_0_2_20.zlib or false);
+    flate2_0_2_20.miniz-sys =
+      (f.flate2_0_2_20.miniz-sys or false) ||
+      (f.flate2_0_2_20.default or false) ||
+      (flate2_0_2_20.default or false);
+    flate2_0_2_20.tokio-io =
+      (f.flate2_0_2_20.tokio-io or false) ||
+      (f.flate2_0_2_20.tokio or false) ||
+      (flate2_0_2_20.tokio or false);
+    libc_0_2_32.default = true;
+    miniz_sys_0_1_10.default = true;
+  }) [ libc_0_2_32_features miniz_sys_0_1_10_features ];
+  fuchsia_zircon_0_2_1 = { features?(fuchsia_zircon_0_2_1_features {}) }: fuchsia_zircon_0_2_1_ {
+    dependencies = mapFeatures features ([ fuchsia_zircon_sys_0_2_0 ]);
+  };
+  fuchsia_zircon_0_2_1_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_2_1.default = (f.fuchsia_zircon_0_2_1.default or true);
+    fuchsia_zircon_sys_0_2_0.default = true;
+  }) [ fuchsia_zircon_sys_0_2_0_features ];
+  fuchsia_zircon_sys_0_2_0 = { features?(fuchsia_zircon_sys_0_2_0_features {}) }: fuchsia_zircon_sys_0_2_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
+  };
+  fuchsia_zircon_sys_0_2_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    fuchsia_zircon_sys_0_2_0.default = (f.fuchsia_zircon_sys_0_2_0.default or true);
+  }) [ bitflags_0_7_0_features ];
+  futures_0_1_16 = { features?(futures_0_1_16_features {}) }: futures_0_1_16_ {
+    features = mkFeatures (features.futures_0_1_16 or {});
+  };
+  futures_0_1_16_features = f: updateFeatures f (rec {
+    futures_0_1_16.default = (f.futures_0_1_16.default or true);
+    futures_0_1_16.use_std =
+      (f.futures_0_1_16.use_std or false) ||
+      (f.futures_0_1_16.default or false) ||
+      (futures_0_1_16.default or false);
+    futures_0_1_16.with-deprecated =
+      (f.futures_0_1_16.with-deprecated or false) ||
+      (f.futures_0_1_16.default or false) ||
+      (futures_0_1_16.default or false);
+  }) [];
+  gif_0_9_2 = { features?(gif_0_9_2_features {}) }: gif_0_9_2_ {
+    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
+    features = mkFeatures (features.gif_0_9_2 or {});
+  };
+  gif_0_9_2_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = true;
+    gif_0_9_2.default = (f.gif_0_9_2.default or true);
+    gif_0_9_2.libc =
+      (f.gif_0_9_2.libc or false) ||
+      (f.gif_0_9_2.c_api or false) ||
+      (gif_0_9_2.c_api or false);
+    gif_0_9_2.raii_no_panic =
+      (f.gif_0_9_2.raii_no_panic or false) ||
+      (f.gif_0_9_2.default or false) ||
+      (gif_0_9_2.default or false);
+    lzw_0_10_0.default = true;
+  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
+  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
+  glob_0_2_11_features = f: updateFeatures f (rec {
+    glob_0_2_11.default = (f.glob_0_2_11.default or true);
+  }) [];
+  image_0_10_4 = { features?(image_0_10_4_features {}) }: image_0_10_4_ {
+    dependencies = mapFeatures features ([ byteorder_0_5_3 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_34 num_rational_0_1_39 num_traits_0_1_40 ]
+      ++ (if features.image_0_10_4.gif or false then [ gif_0_9_2 ] else [])
+      ++ (if features.image_0_10_4.jpeg-decoder or false then [ jpeg_decoder_0_1_13 ] else [])
+      ++ (if features.image_0_10_4.png or false then [ png_0_5_2 ] else [])
+      ++ (if features.image_0_10_4.scoped_threadpool or false then [ scoped_threadpool_0_1_8 ] else []));
+    features = mkFeatures (features.image_0_10_4 or {});
+  };
+  image_0_10_4_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = true;
+    enum_primitive_0_1_1.default = true;
+    gif_0_9_2.default = true;
+    glob_0_2_11.default = true;
+    image_0_10_4.bmp =
+      (f.image_0_10_4.bmp or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false) ||
+      (f.image_0_10_4.ico or false) ||
+      (image_0_10_4.ico or false);
+    image_0_10_4.default = (f.image_0_10_4.default or true);
+    image_0_10_4.gif =
+      (f.image_0_10_4.gif or false) ||
+      (f.image_0_10_4.gif_codec or false) ||
+      (image_0_10_4.gif_codec or false);
+    image_0_10_4.gif_codec =
+      (f.image_0_10_4.gif_codec or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.hdr =
+      (f.image_0_10_4.hdr or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.ico =
+      (f.image_0_10_4.ico or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.jpeg =
+      (f.image_0_10_4.jpeg or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.jpeg-decoder =
+      (f.image_0_10_4.jpeg-decoder or false) ||
+      (f.image_0_10_4.jpeg or false) ||
+      (image_0_10_4.jpeg or false);
+    image_0_10_4.png =
+      (f.image_0_10_4.png or false) ||
+      (f.image_0_10_4.png_codec or false) ||
+      (image_0_10_4.png_codec or false);
+    image_0_10_4.png_codec =
+      (f.image_0_10_4.png_codec or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false) ||
+      (f.image_0_10_4.ico or false) ||
+      (image_0_10_4.ico or false);
+    image_0_10_4.ppm =
+      (f.image_0_10_4.ppm or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.scoped_threadpool =
+      (f.image_0_10_4.scoped_threadpool or false) ||
+      (f.image_0_10_4.hdr or false) ||
+      (image_0_10_4.hdr or false);
+    image_0_10_4.tga =
+      (f.image_0_10_4.tga or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.tiff =
+      (f.image_0_10_4.tiff or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.webp =
+      (f.image_0_10_4.webp or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    jpeg_decoder_0_1_13.default = true;
+    num_iter_0_1_34.default = true;
+    num_rational_0_1_39.default = true;
+    num_traits_0_1_40.default = true;
+    png_0_5_2.default = true;
+    scoped_threadpool_0_1_8.default = true;
+  }) [ byteorder_0_5_3_features enum_primitive_0_1_1_features gif_0_9_2_features glob_0_2_11_features jpeg_decoder_0_1_13_features num_iter_0_1_34_features num_rational_0_1_39_features num_traits_0_1_40_features png_0_5_2_features scoped_threadpool_0_1_8_features ];
+  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
+    features = mkFeatures (features.inflate_0_1_1 or {});
+  };
+  inflate_0_1_1_features = f: updateFeatures f (rec {
+    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
+  }) [];
+  itoa_0_3_4 = { features?(itoa_0_3_4_features {}) }: itoa_0_3_4_ {
+    features = mkFeatures (features.itoa_0_3_4 or {});
+  };
+  itoa_0_3_4_features = f: updateFeatures f (rec {
+    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
+  }) [];
+  jpeg_decoder_0_1_13 = { features?(jpeg_decoder_0_1_13_features {}) }: jpeg_decoder_0_1_13_ {
+    dependencies = mapFeatures features ([ byteorder_1_1_0 ]
+      ++ (if features.jpeg_decoder_0_1_13.rayon or false then [ rayon_0_8_2 ] else []));
+    features = mkFeatures (features.jpeg_decoder_0_1_13 or {});
+  };
+  jpeg_decoder_0_1_13_features = f: updateFeatures f (rec {
+    byteorder_1_1_0.default = true;
+    jpeg_decoder_0_1_13.default = (f.jpeg_decoder_0_1_13.default or true);
+    jpeg_decoder_0_1_13.rayon =
+      (f.jpeg_decoder_0_1_13.rayon or false) ||
+      (f.jpeg_decoder_0_1_13.default or false) ||
+      (jpeg_decoder_0_1_13.default or false);
+    rayon_0_8_2.default = true;
+  }) [ byteorder_1_1_0_features rayon_0_8_2_features ];
+  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  lazy_static_0_2_9 = { features?(lazy_static_0_2_9_features {}) }: lazy_static_0_2_9_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_0_2_9 or {});
+  };
+  lazy_static_0_2_9_features = f: updateFeatures f (rec {
+    lazy_static_0_2_9.default = (f.lazy_static_0_2_9.default or true);
+    lazy_static_0_2_9.nightly =
+      (f.lazy_static_0_2_9.nightly or false) ||
+      (f.lazy_static_0_2_9.spin_no_std or false) ||
+      (lazy_static_0_2_9.spin_no_std or false);
+    lazy_static_0_2_9.spin =
+      (f.lazy_static_0_2_9.spin or false) ||
+      (f.lazy_static_0_2_9.spin_no_std or false) ||
+      (lazy_static_0_2_9.spin_no_std or false);
+  }) [];
+  libc_0_2_32 = { features?(libc_0_2_32_features {}) }: libc_0_2_32_ {
+    features = mkFeatures (features.libc_0_2_32 or {});
+  };
+  libc_0_2_32_features = f: updateFeatures f (rec {
+    libc_0_2_32.default = (f.libc_0_2_32.default or true);
+    libc_0_2_32.use_std =
+      (f.libc_0_2_32.use_std or false) ||
+      (f.libc_0_2_32.default or false) ||
+      (libc_0_2_32.default or false);
+  }) [];
+  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
+    dependencies = mapFeatures features ([ lazy_static_0_2_9 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ target_build_utils_0_3_1 ]);
+  };
+  libloading_0_3_4_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_0_2_9.default = true;
+    libloading_0_3_4.default = (f.libloading_0_3_4.default or true);
+    target_build_utils_0_3_1.default = true;
+    winapi_0_2_8.default = true;
+  }) [ lazy_static_0_2_9_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
+    features = mkFeatures (features.lzw_0_10_0 or {});
+  };
+  lzw_0_10_0_features = f: updateFeatures f (rec {
+    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
+    lzw_0_10_0.raii_no_panic =
+      (f.lzw_0_10_0.raii_no_panic or false) ||
+      (f.lzw_0_10_0.default or false) ||
+      (lzw_0_10_0.default or false);
+  }) [];
+  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
+    dependencies = mapFeatures features ([ libc_0_2_32 ]);
+    buildDependencies = mapFeatures features ([ cc_1_0_0 ]);
+  };
+  miniz_sys_0_1_10_features = f: updateFeatures f (rec {
+    cc_1_0_0.default = true;
+    libc_0_2_32.default = true;
+    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
+  }) [ libc_0_2_32_features cc_1_0_0_features ];
+  num_bigint_0_1_40 = { features?(num_bigint_0_1_40_features {}) }: num_bigint_0_1_40_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]
+      ++ (if features.num_bigint_0_1_40.rand or false then [ rand_0_3_17 ] else [])
+      ++ (if features.num_bigint_0_1_40.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.num_bigint_0_1_40 or {});
+  };
+  num_bigint_0_1_40_features = f: updateFeatures f (rec {
+    num_bigint_0_1_40.default = (f.num_bigint_0_1_40.default or true);
+    num_bigint_0_1_40.rand =
+      (f.num_bigint_0_1_40.rand or false) ||
+      (f.num_bigint_0_1_40.default or false) ||
+      (num_bigint_0_1_40.default or false);
+    num_bigint_0_1_40.rustc-serialize =
+      (f.num_bigint_0_1_40.rustc-serialize or false) ||
+      (f.num_bigint_0_1_40.default or false) ||
+      (num_bigint_0_1_40.default or false);
+    num_integer_0_1_35.default = true;
+    num_traits_0_1_40.default = true;
+    rand_0_3_17.default = true;
+    rustc_serialize_0_3_24.default = true;
+  }) [ num_integer_0_1_35_features num_traits_0_1_40_features rand_0_3_17_features rustc_serialize_0_3_24_features ];
+  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
+  };
+  num_integer_0_1_35_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
+    num_traits_0_1_40.default = true;
+  }) [ num_traits_0_1_40_features ];
+  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]);
+  };
+  num_iter_0_1_34_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = true;
+    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
+    num_traits_0_1_40.default = true;
+  }) [ num_integer_0_1_35_features num_traits_0_1_40_features ];
+  num_rational_0_1_39 = { features?(num_rational_0_1_39_features {}) }: num_rational_0_1_39_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]
+      ++ (if features.num_rational_0_1_39.num-bigint or false then [ num_bigint_0_1_40 ] else [])
+      ++ (if features.num_rational_0_1_39.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.num_rational_0_1_39 or {});
+  };
+  num_rational_0_1_39_features = f: updateFeatures f (rec {
+    num_bigint_0_1_40.default = true;
+    num_integer_0_1_35.default = true;
+    num_rational_0_1_39.bigint =
+      (f.num_rational_0_1_39.bigint or false) ||
+      (f.num_rational_0_1_39.default or false) ||
+      (num_rational_0_1_39.default or false);
+    num_rational_0_1_39.default = (f.num_rational_0_1_39.default or true);
+    num_rational_0_1_39.num-bigint =
+      (f.num_rational_0_1_39.num-bigint or false) ||
+      (f.num_rational_0_1_39.bigint or false) ||
+      (num_rational_0_1_39.bigint or false);
+    num_rational_0_1_39.rustc-serialize =
+      (f.num_rational_0_1_39.rustc-serialize or false) ||
+      (f.num_rational_0_1_39.default or false) ||
+      (num_rational_0_1_39.default or false);
+    num_traits_0_1_40.default = true;
+    rustc_serialize_0_3_24.default = true;
+  }) [ num_bigint_0_1_40_features num_integer_0_1_35_features num_traits_0_1_40_features rustc_serialize_0_3_24_features ];
+  num_traits_0_1_40 = { features?(num_traits_0_1_40_features {}) }: num_traits_0_1_40_ {};
+  num_traits_0_1_40_features = f: updateFeatures f (rec {
+    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or true);
+  }) [];
+  num_cpus_1_7_0 = { features?(num_cpus_1_7_0_features {}) }: num_cpus_1_7_0_ {
+    dependencies = mapFeatures features ([ libc_0_2_32 ]);
+  };
+  num_cpus_1_7_0_features = f: updateFeatures f (rec {
+    libc_0_2_32.default = true;
+    num_cpus_1_7_0.default = (f.num_cpus_1_7_0.default or true);
+  }) [ libc_0_2_32_features ];
+  phf_0_7_21 = { features?(phf_0_7_21_features {}) }: phf_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 ]);
+    features = mkFeatures (features.phf_0_7_21 or {});
+  };
+  phf_0_7_21_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = (f.phf_0_7_21.default or true);
+    phf_shared_0_7_21.core =
+      (f.phf_shared_0_7_21.core or false) ||
+      (phf_0_7_21.core or false) ||
+      (f.phf_0_7_21.core or false);
+    phf_shared_0_7_21.default = true;
+    phf_shared_0_7_21.unicase =
+      (f.phf_shared_0_7_21.unicase or false) ||
+      (phf_0_7_21.unicase or false) ||
+      (f.phf_0_7_21.unicase or false);
+  }) [ phf_shared_0_7_21_features ];
+  phf_codegen_0_7_21 = { features?(phf_codegen_0_7_21_features {}) }: phf_codegen_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_generator_0_7_21 phf_shared_0_7_21 ]);
+  };
+  phf_codegen_0_7_21_features = f: updateFeatures f (rec {
+    phf_codegen_0_7_21.default = (f.phf_codegen_0_7_21.default or true);
+    phf_generator_0_7_21.default = true;
+    phf_shared_0_7_21.default = true;
+  }) [ phf_generator_0_7_21_features phf_shared_0_7_21_features ];
+  phf_generator_0_7_21 = { features?(phf_generator_0_7_21_features {}) }: phf_generator_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 rand_0_3_17 ]);
+  };
+  phf_generator_0_7_21_features = f: updateFeatures f (rec {
+    phf_generator_0_7_21.default = (f.phf_generator_0_7_21.default or true);
+    phf_shared_0_7_21.default = true;
+    rand_0_3_17.default = true;
+  }) [ phf_shared_0_7_21_features rand_0_3_17_features ];
+  phf_shared_0_7_21 = { features?(phf_shared_0_7_21_features {}) }: phf_shared_0_7_21_ {
+    dependencies = mapFeatures features ([ siphasher_0_2_2 ]);
+    features = mkFeatures (features.phf_shared_0_7_21 or {});
+  };
+  phf_shared_0_7_21_features = f: updateFeatures f (rec {
+    phf_shared_0_7_21.default = (f.phf_shared_0_7_21.default or true);
+    siphasher_0_2_2.default = true;
+  }) [ siphasher_0_2_2_features ];
+  png_0_5_2 = { features?(png_0_5_2_features {}) }: png_0_5_2_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_34 ]
+      ++ (if features.png_0_5_2.flate2 or false then [ flate2_0_2_20 ] else []));
+    features = mkFeatures (features.png_0_5_2 or {});
+  };
+  png_0_5_2_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    flate2_0_2_20.default = true;
+    inflate_0_1_1.default = true;
+    num_iter_0_1_34.default = true;
+    png_0_5_2.default = (f.png_0_5_2.default or true);
+    png_0_5_2.flate2 =
+      (f.png_0_5_2.flate2 or false) ||
+      (f.png_0_5_2.png-encoding or false) ||
+      (png_0_5_2.png-encoding or false);
+    png_0_5_2.png-encoding =
+      (f.png_0_5_2.png-encoding or false) ||
+      (f.png_0_5_2.default or false) ||
+      (png_0_5_2.default or false);
+  }) [ bitflags_0_7_0_features flate2_0_2_20_features inflate_0_1_1_features num_iter_0_1_34_features ];
+  rand_0_3_17 = { features?(rand_0_3_17_features {}) }: rand_0_3_17_ {
+    dependencies = mapFeatures features ([ libc_0_2_32 ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_2_1 ]) else []);
+    features = mkFeatures (features.rand_0_3_17 or {});
+  };
+  rand_0_3_17_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_2_1.default = true;
+    libc_0_2_32.default = true;
+    rand_0_3_17.default = (f.rand_0_3_17.default or true);
+    rand_0_3_17.i128_support =
+      (f.rand_0_3_17.i128_support or false) ||
+      (f.rand_0_3_17.nightly or false) ||
+      (rand_0_3_17.nightly or false);
+  }) [ libc_0_2_32_features fuchsia_zircon_0_2_1_features ];
+  rayon_0_8_2 = { features?(rayon_0_8_2_features {}) }: rayon_0_8_2_ {
+    dependencies = mapFeatures features ([ rayon_core_1_2_1 ]);
+  };
+  rayon_0_8_2_features = f: updateFeatures f (rec {
+    rayon_0_8_2.default = (f.rayon_0_8_2.default or true);
+    rayon_core_1_2_1.default = true;
+  }) [ rayon_core_1_2_1_features ];
+  rayon_core_1_2_1 = { features?(rayon_core_1_2_1_features {}) }: rayon_core_1_2_1_ {
+    dependencies = mapFeatures features ([ coco_0_1_1 futures_0_1_16 lazy_static_0_2_9 libc_0_2_32 num_cpus_1_7_0 rand_0_3_17 ]);
+  };
+  rayon_core_1_2_1_features = f: updateFeatures f (rec {
+    coco_0_1_1.default = true;
+    futures_0_1_16.default = true;
+    lazy_static_0_2_9.default = true;
+    libc_0_2_32.default = true;
+    num_cpus_1_7_0.default = true;
+    rand_0_3_17.default = true;
+    rayon_core_1_2_1.default = (f.rayon_core_1_2_1.default or true);
+  }) [ coco_0_1_1_features futures_0_1_16_features lazy_static_0_2_9_features libc_0_2_32_features num_cpus_1_7_0_features rand_0_3_17_features ];
+  redox_syscall_0_1_31 = { features?(redox_syscall_0_1_31_features {}) }: redox_syscall_0_1_31_ {};
+  redox_syscall_0_1_31_features = f: updateFeatures f (rec {
+    redox_syscall_0_1_31.default = (f.redox_syscall_0_1_31.default or true);
+  }) [];
+  redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
+    dependencies = mapFeatures features ([ redox_syscall_0_1_31 ]);
+  };
+  redox_termios_0_1_1_features = f: updateFeatures f (rec {
+    redox_syscall_0_1_31.default = true;
+    redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
+  }) [ redox_syscall_0_1_31_features ];
+  rustc_serialize_0_3_24 = { features?(rustc_serialize_0_3_24_features {}) }: rustc_serialize_0_3_24_ {};
+  rustc_serialize_0_3_24_features = f: updateFeatures f (rec {
+    rustc_serialize_0_3_24.default = (f.rustc_serialize_0_3_24.default or true);
+  }) [];
+  scoped_threadpool_0_1_8 = { features?(scoped_threadpool_0_1_8_features {}) }: scoped_threadpool_0_1_8_ {
+    features = mkFeatures (features.scoped_threadpool_0_1_8 or {});
+  };
+  scoped_threadpool_0_1_8_features = f: updateFeatures f (rec {
+    scoped_threadpool_0_1_8.default = (f.scoped_threadpool_0_1_8.default or true);
+  }) [];
+  scopeguard_0_3_2 = { features?(scopeguard_0_3_2_features {}) }: scopeguard_0_3_2_ {
+    features = mkFeatures (features.scopeguard_0_3_2 or {});
+  };
+  scopeguard_0_3_2_features = f: updateFeatures f (rec {
+    scopeguard_0_3_2.default = (f.scopeguard_0_3_2.default or true);
+    scopeguard_0_3_2.use_std =
+      (f.scopeguard_0_3_2.use_std or false) ||
+      (f.scopeguard_0_3_2.default or false) ||
+      (scopeguard_0_3_2.default or false);
+  }) [];
+  serde_0_9_15 = { features?(serde_0_9_15_features {}) }: serde_0_9_15_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.serde_0_9_15 or {});
+  };
+  serde_0_9_15_features = f: updateFeatures f (rec {
+    serde_0_9_15.alloc =
+      (f.serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.collections or false) ||
+      (serde_0_9_15.collections or false);
+    serde_0_9_15.default = (f.serde_0_9_15.default or true);
+    serde_0_9_15.serde_derive =
+      (f.serde_0_9_15.serde_derive or false) ||
+      (f.serde_0_9_15.derive or false) ||
+      (serde_0_9_15.derive or false) ||
+      (f.serde_0_9_15.playground or false) ||
+      (serde_0_9_15.playground or false);
+    serde_0_9_15.std =
+      (f.serde_0_9_15.std or false) ||
+      (f.serde_0_9_15.default or false) ||
+      (serde_0_9_15.default or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+    serde_0_9_15.unstable =
+      (f.serde_0_9_15.unstable or false) ||
+      (f.serde_0_9_15.alloc or false) ||
+      (serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+  }) [];
+  serde_json_0_9_10 = { features?(serde_json_0_9_10_features {}) }: serde_json_0_9_10_ {
+    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_0_9_15 ]);
+    features = mkFeatures (features.serde_json_0_9_10 or {});
+  };
+  serde_json_0_9_10_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = true;
+    itoa_0_3_4.default = true;
+    num_traits_0_1_40.default = true;
+    serde_0_9_15.default = true;
+    serde_json_0_9_10.default = (f.serde_json_0_9_10.default or true);
+    serde_json_0_9_10.linked-hash-map =
+      (f.serde_json_0_9_10.linked-hash-map or false) ||
+      (f.serde_json_0_9_10.preserve_order or false) ||
+      (serde_json_0_9_10.preserve_order or false);
+  }) [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_40_features serde_0_9_15_features ];
+  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
+    dependencies = mapFeatures features ([]);
+  };
+  siphasher_0_2_2_features = f: updateFeatures f (rec {
+    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
+  }) [];
+  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
+  strsim_0_6_0_features = f: updateFeatures f (rec {
+    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
+  }) [];
+  target_build_utils_0_3_1 = { features?(target_build_utils_0_3_1_features {}) }: target_build_utils_0_3_1_ {
+    dependencies = mapFeatures features ([ phf_0_7_21 ]
+      ++ (if features.target_build_utils_0_3_1.serde_json or false then [ serde_json_0_9_10 ] else []));
+    buildDependencies = mapFeatures features ([ phf_codegen_0_7_21 ]);
+    features = mkFeatures (features.target_build_utils_0_3_1 or {});
+  };
+  target_build_utils_0_3_1_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = true;
+    phf_codegen_0_7_21.default = true;
+    serde_json_0_9_10.default = true;
+    target_build_utils_0_3_1.default = (f.target_build_utils_0_3_1.default or true);
+    target_build_utils_0_3_1.serde_json =
+      (f.target_build_utils_0_3_1.serde_json or false) ||
+      (f.target_build_utils_0_3_1.default or false) ||
+      (target_build_utils_0_3_1.default or false);
+  }) [ phf_0_7_21_features serde_json_0_9_10_features phf_codegen_0_7_21_features ];
+  tempfile_2_2_0 = { features?(tempfile_2_2_0_features {}) }: tempfile_2_2_0_ {
+    dependencies = mapFeatures features ([ rand_0_3_17 ])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_31 ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_32 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  tempfile_2_2_0_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_32.default = true;
+    rand_0_3_17.default = true;
+    redox_syscall_0_1_31.default = true;
+    tempfile_2_2_0.default = (f.tempfile_2_2_0.default or true);
+    winapi_0_2_8.default = true;
+  }) [ rand_0_3_17_features redox_syscall_0_1_31_features libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  term_size_0_3_0 = { features?(term_size_0_3_0_features {}) }: term_size_0_3_0_ {
+    dependencies = mapFeatures features ([])
+      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_32 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    features = mkFeatures (features.term_size_0_3_0 or {});
+  };
+  term_size_0_3_0_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_32.default = true;
+    term_size_0_3_0.clippy =
+      (f.term_size_0_3_0.clippy or false) ||
+      (f.term_size_0_3_0.lints or false) ||
+      (term_size_0_3_0.lints or false);
+    term_size_0_3_0.default = (f.term_size_0_3_0.default or true);
+    term_size_0_3_0.lints =
+      (f.term_size_0_3_0.lints or false) ||
+      (f.term_size_0_3_0.travis or false) ||
+      (term_size_0_3_0.travis or false);
+    term_size_0_3_0.nightly =
+      (f.term_size_0_3_0.nightly or false) ||
+      (f.term_size_0_3_0.lints or false) ||
+      (term_size_0_3_0.lints or false) ||
+      (f.term_size_0_3_0.travis or false) ||
+      (term_size_0_3_0.travis or false);
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
+    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_32 ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_31 redox_termios_0_1_1 ]) else []);
+  };
+  termion_1_5_1_features = f: updateFeatures f (rec {
+    libc_0_2_32.default = true;
+    redox_syscall_0_1_31.default = true;
+    redox_termios_0_1_1.default = true;
+    termion_1_5_1.default = (f.termion_1_5_1.default or true);
+  }) [ libc_0_2_32_features redox_syscall_0_1_31_features redox_termios_0_1_1_features ];
+  textwrap_0_8_0 = { features?(textwrap_0_8_0_features {}) }: textwrap_0_8_0_ {
+    dependencies = mapFeatures features ([ term_size_0_3_0 unicode_width_0_1_4 ]);
+  };
+  textwrap_0_8_0_features = f: updateFeatures f (rec {
+    term_size_0_3_0.default = true;
+    textwrap_0_8_0.default = (f.textwrap_0_8_0.default or true);
+    unicode_width_0_1_4.default = true;
+  }) [ term_size_0_3_0_features unicode_width_0_1_4_features ];
+  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
+    features = mkFeatures (features.unicode_width_0_1_4 or {});
+  };
+  unicode_width_0_1_4_features = f: updateFeatures f (rec {
+    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
+  }) [];
+  vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.vec_map_0_8_0 or {});
+  };
+  vec_map_0_8_0_features = f: updateFeatures f (rec {
+    vec_map_0_8_0.default = (f.vec_map_0_8_0.default or true);
+    vec_map_0_8_0.serde =
+      (f.vec_map_0_8_0.serde or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+    vec_map_0_8_0.serde_derive =
+      (f.vec_map_0_8_0.serde_derive or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+  }) [];
+  way_cooler_client_helpers_0_1_0 = { features?(way_cooler_client_helpers_0_1_0_features {}) }: way_cooler_client_helpers_0_1_0_ {
+    dependencies = mapFeatures features ([ wayland_client_0_9_10 wayland_sys_0_9_10 ]);
+  };
+  way_cooler_client_helpers_0_1_0_features = f: updateFeatures f (rec {
+    way_cooler_client_helpers_0_1_0.default = (f.way_cooler_client_helpers_0_1_0.default or true);
+    wayland_client_0_9_10.cursor = true;
+    wayland_client_0_9_10.default = true;
+    wayland_client_0_9_10.dlopen = true;
+    wayland_sys_0_9_10.client = true;
+    wayland_sys_0_9_10.default = true;
+    wayland_sys_0_9_10.dlopen = true;
+  }) [ wayland_client_0_9_10_features wayland_sys_0_9_10_features ];
+  wayland_client_0_9_10 = { features?(wayland_client_0_9_10_features {}) }: wayland_client_0_9_10_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 libc_0_2_32 wayland_sys_0_9_10 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_10 ]);
+    features = mkFeatures (features.wayland_client_0_9_10 or {});
+  };
+  wayland_client_0_9_10_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    libc_0_2_32.default = true;
+    wayland_client_0_9_10.cursor =
+      (f.wayland_client_0_9_10.cursor or false) ||
+      (f.wayland_client_0_9_10.default or false) ||
+      (wayland_client_0_9_10.default or false);
+    wayland_client_0_9_10.default = (f.wayland_client_0_9_10.default or true);
+    wayland_client_0_9_10.egl =
+      (f.wayland_client_0_9_10.egl or false) ||
+      (f.wayland_client_0_9_10.default or false) ||
+      (wayland_client_0_9_10.default or false);
+    wayland_scanner_0_9_10.default = true;
+    wayland_sys_0_9_10.client = true;
+    wayland_sys_0_9_10.cursor =
+      (f.wayland_sys_0_9_10.cursor or false) ||
+      (wayland_client_0_9_10.cursor or false) ||
+      (f.wayland_client_0_9_10.cursor or false);
+    wayland_sys_0_9_10.default = true;
+    wayland_sys_0_9_10.dlopen =
+      (f.wayland_sys_0_9_10.dlopen or false) ||
+      (wayland_client_0_9_10.dlopen or false) ||
+      (f.wayland_client_0_9_10.dlopen or false);
+    wayland_sys_0_9_10.egl =
+      (f.wayland_sys_0_9_10.egl or false) ||
+      (wayland_client_0_9_10.egl or false) ||
+      (f.wayland_client_0_9_10.egl or false);
+  }) [ bitflags_0_9_1_features libc_0_2_32_features wayland_sys_0_9_10_features wayland_scanner_0_9_10_features ];
+  wayland_scanner_0_9_10 = { features?(wayland_scanner_0_9_10_features {}) }: wayland_scanner_0_9_10_ {
+    dependencies = mapFeatures features ([ xml_rs_0_6_1 ]);
+  };
+  wayland_scanner_0_9_10_features = f: updateFeatures f (rec {
+    wayland_scanner_0_9_10.default = (f.wayland_scanner_0_9_10.default or true);
+    xml_rs_0_6_1.default = true;
+  }) [ xml_rs_0_6_1_features ];
+  wayland_sys_0_9_10 = { features?(wayland_sys_0_9_10_features {}) }: wayland_sys_0_9_10_ {
+    dependencies = mapFeatures features ([ dlib_0_3_1 ]
+      ++ (if features.wayland_sys_0_9_10.lazy_static or false then [ lazy_static_0_2_9 ] else []));
+    features = mkFeatures (features.wayland_sys_0_9_10 or {});
+  };
+  wayland_sys_0_9_10_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = true;
+    dlib_0_3_1.dlopen =
+      (f.dlib_0_3_1.dlopen or false) ||
+      (wayland_sys_0_9_10.dlopen or false) ||
+      (f.wayland_sys_0_9_10.dlopen or false);
+    lazy_static_0_2_9.default = true;
+    wayland_sys_0_9_10.default = (f.wayland_sys_0_9_10.default or true);
+    wayland_sys_0_9_10.lazy_static =
+      (f.wayland_sys_0_9_10.lazy_static or false) ||
+      (f.wayland_sys_0_9_10.dlopen or false) ||
+      (wayland_sys_0_9_10.dlopen or false);
+    wayland_sys_0_9_10.libc =
+      (f.wayland_sys_0_9_10.libc or false) ||
+      (f.wayland_sys_0_9_10.server or false) ||
+      (wayland_sys_0_9_10.server or false);
+  }) [ dlib_0_3_1_features lazy_static_0_2_9_features ];
+  wc_bg_0_3_0 = { features?(wc_bg_0_3_0_features {}) }: wc_bg_0_3_0_ {
+    dependencies = mapFeatures features ([ byteorder_0_5_3 clap_2_26_2 image_0_10_4 tempfile_2_2_0 way_cooler_client_helpers_0_1_0 wayland_client_0_9_10 wayland_sys_0_9_10 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_10 ]);
+  };
+  wc_bg_0_3_0_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = true;
+    clap_2_26_2.default = true;
+    image_0_10_4.default = true;
+    tempfile_2_2_0.default = true;
+    way_cooler_client_helpers_0_1_0.default = true;
+    wayland_client_0_9_10.cursor = true;
+    wayland_client_0_9_10.default = true;
+    wayland_client_0_9_10.dlopen = true;
+    wayland_scanner_0_9_10.default = true;
+    wayland_sys_0_9_10.client = true;
+    wayland_sys_0_9_10.default = true;
+    wayland_sys_0_9_10.dlopen = true;
+    wc_bg_0_3_0.default = (f.wc_bg_0_3_0.default or true);
+  }) [ byteorder_0_5_3_features clap_2_26_2_features image_0_10_4_features tempfile_2_2_0_features way_cooler_client_helpers_0_1_0_features wayland_client_0_9_10_features wayland_sys_0_9_10_features wayland_scanner_0_9_10_features ];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  }) [];
+  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
+  winapi_build_0_1_1_features = f: updateFeatures f (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
+  xml_rs_0_6_1 = { features?(xml_rs_0_6_1_features {}) }: xml_rs_0_6_1_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 ]);
+  };
+  xml_rs_0_6_1_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    xml_rs_0_6_1.default = (f.xml_rs_0_6_1.default or true);
+  }) [ bitflags_0_9_1_features ];
 }
diff --git a/pkgs/applications/window-managers/way-cooler/wc-grab.nix b/pkgs/applications/window-managers/way-cooler/wc-grab.nix
index bc5d937206de..253281b6a9a2 100644
--- a/pkgs/applications/window-managers/way-cooler/wc-grab.nix
+++ b/pkgs/applications/window-managers/way-cooler/wc-grab.nix
@@ -1,562 +1,801 @@
-# Generated by carnix 0.5.0: carnix -o wc-grab.nix Cargo.lock
+# Generated by carnix 0.6.5: carnix -o wc-grab.nix Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+    mapFeatures = features: map (fun: fun { features = features; });
     mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    adler32_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "adler32";
-      version = "1.0.0";
-      authors = [ "Remi Rampin <remirampin@gmail.com>" ];
-      sha256 = "0pj35a7m4apn5xjg9n63gsdj6w8iw76zg4p9znrij43xnfqp084w";
-      inherit dependencies buildDependencies features;
-    };
-    ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ansi_term";
-      version = "0.9.0";
-      authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-      sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.2";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.8.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1h489m0wzhng5gvvc40jgdbaf0ac3rgkka31vwinhsjmfvrqcc4v";
-      inherit dependencies buildDependencies features;
-    };
-    byteorder_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "byteorder";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "14pdnds4517vcpablc51vv76hvc3glnpkpbb7qdil591q7lyb0m1";
-      inherit dependencies buildDependencies features;
-    };
-    clap_2_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "clap";
-      version = "2.22.0";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-      sha256 = "0gdgyfh3ydpd2px4xh0i5qd6bhi2c5f43bqv9z4kla9vkmmfiavd";
-      inherit dependencies buildDependencies features;
-    };
-    color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "color_quant";
-      version = "1.0.0";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus";
-      version = "0.5.2";
-      authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-      sha256 = "1ga3p2myqxbz34n2bbw4gk1ipf76mjr8r2rvrvnalwggymzfkhj7";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    deflate_0_7_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "deflate";
-      version = "0.7.5";
-      authors = [ "oyvindln <oyvindln@users.noreply.github.com>" ];
-      sha256 = "18bcmdkyshnzpkxx22b29gn55g6bk5ysy98ghjpjhxy3hky96rvy";
-      inherit dependencies buildDependencies features;
-    };
-    deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "deque";
-      version = "0.3.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Samuel Fredrickson <kinghajj@gmail.com>" "Linus Färnstrand <faern@faern.net>" "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "04x8i5aagxmslk350i8qszyw7kmvrqc3d99g4qi1xnfmr61y7m68";
-      inherit dependencies buildDependencies features;
-    };
-    enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "enum_primitive";
-      version = "0.1.1";
-      authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
-      sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.7.2";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "0b1r4ggdgy1djfvz2s4l5kirmfsmxd286y6wx0p9ahv2phb7inyi";
-      inherit dependencies buildDependencies features;
-    };
-    gif_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gif";
-      version = "0.9.1";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "16s7b0rqc6gg1fcbppakm3jy2q462w3qvykcmcmifmg7q7lwsg6r";
-      inherit dependencies buildDependencies features;
-    };
-    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glob";
-      version = "0.2.11";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-      inherit dependencies buildDependencies features;
-    };
-    image_0_12_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "image";
-      version = "0.12.3";
-      authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
-      sha256 = "12xdzi29vr19gz3h93c1ihyvyv9xar9sp0inrjwwvlbjvn8nn0p9";
-      libPath = "./src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "inflate";
-      version = "0.1.1";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
-      inherit dependencies buildDependencies features;
-    };
-    jpeg_decoder_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "jpeg-decoder";
-      version = "0.1.11";
-      authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
-      sha256 = "1xm39c1cff5gkczs164371hk2gpkjpkbw63k4f8mjnpwwpn9xk4n";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.21";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0glj3lxwc8358cfw9pb5dd4zr9iynzj6w2ly59nshrggsw021j75";
-      inherit dependencies buildDependencies features;
-    };
-    lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lzw";
-      version = "0.10.0";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
-      inherit dependencies buildDependencies features;
-    };
-    metadeps_1_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "metadeps";
-      version = "1.1.1";
-      authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
-      sha256 = "1px8v94jn4ps63gqmvgsfcqxrwjhpa9z4xr0y1lh95wn2063fsar";
-      inherit dependencies buildDependencies features;
-    };
-    num_integer_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-integer";
-      version = "0.1.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1rhy9lf4lhl7r8278n73mi9y55v9a71639as3v92bj2gk1x4k729";
-      inherit dependencies buildDependencies features;
-    };
-    num_iter_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-iter";
-      version = "0.1.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1xjzf2p2vaqwknkr4s8ka5hn6cpr5rsshnydbpkn2pvapfzdrqd3";
-      inherit dependencies buildDependencies features;
-    };
-    num_rational_0_1_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-rational";
-      version = "0.1.36";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0jibhs8xiap2wlv1xjwdvhyj4yrxwfisqbnfm53vjm5ldlijp87p";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.37";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-      inherit dependencies buildDependencies features;
-    };
-    num_cpus_1_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num_cpus";
-      version = "1.3.0";
-      authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-      sha256 = "0i0zm6qh932k9b67qf7f1vsczkdim5kg9qv73m7y5hhw1i781rrb";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    png_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "png";
-      version = "0.6.2";
-      authors = [ "nwin <nwin@users.noreply.github.com>" ];
-      sha256 = "03i78w5jbvk9y6babfrh7h0akvg81pcyyhniilv24z5v0vh5jvjs";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.15";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-      inherit dependencies buildDependencies features;
-    };
-    rayon_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rayon";
-      version = "0.6.0";
-      authors = [ "Niko Matsakis <niko@alum.mit.edu>" ];
-      sha256 = "0y2693bari5j4h46mjzkyc9lkfbnq2d1p0ldyn6sb02jn63lpw97";
-      inherit dependencies buildDependencies features;
-    };
-    scoped_threadpool_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "scoped_threadpool";
-      version = "0.1.7";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0dg58f18i6v071640062n0vymr4h42cnj0xy8a7b80sc0mddykyk";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    term_size_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "term_size";
-      version = "0.2.3";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-      sha256 = "16b7gq2dmz7mws4vgai7whxy4xkg4yvlhm7spz0q6jyipqfq87ci";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.2.1";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_segmentation_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-segmentation";
-      version = "1.1.0";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "10hk7wy0217jwdbp27p36skwkig5lbhk482yfzij9m87h247rry0";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-width";
-      version = "0.1.4";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-      inherit dependencies buildDependencies features;
-    };
-    vec_map_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vec_map";
-      version = "0.7.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-      sha256 = "0jawvi83b1nm101nam0w71kdyh7cy3fr0l9qj1hfcjvzvihfk2l1";
-      inherit dependencies buildDependencies features;
-    };
-    wc_grab_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wc-grab";
-      version = "0.2.0";
-      authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-      src = ./.;
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  adler32_1_0_0 = adler32_1_0_0_ rec {};
-  ansi_term_0_9_0 = ansi_term_0_9_0_ rec {};
-  atty_0_2_2 = atty_0_2_2_ rec {
-    dependencies = (if !(kernel == "windows") then [ libc_0_2_21 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  libc_0_2_21_features."default".from_atty_0_2_2__default = true;
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_2__default = true;
-  winapi_0_2_8_features."default".from_atty_0_2_2__default = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_8_0 = bitflags_0_8_0_ rec {
-    features = mkFeatures bitflags_0_8_0_features;
-  };
-  bitflags_0_8_0_features."i128".self_unstable = hasFeature (bitflags_0_8_0_features."unstable" or {});
-  byteorder_1_0_0 = byteorder_1_0_0_ rec {
-    features = mkFeatures byteorder_1_0_0_features;
-  };
-  byteorder_1_0_0_features."std".self_default = hasDefault byteorder_1_0_0_features;
-  clap_2_22_0 = clap_2_22_0_ rec {
-    dependencies = [ ansi_term_0_9_0 atty_0_2_2 bitflags_0_8_0 strsim_0_6_0 term_size_0_2_3 unicode_segmentation_1_1_0 unicode_width_0_1_4 vec_map_0_7_0 ]
-      ++ (if lib.lists.any (x: x == "ansi_term") features then [ansi_term_0_9_0] else [])      ++ (if lib.lists.any (x: x == "atty") features then [atty_0_2_2] else [])      ++ (if lib.lists.any (x: x == "strsim") features then [strsim_0_6_0] else [])      ++ (if lib.lists.any (x: x == "term_size") features then [term_size_0_2_3] else []);
-    features = mkFeatures clap_2_22_0_features;
-  };
-  clap_2_22_0_features."".self = true;
-  clap_2_22_0_features."ansi_term".self_color = hasFeature (clap_2_22_0_features."color" or {});
-  clap_2_22_0_features."atty".self_color = hasFeature (clap_2_22_0_features."color" or {});
-  clap_2_22_0_features."suggestions".self_default = hasDefault clap_2_22_0_features;
-  clap_2_22_0_features."color".self_default = hasDefault clap_2_22_0_features;
-  clap_2_22_0_features."wrap_help".self_default = hasDefault clap_2_22_0_features;
-  clap_2_22_0_features."clippy".self_lints = hasFeature (clap_2_22_0_features."lints" or {});
-  clap_2_22_0_features."strsim".self_suggestions = hasFeature (clap_2_22_0_features."suggestions" or {});
-  clap_2_22_0_features."term_size".self_wrap_help = hasFeature (clap_2_22_0_features."wrap_help" or {});
-  clap_2_22_0_features."yaml-rust".self_yaml = hasFeature (clap_2_22_0_features."yaml" or {});
-  ansi_term_0_9_0_features."default".from_clap_2_22_0__default = true;
-  atty_0_2_2_features."default".from_clap_2_22_0__default = true;
-  bitflags_0_8_0_features."default".from_clap_2_22_0__default = true;
-  clippy_0_0_0_features."default".from_clap_2_22_0__default = true;
-  strsim_0_6_0_features."default".from_clap_2_22_0__default = true;
-  term_size_0_2_3_features."default".from_clap_2_22_0__default = true;
-  unicode_segmentation_1_1_0_features."default".from_clap_2_22_0__default = true;
-  unicode_width_0_1_4_features."default".from_clap_2_22_0__default = true;
-  vec_map_0_7_0_features."default".from_clap_2_22_0__default = true;
-  yaml_rust_0_0_0_features."default".from_clap_2_22_0__default = true;
-  color_quant_1_0_0 = color_quant_1_0_0_ rec {};
-  dbus_0_5_2 = dbus_0_5_2_ rec {
-    dependencies = [ libc_0_2_21 ];
-    buildDependencies = [ metadeps_1_1_1 ];
-    features = mkFeatures dbus_0_5_2_features;
-  };
-  dbus_0_5_2_features."".self = true;
-  libc_0_2_21_features."default".from_dbus_0_5_2__default = true;
-  deflate_0_7_5 = deflate_0_7_5_ rec {
-    dependencies = [ adler32_1_0_0 byteorder_1_0_0 ];
-  };
-  adler32_1_0_0_features."default".from_deflate_0_7_5__default = true;
-  byteorder_1_0_0_features."default".from_deflate_0_7_5__default = true;
-  deque_0_3_1 = deque_0_3_1_ rec {
-    dependencies = [ rand_0_3_15 ];
-  };
-  rand_0_3_15_features."default".from_deque_0_3_1__default = true;
-  enum_primitive_0_1_1 = enum_primitive_0_1_1_ rec {
-    dependencies = [ num_traits_0_1_37 ];
-  };
-  num_traits_0_1_37_features."default".from_enum_primitive_0_1_1__default = false;
-  error_chain_0_7_2 = error_chain_0_7_2_ rec {
-    dependencies = [];
-    features = mkFeatures error_chain_0_7_2_features;
-  };
-  error_chain_0_7_2_features."backtrace".self_default = hasDefault error_chain_0_7_2_features;
-  error_chain_0_7_2_features."example_generated".self_default = hasDefault error_chain_0_7_2_features;
-  backtrace_0_0_0_features."default".from_error_chain_0_7_2__default = true;
-  gif_0_9_1 = gif_0_9_1_ rec {
-    dependencies = [ color_quant_1_0_0 lzw_0_10_0 ];
-    features = mkFeatures gif_0_9_1_features;
-  };
-  gif_0_9_1_features."libc".self_c_api = hasFeature (gif_0_9_1_features."c_api" or {});
-  gif_0_9_1_features."raii_no_panic".self_default = hasDefault gif_0_9_1_features;
-  color_quant_1_0_0_features."default".from_gif_0_9_1__default = true;
-  libc_0_0_0_features."default".from_gif_0_9_1__default = true;
-  lzw_0_10_0_features."default".from_gif_0_9_1__default = true;
-  glob_0_2_11 = glob_0_2_11_ rec {};
-  image_0_12_3 = image_0_12_3_ rec {
-    dependencies = [ byteorder_1_0_0 enum_primitive_0_1_1 gif_0_9_1 glob_0_2_11 jpeg_decoder_0_1_11 num_iter_0_1_33 num_rational_0_1_36 num_traits_0_1_37 png_0_6_2 scoped_threadpool_0_1_7 ]
-      ++ (if lib.lists.any (x: x == "gif") features then [gif_0_9_1] else [])      ++ (if lib.lists.any (x: x == "jpeg-decoder") features then [jpeg_decoder_0_1_11] else [])      ++ (if lib.lists.any (x: x == "png") features then [png_0_6_2] else [])      ++ (if lib.lists.any (x: x == "scoped_threadpool") features then [scoped_threadpool_0_1_7] else []);
-    features = mkFeatures image_0_12_3_features;
-  };
-  image_0_12_3_features."".self = true;
-  image_0_12_3_features."gif_codec".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."jpeg".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."ico".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."png_codec".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."ppm".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."tga".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."tiff".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."webp".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."bmp".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."hdr".self_default = hasDefault image_0_12_3_features;
-  image_0_12_3_features."gif".self_gif_codec = hasFeature (image_0_12_3_features."gif_codec" or {});
-  image_0_12_3_features."scoped_threadpool".self_hdr = hasFeature (image_0_12_3_features."hdr" or {});
-  image_0_12_3_features."bmp".self_ico = hasFeature (image_0_12_3_features."ico" or {});
-  image_0_12_3_features."png_codec".self_ico = hasFeature (image_0_12_3_features."ico" or {});
-  image_0_12_3_features."jpeg-decoder".self_jpeg = hasFeature (image_0_12_3_features."jpeg" or {});
-  image_0_12_3_features."png".self_png_codec = hasFeature (image_0_12_3_features."png_codec" or {});
-  byteorder_1_0_0_features."default".from_image_0_12_3__default = true;
-  enum_primitive_0_1_1_features."default".from_image_0_12_3__default = true;
-  gif_0_9_1_features."default".from_image_0_12_3__default = true;
-  glob_0_2_11_features."default".from_image_0_12_3__default = true;
-  jpeg_decoder_0_1_11_features."default".from_image_0_12_3__default = true;
-  num_iter_0_1_33_features."default".from_image_0_12_3__default = true;
-  num_rational_0_1_36_features."default".from_image_0_12_3__default = false;
-  num_traits_0_1_37_features."default".from_image_0_12_3__default = true;
-  png_0_6_2_features."default".from_image_0_12_3__default = true;
-  scoped_threadpool_0_1_7_features."default".from_image_0_12_3__default = true;
-  inflate_0_1_1 = inflate_0_1_1_ rec {
-    features = mkFeatures inflate_0_1_1_features;
-  };
-  inflate_0_1_1_features."".self = true;
-  jpeg_decoder_0_1_11 = jpeg_decoder_0_1_11_ rec {
-    dependencies = [ byteorder_1_0_0 rayon_0_6_0 ]
-      ++ (if lib.lists.any (x: x == "rayon") features then [rayon_0_6_0] else []);
-    features = mkFeatures jpeg_decoder_0_1_11_features;
-  };
-  jpeg_decoder_0_1_11_features."".self = true;
-  jpeg_decoder_0_1_11_features."rayon".self_default = hasDefault jpeg_decoder_0_1_11_features;
-  byteorder_1_0_0_features."default".from_jpeg_decoder_0_1_11__default = true;
-  rayon_0_6_0_features."default".from_jpeg_decoder_0_1_11__default = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  libc_0_2_21 = libc_0_2_21_ rec {
-    features = mkFeatures libc_0_2_21_features;
-  };
-  libc_0_2_21_features."use_std".self_default = hasDefault libc_0_2_21_features;
-  lzw_0_10_0 = lzw_0_10_0_ rec {
-    features = mkFeatures lzw_0_10_0_features;
-  };
-  lzw_0_10_0_features."raii_no_panic".self_default = hasDefault lzw_0_10_0_features;
-  metadeps_1_1_1 = metadeps_1_1_1_ rec {
-    dependencies = [ error_chain_0_7_2 pkg_config_0_3_9 toml_0_2_1 ];
-  };
-  error_chain_0_7_2_features."default".from_metadeps_1_1_1__default = false;
-  pkg_config_0_3_9_features."default".from_metadeps_1_1_1__default = true;
-  toml_0_2_1_features."default".from_metadeps_1_1_1__default = false;
-  num_integer_0_1_33 = num_integer_0_1_33_ rec {
-    dependencies = [ num_traits_0_1_37 ];
-  };
-  num_traits_0_1_37_features."default".from_num_integer_0_1_33__default = true;
-  num_iter_0_1_33 = num_iter_0_1_33_ rec {
-    dependencies = [ num_integer_0_1_33 num_traits_0_1_37 ];
-  };
-  num_integer_0_1_33_features."default".from_num_iter_0_1_33__default = true;
-  num_traits_0_1_37_features."default".from_num_iter_0_1_33__default = true;
-  num_rational_0_1_36 = num_rational_0_1_36_ rec {
-    dependencies = [ num_integer_0_1_33 num_traits_0_1_37 ];
-    features = mkFeatures num_rational_0_1_36_features;
-  };
-  num_rational_0_1_36_features."num-bigint".self_bigint = hasFeature (num_rational_0_1_36_features."bigint" or {});
-  num_rational_0_1_36_features."bigint".self_default = hasDefault num_rational_0_1_36_features;
-  num_rational_0_1_36_features."rustc-serialize".self_default = hasDefault num_rational_0_1_36_features;
-  num_bigint_0_0_0_features."default".from_num_rational_0_1_36__default = true;
-  num_integer_0_1_33_features."default".from_num_rational_0_1_36__default = true;
-  num_traits_0_1_37_features."default".from_num_rational_0_1_36__default = true;
-  rustc_serialize_0_0_0_features."default".from_num_rational_0_1_36__default = true;
-  serde_0_0_0_features."default".from_num_rational_0_1_36__default = true;
-  num_traits_0_1_37 = num_traits_0_1_37_ rec {};
-  num_cpus_1_3_0 = num_cpus_1_3_0_ rec {
-    dependencies = [ libc_0_2_21 ];
-  };
-  libc_0_2_21_features."default".from_num_cpus_1_3_0__default = true;
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  png_0_6_2 = png_0_6_2_ rec {
-    dependencies = [ bitflags_0_7_0 deflate_0_7_5 inflate_0_1_1 num_iter_0_1_33 ]
-      ++ (if lib.lists.any (x: x == "deflate") features then [deflate_0_7_5] else []);
-    features = mkFeatures png_0_6_2_features;
-  };
-  png_0_6_2_features."".self = true;
-  png_0_6_2_features."png-encoding".self_default = hasDefault png_0_6_2_features;
-  png_0_6_2_features."deflate".self_png-encoding = hasFeature (png_0_6_2_features."png-encoding" or {});
-  bitflags_0_7_0_features."default".from_png_0_6_2__default = true;
-  deflate_0_7_5_features."default".from_png_0_6_2__default = true;
-  inflate_0_1_1_features."default".from_png_0_6_2__default = true;
-  num_iter_0_1_33_features."default".from_png_0_6_2__default = true;
-  rand_0_3_15 = rand_0_3_15_ rec {
-    dependencies = [ libc_0_2_21 ];
-  };
-  libc_0_2_21_features."default".from_rand_0_3_15__default = true;
-  rayon_0_6_0 = rayon_0_6_0_ rec {
-    dependencies = [ deque_0_3_1 libc_0_2_21 num_cpus_1_3_0 rand_0_3_15 ];
-    features = mkFeatures rayon_0_6_0_features;
-  };
-  rayon_0_6_0_features."".self = true;
-  deque_0_3_1_features."default".from_rayon_0_6_0__default = true;
-  libc_0_2_21_features."default".from_rayon_0_6_0__default = true;
-  num_cpus_1_3_0_features."default".from_rayon_0_6_0__default = true;
-  rand_0_3_15_features."default".from_rayon_0_6_0__default = true;
-  scoped_threadpool_0_1_7 = scoped_threadpool_0_1_7_ rec {
-    features = mkFeatures scoped_threadpool_0_1_7_features;
-  };
-  scoped_threadpool_0_1_7_features."".self = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  term_size_0_2_3 = term_size_0_2_3_ rec {
-    dependencies = []
-      ++ (if !(kernel == "windows") then [ libc_0_2_21 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    features = mkFeatures term_size_0_2_3_features;
-  };
-  term_size_0_2_3_features."clippy".self_lints = hasFeature (term_size_0_2_3_features."lints" or {});
-  term_size_0_2_3_features."nightly".self_lints = hasFeature (term_size_0_2_3_features."lints" or {});
-  term_size_0_2_3_features."lints".self_travis = hasFeature (term_size_0_2_3_features."travis" or {});
-  term_size_0_2_3_features."nightly".self_travis = hasFeature (term_size_0_2_3_features."travis" or {});
-  clippy_0_0_0_features."default".from_term_size_0_2_3__default = true;
-  libc_0_2_21_features."default".from_term_size_0_2_3__default = true;
-  kernel32_sys_0_2_2_features."default".from_term_size_0_2_3__default = true;
-  winapi_0_2_8_features."default".from_term_size_0_2_3__default = true;
-  toml_0_2_1 = toml_0_2_1_ rec {
-    dependencies = [];
-  };
-  toml_0_2_1_features."rustc-serialize".self_default = hasDefault toml_0_2_1_features;
-  rustc_serialize_0_0_0_features."default".from_toml_0_2_1__default = true;
-  serde_0_0_0_features."default".from_toml_0_2_1__default = true;
-  unicode_segmentation_1_1_0 = unicode_segmentation_1_1_0_ rec {
-    features = mkFeatures unicode_segmentation_1_1_0_features;
-  };
-  unicode_segmentation_1_1_0_features."".self = true;
-  unicode_width_0_1_4 = unicode_width_0_1_4_ rec {
-    features = mkFeatures unicode_width_0_1_4_features;
-  };
-  unicode_width_0_1_4_features."".self = true;
-  vec_map_0_7_0 = vec_map_0_7_0_ rec {
-    dependencies = [];
-    features = mkFeatures vec_map_0_7_0_features;
-  };
-  vec_map_0_7_0_features."serde".self_eders = hasFeature (vec_map_0_7_0_features."eders" or {});
-  vec_map_0_7_0_features."serde_derive".self_eders = hasFeature (vec_map_0_7_0_features."eders" or {});
-  serde_0_0_0_features."default".from_vec_map_0_7_0__default = true;
-  serde_derive_0_0_0_features."default".from_vec_map_0_7_0__default = true;
-  wc_grab_0_2_0 = wc_grab_0_2_0_ rec {
-    dependencies = [ clap_2_22_0 dbus_0_5_2 image_0_12_3 ];
-  };
-  clap_2_22_0_features."default".from_wc_grab_0_2_0__default = true;
-  dbus_0_5_2_features."default".from_wc_grab_0_2_0__default = true;
-  image_0_12_3_features."default".from_wc_grab_0_2_0__default = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
+  wc_grab = f: wc_grab_0_3_0 { features = wc_grab_0_3_0_features { wc_grab_0_3_0 = f; }; };
+  adler32_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "adler32";
+    version = "1.0.0";
+    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
+    sha256 = "0pj35a7m4apn5xjg9n63gsdj6w8iw76zg4p9znrij43xnfqp084w";
+    inherit dependencies buildDependencies features;
+  };
+  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.9.0";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
+    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
+    inherit dependencies buildDependencies features;
+  };
+  atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.2";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.8.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1h489m0wzhng5gvvc40jgdbaf0ac3rgkka31vwinhsjmfvrqcc4v";
+    inherit dependencies buildDependencies features;
+  };
+  byteorder_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.0.0";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "14pdnds4517vcpablc51vv76hvc3glnpkpbb7qdil591q7lyb0m1";
+    inherit dependencies buildDependencies features;
+  };
+  clap_2_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "clap";
+    version = "2.22.0";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0gdgyfh3ydpd2px4xh0i5qd6bhi2c5f43bqv9z4kla9vkmmfiavd";
+    inherit dependencies buildDependencies features;
+  };
+  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "color_quant";
+    version = "1.0.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus";
+    version = "0.5.2";
+    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
+    sha256 = "1ga3p2myqxbz34n2bbw4gk1ipf76mjr8r2rvrvnalwggymzfkhj7";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  deflate_0_7_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "deflate";
+    version = "0.7.5";
+    authors = [ "oyvindln <oyvindln@users.noreply.github.com>" ];
+    sha256 = "18bcmdkyshnzpkxx22b29gn55g6bk5ysy98ghjpjhxy3hky96rvy";
+    inherit dependencies buildDependencies features;
+  };
+  deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "deque";
+    version = "0.3.1";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Samuel Fredrickson <kinghajj@gmail.com>" "Linus Färnstrand <faern@faern.net>" "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "04x8i5aagxmslk350i8qszyw7kmvrqc3d99g4qi1xnfmr61y7m68";
+    inherit dependencies buildDependencies features;
+  };
+  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "enum_primitive";
+    version = "0.1.1";
+    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
+    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
+    inherit dependencies buildDependencies features;
+  };
+  error_chain_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "error-chain";
+    version = "0.7.2";
+    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
+    sha256 = "0b1r4ggdgy1djfvz2s4l5kirmfsmxd286y6wx0p9ahv2phb7inyi";
+    inherit dependencies buildDependencies features;
+  };
+  gif_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gif";
+    version = "0.9.1";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "16s7b0rqc6gg1fcbppakm3jy2q462w3qvykcmcmifmg7q7lwsg6r";
+    inherit dependencies buildDependencies features;
+  };
+  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glob";
+    version = "0.2.11";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+    inherit dependencies buildDependencies features;
+  };
+  image_0_12_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "image";
+    version = "0.12.3";
+    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
+    sha256 = "12xdzi29vr19gz3h93c1ihyvyv9xar9sp0inrjwwvlbjvn8nn0p9";
+    libPath = "./src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "inflate";
+    version = "0.1.1";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
+    inherit dependencies buildDependencies features;
+  };
+  jpeg_decoder_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "jpeg-decoder";
+    version = "0.1.11";
+    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
+    sha256 = "1xm39c1cff5gkczs164371hk2gpkjpkbw63k4f8mjnpwwpn9xk4n";
+    inherit dependencies buildDependencies features;
+  };
+  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.21";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0glj3lxwc8358cfw9pb5dd4zr9iynzj6w2ly59nshrggsw021j75";
+    inherit dependencies buildDependencies features;
+  };
+  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lzw";
+    version = "0.10.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
+    inherit dependencies buildDependencies features;
+  };
+  metadeps_1_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "metadeps";
+    version = "1.1.1";
+    authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
+    sha256 = "1px8v94jn4ps63gqmvgsfcqxrwjhpa9z4xr0y1lh95wn2063fsar";
+    inherit dependencies buildDependencies features;
+  };
+  num_integer_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.33";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1rhy9lf4lhl7r8278n73mi9y55v9a71639as3v92bj2gk1x4k729";
+    inherit dependencies buildDependencies features;
+  };
+  num_iter_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.33";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1xjzf2p2vaqwknkr4s8ka5hn6cpr5rsshnydbpkn2pvapfzdrqd3";
+    inherit dependencies buildDependencies features;
+  };
+  num_rational_0_1_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-rational";
+    version = "0.1.36";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0jibhs8xiap2wlv1xjwdvhyj4yrxwfisqbnfm53vjm5ldlijp87p";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.37";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
+    inherit dependencies buildDependencies features;
+  };
+  num_cpus_1_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.3.0";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "0i0zm6qh932k9b67qf7f1vsczkdim5kg9qv73m7y5hhw1i781rrb";
+    inherit dependencies buildDependencies features;
+  };
+  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+    inherit dependencies buildDependencies features;
+  };
+  png_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "png";
+    version = "0.6.2";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "03i78w5jbvk9y6babfrh7h0akvg81pcyyhniilv24z5v0vh5jvjs";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.15";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
+    inherit dependencies buildDependencies features;
+  };
+  rayon_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rayon";
+    version = "0.6.0";
+    authors = [ "Niko Matsakis <niko@alum.mit.edu>" ];
+    sha256 = "0y2693bari5j4h46mjzkyc9lkfbnq2d1p0ldyn6sb02jn63lpw97";
+    inherit dependencies buildDependencies features;
+  };
+  scoped_threadpool_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "scoped_threadpool";
+    version = "0.1.7";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0dg58f18i6v071640062n0vymr4h42cnj0xy8a7b80sc0mddykyk";
+    inherit dependencies buildDependencies features;
+  };
+  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    inherit dependencies buildDependencies features;
+  };
+  term_size_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "term_size";
+    version = "0.2.3";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
+    sha256 = "16b7gq2dmz7mws4vgai7whxy4xkg4yvlhm7spz0q6jyipqfq87ci";
+    inherit dependencies buildDependencies features;
+  };
+  toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "toml";
+    version = "0.2.1";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_segmentation_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-segmentation";
+    version = "1.1.0";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "10hk7wy0217jwdbp27p36skwkig5lbhk482yfzij9m87h247rry0";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    inherit dependencies buildDependencies features;
+  };
+  vec_map_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.7.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "0jawvi83b1nm101nam0w71kdyh7cy3fr0l9qj1hfcjvzvihfk2l1";
+    inherit dependencies buildDependencies features;
+  };
+  wc_grab_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wc-grab";
+    version = "0.3.0";
+    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
+    sha256 = "02dkjxffzh38h3hiwfypkjv0g8dsfkp9wk20j04x4qydg4dr8a8h";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+    inherit dependencies buildDependencies features;
+  };
+  adler32_1_0_0 = { features?(adler32_1_0_0_features {}) }: adler32_1_0_0_ {};
+  adler32_1_0_0_features = f: updateFeatures f (rec {
+    adler32_1_0_0.default = (f.adler32_1_0_0.default or true);
+  }) [];
+  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
+  ansi_term_0_9_0_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
+  }) [];
+  atty_0_2_2 = { features?(atty_0_2_2_features {}) }: atty_0_2_2_ {
+    dependencies = (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_21 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  atty_0_2_2_features = f: updateFeatures f (rec {
+    atty_0_2_2.default = (f.atty_0_2_2.default or true);
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_21.default = true;
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_21_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
+  }) [];
+  bitflags_0_8_0 = { features?(bitflags_0_8_0_features {}) }: bitflags_0_8_0_ {
+    features = mkFeatures (features.bitflags_0_8_0 or {});
+  };
+  bitflags_0_8_0_features = f: updateFeatures f (rec {
+    bitflags_0_8_0.default = (f.bitflags_0_8_0.default or true);
+    bitflags_0_8_0.i128 =
+      (f.bitflags_0_8_0.i128 or false) ||
+      (f.bitflags_0_8_0.unstable or false) ||
+      (bitflags_0_8_0.unstable or false);
+  }) [];
+  byteorder_1_0_0 = { features?(byteorder_1_0_0_features {}) }: byteorder_1_0_0_ {
+    features = mkFeatures (features.byteorder_1_0_0 or {});
+  };
+  byteorder_1_0_0_features = f: updateFeatures f (rec {
+    byteorder_1_0_0.default = (f.byteorder_1_0_0.default or true);
+    byteorder_1_0_0.std =
+      (f.byteorder_1_0_0.std or false) ||
+      (f.byteorder_1_0_0.default or false) ||
+      (byteorder_1_0_0.default or false);
+  }) [];
+  clap_2_22_0 = { features?(clap_2_22_0_features {}) }: clap_2_22_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_8_0 unicode_segmentation_1_1_0 unicode_width_0_1_4 vec_map_0_7_0 ]
+      ++ (if features.clap_2_22_0.ansi_term or false then [ ansi_term_0_9_0 ] else [])
+      ++ (if features.clap_2_22_0.atty or false then [ atty_0_2_2 ] else [])
+      ++ (if features.clap_2_22_0.strsim or false then [ strsim_0_6_0 ] else [])
+      ++ (if features.clap_2_22_0.term_size or false then [ term_size_0_2_3 ] else []));
+    features = mkFeatures (features.clap_2_22_0 or {});
+  };
+  clap_2_22_0_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = true;
+    atty_0_2_2.default = true;
+    bitflags_0_8_0.default = true;
+    clap_2_22_0.ansi_term =
+      (f.clap_2_22_0.ansi_term or false) ||
+      (f.clap_2_22_0.color or false) ||
+      (clap_2_22_0.color or false);
+    clap_2_22_0.atty =
+      (f.clap_2_22_0.atty or false) ||
+      (f.clap_2_22_0.color or false) ||
+      (clap_2_22_0.color or false);
+    clap_2_22_0.clippy =
+      (f.clap_2_22_0.clippy or false) ||
+      (f.clap_2_22_0.lints or false) ||
+      (clap_2_22_0.lints or false);
+    clap_2_22_0.color =
+      (f.clap_2_22_0.color or false) ||
+      (f.clap_2_22_0.default or false) ||
+      (clap_2_22_0.default or false);
+    clap_2_22_0.default = (f.clap_2_22_0.default or true);
+    clap_2_22_0.strsim =
+      (f.clap_2_22_0.strsim or false) ||
+      (f.clap_2_22_0.suggestions or false) ||
+      (clap_2_22_0.suggestions or false);
+    clap_2_22_0.suggestions =
+      (f.clap_2_22_0.suggestions or false) ||
+      (f.clap_2_22_0.default or false) ||
+      (clap_2_22_0.default or false);
+    clap_2_22_0.term_size =
+      (f.clap_2_22_0.term_size or false) ||
+      (f.clap_2_22_0.wrap_help or false) ||
+      (clap_2_22_0.wrap_help or false);
+    clap_2_22_0.wrap_help =
+      (f.clap_2_22_0.wrap_help or false) ||
+      (f.clap_2_22_0.default or false) ||
+      (clap_2_22_0.default or false);
+    clap_2_22_0.yaml-rust =
+      (f.clap_2_22_0.yaml-rust or false) ||
+      (f.clap_2_22_0.yaml or false) ||
+      (clap_2_22_0.yaml or false);
+    strsim_0_6_0.default = true;
+    term_size_0_2_3.default = true;
+    unicode_segmentation_1_1_0.default = true;
+    unicode_width_0_1_4.default = true;
+    vec_map_0_7_0.default = true;
+  }) [ ansi_term_0_9_0_features atty_0_2_2_features bitflags_0_8_0_features strsim_0_6_0_features term_size_0_2_3_features unicode_segmentation_1_1_0_features unicode_width_0_1_4_features vec_map_0_7_0_features ];
+  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
+  color_quant_1_0_0_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
+  }) [];
+  dbus_0_5_2 = { features?(dbus_0_5_2_features {}) }: dbus_0_5_2_ {
+    dependencies = mapFeatures features ([ libc_0_2_21 ]);
+    buildDependencies = mapFeatures features ([ metadeps_1_1_1 ]);
+    features = mkFeatures (features.dbus_0_5_2 or {});
+  };
+  dbus_0_5_2_features = f: updateFeatures f (rec {
+    dbus_0_5_2.default = (f.dbus_0_5_2.default or true);
+    libc_0_2_21.default = true;
+    metadeps_1_1_1.default = true;
+  }) [ libc_0_2_21_features metadeps_1_1_1_features ];
+  deflate_0_7_5 = { features?(deflate_0_7_5_features {}) }: deflate_0_7_5_ {
+    dependencies = mapFeatures features ([ adler32_1_0_0 byteorder_1_0_0 ]);
+  };
+  deflate_0_7_5_features = f: updateFeatures f (rec {
+    adler32_1_0_0.default = true;
+    byteorder_1_0_0.default = true;
+    deflate_0_7_5.default = (f.deflate_0_7_5.default or true);
+  }) [ adler32_1_0_0_features byteorder_1_0_0_features ];
+  deque_0_3_1 = { features?(deque_0_3_1_features {}) }: deque_0_3_1_ {
+    dependencies = mapFeatures features ([ rand_0_3_15 ]);
+  };
+  deque_0_3_1_features = f: updateFeatures f (rec {
+    deque_0_3_1.default = (f.deque_0_3_1.default or true);
+    rand_0_3_15.default = true;
+  }) [ rand_0_3_15_features ];
+  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
+  };
+  enum_primitive_0_1_1_features = f: updateFeatures f (rec {
+    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
+    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or false);
+  }) [ num_traits_0_1_37_features ];
+  error_chain_0_7_2 = { features?(error_chain_0_7_2_features {}) }: error_chain_0_7_2_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.error_chain_0_7_2 or {});
+  };
+  error_chain_0_7_2_features = f: updateFeatures f (rec {
+    error_chain_0_7_2.backtrace =
+      (f.error_chain_0_7_2.backtrace or false) ||
+      (f.error_chain_0_7_2.default or false) ||
+      (error_chain_0_7_2.default or false);
+    error_chain_0_7_2.default = (f.error_chain_0_7_2.default or true);
+    error_chain_0_7_2.example_generated =
+      (f.error_chain_0_7_2.example_generated or false) ||
+      (f.error_chain_0_7_2.default or false) ||
+      (error_chain_0_7_2.default or false);
+  }) [];
+  gif_0_9_1 = { features?(gif_0_9_1_features {}) }: gif_0_9_1_ {
+    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
+    features = mkFeatures (features.gif_0_9_1 or {});
+  };
+  gif_0_9_1_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = true;
+    gif_0_9_1.default = (f.gif_0_9_1.default or true);
+    gif_0_9_1.libc =
+      (f.gif_0_9_1.libc or false) ||
+      (f.gif_0_9_1.c_api or false) ||
+      (gif_0_9_1.c_api or false);
+    gif_0_9_1.raii_no_panic =
+      (f.gif_0_9_1.raii_no_panic or false) ||
+      (f.gif_0_9_1.default or false) ||
+      (gif_0_9_1.default or false);
+    lzw_0_10_0.default = true;
+  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
+  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
+  glob_0_2_11_features = f: updateFeatures f (rec {
+    glob_0_2_11.default = (f.glob_0_2_11.default or true);
+  }) [];
+  image_0_12_3 = { features?(image_0_12_3_features {}) }: image_0_12_3_ {
+    dependencies = mapFeatures features ([ byteorder_1_0_0 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_33 num_rational_0_1_36 num_traits_0_1_37 ]
+      ++ (if features.image_0_12_3.gif or false then [ gif_0_9_1 ] else [])
+      ++ (if features.image_0_12_3.jpeg-decoder or false then [ jpeg_decoder_0_1_11 ] else [])
+      ++ (if features.image_0_12_3.png or false then [ png_0_6_2 ] else [])
+      ++ (if features.image_0_12_3.scoped_threadpool or false then [ scoped_threadpool_0_1_7 ] else []));
+    features = mkFeatures (features.image_0_12_3 or {});
+  };
+  image_0_12_3_features = f: updateFeatures f (rec {
+    byteorder_1_0_0.default = true;
+    enum_primitive_0_1_1.default = true;
+    gif_0_9_1.default = true;
+    glob_0_2_11.default = true;
+    image_0_12_3.bmp =
+      (f.image_0_12_3.bmp or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false) ||
+      (f.image_0_12_3.ico or false) ||
+      (image_0_12_3.ico or false);
+    image_0_12_3.default = (f.image_0_12_3.default or true);
+    image_0_12_3.gif =
+      (f.image_0_12_3.gif or false) ||
+      (f.image_0_12_3.gif_codec or false) ||
+      (image_0_12_3.gif_codec or false);
+    image_0_12_3.gif_codec =
+      (f.image_0_12_3.gif_codec or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.hdr =
+      (f.image_0_12_3.hdr or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.ico =
+      (f.image_0_12_3.ico or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.jpeg =
+      (f.image_0_12_3.jpeg or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.jpeg-decoder =
+      (f.image_0_12_3.jpeg-decoder or false) ||
+      (f.image_0_12_3.jpeg or false) ||
+      (image_0_12_3.jpeg or false);
+    image_0_12_3.png =
+      (f.image_0_12_3.png or false) ||
+      (f.image_0_12_3.png_codec or false) ||
+      (image_0_12_3.png_codec or false);
+    image_0_12_3.png_codec =
+      (f.image_0_12_3.png_codec or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false) ||
+      (f.image_0_12_3.ico or false) ||
+      (image_0_12_3.ico or false);
+    image_0_12_3.ppm =
+      (f.image_0_12_3.ppm or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.scoped_threadpool =
+      (f.image_0_12_3.scoped_threadpool or false) ||
+      (f.image_0_12_3.hdr or false) ||
+      (image_0_12_3.hdr or false);
+    image_0_12_3.tga =
+      (f.image_0_12_3.tga or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.tiff =
+      (f.image_0_12_3.tiff or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    image_0_12_3.webp =
+      (f.image_0_12_3.webp or false) ||
+      (f.image_0_12_3.default or false) ||
+      (image_0_12_3.default or false);
+    jpeg_decoder_0_1_11.default = true;
+    num_iter_0_1_33.default = true;
+    num_rational_0_1_36.default = (f.num_rational_0_1_36.default or false);
+    num_traits_0_1_37.default = true;
+    png_0_6_2.default = true;
+    scoped_threadpool_0_1_7.default = true;
+  }) [ byteorder_1_0_0_features enum_primitive_0_1_1_features gif_0_9_1_features glob_0_2_11_features jpeg_decoder_0_1_11_features num_iter_0_1_33_features num_rational_0_1_36_features num_traits_0_1_37_features png_0_6_2_features scoped_threadpool_0_1_7_features ];
+  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
+    features = mkFeatures (features.inflate_0_1_1 or {});
+  };
+  inflate_0_1_1_features = f: updateFeatures f (rec {
+    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
+  }) [];
+  jpeg_decoder_0_1_11 = { features?(jpeg_decoder_0_1_11_features {}) }: jpeg_decoder_0_1_11_ {
+    dependencies = mapFeatures features ([ byteorder_1_0_0 ]
+      ++ (if features.jpeg_decoder_0_1_11.rayon or false then [ rayon_0_6_0 ] else []));
+    features = mkFeatures (features.jpeg_decoder_0_1_11 or {});
+  };
+  jpeg_decoder_0_1_11_features = f: updateFeatures f (rec {
+    byteorder_1_0_0.default = true;
+    jpeg_decoder_0_1_11.default = (f.jpeg_decoder_0_1_11.default or true);
+    jpeg_decoder_0_1_11.rayon =
+      (f.jpeg_decoder_0_1_11.rayon or false) ||
+      (f.jpeg_decoder_0_1_11.default or false) ||
+      (jpeg_decoder_0_1_11.default or false);
+    rayon_0_6_0.default = true;
+  }) [ byteorder_1_0_0_features rayon_0_6_0_features ];
+  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  libc_0_2_21 = { features?(libc_0_2_21_features {}) }: libc_0_2_21_ {
+    features = mkFeatures (features.libc_0_2_21 or {});
+  };
+  libc_0_2_21_features = f: updateFeatures f (rec {
+    libc_0_2_21.default = (f.libc_0_2_21.default or true);
+    libc_0_2_21.use_std =
+      (f.libc_0_2_21.use_std or false) ||
+      (f.libc_0_2_21.default or false) ||
+      (libc_0_2_21.default or false);
+  }) [];
+  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
+    features = mkFeatures (features.lzw_0_10_0 or {});
+  };
+  lzw_0_10_0_features = f: updateFeatures f (rec {
+    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
+    lzw_0_10_0.raii_no_panic =
+      (f.lzw_0_10_0.raii_no_panic or false) ||
+      (f.lzw_0_10_0.default or false) ||
+      (lzw_0_10_0.default or false);
+  }) [];
+  metadeps_1_1_1 = { features?(metadeps_1_1_1_features {}) }: metadeps_1_1_1_ {
+    dependencies = mapFeatures features ([ error_chain_0_7_2 pkg_config_0_3_9 toml_0_2_1 ]);
+  };
+  metadeps_1_1_1_features = f: updateFeatures f (rec {
+    error_chain_0_7_2.default = (f.error_chain_0_7_2.default or false);
+    metadeps_1_1_1.default = (f.metadeps_1_1_1.default or true);
+    pkg_config_0_3_9.default = true;
+    toml_0_2_1.default = (f.toml_0_2_1.default or false);
+  }) [ error_chain_0_7_2_features pkg_config_0_3_9_features toml_0_2_1_features ];
+  num_integer_0_1_33 = { features?(num_integer_0_1_33_features {}) }: num_integer_0_1_33_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
+  };
+  num_integer_0_1_33_features = f: updateFeatures f (rec {
+    num_integer_0_1_33.default = (f.num_integer_0_1_33.default or true);
+    num_traits_0_1_37.default = true;
+  }) [ num_traits_0_1_37_features ];
+  num_iter_0_1_33 = { features?(num_iter_0_1_33_features {}) }: num_iter_0_1_33_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_33 num_traits_0_1_37 ]);
+  };
+  num_iter_0_1_33_features = f: updateFeatures f (rec {
+    num_integer_0_1_33.default = true;
+    num_iter_0_1_33.default = (f.num_iter_0_1_33.default or true);
+    num_traits_0_1_37.default = true;
+  }) [ num_integer_0_1_33_features num_traits_0_1_37_features ];
+  num_rational_0_1_36 = { features?(num_rational_0_1_36_features {}) }: num_rational_0_1_36_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_33 num_traits_0_1_37 ]);
+    features = mkFeatures (features.num_rational_0_1_36 or {});
+  };
+  num_rational_0_1_36_features = f: updateFeatures f (rec {
+    num_integer_0_1_33.default = true;
+    num_rational_0_1_36.bigint =
+      (f.num_rational_0_1_36.bigint or false) ||
+      (f.num_rational_0_1_36.default or false) ||
+      (num_rational_0_1_36.default or false);
+    num_rational_0_1_36.default = (f.num_rational_0_1_36.default or true);
+    num_rational_0_1_36.num-bigint =
+      (f.num_rational_0_1_36.num-bigint or false) ||
+      (f.num_rational_0_1_36.bigint or false) ||
+      (num_rational_0_1_36.bigint or false);
+    num_rational_0_1_36.rustc-serialize =
+      (f.num_rational_0_1_36.rustc-serialize or false) ||
+      (f.num_rational_0_1_36.default or false) ||
+      (num_rational_0_1_36.default or false);
+    num_traits_0_1_37.default = true;
+  }) [ num_integer_0_1_33_features num_traits_0_1_37_features ];
+  num_traits_0_1_37 = { features?(num_traits_0_1_37_features {}) }: num_traits_0_1_37_ {};
+  num_traits_0_1_37_features = f: updateFeatures f (rec {
+    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or true);
+  }) [];
+  num_cpus_1_3_0 = { features?(num_cpus_1_3_0_features {}) }: num_cpus_1_3_0_ {
+    dependencies = mapFeatures features ([ libc_0_2_21 ]);
+  };
+  num_cpus_1_3_0_features = f: updateFeatures f (rec {
+    libc_0_2_21.default = true;
+    num_cpus_1_3_0.default = (f.num_cpus_1_3_0.default or true);
+  }) [ libc_0_2_21_features ];
+  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
+  pkg_config_0_3_9_features = f: updateFeatures f (rec {
+    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
+  }) [];
+  png_0_6_2 = { features?(png_0_6_2_features {}) }: png_0_6_2_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_33 ]
+      ++ (if features.png_0_6_2.deflate or false then [ deflate_0_7_5 ] else []));
+    features = mkFeatures (features.png_0_6_2 or {});
+  };
+  png_0_6_2_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    deflate_0_7_5.default = true;
+    inflate_0_1_1.default = true;
+    num_iter_0_1_33.default = true;
+    png_0_6_2.default = (f.png_0_6_2.default or true);
+    png_0_6_2.deflate =
+      (f.png_0_6_2.deflate or false) ||
+      (f.png_0_6_2.png-encoding or false) ||
+      (png_0_6_2.png-encoding or false);
+    png_0_6_2.png-encoding =
+      (f.png_0_6_2.png-encoding or false) ||
+      (f.png_0_6_2.default or false) ||
+      (png_0_6_2.default or false);
+  }) [ bitflags_0_7_0_features deflate_0_7_5_features inflate_0_1_1_features num_iter_0_1_33_features ];
+  rand_0_3_15 = { features?(rand_0_3_15_features {}) }: rand_0_3_15_ {
+    dependencies = mapFeatures features ([ libc_0_2_21 ]);
+  };
+  rand_0_3_15_features = f: updateFeatures f (rec {
+    libc_0_2_21.default = true;
+    rand_0_3_15.default = (f.rand_0_3_15.default or true);
+  }) [ libc_0_2_21_features ];
+  rayon_0_6_0 = { features?(rayon_0_6_0_features {}) }: rayon_0_6_0_ {
+    dependencies = mapFeatures features ([ deque_0_3_1 libc_0_2_21 num_cpus_1_3_0 rand_0_3_15 ]);
+    features = mkFeatures (features.rayon_0_6_0 or {});
+  };
+  rayon_0_6_0_features = f: updateFeatures f (rec {
+    deque_0_3_1.default = true;
+    libc_0_2_21.default = true;
+    num_cpus_1_3_0.default = true;
+    rand_0_3_15.default = true;
+    rayon_0_6_0.default = (f.rayon_0_6_0.default or true);
+  }) [ deque_0_3_1_features libc_0_2_21_features num_cpus_1_3_0_features rand_0_3_15_features ];
+  scoped_threadpool_0_1_7 = { features?(scoped_threadpool_0_1_7_features {}) }: scoped_threadpool_0_1_7_ {
+    features = mkFeatures (features.scoped_threadpool_0_1_7 or {});
+  };
+  scoped_threadpool_0_1_7_features = f: updateFeatures f (rec {
+    scoped_threadpool_0_1_7.default = (f.scoped_threadpool_0_1_7.default or true);
+  }) [];
+  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
+  strsim_0_6_0_features = f: updateFeatures f (rec {
+    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
+  }) [];
+  term_size_0_2_3 = { features?(term_size_0_2_3_features {}) }: term_size_0_2_3_ {
+    dependencies = mapFeatures features ([])
+      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_21 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    features = mkFeatures (features.term_size_0_2_3 or {});
+  };
+  term_size_0_2_3_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_21.default = true;
+    term_size_0_2_3.clippy =
+      (f.term_size_0_2_3.clippy or false) ||
+      (f.term_size_0_2_3.lints or false) ||
+      (term_size_0_2_3.lints or false);
+    term_size_0_2_3.default = (f.term_size_0_2_3.default or true);
+    term_size_0_2_3.lints =
+      (f.term_size_0_2_3.lints or false) ||
+      (f.term_size_0_2_3.travis or false) ||
+      (term_size_0_2_3.travis or false);
+    term_size_0_2_3.nightly =
+      (f.term_size_0_2_3.nightly or false) ||
+      (f.term_size_0_2_3.lints or false) ||
+      (term_size_0_2_3.lints or false) ||
+      (f.term_size_0_2_3.travis or false) ||
+      (term_size_0_2_3.travis or false);
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_21_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  toml_0_2_1 = { features?(toml_0_2_1_features {}) }: toml_0_2_1_ {
+    dependencies = mapFeatures features ([]);
+  };
+  toml_0_2_1_features = f: updateFeatures f (rec {
+    toml_0_2_1.default = (f.toml_0_2_1.default or true);
+    toml_0_2_1.rustc-serialize =
+      (f.toml_0_2_1.rustc-serialize or false) ||
+      (f.toml_0_2_1.default or false) ||
+      (toml_0_2_1.default or false);
+  }) [];
+  unicode_segmentation_1_1_0 = { features?(unicode_segmentation_1_1_0_features {}) }: unicode_segmentation_1_1_0_ {
+    features = mkFeatures (features.unicode_segmentation_1_1_0 or {});
+  };
+  unicode_segmentation_1_1_0_features = f: updateFeatures f (rec {
+    unicode_segmentation_1_1_0.default = (f.unicode_segmentation_1_1_0.default or true);
+  }) [];
+  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
+    features = mkFeatures (features.unicode_width_0_1_4 or {});
+  };
+  unicode_width_0_1_4_features = f: updateFeatures f (rec {
+    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
+  }) [];
+  vec_map_0_7_0 = { features?(vec_map_0_7_0_features {}) }: vec_map_0_7_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.vec_map_0_7_0 or {});
+  };
+  vec_map_0_7_0_features = f: updateFeatures f (rec {
+    vec_map_0_7_0.default = (f.vec_map_0_7_0.default or true);
+    vec_map_0_7_0.serde =
+      (f.vec_map_0_7_0.serde or false) ||
+      (f.vec_map_0_7_0.eders or false) ||
+      (vec_map_0_7_0.eders or false);
+    vec_map_0_7_0.serde_derive =
+      (f.vec_map_0_7_0.serde_derive or false) ||
+      (f.vec_map_0_7_0.eders or false) ||
+      (vec_map_0_7_0.eders or false);
+  }) [];
+  wc_grab_0_3_0 = { features?(wc_grab_0_3_0_features {}) }: wc_grab_0_3_0_ {
+    dependencies = mapFeatures features ([ clap_2_22_0 dbus_0_5_2 image_0_12_3 ]);
+  };
+  wc_grab_0_3_0_features = f: updateFeatures f (rec {
+    clap_2_22_0.default = true;
+    dbus_0_5_2.default = true;
+    image_0_12_3.default = true;
+    wc_grab_0_3_0.default = (f.wc_grab_0_3_0.default or true);
+  }) [ clap_2_22_0_features dbus_0_5_2_features image_0_12_3_features ];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  }) [];
+  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
+  winapi_build_0_1_1_features = f: updateFeatures f (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
 }
diff --git a/pkgs/applications/window-managers/way-cooler/wc-lock.nix b/pkgs/applications/window-managers/way-cooler/wc-lock.nix
index 634288cfca80..80775112abc1 100644
--- a/pkgs/applications/window-managers/way-cooler/wc-lock.nix
+++ b/pkgs/applications/window-managers/way-cooler/wc-lock.nix
@@ -1,625 +1,1486 @@
-# Generated by carnix 0.5.0: carnix -o wc-lock.nix Cargo.lock
+# Generated by carnix 0.6.5: carnix -o wc-lock.nix Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+    mapFeatures = features: map (fun: fun { features = features; });
     mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ansi_term";
-      version = "0.9.0";
-      authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-      sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.2";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.8.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0whaj3969ysqxzk620sk1isvq6vh85516f2fplvqjrw3syz44sb2";
-      inherit dependencies buildDependencies features;
-    };
-    byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "byteorder";
-      version = "0.5.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
-      inherit dependencies buildDependencies features;
-    };
-    clap_2_24_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "clap";
-      version = "2.24.2";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-      sha256 = "0028bkzafprs6n7ing8lnf7iss2a2zq17qmgadipgdfgvww43rmv";
-      inherit dependencies buildDependencies features;
-    };
-    dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dlib";
-      version = "0.3.1";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0mgg4r90yby68qg7y8csbclhsm53ac26vsyq615viq535plllhzw";
-      inherit dependencies buildDependencies features;
-    };
-    fs2_0_2_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fs2";
-      version = "0.2.5";
-      authors = [ "Dan Burkert <dan@danburkert.com>" ];
-      sha256 = "0j6l5r95jigbl0lgkm69c82dzq10jipjbm9qnni147hb45gyw790";
-      inherit dependencies buildDependencies features;
-    };
-    gcc_0_3_50_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gcc";
-      version = "0.3.50";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "032izcbbyiakv9ck5j3s27p3ddx4468n7qpaxgwi5iswmimjaaj0";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.1";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0jp1wvfw0qqbyz0whbycp7xr5nx1ds5plh4wsfyj503xmjf9ab4k";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.1.16";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0lc5ixs5bmnc43lfri2ynh9393l7vs0z3sw2v5rkaady2ivnznpc";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.8";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "1xbpxx7cd5kl60g87g43q80jxyrsildhxfjc42jb1x4jncknpwbl";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.23";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1i29f6k26fmv81c5bjc6hw2j95sd01h9ad66qxdc755b24xfa9jm";
-      inherit dependencies buildDependencies features;
-    };
-    libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libloading";
-      version = "0.3.4";
-      authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-      sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    memmap_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memmap";
-      version = "0.4.0";
-      authors = [ "Dan Burkert <dan@danburkert.com>" ];
-      sha256 = "0q2gm5p8n9najc8kccbxxkannmnjh85rin4k8d4y1kg5ymdp6kll";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.37";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-      inherit dependencies buildDependencies features;
-    };
-    phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_codegen";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
-      inherit dependencies buildDependencies features;
-    };
-    phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_generator";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
-      inherit dependencies buildDependencies features;
-    };
-    phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "phf_shared";
-      version = "0.7.21";
-      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-      sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.15";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc_version";
-      version = "0.1.7";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-      inherit dependencies buildDependencies features;
-    };
-    semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "semver";
-      version = "0.1.20";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-      inherit dependencies buildDependencies features;
-    };
-    serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "0.9.15";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "0.9.10";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-      sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-      inherit dependencies buildDependencies features;
-    };
-    siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "siphasher";
-      version = "0.2.2";
-      authors = [ "Frank Denis <github@pureftpd.org>" ];
-      sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "target_build_utils";
-      version = "0.3.1";
-      authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-      sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    tempfile_2_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempfile";
-      version = "2.1.5";
-      authors = [ "Steven Allen <steven@stebalien.com>" ];
-      sha256 = "1yz8aaj78z9gsn4b71y0m6fa5bnxhqafcczhxvmwra56k943aqkw";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "term_size";
-      version = "0.3.0";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-      sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_segmentation_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-segmentation";
-      version = "1.2.0";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "0yz43x7wrhr3n7a2zsinx3r60yxsdqicg8a5kycyyhdaq1zmiz1y";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-width";
-      version = "0.1.4";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-      inherit dependencies buildDependencies features;
-    };
-    vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vec_map";
-      version = "0.8.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-      sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_client_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-client";
-      version = "0.9.6";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1908h6ilvq2cxph1lxv1vzrb3dcfx4x6pf6pszxwifsfqva8nm34";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_kbd_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-kbd";
-      version = "0.9.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1x0f7n79hjwf5fclf62fpzjp05xdzc93xw84zgyrn8f1hill3qhj";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_scanner_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-scanner";
-      version = "0.9.6";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1w5cyc48g4x5w3rakb4sji5328rl5yph1abmjbh5h4slkm4n76g1";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.6.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.9.6";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0izw50pmj1r10hmr29gi8ps01avs6zjwisywijlq7wr268h6yxcg";
-      inherit dependencies buildDependencies features;
-    };
-    wc_lock_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wc-lock";
-      version = "0.1.0";
-      authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-      sha256 = "1fwfqzhqa8zqxx18amc129xfp1lrb7y9qxi92jqr856xiq4r8ypk";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-    xml_rs_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "xml-rs";
-      version = "0.3.6";
-      authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-      sha256 = "1g1cclib7fj900m4669vxlz45lxcq0m36g7cd8chl494c2xsgj15";
-      libPath = "src/lib.rs";
-      libName = "xml";
-      crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
-      inherit dependencies buildDependencies features;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  ansi_term_0_9_0 = ansi_term_0_9_0_ rec {};
-  atty_0_2_2 = atty_0_2_2_ rec {
-    dependencies = (if !(kernel == "windows") then [ libc_0_2_23 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  libc_0_2_23_features."default".from_atty_0_2_2__default = true;
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_2__default = true;
-  winapi_0_2_8_features."default".from_atty_0_2_2__default = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_8_2 = bitflags_0_8_2_ rec {
-    features = mkFeatures bitflags_0_8_2_features;
-  };
-  bitflags_0_8_2_features."i128".self_unstable = hasFeature (bitflags_0_8_2_features."unstable" or {});
-  byteorder_0_5_3 = byteorder_0_5_3_ rec {
-    features = mkFeatures byteorder_0_5_3_features;
-  };
-  byteorder_0_5_3_features."std".self_default = hasDefault byteorder_0_5_3_features;
-  clap_2_24_2 = clap_2_24_2_ rec {
-    dependencies = [ ansi_term_0_9_0 atty_0_2_2 bitflags_0_8_2 strsim_0_6_0 term_size_0_3_0 unicode_segmentation_1_2_0 unicode_width_0_1_4 vec_map_0_8_0 ]
-      ++ (if lib.lists.any (x: x == "ansi_term") features then [ansi_term_0_9_0] else [])      ++ (if lib.lists.any (x: x == "atty") features then [atty_0_2_2] else [])      ++ (if lib.lists.any (x: x == "strsim") features then [strsim_0_6_0] else [])      ++ (if lib.lists.any (x: x == "term_size") features then [term_size_0_3_0] else []);
-    features = mkFeatures clap_2_24_2_features;
-  };
-  clap_2_24_2_features."".self = true;
-  clap_2_24_2_features."ansi_term".self_color = hasFeature (clap_2_24_2_features."color" or {});
-  clap_2_24_2_features."atty".self_color = hasFeature (clap_2_24_2_features."color" or {});
-  clap_2_24_2_features."suggestions".self_default = hasDefault clap_2_24_2_features;
-  clap_2_24_2_features."color".self_default = hasDefault clap_2_24_2_features;
-  clap_2_24_2_features."wrap_help".self_default = hasDefault clap_2_24_2_features;
-  clap_2_24_2_features."clippy".self_lints = hasFeature (clap_2_24_2_features."lints" or {});
-  clap_2_24_2_features."strsim".self_suggestions = hasFeature (clap_2_24_2_features."suggestions" or {});
-  clap_2_24_2_features."term_size".self_wrap_help = hasFeature (clap_2_24_2_features."wrap_help" or {});
-  clap_2_24_2_features."yaml-rust".self_yaml = hasFeature (clap_2_24_2_features."yaml" or {});
-  ansi_term_0_9_0_features."default".from_clap_2_24_2__default = true;
-  atty_0_2_2_features."default".from_clap_2_24_2__default = true;
-  bitflags_0_8_2_features."default".from_clap_2_24_2__default = true;
-  clippy_0_0_0_features."default".from_clap_2_24_2__default = true;
-  strsim_0_6_0_features."default".from_clap_2_24_2__default = true;
-  term_size_0_3_0_features."default".from_clap_2_24_2__default = true;
-  unicode_segmentation_1_2_0_features."default".from_clap_2_24_2__default = true;
-  unicode_width_0_1_4_features."default".from_clap_2_24_2__default = true;
-  vec_map_0_8_0_features."default".from_clap_2_24_2__default = true;
-  yaml_rust_0_0_0_features."default".from_clap_2_24_2__default = true;
-  dlib_0_3_1 = dlib_0_3_1_ rec {
-    dependencies = [ libloading_0_3_4 ];
-    features = mkFeatures dlib_0_3_1_features;
-  };
-  dlib_0_3_1_features."".self = true;
-  libloading_0_3_4_features."default".from_dlib_0_3_1__default = true;
-  dtoa_0_4_1 = dtoa_0_4_1_ rec {};
-  fs2_0_2_5 = fs2_0_2_5_ rec {
-    dependencies = [ kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_fs2_0_2_5__default = true;
-  libc_0_2_23_features."default".from_fs2_0_2_5__default = true;
-  winapi_0_2_8_features."default".from_fs2_0_2_5__default = true;
-  gcc_0_3_50 = gcc_0_3_50_ rec {
-    dependencies = [];
-    features = mkFeatures gcc_0_3_50_features;
-  };
-  gcc_0_3_50_features."rayon".self_parallel = hasFeature (gcc_0_3_50_features."parallel" or {});
-  rayon_0_0_0_features."default".from_gcc_0_3_50__default = true;
-  itoa_0_3_1 = itoa_0_3_1_ rec {};
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  lazy_static_0_1_16 = lazy_static_0_1_16_ rec {
-    features = mkFeatures lazy_static_0_1_16_features;
-  };
-  lazy_static_0_1_16_features."".self = true;
-  lazy_static_0_2_8 = lazy_static_0_2_8_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_8_features;
-  };
-  lazy_static_0_2_8_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  lazy_static_0_2_8_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_8__default = true;
-  libc_0_2_23 = libc_0_2_23_ rec {
-    features = mkFeatures libc_0_2_23_features;
-  };
-  libc_0_2_23_features."use_std".self_default = hasDefault libc_0_2_23_features;
-  libloading_0_3_4 = libloading_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_8 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ target_build_utils_0_3_1 ];
-  };
-  lazy_static_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_libloading_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  memmap_0_4_0 = memmap_0_4_0_ rec {
-    dependencies = [ fs2_0_2_5 kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ];
-  };
-  fs2_0_2_5_features."default".from_memmap_0_4_0__default = true;
-  kernel32_sys_0_2_2_features."default".from_memmap_0_4_0__default = true;
-  libc_0_2_23_features."default".from_memmap_0_4_0__default = true;
-  winapi_0_2_8_features."default".from_memmap_0_4_0__default = true;
-  num_traits_0_1_37 = num_traits_0_1_37_ rec {};
-  phf_0_7_21 = phf_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 ];
-    features = mkFeatures phf_0_7_21_features;
-  };
-  phf_0_7_21_features."".self = true;
-  phf_shared_0_7_21_features."core".from_phf_0_7_21__core = hasFeature (phf_0_7_21_features."core" or {});
-  phf_shared_0_7_21_features."unicase".from_phf_0_7_21__unicase = hasFeature (phf_0_7_21_features."unicase" or {});
-  phf_shared_0_7_21_features."default".from_phf_0_7_21__default = true;
-  phf_codegen_0_7_21 = phf_codegen_0_7_21_ rec {
-    dependencies = [ phf_generator_0_7_21 phf_shared_0_7_21 ];
-  };
-  phf_generator_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_shared_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_generator_0_7_21 = phf_generator_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 rand_0_3_15 ];
-  };
-  phf_shared_0_7_21_features."default".from_phf_generator_0_7_21__default = true;
-  rand_0_3_15_features."default".from_phf_generator_0_7_21__default = true;
-  phf_shared_0_7_21 = phf_shared_0_7_21_ rec {
-    dependencies = [ siphasher_0_2_2 ];
-    features = mkFeatures phf_shared_0_7_21_features;
-  };
-  phf_shared_0_7_21_features."".self = true;
-  siphasher_0_2_2_features."default".from_phf_shared_0_7_21__default = true;
-  unicase_0_0_0_features."default".from_phf_shared_0_7_21__default = true;
-  rand_0_3_15 = rand_0_3_15_ rec {
-    dependencies = [ libc_0_2_23 ];
-  };
-  libc_0_2_23_features."default".from_rand_0_3_15__default = true;
-  rustc_version_0_1_7 = rustc_version_0_1_7_ rec {
-    dependencies = [ semver_0_1_20 ];
-  };
-  semver_0_1_20_features."default".from_rustc_version_0_1_7__default = true;
-  semver_0_1_20 = semver_0_1_20_ rec {};
-  serde_0_9_15 = serde_0_9_15_ rec {
-    dependencies = [];
-    features = mkFeatures serde_0_9_15_features;
-  };
-  serde_0_9_15_features."unstable".self_alloc = hasFeature (serde_0_9_15_features."alloc" or {});
-  serde_0_9_15_features."alloc".self_collections = hasFeature (serde_0_9_15_features."collections" or {});
-  serde_0_9_15_features."std".self_default = hasDefault serde_0_9_15_features;
-  serde_0_9_15_features."serde_derive".self_derive = hasFeature (serde_0_9_15_features."derive" or {});
-  serde_0_9_15_features."serde_derive".self_playground = hasFeature (serde_0_9_15_features."playground" or {});
-  serde_0_9_15_features."unstable".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_0_9_15_features."std".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_derive_0_0_0_features."default".from_serde_0_9_15__default = true;
-  serde_json_0_9_10 = serde_json_0_9_10_ rec {
-    dependencies = [ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_15 ];
-    features = mkFeatures serde_json_0_9_10_features;
-  };
-  serde_json_0_9_10_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_0_9_10_features."preserve_order" or {});
-  dtoa_0_4_1_features."default".from_serde_json_0_9_10__default = true;
-  itoa_0_3_1_features."default".from_serde_json_0_9_10__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_0_9_10__default = true;
-  num_traits_0_1_37_features."default".from_serde_json_0_9_10__default = true;
-  serde_0_9_15_features."default".from_serde_json_0_9_10__default = true;
-  siphasher_0_2_2 = siphasher_0_2_2_ rec {
-    dependencies = [];
-  };
-  clippy_0_0_0_features."default".from_siphasher_0_2_2__default = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  target_build_utils_0_3_1 = target_build_utils_0_3_1_ rec {
-    dependencies = [ phf_0_7_21 serde_json_0_9_10 ]
-      ++ (if lib.lists.any (x: x == "serde_json") features then [serde_json_0_9_10] else []);
-    buildDependencies = [ phf_codegen_0_7_21 ];
-    features = mkFeatures target_build_utils_0_3_1_features;
-  };
-  target_build_utils_0_3_1_features."".self = true;
-  target_build_utils_0_3_1_features."serde_json".self_default = hasDefault target_build_utils_0_3_1_features;
-  phf_0_7_21_features."default".from_target_build_utils_0_3_1__default = true;
-  serde_json_0_9_10_features."default".from_target_build_utils_0_3_1__default = true;
-  tempfile_2_1_5 = tempfile_2_1_5_ rec {
-    dependencies = [ rand_0_3_15 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_23 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ rustc_version_0_1_7 ];
-  };
-  rand_0_3_15_features."default".from_tempfile_2_1_5__default = true;
-  libc_0_2_23_features."default".from_tempfile_2_1_5__default = true;
-  kernel32_sys_0_2_2_features."default".from_tempfile_2_1_5__default = true;
-  winapi_0_2_8_features."default".from_tempfile_2_1_5__default = true;
-  term_size_0_3_0 = term_size_0_3_0_ rec {
-    dependencies = []
-      ++ (if !(kernel == "windows") then [ libc_0_2_23 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    features = mkFeatures term_size_0_3_0_features;
-  };
-  term_size_0_3_0_features."clippy".self_lints = hasFeature (term_size_0_3_0_features."lints" or {});
-  term_size_0_3_0_features."nightly".self_lints = hasFeature (term_size_0_3_0_features."lints" or {});
-  term_size_0_3_0_features."lints".self_travis = hasFeature (term_size_0_3_0_features."travis" or {});
-  term_size_0_3_0_features."nightly".self_travis = hasFeature (term_size_0_3_0_features."travis" or {});
-  clippy_0_0_0_features."default".from_term_size_0_3_0__default = true;
-  libc_0_2_23_features."default".from_term_size_0_3_0__default = true;
-  kernel32_sys_0_2_2_features."default".from_term_size_0_3_0__default = true;
-  winapi_0_2_8_features."default".from_term_size_0_3_0__default = true;
-  unicode_segmentation_1_2_0 = unicode_segmentation_1_2_0_ rec {
-    features = mkFeatures unicode_segmentation_1_2_0_features;
-  };
-  unicode_segmentation_1_2_0_features."".self = true;
-  unicode_width_0_1_4 = unicode_width_0_1_4_ rec {
-    features = mkFeatures unicode_width_0_1_4_features;
-  };
-  unicode_width_0_1_4_features."".self = true;
-  vec_map_0_8_0 = vec_map_0_8_0_ rec {
-    dependencies = [];
-    features = mkFeatures vec_map_0_8_0_features;
-  };
-  vec_map_0_8_0_features."serde".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  vec_map_0_8_0_features."serde_derive".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  serde_0_0_0_features."default".from_vec_map_0_8_0__default = true;
-  serde_derive_0_0_0_features."default".from_vec_map_0_8_0__default = true;
-  wayland_client_0_9_6 = wayland_client_0_9_6_ rec {
-    dependencies = [ bitflags_0_7_0 libc_0_2_23 wayland_sys_0_9_6 ];
-    buildDependencies = [ wayland_scanner_0_9_6 ];
-    features = mkFeatures wayland_client_0_9_6_features;
-  };
-  wayland_client_0_9_6_features."egl".self_default = hasDefault wayland_client_0_9_6_features;
-  wayland_client_0_9_6_features."cursor".self_default = hasDefault wayland_client_0_9_6_features;
-  bitflags_0_7_0_features."default".from_wayland_client_0_9_6__default = true;
-  libc_0_2_23_features."default".from_wayland_client_0_9_6__default = true;
-  wayland_sys_0_9_6_features."client".from_wayland_client_0_9_6 = true;
-  wayland_sys_0_9_6_features."cursor".from_wayland_client_0_9_6__cursor = hasFeature (wayland_client_0_9_6_features."cursor" or {});
-  wayland_sys_0_9_6_features."dlopen".from_wayland_client_0_9_6__dlopen = hasFeature (wayland_client_0_9_6_features."dlopen" or {});
-  wayland_sys_0_9_6_features."egl".from_wayland_client_0_9_6__egl = hasFeature (wayland_client_0_9_6_features."egl" or {});
-  wayland_sys_0_9_6_features."default".from_wayland_client_0_9_6__default = true;
-  wayland_kbd_0_9_0 = wayland_kbd_0_9_0_ rec {
-    dependencies = [ bitflags_0_7_0 dlib_0_3_1 lazy_static_0_2_8 memmap_0_4_0 wayland_client_0_9_6 ];
-  };
-  bitflags_0_7_0_features."default".from_wayland_kbd_0_9_0__default = true;
-  dlib_0_3_1_features."default".from_wayland_kbd_0_9_0__default = true;
-  lazy_static_0_2_8_features."default".from_wayland_kbd_0_9_0__default = true;
-  memmap_0_4_0_features."default".from_wayland_kbd_0_9_0__default = true;
-  wayland_client_0_9_6_features."default".from_wayland_kbd_0_9_0__default = true;
-  wayland_scanner_0_9_6 = wayland_scanner_0_9_6_ rec {
-    dependencies = [ xml_rs_0_3_6 ];
-  };
-  xml_rs_0_3_6_features."default".from_wayland_scanner_0_9_6__default = true;
-  wayland_sys_0_6_0 = wayland_sys_0_6_0_ rec {
-    dependencies = [ dlib_0_3_1 lazy_static_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "lazy_static") features then [lazy_static_0_1_16] else []);
-    features = mkFeatures wayland_sys_0_6_0_features;
-  };
-  wayland_sys_0_6_0_features."".self = true;
-  wayland_sys_0_6_0_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  wayland_sys_0_6_0_features."libc".self_server = hasFeature (wayland_sys_0_6_0_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_6_0__dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_6_0__default = true;
-  lazy_static_0_1_16_features."default".from_wayland_sys_0_6_0__default = true;
-  libc_0_0_0_features."default".from_wayland_sys_0_6_0__default = true;
-  wayland_sys_0_9_6 = wayland_sys_0_9_6_ rec {
-    dependencies = [ dlib_0_3_1 lazy_static_0_2_8 ]
-      ++ (if lib.lists.any (x: x == "lazy_static") features then [lazy_static_0_2_8] else []);
-    features = mkFeatures wayland_sys_0_9_6_features;
-  };
-  wayland_sys_0_9_6_features."".self = true;
-  wayland_sys_0_9_6_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_9_6_features."dlopen" or {});
-  wayland_sys_0_9_6_features."libc".self_server = hasFeature (wayland_sys_0_9_6_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_9_6__dlopen = hasFeature (wayland_sys_0_9_6_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_9_6__default = true;
-  lazy_static_0_2_8_features."default".from_wayland_sys_0_9_6__default = true;
-  libc_0_0_0_features."default".from_wayland_sys_0_9_6__default = true;
-  wc_lock_0_1_0 = wc_lock_0_1_0_ rec {
-    dependencies = [ byteorder_0_5_3 clap_2_24_2 libc_0_2_23 tempfile_2_1_5 wayland_client_0_9_6 wayland_kbd_0_9_0 wayland_sys_0_6_0 ];
-    buildDependencies = [ gcc_0_3_50 ];
-  };
-  byteorder_0_5_3_features."default".from_wc_lock_0_1_0__default = true;
-  clap_2_24_2_features."default".from_wc_lock_0_1_0__default = true;
-  libc_0_2_23_features."default".from_wc_lock_0_1_0__default = true;
-  tempfile_2_1_5_features."default".from_wc_lock_0_1_0__default = true;
-  wayland_client_0_9_6_features."cursor".from_wc_lock_0_1_0 = true;
-  wayland_client_0_9_6_features."dlopen".from_wc_lock_0_1_0 = true;
-  wayland_client_0_9_6_features."default".from_wc_lock_0_1_0__default = true;
-  wayland_kbd_0_9_0_features."default".from_wc_lock_0_1_0__default = true;
-  wayland_sys_0_6_0_features."client".from_wc_lock_0_1_0 = true;
-  wayland_sys_0_6_0_features."dlopen".from_wc_lock_0_1_0 = true;
-  wayland_sys_0_6_0_features."default".from_wc_lock_0_1_0__default = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  xml_rs_0_3_6 = xml_rs_0_3_6_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_xml_rs_0_3_6__default = true;
+  wc_lock = f: wc_lock_0_2_1 { features = wc_lock_0_2_1_features { wc_lock_0_2_1 = f; }; };
+  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.9.0";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
+    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
+    inherit dependencies buildDependencies features;
+  };
+  atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.2";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.8.2";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0whaj3969ysqxzk620sk1isvq6vh85516f2fplvqjrw3syz44sb2";
+    inherit dependencies buildDependencies features;
+  };
+  byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "byteorder";
+    version = "0.5.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
+    inherit dependencies buildDependencies features;
+  };
+  byteorder_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.1.0";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
+    inherit dependencies buildDependencies features;
+  };
+  cc_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1s5ha0k6cdy1049a5kpzvhnjc9hjvi18zrcr5dmbqpd03ag751g1";
+    inherit dependencies buildDependencies features;
+  };
+  clap_2_24_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "clap";
+    version = "2.24.2";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0028bkzafprs6n7ing8lnf7iss2a2zq17qmgadipgdfgvww43rmv";
+    inherit dependencies buildDependencies features;
+  };
+  coco_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "coco";
+    version = "0.1.1";
+    authors = [ "Stjepan Glavina <stjepang@gmail.com>" ];
+    sha256 = "0hvj4jaj9y6i38c4dkii8nqq98cgx3kyx78cjqkdvk0aqq5sfr94";
+    inherit dependencies buildDependencies features;
+  };
+  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "color_quant";
+    version = "1.0.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_0_5_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus";
+    version = "0.5.4";
+    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
+    sha256 = "0qr62splq38b8vfjvpcpk9ph21d63ya7vd2vifs5wc8jzwc309yn";
+    inherit dependencies buildDependencies features;
+  };
+  dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dlib";
+    version = "0.3.1";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
+    inherit dependencies buildDependencies features;
+  };
+  dtoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.1";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0mgg4r90yby68qg7y8csbclhsm53ac26vsyq615viq535plllhzw";
+    inherit dependencies buildDependencies features;
+  };
+  either_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "either";
+    version = "1.2.0";
+    authors = [ "bluss" ];
+    sha256 = "0l72xaf1kwzgbl3andf3d2ggz7km9059rbmp90iywww8inlnqppp";
+    inherit dependencies buildDependencies features;
+  };
+  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "enum_primitive";
+    version = "0.1.1";
+    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
+    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
+    inherit dependencies buildDependencies features;
+  };
+  error_chain_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "error-chain";
+    version = "0.10.0";
+    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
+    sha256 = "1xxbzd8cjlpzsb9fsih7mdnndhzrvykj0w77yg90qc85az1xwy5z";
+    inherit dependencies buildDependencies features;
+  };
+  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "flate2";
+    version = "0.2.20";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+    inherit dependencies buildDependencies features;
+  };
+  fs2_0_2_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fs2";
+    version = "0.2.5";
+    authors = [ "Dan Burkert <dan@danburkert.com>" ];
+    sha256 = "0j6l5r95jigbl0lgkm69c82dzq10jipjbm9qnni147hb45gyw790";
+    inherit dependencies buildDependencies features;
+  };
+  futures_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "futures";
+    version = "0.1.16";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0ndk8cl6l600a95q8il2c3y38jz50nhfsczps0nziadqdd45gy2b";
+    inherit dependencies buildDependencies features;
+  };
+  gcc_0_3_50_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gcc";
+    version = "0.3.50";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "032izcbbyiakv9ck5j3s27p3ddx4468n7qpaxgwi5iswmimjaaj0";
+    inherit dependencies buildDependencies features;
+  };
+  gif_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gif";
+    version = "0.9.2";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "0dl76jrn6127w3bdg2b58p5psf8fpnbzdxdkw1i35ac8dn4vxcqa";
+    inherit dependencies buildDependencies features;
+  };
+  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glob";
+    version = "0.2.11";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+    inherit dependencies buildDependencies features;
+  };
+  image_0_10_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "image";
+    version = "0.10.4";
+    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
+    sha256 = "1pwrs7k5760b38i1lg872x9q2zc6xvhs7mjhlzvjnr5p85zx2fbw";
+    libPath = "./src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "inflate";
+    version = "0.1.1";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
+    inherit dependencies buildDependencies features;
+  };
+  itoa_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.1";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0jp1wvfw0qqbyz0whbycp7xr5nx1ds5plh4wsfyj503xmjf9ab4k";
+    inherit dependencies buildDependencies features;
+  };
+  jpeg_decoder_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "jpeg-decoder";
+    version = "0.1.13";
+    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
+    sha256 = "0w16gbywlm9p0p3wx34b85q4d1izrx89afcsxlc6g11cx2js4fa2";
+    inherit dependencies buildDependencies features;
+  };
+  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.8";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1xbpxx7cd5kl60g87g43q80jxyrsildhxfjc42jb1x4jncknpwbl";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.23";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1i29f6k26fmv81c5bjc6hw2j95sd01h9ad66qxdc755b24xfa9jm";
+    inherit dependencies buildDependencies features;
+  };
+  libdbus_sys_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libdbus-sys";
+    version = "0.1.1";
+    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
+    sha256 = "14kpislv2zazmgv5f8by4zkgkjxd0cwab8z6621kskjdwyir1wpy";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libloading";
+    version = "0.3.4";
+    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
+    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lzw";
+    version = "0.10.0";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
+    inherit dependencies buildDependencies features;
+  };
+  memmap_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memmap";
+    version = "0.4.0";
+    authors = [ "Dan Burkert <dan@danburkert.com>" ];
+    sha256 = "0q2gm5p8n9najc8kccbxxkannmnjh85rin4k8d4y1kg5ymdp6kll";
+    inherit dependencies buildDependencies features;
+  };
+  metadeps_1_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "metadeps";
+    version = "1.1.2";
+    authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
+    sha256 = "00dpxjls9fq6fs5gr9v3hkqxmb1zwnhh8b56q3dnzghppjf3ivk3";
+    inherit dependencies buildDependencies features;
+  };
+  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.10";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  num_bigint_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-bigint";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0pkxd9mb4chdbipprxjc8ll7kjh79n278s2z663zmd80yg5xi788";
+    inherit dependencies buildDependencies features;
+  };
+  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.35";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
+    inherit dependencies buildDependencies features;
+  };
+  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.34";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
+    inherit dependencies buildDependencies features;
+  };
+  num_rational_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-rational";
+    version = "0.1.39";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1qsacdfp97zgpajc2pgbrbga3yag1f0k7yz0gi78vd165gxdwk3m";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.37";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
+    inherit dependencies buildDependencies features;
+  };
+  num_cpus_1_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.6.2";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "0wxfzxsk05xbkph5qcvdqyi334zn0pnpahzi7n7iagxbb68145rm";
+    inherit dependencies buildDependencies features;
+  };
+  phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_codegen";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
+    inherit dependencies buildDependencies features;
+  };
+  phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_generator";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
+    inherit dependencies buildDependencies features;
+  };
+  phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "phf_shared";
+    version = "0.7.21";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+    inherit dependencies buildDependencies features;
+  };
+  png_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "png";
+    version = "0.5.2";
+    authors = [ "nwin <nwin@users.noreply.github.com>" ];
+    sha256 = "1pgann3f1ysgf8y1acw86v4s3ji1xk85ri353biyvh4i1cpn1g3q";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.15";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
+    inherit dependencies buildDependencies features;
+  };
+  rayon_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rayon";
+    version = "0.8.2";
+    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "0d0mddg1k75hb9138pn8lysy2095jijrinskqbpgfr73s0jx6dq8";
+    inherit dependencies buildDependencies features;
+  };
+  rayon_core_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rayon-core";
+    version = "1.2.1";
+    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "12xv2r0dqrgvla24bl5mfvcw0599dlhrj0mx620nq95nyds753kk";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc-serialize";
+    version = "0.3.24";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.1.7";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
+    inherit dependencies buildDependencies features;
+  };
+  scoped_threadpool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "scoped_threadpool";
+    version = "0.1.8";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1al42hqbbijpah9bc6hw9c49nhnyrc0sj274ja1q3k9305c3s5a6";
+    inherit dependencies buildDependencies features;
+  };
+  scopeguard_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.2";
+    authors = [ "bluss" ];
+    sha256 = "0xlvfawva4fnp6kwr5xjwf0q2d1w6di81nhfby1sa55xj1ia5zs2";
+    inherit dependencies buildDependencies features;
+  };
+  semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "semver";
+    version = "0.1.20";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
+    inherit dependencies buildDependencies features;
+  };
+  serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde";
+    version = "0.9.15";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
+    inherit dependencies buildDependencies features;
+  };
+  serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_json";
+    version = "0.9.10";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
+    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
+    inherit dependencies buildDependencies features;
+  };
+  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "siphasher";
+    version = "0.2.2";
+    authors = [ "Frank Denis <github@pureftpd.org>" ];
+    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
+    inherit dependencies buildDependencies features;
+  };
+  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    inherit dependencies buildDependencies features;
+  };
+  target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "target_build_utils";
+    version = "0.3.1";
+    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
+    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  tempfile_2_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "tempfile";
+    version = "2.1.5";
+    authors = [ "Steven Allen <steven@stebalien.com>" ];
+    sha256 = "1yz8aaj78z9gsn4b71y0m6fa5bnxhqafcczhxvmwra56k943aqkw";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "term_size";
+    version = "0.3.0";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
+    sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
+    inherit dependencies buildDependencies features;
+  };
+  toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "toml";
+    version = "0.2.1";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_segmentation_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-segmentation";
+    version = "1.2.0";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "0yz43x7wrhr3n7a2zsinx3r60yxsdqicg8a5kycyyhdaq1zmiz1y";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    inherit dependencies buildDependencies features;
+  };
+  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    inherit dependencies buildDependencies features;
+  };
+  way_cooler_client_helpers_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "way-cooler-client-helpers";
+    version = "0.1.0";
+    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
+    sha256 = "0749lh5crd0rhq4dxij9mb3y5902laazjd01l6ci5782bjfk4s39";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_client_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-client";
+    version = "0.9.6";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1908h6ilvq2cxph1lxv1vzrb3dcfx4x6pf6pszxwifsfqva8nm34";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_kbd_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-kbd";
+    version = "0.9.0";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1x0f7n79hjwf5fclf62fpzjp05xdzc93xw84zgyrn8f1hill3qhj";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_scanner_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-scanner";
+    version = "0.9.6";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1w5cyc48g4x5w3rakb4sji5328rl5yph1abmjbh5h4slkm4n76g1";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.9.6";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0izw50pmj1r10hmr29gi8ps01avs6zjwisywijlq7wr268h6yxcg";
+    inherit dependencies buildDependencies features;
+  };
+  wc_lock_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wc-lock";
+    version = "0.2.1";
+    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
+    sha256 = "0ikmir7azihxiyzgb0wnvk81yinmn2l6k93bnb1qg4k704zcyq84";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+    inherit dependencies buildDependencies features;
+  };
+  xml_rs_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xml-rs";
+    version = "0.3.6";
+    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
+    sha256 = "1g1cclib7fj900m4669vxlz45lxcq0m36g7cd8chl494c2xsgj15";
+    libPath = "src/lib.rs";
+    libName = "xml";
+    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
+  ansi_term_0_9_0_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
+  }) [];
+  atty_0_2_2 = { features?(atty_0_2_2_features {}) }: atty_0_2_2_ {
+    dependencies = (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_23 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  atty_0_2_2_features = f: updateFeatures f (rec {
+    atty_0_2_2.default = (f.atty_0_2_2.default or true);
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_23.default = true;
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
+  }) [];
+  bitflags_0_8_2 = { features?(bitflags_0_8_2_features {}) }: bitflags_0_8_2_ {
+    features = mkFeatures (features.bitflags_0_8_2 or {});
+  };
+  bitflags_0_8_2_features = f: updateFeatures f (rec {
+    bitflags_0_8_2.default = (f.bitflags_0_8_2.default or true);
+    bitflags_0_8_2.i128 =
+      (f.bitflags_0_8_2.i128 or false) ||
+      (f.bitflags_0_8_2.unstable or false) ||
+      (bitflags_0_8_2.unstable or false);
+  }) [];
+  byteorder_0_5_3 = { features?(byteorder_0_5_3_features {}) }: byteorder_0_5_3_ {
+    features = mkFeatures (features.byteorder_0_5_3 or {});
+  };
+  byteorder_0_5_3_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = (f.byteorder_0_5_3.default or true);
+    byteorder_0_5_3.std =
+      (f.byteorder_0_5_3.std or false) ||
+      (f.byteorder_0_5_3.default or false) ||
+      (byteorder_0_5_3.default or false);
+  }) [];
+  byteorder_1_1_0 = { features?(byteorder_1_1_0_features {}) }: byteorder_1_1_0_ {
+    features = mkFeatures (features.byteorder_1_1_0 or {});
+  };
+  byteorder_1_1_0_features = f: updateFeatures f (rec {
+    byteorder_1_1_0.default = (f.byteorder_1_1_0.default or true);
+    byteorder_1_1_0.std =
+      (f.byteorder_1_1_0.std or false) ||
+      (f.byteorder_1_1_0.default or false) ||
+      (byteorder_1_1_0.default or false);
+  }) [];
+  cc_1_0_0 = { features?(cc_1_0_0_features {}) }: cc_1_0_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.cc_1_0_0 or {});
+  };
+  cc_1_0_0_features = f: updateFeatures f (rec {
+    cc_1_0_0.default = (f.cc_1_0_0.default or true);
+    cc_1_0_0.rayon =
+      (f.cc_1_0_0.rayon or false) ||
+      (f.cc_1_0_0.parallel or false) ||
+      (cc_1_0_0.parallel or false);
+  }) [];
+  clap_2_24_2 = { features?(clap_2_24_2_features {}) }: clap_2_24_2_ {
+    dependencies = mapFeatures features ([ bitflags_0_8_2 unicode_segmentation_1_2_0 unicode_width_0_1_4 vec_map_0_8_0 ]
+      ++ (if features.clap_2_24_2.ansi_term or false then [ ansi_term_0_9_0 ] else [])
+      ++ (if features.clap_2_24_2.atty or false then [ atty_0_2_2 ] else [])
+      ++ (if features.clap_2_24_2.strsim or false then [ strsim_0_6_0 ] else [])
+      ++ (if features.clap_2_24_2.term_size or false then [ term_size_0_3_0 ] else []));
+    features = mkFeatures (features.clap_2_24_2 or {});
+  };
+  clap_2_24_2_features = f: updateFeatures f (rec {
+    ansi_term_0_9_0.default = true;
+    atty_0_2_2.default = true;
+    bitflags_0_8_2.default = true;
+    clap_2_24_2.ansi_term =
+      (f.clap_2_24_2.ansi_term or false) ||
+      (f.clap_2_24_2.color or false) ||
+      (clap_2_24_2.color or false);
+    clap_2_24_2.atty =
+      (f.clap_2_24_2.atty or false) ||
+      (f.clap_2_24_2.color or false) ||
+      (clap_2_24_2.color or false);
+    clap_2_24_2.clippy =
+      (f.clap_2_24_2.clippy or false) ||
+      (f.clap_2_24_2.lints or false) ||
+      (clap_2_24_2.lints or false);
+    clap_2_24_2.color =
+      (f.clap_2_24_2.color or false) ||
+      (f.clap_2_24_2.default or false) ||
+      (clap_2_24_2.default or false);
+    clap_2_24_2.default = (f.clap_2_24_2.default or true);
+    clap_2_24_2.strsim =
+      (f.clap_2_24_2.strsim or false) ||
+      (f.clap_2_24_2.suggestions or false) ||
+      (clap_2_24_2.suggestions or false);
+    clap_2_24_2.suggestions =
+      (f.clap_2_24_2.suggestions or false) ||
+      (f.clap_2_24_2.default or false) ||
+      (clap_2_24_2.default or false);
+    clap_2_24_2.term_size =
+      (f.clap_2_24_2.term_size or false) ||
+      (f.clap_2_24_2.wrap_help or false) ||
+      (clap_2_24_2.wrap_help or false);
+    clap_2_24_2.wrap_help =
+      (f.clap_2_24_2.wrap_help or false) ||
+      (f.clap_2_24_2.default or false) ||
+      (clap_2_24_2.default or false);
+    clap_2_24_2.yaml-rust =
+      (f.clap_2_24_2.yaml-rust or false) ||
+      (f.clap_2_24_2.yaml or false) ||
+      (clap_2_24_2.yaml or false);
+    strsim_0_6_0.default = true;
+    term_size_0_3_0.default = true;
+    unicode_segmentation_1_2_0.default = true;
+    unicode_width_0_1_4.default = true;
+    vec_map_0_8_0.default = true;
+  }) [ ansi_term_0_9_0_features atty_0_2_2_features bitflags_0_8_2_features strsim_0_6_0_features term_size_0_3_0_features unicode_segmentation_1_2_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
+  coco_0_1_1 = { features?(coco_0_1_1_features {}) }: coco_0_1_1_ {
+    dependencies = mapFeatures features ([ either_1_2_0 scopeguard_0_3_2 ]);
+    features = mkFeatures (features.coco_0_1_1 or {});
+  };
+  coco_0_1_1_features = f: updateFeatures f (rec {
+    coco_0_1_1.default = (f.coco_0_1_1.default or true);
+    either_1_2_0.default = true;
+    scopeguard_0_3_2.default = true;
+  }) [ either_1_2_0_features scopeguard_0_3_2_features ];
+  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
+  color_quant_1_0_0_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
+  }) [];
+  dbus_0_5_4 = { features?(dbus_0_5_4_features {}) }: dbus_0_5_4_ {
+    dependencies = mapFeatures features ([ libc_0_2_23 libdbus_sys_0_1_1 ]);
+    features = mkFeatures (features.dbus_0_5_4 or {});
+  };
+  dbus_0_5_4_features = f: updateFeatures f (rec {
+    dbus_0_5_4.default = (f.dbus_0_5_4.default or true);
+    libc_0_2_23.default = true;
+    libdbus_sys_0_1_1.default = true;
+  }) [ libc_0_2_23_features libdbus_sys_0_1_1_features ];
+  dlib_0_3_1 = { features?(dlib_0_3_1_features {}) }: dlib_0_3_1_ {
+    dependencies = mapFeatures features ([ libloading_0_3_4 ]);
+    features = mkFeatures (features.dlib_0_3_1 or {});
+  };
+  dlib_0_3_1_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
+    libloading_0_3_4.default = true;
+  }) [ libloading_0_3_4_features ];
+  dtoa_0_4_1 = { features?(dtoa_0_4_1_features {}) }: dtoa_0_4_1_ {};
+  dtoa_0_4_1_features = f: updateFeatures f (rec {
+    dtoa_0_4_1.default = (f.dtoa_0_4_1.default or true);
+  }) [];
+  either_1_2_0 = { features?(either_1_2_0_features {}) }: either_1_2_0_ {
+    features = mkFeatures (features.either_1_2_0 or {});
+  };
+  either_1_2_0_features = f: updateFeatures f (rec {
+    either_1_2_0.default = (f.either_1_2_0.default or true);
+    either_1_2_0.use_std =
+      (f.either_1_2_0.use_std or false) ||
+      (f.either_1_2_0.default or false) ||
+      (either_1_2_0.default or false);
+  }) [];
+  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
+  };
+  enum_primitive_0_1_1_features = f: updateFeatures f (rec {
+    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
+    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or false);
+  }) [ num_traits_0_1_37_features ];
+  error_chain_0_10_0 = { features?(error_chain_0_10_0_features {}) }: error_chain_0_10_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.error_chain_0_10_0 or {});
+  };
+  error_chain_0_10_0_features = f: updateFeatures f (rec {
+    error_chain_0_10_0.backtrace =
+      (f.error_chain_0_10_0.backtrace or false) ||
+      (f.error_chain_0_10_0.default or false) ||
+      (error_chain_0_10_0.default or false);
+    error_chain_0_10_0.default = (f.error_chain_0_10_0.default or true);
+    error_chain_0_10_0.example_generated =
+      (f.error_chain_0_10_0.example_generated or false) ||
+      (f.error_chain_0_10_0.default or false) ||
+      (error_chain_0_10_0.default or false);
+  }) [];
+  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
+    dependencies = mapFeatures features ([ libc_0_2_23 ]
+      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
+    features = mkFeatures (features.flate2_0_2_20 or {});
+  };
+  flate2_0_2_20_features = f: updateFeatures f (rec {
+    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
+    flate2_0_2_20.futures =
+      (f.flate2_0_2_20.futures or false) ||
+      (f.flate2_0_2_20.tokio or false) ||
+      (flate2_0_2_20.tokio or false);
+    flate2_0_2_20.libz-sys =
+      (f.flate2_0_2_20.libz-sys or false) ||
+      (f.flate2_0_2_20.zlib or false) ||
+      (flate2_0_2_20.zlib or false);
+    flate2_0_2_20.miniz-sys =
+      (f.flate2_0_2_20.miniz-sys or false) ||
+      (f.flate2_0_2_20.default or false) ||
+      (flate2_0_2_20.default or false);
+    flate2_0_2_20.tokio-io =
+      (f.flate2_0_2_20.tokio-io or false) ||
+      (f.flate2_0_2_20.tokio or false) ||
+      (flate2_0_2_20.tokio or false);
+    libc_0_2_23.default = true;
+    miniz_sys_0_1_10.default = true;
+  }) [ libc_0_2_23_features miniz_sys_0_1_10_features ];
+  fs2_0_2_5 = { features?(fs2_0_2_5_features {}) }: fs2_0_2_5_ {
+    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ]);
+  };
+  fs2_0_2_5_features = f: updateFeatures f (rec {
+    fs2_0_2_5.default = (f.fs2_0_2_5.default or true);
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_23.default = true;
+    winapi_0_2_8.default = true;
+  }) [ kernel32_sys_0_2_2_features libc_0_2_23_features winapi_0_2_8_features ];
+  futures_0_1_16 = { features?(futures_0_1_16_features {}) }: futures_0_1_16_ {
+    features = mkFeatures (features.futures_0_1_16 or {});
+  };
+  futures_0_1_16_features = f: updateFeatures f (rec {
+    futures_0_1_16.default = (f.futures_0_1_16.default or true);
+    futures_0_1_16.use_std =
+      (f.futures_0_1_16.use_std or false) ||
+      (f.futures_0_1_16.default or false) ||
+      (futures_0_1_16.default or false);
+    futures_0_1_16.with-deprecated =
+      (f.futures_0_1_16.with-deprecated or false) ||
+      (f.futures_0_1_16.default or false) ||
+      (futures_0_1_16.default or false);
+  }) [];
+  gcc_0_3_50 = { features?(gcc_0_3_50_features {}) }: gcc_0_3_50_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.gcc_0_3_50 or {});
+  };
+  gcc_0_3_50_features = f: updateFeatures f (rec {
+    gcc_0_3_50.default = (f.gcc_0_3_50.default or true);
+    gcc_0_3_50.rayon =
+      (f.gcc_0_3_50.rayon or false) ||
+      (f.gcc_0_3_50.parallel or false) ||
+      (gcc_0_3_50.parallel or false);
+  }) [];
+  gif_0_9_2 = { features?(gif_0_9_2_features {}) }: gif_0_9_2_ {
+    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
+    features = mkFeatures (features.gif_0_9_2 or {});
+  };
+  gif_0_9_2_features = f: updateFeatures f (rec {
+    color_quant_1_0_0.default = true;
+    gif_0_9_2.default = (f.gif_0_9_2.default or true);
+    gif_0_9_2.libc =
+      (f.gif_0_9_2.libc or false) ||
+      (f.gif_0_9_2.c_api or false) ||
+      (gif_0_9_2.c_api or false);
+    gif_0_9_2.raii_no_panic =
+      (f.gif_0_9_2.raii_no_panic or false) ||
+      (f.gif_0_9_2.default or false) ||
+      (gif_0_9_2.default or false);
+    lzw_0_10_0.default = true;
+  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
+  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
+  glob_0_2_11_features = f: updateFeatures f (rec {
+    glob_0_2_11.default = (f.glob_0_2_11.default or true);
+  }) [];
+  image_0_10_4 = { features?(image_0_10_4_features {}) }: image_0_10_4_ {
+    dependencies = mapFeatures features ([ byteorder_0_5_3 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_34 num_rational_0_1_39 num_traits_0_1_37 ]
+      ++ (if features.image_0_10_4.gif or false then [ gif_0_9_2 ] else [])
+      ++ (if features.image_0_10_4.jpeg-decoder or false then [ jpeg_decoder_0_1_13 ] else [])
+      ++ (if features.image_0_10_4.png or false then [ png_0_5_2 ] else [])
+      ++ (if features.image_0_10_4.scoped_threadpool or false then [ scoped_threadpool_0_1_8 ] else []));
+    features = mkFeatures (features.image_0_10_4 or {});
+  };
+  image_0_10_4_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = true;
+    enum_primitive_0_1_1.default = true;
+    gif_0_9_2.default = true;
+    glob_0_2_11.default = true;
+    image_0_10_4.bmp =
+      (f.image_0_10_4.bmp or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false) ||
+      (f.image_0_10_4.ico or false) ||
+      (image_0_10_4.ico or false);
+    image_0_10_4.default = (f.image_0_10_4.default or true);
+    image_0_10_4.gif =
+      (f.image_0_10_4.gif or false) ||
+      (f.image_0_10_4.gif_codec or false) ||
+      (image_0_10_4.gif_codec or false);
+    image_0_10_4.gif_codec =
+      (f.image_0_10_4.gif_codec or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.hdr =
+      (f.image_0_10_4.hdr or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.ico =
+      (f.image_0_10_4.ico or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.jpeg =
+      (f.image_0_10_4.jpeg or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.jpeg-decoder =
+      (f.image_0_10_4.jpeg-decoder or false) ||
+      (f.image_0_10_4.jpeg or false) ||
+      (image_0_10_4.jpeg or false);
+    image_0_10_4.png =
+      (f.image_0_10_4.png or false) ||
+      (f.image_0_10_4.png_codec or false) ||
+      (image_0_10_4.png_codec or false);
+    image_0_10_4.png_codec =
+      (f.image_0_10_4.png_codec or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false) ||
+      (f.image_0_10_4.ico or false) ||
+      (image_0_10_4.ico or false);
+    image_0_10_4.ppm =
+      (f.image_0_10_4.ppm or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.scoped_threadpool =
+      (f.image_0_10_4.scoped_threadpool or false) ||
+      (f.image_0_10_4.hdr or false) ||
+      (image_0_10_4.hdr or false);
+    image_0_10_4.tga =
+      (f.image_0_10_4.tga or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.tiff =
+      (f.image_0_10_4.tiff or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    image_0_10_4.webp =
+      (f.image_0_10_4.webp or false) ||
+      (f.image_0_10_4.default or false) ||
+      (image_0_10_4.default or false);
+    jpeg_decoder_0_1_13.default = true;
+    num_iter_0_1_34.default = true;
+    num_rational_0_1_39.default = true;
+    num_traits_0_1_37.default = true;
+    png_0_5_2.default = true;
+    scoped_threadpool_0_1_8.default = true;
+  }) [ byteorder_0_5_3_features enum_primitive_0_1_1_features gif_0_9_2_features glob_0_2_11_features jpeg_decoder_0_1_13_features num_iter_0_1_34_features num_rational_0_1_39_features num_traits_0_1_37_features png_0_5_2_features scoped_threadpool_0_1_8_features ];
+  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
+    features = mkFeatures (features.inflate_0_1_1 or {});
+  };
+  inflate_0_1_1_features = f: updateFeatures f (rec {
+    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
+  }) [];
+  itoa_0_3_1 = { features?(itoa_0_3_1_features {}) }: itoa_0_3_1_ {};
+  itoa_0_3_1_features = f: updateFeatures f (rec {
+    itoa_0_3_1.default = (f.itoa_0_3_1.default or true);
+  }) [];
+  jpeg_decoder_0_1_13 = { features?(jpeg_decoder_0_1_13_features {}) }: jpeg_decoder_0_1_13_ {
+    dependencies = mapFeatures features ([ byteorder_1_1_0 ]
+      ++ (if features.jpeg_decoder_0_1_13.rayon or false then [ rayon_0_8_2 ] else []));
+    features = mkFeatures (features.jpeg_decoder_0_1_13 or {});
+  };
+  jpeg_decoder_0_1_13_features = f: updateFeatures f (rec {
+    byteorder_1_1_0.default = true;
+    jpeg_decoder_0_1_13.default = (f.jpeg_decoder_0_1_13.default or true);
+    jpeg_decoder_0_1_13.rayon =
+      (f.jpeg_decoder_0_1_13.rayon or false) ||
+      (f.jpeg_decoder_0_1_13.default or false) ||
+      (jpeg_decoder_0_1_13.default or false);
+    rayon_0_8_2.default = true;
+  }) [ byteorder_1_1_0_features rayon_0_8_2_features ];
+  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  lazy_static_0_2_8 = { features?(lazy_static_0_2_8_features {}) }: lazy_static_0_2_8_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_0_2_8 or {});
+  };
+  lazy_static_0_2_8_features = f: updateFeatures f (rec {
+    lazy_static_0_2_8.default = (f.lazy_static_0_2_8.default or true);
+    lazy_static_0_2_8.nightly =
+      (f.lazy_static_0_2_8.nightly or false) ||
+      (f.lazy_static_0_2_8.spin_no_std or false) ||
+      (lazy_static_0_2_8.spin_no_std or false);
+    lazy_static_0_2_8.spin =
+      (f.lazy_static_0_2_8.spin or false) ||
+      (f.lazy_static_0_2_8.spin_no_std or false) ||
+      (lazy_static_0_2_8.spin_no_std or false);
+  }) [];
+  libc_0_2_23 = { features?(libc_0_2_23_features {}) }: libc_0_2_23_ {
+    features = mkFeatures (features.libc_0_2_23 or {});
+  };
+  libc_0_2_23_features = f: updateFeatures f (rec {
+    libc_0_2_23.default = (f.libc_0_2_23.default or true);
+    libc_0_2_23.use_std =
+      (f.libc_0_2_23.use_std or false) ||
+      (f.libc_0_2_23.default or false) ||
+      (libc_0_2_23.default or false);
+  }) [];
+  libdbus_sys_0_1_1 = { features?(libdbus_sys_0_1_1_features {}) }: libdbus_sys_0_1_1_ {
+    buildDependencies = mapFeatures features ([ metadeps_1_1_2 ]);};
+  libdbus_sys_0_1_1_features = f: updateFeatures f (rec {
+    libdbus_sys_0_1_1.default = (f.libdbus_sys_0_1_1.default or true);
+    metadeps_1_1_2.default = true;
+  }) [ metadeps_1_1_2_features ];
+  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
+    dependencies = mapFeatures features ([ lazy_static_0_2_8 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ target_build_utils_0_3_1 ]);
+  };
+  libloading_0_3_4_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_0_2_8.default = true;
+    libloading_0_3_4.default = (f.libloading_0_3_4.default or true);
+    target_build_utils_0_3_1.default = true;
+    winapi_0_2_8.default = true;
+  }) [ lazy_static_0_2_8_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
+    features = mkFeatures (features.lzw_0_10_0 or {});
+  };
+  lzw_0_10_0_features = f: updateFeatures f (rec {
+    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
+    lzw_0_10_0.raii_no_panic =
+      (f.lzw_0_10_0.raii_no_panic or false) ||
+      (f.lzw_0_10_0.default or false) ||
+      (lzw_0_10_0.default or false);
+  }) [];
+  memmap_0_4_0 = { features?(memmap_0_4_0_features {}) }: memmap_0_4_0_ {
+    dependencies = mapFeatures features ([ fs2_0_2_5 kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ]);
+  };
+  memmap_0_4_0_features = f: updateFeatures f (rec {
+    fs2_0_2_5.default = true;
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_23.default = true;
+    memmap_0_4_0.default = (f.memmap_0_4_0.default or true);
+    winapi_0_2_8.default = true;
+  }) [ fs2_0_2_5_features kernel32_sys_0_2_2_features libc_0_2_23_features winapi_0_2_8_features ];
+  metadeps_1_1_2 = { features?(metadeps_1_1_2_features {}) }: metadeps_1_1_2_ {
+    dependencies = mapFeatures features ([ error_chain_0_10_0 pkg_config_0_3_9 toml_0_2_1 ]);
+  };
+  metadeps_1_1_2_features = f: updateFeatures f (rec {
+    error_chain_0_10_0.default = (f.error_chain_0_10_0.default or false);
+    metadeps_1_1_2.default = (f.metadeps_1_1_2.default or true);
+    pkg_config_0_3_9.default = true;
+    toml_0_2_1.default = (f.toml_0_2_1.default or false);
+  }) [ error_chain_0_10_0_features pkg_config_0_3_9_features toml_0_2_1_features ];
+  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
+    dependencies = mapFeatures features ([ libc_0_2_23 ]);
+    buildDependencies = mapFeatures features ([ cc_1_0_0 ]);
+  };
+  miniz_sys_0_1_10_features = f: updateFeatures f (rec {
+    cc_1_0_0.default = true;
+    libc_0_2_23.default = true;
+    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
+  }) [ libc_0_2_23_features cc_1_0_0_features ];
+  num_bigint_0_1_40 = { features?(num_bigint_0_1_40_features {}) }: num_bigint_0_1_40_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]
+      ++ (if features.num_bigint_0_1_40.rand or false then [ rand_0_3_15 ] else [])
+      ++ (if features.num_bigint_0_1_40.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.num_bigint_0_1_40 or {});
+  };
+  num_bigint_0_1_40_features = f: updateFeatures f (rec {
+    num_bigint_0_1_40.default = (f.num_bigint_0_1_40.default or true);
+    num_bigint_0_1_40.rand =
+      (f.num_bigint_0_1_40.rand or false) ||
+      (f.num_bigint_0_1_40.default or false) ||
+      (num_bigint_0_1_40.default or false);
+    num_bigint_0_1_40.rustc-serialize =
+      (f.num_bigint_0_1_40.rustc-serialize or false) ||
+      (f.num_bigint_0_1_40.default or false) ||
+      (num_bigint_0_1_40.default or false);
+    num_integer_0_1_35.default = true;
+    num_traits_0_1_37.default = true;
+    rand_0_3_15.default = true;
+    rustc_serialize_0_3_24.default = true;
+  }) [ num_integer_0_1_35_features num_traits_0_1_37_features rand_0_3_15_features rustc_serialize_0_3_24_features ];
+  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
+  };
+  num_integer_0_1_35_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
+    num_traits_0_1_37.default = true;
+  }) [ num_traits_0_1_37_features ];
+  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]);
+  };
+  num_iter_0_1_34_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = true;
+    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
+    num_traits_0_1_37.default = true;
+  }) [ num_integer_0_1_35_features num_traits_0_1_37_features ];
+  num_rational_0_1_39 = { features?(num_rational_0_1_39_features {}) }: num_rational_0_1_39_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]
+      ++ (if features.num_rational_0_1_39.num-bigint or false then [ num_bigint_0_1_40 ] else [])
+      ++ (if features.num_rational_0_1_39.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.num_rational_0_1_39 or {});
+  };
+  num_rational_0_1_39_features = f: updateFeatures f (rec {
+    num_bigint_0_1_40.default = true;
+    num_integer_0_1_35.default = true;
+    num_rational_0_1_39.bigint =
+      (f.num_rational_0_1_39.bigint or false) ||
+      (f.num_rational_0_1_39.default or false) ||
+      (num_rational_0_1_39.default or false);
+    num_rational_0_1_39.default = (f.num_rational_0_1_39.default or true);
+    num_rational_0_1_39.num-bigint =
+      (f.num_rational_0_1_39.num-bigint or false) ||
+      (f.num_rational_0_1_39.bigint or false) ||
+      (num_rational_0_1_39.bigint or false);
+    num_rational_0_1_39.rustc-serialize =
+      (f.num_rational_0_1_39.rustc-serialize or false) ||
+      (f.num_rational_0_1_39.default or false) ||
+      (num_rational_0_1_39.default or false);
+    num_traits_0_1_37.default = true;
+    rustc_serialize_0_3_24.default = true;
+  }) [ num_bigint_0_1_40_features num_integer_0_1_35_features num_traits_0_1_37_features rustc_serialize_0_3_24_features ];
+  num_traits_0_1_37 = { features?(num_traits_0_1_37_features {}) }: num_traits_0_1_37_ {};
+  num_traits_0_1_37_features = f: updateFeatures f (rec {
+    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or true);
+  }) [];
+  num_cpus_1_6_2 = { features?(num_cpus_1_6_2_features {}) }: num_cpus_1_6_2_ {
+    dependencies = mapFeatures features ([ libc_0_2_23 ]);
+  };
+  num_cpus_1_6_2_features = f: updateFeatures f (rec {
+    libc_0_2_23.default = true;
+    num_cpus_1_6_2.default = (f.num_cpus_1_6_2.default or true);
+  }) [ libc_0_2_23_features ];
+  phf_0_7_21 = { features?(phf_0_7_21_features {}) }: phf_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 ]);
+    features = mkFeatures (features.phf_0_7_21 or {});
+  };
+  phf_0_7_21_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = (f.phf_0_7_21.default or true);
+    phf_shared_0_7_21.core =
+      (f.phf_shared_0_7_21.core or false) ||
+      (phf_0_7_21.core or false) ||
+      (f.phf_0_7_21.core or false);
+    phf_shared_0_7_21.default = true;
+    phf_shared_0_7_21.unicase =
+      (f.phf_shared_0_7_21.unicase or false) ||
+      (phf_0_7_21.unicase or false) ||
+      (f.phf_0_7_21.unicase or false);
+  }) [ phf_shared_0_7_21_features ];
+  phf_codegen_0_7_21 = { features?(phf_codegen_0_7_21_features {}) }: phf_codegen_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_generator_0_7_21 phf_shared_0_7_21 ]);
+  };
+  phf_codegen_0_7_21_features = f: updateFeatures f (rec {
+    phf_codegen_0_7_21.default = (f.phf_codegen_0_7_21.default or true);
+    phf_generator_0_7_21.default = true;
+    phf_shared_0_7_21.default = true;
+  }) [ phf_generator_0_7_21_features phf_shared_0_7_21_features ];
+  phf_generator_0_7_21 = { features?(phf_generator_0_7_21_features {}) }: phf_generator_0_7_21_ {
+    dependencies = mapFeatures features ([ phf_shared_0_7_21 rand_0_3_15 ]);
+  };
+  phf_generator_0_7_21_features = f: updateFeatures f (rec {
+    phf_generator_0_7_21.default = (f.phf_generator_0_7_21.default or true);
+    phf_shared_0_7_21.default = true;
+    rand_0_3_15.default = true;
+  }) [ phf_shared_0_7_21_features rand_0_3_15_features ];
+  phf_shared_0_7_21 = { features?(phf_shared_0_7_21_features {}) }: phf_shared_0_7_21_ {
+    dependencies = mapFeatures features ([ siphasher_0_2_2 ]);
+    features = mkFeatures (features.phf_shared_0_7_21 or {});
+  };
+  phf_shared_0_7_21_features = f: updateFeatures f (rec {
+    phf_shared_0_7_21.default = (f.phf_shared_0_7_21.default or true);
+    siphasher_0_2_2.default = true;
+  }) [ siphasher_0_2_2_features ];
+  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
+  pkg_config_0_3_9_features = f: updateFeatures f (rec {
+    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
+  }) [];
+  png_0_5_2 = { features?(png_0_5_2_features {}) }: png_0_5_2_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_34 ]
+      ++ (if features.png_0_5_2.flate2 or false then [ flate2_0_2_20 ] else []));
+    features = mkFeatures (features.png_0_5_2 or {});
+  };
+  png_0_5_2_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    flate2_0_2_20.default = true;
+    inflate_0_1_1.default = true;
+    num_iter_0_1_34.default = true;
+    png_0_5_2.default = (f.png_0_5_2.default or true);
+    png_0_5_2.flate2 =
+      (f.png_0_5_2.flate2 or false) ||
+      (f.png_0_5_2.png-encoding or false) ||
+      (png_0_5_2.png-encoding or false);
+    png_0_5_2.png-encoding =
+      (f.png_0_5_2.png-encoding or false) ||
+      (f.png_0_5_2.default or false) ||
+      (png_0_5_2.default or false);
+  }) [ bitflags_0_7_0_features flate2_0_2_20_features inflate_0_1_1_features num_iter_0_1_34_features ];
+  rand_0_3_15 = { features?(rand_0_3_15_features {}) }: rand_0_3_15_ {
+    dependencies = mapFeatures features ([ libc_0_2_23 ]);
+  };
+  rand_0_3_15_features = f: updateFeatures f (rec {
+    libc_0_2_23.default = true;
+    rand_0_3_15.default = (f.rand_0_3_15.default or true);
+  }) [ libc_0_2_23_features ];
+  rayon_0_8_2 = { features?(rayon_0_8_2_features {}) }: rayon_0_8_2_ {
+    dependencies = mapFeatures features ([ rayon_core_1_2_1 ]);
+  };
+  rayon_0_8_2_features = f: updateFeatures f (rec {
+    rayon_0_8_2.default = (f.rayon_0_8_2.default or true);
+    rayon_core_1_2_1.default = true;
+  }) [ rayon_core_1_2_1_features ];
+  rayon_core_1_2_1 = { features?(rayon_core_1_2_1_features {}) }: rayon_core_1_2_1_ {
+    dependencies = mapFeatures features ([ coco_0_1_1 futures_0_1_16 lazy_static_0_2_8 libc_0_2_23 num_cpus_1_6_2 rand_0_3_15 ]);
+  };
+  rayon_core_1_2_1_features = f: updateFeatures f (rec {
+    coco_0_1_1.default = true;
+    futures_0_1_16.default = true;
+    lazy_static_0_2_8.default = true;
+    libc_0_2_23.default = true;
+    num_cpus_1_6_2.default = true;
+    rand_0_3_15.default = true;
+    rayon_core_1_2_1.default = (f.rayon_core_1_2_1.default or true);
+  }) [ coco_0_1_1_features futures_0_1_16_features lazy_static_0_2_8_features libc_0_2_23_features num_cpus_1_6_2_features rand_0_3_15_features ];
+  rustc_serialize_0_3_24 = { features?(rustc_serialize_0_3_24_features {}) }: rustc_serialize_0_3_24_ {};
+  rustc_serialize_0_3_24_features = f: updateFeatures f (rec {
+    rustc_serialize_0_3_24.default = (f.rustc_serialize_0_3_24.default or true);
+  }) [];
+  rustc_version_0_1_7 = { features?(rustc_version_0_1_7_features {}) }: rustc_version_0_1_7_ {
+    dependencies = mapFeatures features ([ semver_0_1_20 ]);
+  };
+  rustc_version_0_1_7_features = f: updateFeatures f (rec {
+    rustc_version_0_1_7.default = (f.rustc_version_0_1_7.default or true);
+    semver_0_1_20.default = true;
+  }) [ semver_0_1_20_features ];
+  scoped_threadpool_0_1_8 = { features?(scoped_threadpool_0_1_8_features {}) }: scoped_threadpool_0_1_8_ {
+    features = mkFeatures (features.scoped_threadpool_0_1_8 or {});
+  };
+  scoped_threadpool_0_1_8_features = f: updateFeatures f (rec {
+    scoped_threadpool_0_1_8.default = (f.scoped_threadpool_0_1_8.default or true);
+  }) [];
+  scopeguard_0_3_2 = { features?(scopeguard_0_3_2_features {}) }: scopeguard_0_3_2_ {
+    features = mkFeatures (features.scopeguard_0_3_2 or {});
+  };
+  scopeguard_0_3_2_features = f: updateFeatures f (rec {
+    scopeguard_0_3_2.default = (f.scopeguard_0_3_2.default or true);
+    scopeguard_0_3_2.use_std =
+      (f.scopeguard_0_3_2.use_std or false) ||
+      (f.scopeguard_0_3_2.default or false) ||
+      (scopeguard_0_3_2.default or false);
+  }) [];
+  semver_0_1_20 = { features?(semver_0_1_20_features {}) }: semver_0_1_20_ {};
+  semver_0_1_20_features = f: updateFeatures f (rec {
+    semver_0_1_20.default = (f.semver_0_1_20.default or true);
+  }) [];
+  serde_0_9_15 = { features?(serde_0_9_15_features {}) }: serde_0_9_15_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.serde_0_9_15 or {});
+  };
+  serde_0_9_15_features = f: updateFeatures f (rec {
+    serde_0_9_15.alloc =
+      (f.serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.collections or false) ||
+      (serde_0_9_15.collections or false);
+    serde_0_9_15.default = (f.serde_0_9_15.default or true);
+    serde_0_9_15.serde_derive =
+      (f.serde_0_9_15.serde_derive or false) ||
+      (f.serde_0_9_15.derive or false) ||
+      (serde_0_9_15.derive or false) ||
+      (f.serde_0_9_15.playground or false) ||
+      (serde_0_9_15.playground or false);
+    serde_0_9_15.std =
+      (f.serde_0_9_15.std or false) ||
+      (f.serde_0_9_15.default or false) ||
+      (serde_0_9_15.default or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+    serde_0_9_15.unstable =
+      (f.serde_0_9_15.unstable or false) ||
+      (f.serde_0_9_15.alloc or false) ||
+      (serde_0_9_15.alloc or false) ||
+      (f.serde_0_9_15.unstable-testing or false) ||
+      (serde_0_9_15.unstable-testing or false);
+  }) [];
+  serde_json_0_9_10 = { features?(serde_json_0_9_10_features {}) }: serde_json_0_9_10_ {
+    dependencies = mapFeatures features ([ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_15 ]);
+    features = mkFeatures (features.serde_json_0_9_10 or {});
+  };
+  serde_json_0_9_10_features = f: updateFeatures f (rec {
+    dtoa_0_4_1.default = true;
+    itoa_0_3_1.default = true;
+    num_traits_0_1_37.default = true;
+    serde_0_9_15.default = true;
+    serde_json_0_9_10.default = (f.serde_json_0_9_10.default or true);
+    serde_json_0_9_10.linked-hash-map =
+      (f.serde_json_0_9_10.linked-hash-map or false) ||
+      (f.serde_json_0_9_10.preserve_order or false) ||
+      (serde_json_0_9_10.preserve_order or false);
+  }) [ dtoa_0_4_1_features itoa_0_3_1_features num_traits_0_1_37_features serde_0_9_15_features ];
+  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
+    dependencies = mapFeatures features ([]);
+  };
+  siphasher_0_2_2_features = f: updateFeatures f (rec {
+    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
+  }) [];
+  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
+  strsim_0_6_0_features = f: updateFeatures f (rec {
+    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
+  }) [];
+  target_build_utils_0_3_1 = { features?(target_build_utils_0_3_1_features {}) }: target_build_utils_0_3_1_ {
+    dependencies = mapFeatures features ([ phf_0_7_21 ]
+      ++ (if features.target_build_utils_0_3_1.serde_json or false then [ serde_json_0_9_10 ] else []));
+    buildDependencies = mapFeatures features ([ phf_codegen_0_7_21 ]);
+    features = mkFeatures (features.target_build_utils_0_3_1 or {});
+  };
+  target_build_utils_0_3_1_features = f: updateFeatures f (rec {
+    phf_0_7_21.default = true;
+    phf_codegen_0_7_21.default = true;
+    serde_json_0_9_10.default = true;
+    target_build_utils_0_3_1.default = (f.target_build_utils_0_3_1.default or true);
+    target_build_utils_0_3_1.serde_json =
+      (f.target_build_utils_0_3_1.serde_json or false) ||
+      (f.target_build_utils_0_3_1.default or false) ||
+      (target_build_utils_0_3_1.default or false);
+  }) [ phf_0_7_21_features serde_json_0_9_10_features phf_codegen_0_7_21_features ];
+  tempfile_2_1_5 = { features?(tempfile_2_1_5_features {}) }: tempfile_2_1_5_ {
+    dependencies = mapFeatures features ([ rand_0_3_15 ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_23 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ rustc_version_0_1_7 ]);
+  };
+  tempfile_2_1_5_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_23.default = true;
+    rand_0_3_15.default = true;
+    rustc_version_0_1_7.default = true;
+    tempfile_2_1_5.default = (f.tempfile_2_1_5.default or true);
+    winapi_0_2_8.default = true;
+  }) [ rand_0_3_15_features rustc_version_0_1_7_features libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  term_size_0_3_0 = { features?(term_size_0_3_0_features {}) }: term_size_0_3_0_ {
+    dependencies = mapFeatures features ([])
+      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_23 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+    features = mkFeatures (features.term_size_0_3_0 or {});
+  };
+  term_size_0_3_0_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_23.default = true;
+    term_size_0_3_0.clippy =
+      (f.term_size_0_3_0.clippy or false) ||
+      (f.term_size_0_3_0.lints or false) ||
+      (term_size_0_3_0.lints or false);
+    term_size_0_3_0.default = (f.term_size_0_3_0.default or true);
+    term_size_0_3_0.lints =
+      (f.term_size_0_3_0.lints or false) ||
+      (f.term_size_0_3_0.travis or false) ||
+      (term_size_0_3_0.travis or false);
+    term_size_0_3_0.nightly =
+      (f.term_size_0_3_0.nightly or false) ||
+      (f.term_size_0_3_0.lints or false) ||
+      (term_size_0_3_0.lints or false) ||
+      (f.term_size_0_3_0.travis or false) ||
+      (term_size_0_3_0.travis or false);
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  toml_0_2_1 = { features?(toml_0_2_1_features {}) }: toml_0_2_1_ {
+    dependencies = mapFeatures features ([]);
+  };
+  toml_0_2_1_features = f: updateFeatures f (rec {
+    toml_0_2_1.default = (f.toml_0_2_1.default or true);
+    toml_0_2_1.rustc-serialize =
+      (f.toml_0_2_1.rustc-serialize or false) ||
+      (f.toml_0_2_1.default or false) ||
+      (toml_0_2_1.default or false);
+  }) [];
+  unicode_segmentation_1_2_0 = { features?(unicode_segmentation_1_2_0_features {}) }: unicode_segmentation_1_2_0_ {
+    features = mkFeatures (features.unicode_segmentation_1_2_0 or {});
+  };
+  unicode_segmentation_1_2_0_features = f: updateFeatures f (rec {
+    unicode_segmentation_1_2_0.default = (f.unicode_segmentation_1_2_0.default or true);
+  }) [];
+  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
+    features = mkFeatures (features.unicode_width_0_1_4 or {});
+  };
+  unicode_width_0_1_4_features = f: updateFeatures f (rec {
+    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
+  }) [];
+  vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.vec_map_0_8_0 or {});
+  };
+  vec_map_0_8_0_features = f: updateFeatures f (rec {
+    vec_map_0_8_0.default = (f.vec_map_0_8_0.default or true);
+    vec_map_0_8_0.serde =
+      (f.vec_map_0_8_0.serde or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+    vec_map_0_8_0.serde_derive =
+      (f.vec_map_0_8_0.serde_derive or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+  }) [];
+  way_cooler_client_helpers_0_1_0 = { features?(way_cooler_client_helpers_0_1_0_features {}) }: way_cooler_client_helpers_0_1_0_ {
+    dependencies = mapFeatures features ([ wayland_client_0_9_6 wayland_sys_0_9_6 ]);
+  };
+  way_cooler_client_helpers_0_1_0_features = f: updateFeatures f (rec {
+    way_cooler_client_helpers_0_1_0.default = (f.way_cooler_client_helpers_0_1_0.default or true);
+    wayland_client_0_9_6.cursor = true;
+    wayland_client_0_9_6.default = true;
+    wayland_client_0_9_6.dlopen = true;
+    wayland_sys_0_9_6.client = true;
+    wayland_sys_0_9_6.default = true;
+    wayland_sys_0_9_6.dlopen = true;
+  }) [ wayland_client_0_9_6_features wayland_sys_0_9_6_features ];
+  wayland_client_0_9_6 = { features?(wayland_client_0_9_6_features {}) }: wayland_client_0_9_6_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 libc_0_2_23 wayland_sys_0_9_6 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_6 ]);
+    features = mkFeatures (features.wayland_client_0_9_6 or {});
+  };
+  wayland_client_0_9_6_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    libc_0_2_23.default = true;
+    wayland_client_0_9_6.cursor =
+      (f.wayland_client_0_9_6.cursor or false) ||
+      (f.wayland_client_0_9_6.default or false) ||
+      (wayland_client_0_9_6.default or false);
+    wayland_client_0_9_6.default = (f.wayland_client_0_9_6.default or true);
+    wayland_client_0_9_6.egl =
+      (f.wayland_client_0_9_6.egl or false) ||
+      (f.wayland_client_0_9_6.default or false) ||
+      (wayland_client_0_9_6.default or false);
+    wayland_scanner_0_9_6.default = true;
+    wayland_sys_0_9_6.client = true;
+    wayland_sys_0_9_6.cursor =
+      (f.wayland_sys_0_9_6.cursor or false) ||
+      (wayland_client_0_9_6.cursor or false) ||
+      (f.wayland_client_0_9_6.cursor or false);
+    wayland_sys_0_9_6.default = true;
+    wayland_sys_0_9_6.dlopen =
+      (f.wayland_sys_0_9_6.dlopen or false) ||
+      (wayland_client_0_9_6.dlopen or false) ||
+      (f.wayland_client_0_9_6.dlopen or false);
+    wayland_sys_0_9_6.egl =
+      (f.wayland_sys_0_9_6.egl or false) ||
+      (wayland_client_0_9_6.egl or false) ||
+      (f.wayland_client_0_9_6.egl or false);
+  }) [ bitflags_0_7_0_features libc_0_2_23_features wayland_sys_0_9_6_features wayland_scanner_0_9_6_features ];
+  wayland_kbd_0_9_0 = { features?(wayland_kbd_0_9_0_features {}) }: wayland_kbd_0_9_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 dlib_0_3_1 lazy_static_0_2_8 memmap_0_4_0 wayland_client_0_9_6 ]);
+  };
+  wayland_kbd_0_9_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    dlib_0_3_1.default = true;
+    lazy_static_0_2_8.default = true;
+    memmap_0_4_0.default = true;
+    wayland_client_0_9_6.default = true;
+    wayland_kbd_0_9_0.default = (f.wayland_kbd_0_9_0.default or true);
+  }) [ bitflags_0_7_0_features dlib_0_3_1_features lazy_static_0_2_8_features memmap_0_4_0_features wayland_client_0_9_6_features ];
+  wayland_scanner_0_9_6 = { features?(wayland_scanner_0_9_6_features {}) }: wayland_scanner_0_9_6_ {
+    dependencies = mapFeatures features ([ xml_rs_0_3_6 ]);
+  };
+  wayland_scanner_0_9_6_features = f: updateFeatures f (rec {
+    wayland_scanner_0_9_6.default = (f.wayland_scanner_0_9_6.default or true);
+    xml_rs_0_3_6.default = true;
+  }) [ xml_rs_0_3_6_features ];
+  wayland_sys_0_9_6 = { features?(wayland_sys_0_9_6_features {}) }: wayland_sys_0_9_6_ {
+    dependencies = mapFeatures features ([ dlib_0_3_1 ]
+      ++ (if features.wayland_sys_0_9_6.lazy_static or false then [ lazy_static_0_2_8 ] else []));
+    features = mkFeatures (features.wayland_sys_0_9_6 or {});
+  };
+  wayland_sys_0_9_6_features = f: updateFeatures f (rec {
+    dlib_0_3_1.default = true;
+    dlib_0_3_1.dlopen =
+      (f.dlib_0_3_1.dlopen or false) ||
+      (wayland_sys_0_9_6.dlopen or false) ||
+      (f.wayland_sys_0_9_6.dlopen or false);
+    lazy_static_0_2_8.default = true;
+    wayland_sys_0_9_6.default = (f.wayland_sys_0_9_6.default or true);
+    wayland_sys_0_9_6.lazy_static =
+      (f.wayland_sys_0_9_6.lazy_static or false) ||
+      (f.wayland_sys_0_9_6.dlopen or false) ||
+      (wayland_sys_0_9_6.dlopen or false);
+    wayland_sys_0_9_6.libc =
+      (f.wayland_sys_0_9_6.libc or false) ||
+      (f.wayland_sys_0_9_6.server or false) ||
+      (wayland_sys_0_9_6.server or false);
+  }) [ dlib_0_3_1_features lazy_static_0_2_8_features ];
+  wc_lock_0_2_1 = { features?(wc_lock_0_2_1_features {}) }: wc_lock_0_2_1_ {
+    dependencies = mapFeatures features ([ byteorder_0_5_3 clap_2_24_2 dbus_0_5_4 image_0_10_4 libc_0_2_23 rand_0_3_15 tempfile_2_1_5 way_cooler_client_helpers_0_1_0 wayland_client_0_9_6 wayland_kbd_0_9_0 wayland_sys_0_9_6 ]);
+    buildDependencies = mapFeatures features ([ gcc_0_3_50 wayland_scanner_0_9_6 ]);
+  };
+  wc_lock_0_2_1_features = f: updateFeatures f (rec {
+    byteorder_0_5_3.default = true;
+    clap_2_24_2.default = true;
+    dbus_0_5_4.default = true;
+    gcc_0_3_50.default = true;
+    image_0_10_4.default = true;
+    libc_0_2_23.default = true;
+    rand_0_3_15.default = true;
+    tempfile_2_1_5.default = true;
+    way_cooler_client_helpers_0_1_0.default = true;
+    wayland_client_0_9_6.cursor = true;
+    wayland_client_0_9_6.default = true;
+    wayland_client_0_9_6.dlopen = true;
+    wayland_kbd_0_9_0.default = true;
+    wayland_scanner_0_9_6.default = true;
+    wayland_sys_0_9_6.client = true;
+    wayland_sys_0_9_6.default = true;
+    wayland_sys_0_9_6.dlopen = true;
+    wc_lock_0_2_1.default = (f.wc_lock_0_2_1.default or true);
+  }) [ byteorder_0_5_3_features clap_2_24_2_features dbus_0_5_4_features image_0_10_4_features libc_0_2_23_features rand_0_3_15_features tempfile_2_1_5_features way_cooler_client_helpers_0_1_0_features wayland_client_0_9_6_features wayland_kbd_0_9_0_features wayland_sys_0_9_6_features gcc_0_3_50_features wayland_scanner_0_9_6_features ];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  }) [];
+  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
+  winapi_build_0_1_1_features = f: updateFeatures f (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
+  xml_rs_0_3_6 = { features?(xml_rs_0_3_6_features {}) }: xml_rs_0_3_6_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
+  };
+  xml_rs_0_3_6_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    xml_rs_0_3_6.default = (f.xml_rs_0_3_6.default or true);
+  }) [ bitflags_0_7_0_features ];
 }
diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix
index 842e10ad83b7..77abc0c7ed4b 100644
--- a/pkgs/applications/window-managers/yabar/unstable.nix
+++ b/pkgs/applications/window-managers/yabar/unstable.nix
@@ -2,10 +2,10 @@
 
 let
   pkg = callPackage ./build.nix ({
-    version = "unstable-2018-01-02";
+    version = "unstable-2018-01-18";
 
-    rev    = "d9f75933f1fdd7bec24bf7db104c7e1df2728b98";
-    sha256 = "0ry2pgqsnl6cmvkhakm73cjqdnirkimldnmbngl6hbvggx32z8c9";
+    rev    = "c516e8e78d39dd2b339acadc4c175347171150bb";
+    sha256 = "1p9lx78cayyn7qc2q66id2xfs76jyddnqv2x1ypsvixaxwcvqgdb";
   } // attrs);
 in pkg.overrideAttrs (o: {
   buildInputs = o.buildInputs ++ [
diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix
index 27633c912b23..4e780b104b08 100644
--- a/pkgs/build-support/emacs/wrapper.nix
+++ b/pkgs/build-support/emacs/wrapper.nix
@@ -40,7 +40,7 @@ packagesFun: # packages explicitly requested by the user
 
 let
   explicitRequires =
-    if builtins.isFunction packagesFun
+    if lib.isFunction packagesFun
       then packagesFun self
     else packagesFun;
 in
diff --git a/pkgs/build-support/fetchbower/default.nix b/pkgs/build-support/fetchbower/default.nix
index 04b2a969a36d..fd971d431df8 100644
--- a/pkgs/build-support/fetchbower/default.nix
+++ b/pkgs/build-support/fetchbower/default.nix
@@ -11,7 +11,6 @@ let
 
   fetchbower = name: version: target: outputHash: stdenvNoCC.mkDerivation {
     name = "${cleanName name}-${bowerVersion version}";
-    SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
     buildCommand = ''
       fetch-bower --quiet --out=$PWD/out "${name}" "${target}" "${version}"
       # In some cases, the result of fetchBower is different depending
@@ -23,7 +22,7 @@ let
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
     inherit outputHash;
-    nativeBuildInputs = [ bower2nix ];
+    nativeBuildInputs = [ bower2nix cacert ];
   };
 
 in fetchbower
diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix
index b2b0c364a130..3b965b06662c 100644
--- a/pkgs/build-support/fetchdarcs/default.nix
+++ b/pkgs/build-support/fetchdarcs/default.nix
@@ -7,9 +7,8 @@ if md5 != "" then
 else
 stdenvNoCC.mkDerivation {
   name = "fetchdarcs";
-  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
   builder = ./builder.sh;
-  nativeBuildInputs = [darcs];
+  nativeBuildInputs = [cacert darcs];
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 17962d08acc3..2441da156d1a 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -184,7 +184,7 @@ init_submodules(){
         local url
 
         # checkout each submodule
-        hash=$(echo "$l" | awk '{print substr($1,2)}')
+        hash=$(echo "$l" | awk '{print $1}' | tr -d '-')
         dir=$(echo "$l" | awk '{print $2}')
         name=$(
             git config -f .gitmodules --get-regexp submodule\..*\.path |
diff --git a/pkgs/build-support/fetchgx/default.nix b/pkgs/build-support/fetchgx/default.nix
index c8c643182231..3ccf5d273fc5 100644
--- a/pkgs/build-support/fetchgx/default.nix
+++ b/pkgs/build-support/fetchgx/default.nix
@@ -6,7 +6,7 @@ stdenvNoCC.mkDerivation {
   name = "${name}-gxdeps";
   inherit src;
 
-  nativeBuildInputs = [ go gx gx-go ];
+  nativeBuildInputs = [ cacert go gx gx-go ];
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
@@ -14,8 +14,6 @@ stdenvNoCC.mkDerivation {
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
 
-  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
   buildPhase = ''
     export GOPATH=$(pwd)/vendor
     mkdir -p vendor
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index e3159d205301..c185497e6913 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -5,7 +5,7 @@
 # stripLen acts as the -p parameter when applying a patch.
 
 { lib, fetchurl, patchutils }:
-{ stripLen ? 0, addPrefixes ? false, excludes ? [], ... }@args:
+{ stripLen ? 0, extraPrefix ? null, excludes ? [], ... }@args:
 
 fetchurl ({
   postFetch = ''
@@ -16,9 +16,9 @@ fetchurl ({
         "${patchutils}/bin/filterdiff" \
         --include={} \
         --strip=${toString stripLen} \
-        ${lib.optionalString addPrefixes ''
-           --addoldprefix=a/ \
-           --addnewprefix=b/ \
+        ${lib.optionalString (extraPrefix != null) ''
+           --addoldprefix=a/${extraPrefix} \
+           --addnewprefix=b/${extraPrefix} \
         ''} \
         --clean "$out" > "$tmpfile"
     ${patchutils}/bin/filterdiff \
@@ -27,4 +27,4 @@ fetchurl ({
       "$tmpfile" > "$out"
     ${args.postFetch or ""}
   '';
-} // builtins.removeAttrs args ["stripLen" "addPrefixes" "excludes" "postFetch"])
+} // builtins.removeAttrs args ["stripLen" "extraPrefix" "excludes" "postFetch"])
diff --git a/pkgs/build-support/rust/build-rust-crate.nix b/pkgs/build-support/rust/build-rust-crate.nix
index 72bb3b80492a..e36fab36bf97 100644
--- a/pkgs/build-support/rust/build-rust-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate.nix
@@ -297,9 +297,15 @@ in
 crate_: lib.makeOverridable ({ rust, release, verbose, features, buildInputs, crateOverrides }:
 
 let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverrides crate_);
+    processedAttrs = [
+      "src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
+      "buildDependencies" "dependencies" "features"
+      "crateName" "version" "build" "authors" "colors"
+    ];
+    extraDerivationAttrs = lib.filterAttrs (n: v: ! lib.elem n processedAttrs) crate;
     buildInputs_ = buildInputs;
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
 
     inherit (crate) crateName;
 
@@ -372,7 +378,7 @@ stdenv.mkDerivation rec {
     };
     installPhase = installCrate crateName;
 
-}) {
+} // extraDerivationAttrs)) {
   rust = rustc;
   release = true;
   verbose = true;
diff --git a/pkgs/build-support/rust/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor.nix
deleted file mode 100644
index 9c379eaa3337..000000000000
--- a/pkgs/build-support/rust/cargo-vendor.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchurl, stdenv }:
-let
-  inherit (stdenv) system;
-
-  version = "0.1.12";
-
-  hashes = {
-    x86_64-linux = "1hxlavcxy374yypfamlkygjg662lhll8j434qcvdawkvlidg5ii5";
-    x86_64-darwin = "1jkvhh710gwjnnjx59kaplx2ncfvkx9agfa76rr94sbjqq4igddm";
-  };
-  hash = hashes. ${system} or badSystem;
-
-  badSystem = throw "missing bootstrap hash for platform ${system}";
-
-  platforms = {
-    x86_64-linux = "x86_64-unknown-linux-musl";
-    x86_64-darwin = "x86_64-apple-darwin";
-  };
-  platform = platforms . ${system} or badSystem;
-
-in stdenv.mkDerivation {
-  name = "cargo-vendor-${version}";
-
-  src = fetchurl {
-     url = "https://github.com/alexcrichton/cargo-vendor/releases/download/${version}/cargo-vendor-${version}-${platform}.tar.gz";
-     sha256 = hash;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  installPhase = ''
-    install -Dm755 cargo-vendor $out/bin/cargo-vendor
-  '';
-}
diff --git a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
new file mode 100644
index 000000000000..ac6bb6ab1bd4
--- /dev/null
+++ b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
@@ -0,0 +1,1487 @@
+# Generated by carnix 0.5.2: carnix Cargo.lock -o cargo-vendor.nix
+{ lib, buildPlatform, buildRustCrate, fetchgit }:
+let kernel = buildPlatform.parsed.kernel.name;
+    abi = buildPlatform.parsed.abi.name;
+    hasFeature = feature:
+      lib.lists.any
+        (originName: feature.${originName})
+        (builtins.attrNames feature);
+
+    hasDefault = feature:
+      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
+      (defaultFeatures == [])
+      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
+
+    mkFeatures = feat: lib.lists.foldl (features: featureName:
+      if featureName != "" && hasFeature feat.${featureName} then
+        [ featureName ] ++ features
+      else
+        features
+    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
+    advapi32_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "advapi32-sys";
+      version = "0.2.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1l6789hkz2whd9gklwz1m379kcvyizaj8nnzj3rn4a5h79yg59v7";
+      libName = "advapi32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "aho-corasick";
+      version = "0.6.3";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
+      libName = "aho_corasick";
+      crateBin = [ {  name = "aho-corasick-dot"; } ];
+      inherit dependencies buildDependencies features;
+    };
+    atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "atty";
+      version = "0.2.3";
+      authors = [ "softprops <d.tangren@gmail.com>" ];
+      sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+      inherit dependencies buildDependencies features;
+    };
+    backtrace_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "backtrace";
+      version = "0.3.3";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+      sha256 = "0invfdxkj85v8zyrjs3amfxjdk2a36x8irq7wq7kny6q49hh8y0z";
+      inherit dependencies buildDependencies features;
+    };
+    backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "backtrace-sys";
+      version = "0.1.16";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "bitflags";
+      version = "0.7.0";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+      inherit dependencies buildDependencies features;
+    };
+    bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "bitflags";
+      version = "0.9.1";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+      inherit dependencies buildDependencies features;
+    };
+    cargo_0_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cargo";
+      version = "0.22.0";
+      authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1a47jzkxydsrcyybdqv7wd6a2f258c8bb8rb2jv5n4apxz5qhycl";
+      libPath = "src/cargo/lib.rs";
+      crateBin = [ {  name = "cargo"; } ];
+      inherit dependencies buildDependencies features;
+    };
+    cargo_vendor_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cargo-vendor";
+      version = "0.1.13";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      src = ./.;
+      inherit dependencies buildDependencies features;
+    };
+    cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cc";
+      version = "1.0.3";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+      inherit dependencies buildDependencies features;
+    };
+    cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cfg-if";
+      version = "0.1.2";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+      inherit dependencies buildDependencies features;
+    };
+    cmake_0_1_26_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cmake";
+      version = "0.1.26";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0qi1vb1fzlngxr4mzklg58jjmvwj08059pjvh0yh1azzj2mcmgx6";
+      inherit dependencies buildDependencies features;
+    };
+    core_foundation_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "core-foundation";
+      version = "0.4.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "1vn9cdbihjnqrlznrbvw0yggz5grb4wqll5xq080w28xxhnayyhx";
+      inherit dependencies buildDependencies features;
+    };
+    core_foundation_sys_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "core-foundation-sys";
+      version = "0.4.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "022i015jzjmv85vr25l9caxz211649d8rnbcsmr0gh9k4ygm7pqk";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    crates_io_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "crates-io";
+      version = "0.11.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1xxhbka89bk1kkhl8nsnlp9ih64fzv904dyb7jyws7lizcvq77wm";
+      libPath = "lib.rs";
+      libName = "crates_io";
+      inherit dependencies buildDependencies features;
+    };
+    crossbeam_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "crossbeam";
+      version = "0.2.10";
+      authors = [ "Aaron Turon <aturon@mozilla.com>" ];
+      sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
+      inherit dependencies buildDependencies features;
+    };
+    curl_0_4_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "curl";
+      version = "0.4.8";
+      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0pxg1bpplm1bp8b8gzlvs4pmd36m02gjhskvwrd161hh9pslczv5";
+      inherit dependencies buildDependencies features;
+    };
+    curl_sys_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "curl-sys";
+      version = "0.3.15";
+      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0x2ysxhpwg1a7srf74v4qcy516jzf0kjg87hsl6cfnasxplz5x1g";
+      libPath = "lib.rs";
+      libName = "curl_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "dbghelp-sys";
+      version = "0.2.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
+      libName = "dbghelp";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    docopt_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "docopt";
+      version = "0.8.1";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "0kmqy534qgcc2hh81nd248jmnvdjb5y4wclddd7y2jjm27rzibss";
+      crateBin = [ {  name = "docopt-wordlist";  path = "src/wordlist.rs"; } ];
+      inherit dependencies buildDependencies features;
+    };
+    dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "dtoa";
+      version = "0.4.2";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+      inherit dependencies buildDependencies features;
+    };
+    env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "env_logger";
+      version = "0.4.3";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
+      inherit dependencies buildDependencies features;
+    };
+    error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "error-chain";
+      version = "0.11.0";
+      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
+      sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
+      inherit dependencies buildDependencies features;
+    };
+    filetime_0_1_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "filetime";
+      version = "0.1.14";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
+      inherit dependencies buildDependencies features;
+    };
+    flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "flate2";
+      version = "0.2.20";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+      inherit dependencies buildDependencies features;
+    };
+    fnv_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fnv";
+      version = "1.0.5";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "164832m16b3hdm3jfrda03ps3ayi5qb855irpm9sqpnw1awpy2a2";
+      libPath = "lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    foreign_types_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "foreign-types";
+      version = "0.2.0";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "1sznwg2py4xi7hyrx0gg1sirlwgh87wsanvjx3zb475g6c4139jh";
+      inherit dependencies buildDependencies features;
+    };
+    fs2_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fs2";
+      version = "0.4.2";
+      authors = [ "Dan Burkert <dan@danburkert.com>" ];
+      sha256 = "034s52pmqvrkafmmlnklysqx6gl08rl63ycngbav9hs0mrq22qvf";
+      inherit dependencies buildDependencies features;
+    };
+    fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fuchsia-zircon";
+      version = "0.2.1";
+      authors = [ "Raph Levien <raph@google.com>" ];
+      sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+      inherit dependencies buildDependencies features;
+    };
+    fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fuchsia-zircon-sys";
+      version = "0.2.0";
+      authors = [ "Raph Levien <raph@google.com>" ];
+      sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+      inherit dependencies buildDependencies features;
+    };
+    git2_0_6_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "git2";
+      version = "0.6.8";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1si82zg35a1az91wa2zjwlkmbd4pdia8wf87j6hz4bs8l55y8fd9";
+      inherit dependencies buildDependencies features;
+    };
+    git2_curl_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "git2-curl";
+      version = "0.7.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1k36py61r3g7xz79ms02c1zb9x5c60g4wnjg2ffwz2j7kqzw9cc8";
+      inherit dependencies buildDependencies features;
+    };
+    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "glob";
+      version = "0.2.11";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+      inherit dependencies buildDependencies features;
+    };
+    globset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "globset";
+      version = "0.2.1";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "02dycdz001g33rs2jygiq7yqqswmy1in5rczfl44clq1p118fis0";
+      inherit dependencies buildDependencies features;
+    };
+    hex_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "hex";
+      version = "0.2.0";
+      authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
+      sha256 = "0yd68d709w1z8133n9hny9dfj2fvil0r6802c3bb63czyis8rfbp";
+      inherit dependencies buildDependencies features;
+    };
+    home_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "home";
+      version = "0.3.0";
+      authors = [ "Brian Anderson <andersrb@gmail.com>" ];
+      sha256 = "1dzc0wd2i82zqq1s8j4mpy2almaq5fcas22s4asn38pm86k40zf2";
+      inherit dependencies buildDependencies features;
+    };
+    idna_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "idna";
+      version = "0.1.4";
+      authors = [ "The rust-url developers" ];
+      sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
+      inherit dependencies buildDependencies features;
+    };
+    ignore_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "ignore";
+      version = "0.2.2";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1b9wc8q25jwbipxmrysaps7sykbhyh6hdl8ihqzlwfvg39dy7mjc";
+      inherit dependencies buildDependencies features;
+    };
+    itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "itoa";
+      version = "0.3.4";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+      inherit dependencies buildDependencies features;
+    };
+    jobserver_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "jobserver";
+      version = "0.1.8";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0rscjndafcrldrlb5nax2jgnc6fk298awqc6yzi9lbnbybm6r004";
+      inherit dependencies buildDependencies features;
+    };
+    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "kernel32-sys";
+      version = "0.2.2";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+      libName = "kernel32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "lazy_static";
+      version = "0.2.9";
+      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+      sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
+      inherit dependencies buildDependencies features;
+    };
+    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libc";
+      version = "0.2.33";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
+      inherit dependencies buildDependencies features;
+    };
+    libgit2_sys_0_6_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libgit2-sys";
+      version = "0.6.16";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "05axjdwkm7z8z6c7s96cakdigjiq9sfah8z48868bhby6v1q30n9";
+      libPath = "lib.rs";
+      libName = "libgit2_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    libssh2_sys_0_2_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libssh2-sys";
+      version = "0.2.6";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0pvdgr3lg9x8xyjmfwifr9dxirvrzjvq7i3clix50rwp7ck21jh7";
+      libPath = "lib.rs";
+      libName = "libssh2_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    libz_sys_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libz-sys";
+      version = "1.0.18";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0lr0rvmmfbfa4g7mhi0l93i8jq86pfcssdv4d40kzfy45ajdcgim";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "log";
+      version = "0.3.8";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
+      inherit dependencies buildDependencies features;
+    };
+    matches_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "matches";
+      version = "0.1.6";
+      authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+      sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
+      libPath = "lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "memchr";
+      version = "1.0.2";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+      sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
+      inherit dependencies buildDependencies features;
+    };
+    memchr_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "memchr";
+      version = "2.0.0";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+      sha256 = "182svm4sr8b7l38ss6ph5wkj3p7ypp08jq65fm83mxpylxziih9p";
+      inherit dependencies buildDependencies features;
+    };
+    miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "miniz-sys";
+      version = "0.1.10";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+      libPath = "lib.rs";
+      libName = "miniz_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "miow";
+      version = "0.2.1";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
+      inherit dependencies buildDependencies features;
+    };
+    net2_0_2_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "net2";
+      version = "0.2.31";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "13mphllfcbybsdqyi1jb3kyqx65m8ch07drr59a4wb3yl89awm7y";
+      inherit dependencies buildDependencies features;
+    };
+    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "num-traits";
+      version = "0.1.40";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+      inherit dependencies buildDependencies features;
+    };
+    num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "num_cpus";
+      version = "1.7.0";
+      authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+      sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl";
+      version = "0.9.20";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "0dbj6k6z828c3sqbxidw5zfval29k8dlsr8qn8fizhc1alli18gx";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_probe_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl-probe";
+      version = "0.1.1";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "19ykmqfnbmq56nadir0kvap4q1rpcjpmrfpnbc1qkj195dnh66na";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_sys_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl-sys";
+      version = "0.9.20";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "05q6qagvy7lim9vkq2v00vpm34j1dq4xy9pchs7fb6yy803vx24m";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    percent_encoding_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "percent-encoding";
+      version = "1.0.0";
+      authors = [ "The rust-url developers" ];
+      sha256 = "0c91wp8inj7z270i2kilxjl00kcagqalxxnnjg7fsdlimdwb7q1z";
+      libPath = "lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "pkg-config";
+      version = "0.3.9";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+      inherit dependencies buildDependencies features;
+    };
+    psapi_sys_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "psapi-sys";
+      version = "0.1.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "091sbrcwbnhq1mwx6rc5w5kkwzg2ph78rhwjkdy9aqnzj7yj5ppm";
+      libName = "psapi";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "quote";
+      version = "0.3.15";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+      inherit dependencies buildDependencies features;
+    };
+    rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "rand";
+      version = "0.3.18";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+      inherit dependencies buildDependencies features;
+    };
+    redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "redox_syscall";
+      version = "0.1.31";
+      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+      sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
+      libName = "syscall";
+      inherit dependencies buildDependencies features;
+    };
+    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "redox_termios";
+      version = "0.1.1";
+      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+      libPath = "src/lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "regex";
+      version = "0.2.2";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
+      inherit dependencies buildDependencies features;
+    };
+    regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "regex-syntax";
+      version = "0.4.1";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
+      inherit dependencies buildDependencies features;
+    };
+    rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "rustc-demangle";
+      version = "0.1.5";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
+      inherit dependencies buildDependencies features;
+    };
+    same_file_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "same-file";
+      version = "0.1.3";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "01hdnxblb1hlysr47nwdv7r8vs7p63ia08v5h4lcffmzqvl5zzn9";
+      inherit dependencies buildDependencies features;
+    };
+    scoped_tls_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "scoped-tls";
+      version = "0.1.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1j8azxa15srljafrg7wc221npvxb3700sbfk6jjav0rw2zclsnf5";
+      inherit dependencies buildDependencies features;
+    };
+    scopeguard_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "scopeguard";
+      version = "0.1.2";
+      authors = [ "bluss" ];
+      sha256 = "00b3jrxlrzqv7qqzdd18m6p5skj1xwb4nw6bhch2ikg0hnfv5zdb";
+      inherit dependencies buildDependencies features;
+    };
+    semver_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "semver";
+      version = "0.7.0";
+      authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+      sha256 = "079944bh20ldr41i96nk9b31igj555dl2d8mg51m4h0ccwric4l8";
+      inherit dependencies buildDependencies features;
+    };
+    semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "semver-parser";
+      version = "0.7.0";
+      authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+      sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+      inherit dependencies buildDependencies features;
+    };
+    serde_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde";
+      version = "1.0.18";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "14cczcvmfwgbm8447k93aggi7fbx0ix5f7dz16fxzs9l3riac5vq";
+      inherit dependencies buildDependencies features;
+    };
+    serde_derive_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_derive";
+      version = "1.0.18";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1kx8zjcc9mxib6ipb9ygjjgxdniff93pwazvj4vqb859paqazdsj";
+      procMacro = true;
+      inherit dependencies buildDependencies features;
+    };
+    serde_derive_internals_0_16_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_derive_internals";
+      version = "0.16.0";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1k96ypwlhnvmaksimkx1pd5rwvjaanfcdzpgndhy994hx03xplhs";
+      inherit dependencies buildDependencies features;
+    };
+    serde_ignored_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_ignored";
+      version = "0.0.3";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "0yz81jz6rqbzbhznmkygl9rdq1xq43jsgv10mmd5m24vh4j00icc";
+      inherit dependencies buildDependencies features;
+    };
+    serde_json_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_json";
+      version = "1.0.5";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1yka3aa2gfi30415jpf0935k54r08jhyw6r7rjz2nv1kqgbw2brs";
+      inherit dependencies buildDependencies features;
+    };
+    shell_escape_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "shell-escape";
+      version = "0.1.3";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "0r3pj7kl40iqjbivwh4kd6agjdhbf5avzp7i8v42xvpc1zrzrq77";
+      inherit dependencies buildDependencies features;
+    };
+    socket2_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "socket2";
+      version = "0.2.4";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1pdwqlx4wnabgv549i3pb3whbk8ggcq4kg0lfx9cpcazcjk5p6iz";
+      inherit dependencies buildDependencies features;
+    };
+    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "strsim";
+      version = "0.6.0";
+      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+      inherit dependencies buildDependencies features;
+    };
+    syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "syn";
+      version = "0.11.11";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
+      inherit dependencies buildDependencies features;
+    };
+    synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "synom";
+      version = "0.11.3";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+      inherit dependencies buildDependencies features;
+    };
+    tar_0_4_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "tar";
+      version = "0.4.13";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
+      inherit dependencies buildDependencies features;
+    };
+    tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "tempdir";
+      version = "0.3.5";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
+      inherit dependencies buildDependencies features;
+    };
+    termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "termcolor";
+      version = "0.3.3";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
+      inherit dependencies buildDependencies features;
+    };
+    termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "termion";
+      version = "1.5.1";
+      authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+      sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+      inherit dependencies buildDependencies features;
+    };
+    thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "thread_local";
+      version = "0.3.4";
+      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+      sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+      inherit dependencies buildDependencies features;
+    };
+    toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "toml";
+      version = "0.4.5";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
+      inherit dependencies buildDependencies features;
+    };
+    unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unicode-bidi";
+      version = "0.3.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
+      libName = "unicode_bidi";
+      inherit dependencies buildDependencies features;
+    };
+    unicode_normalization_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unicode-normalization";
+      version = "0.1.5";
+      authors = [ "kwantam <kwantam@gmail.com>" ];
+      sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
+      inherit dependencies buildDependencies features;
+    };
+    unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unicode-xid";
+      version = "0.0.4";
+      authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
+      sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+      inherit dependencies buildDependencies features;
+    };
+    unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unreachable";
+      version = "1.0.0";
+      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+      sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
+      inherit dependencies buildDependencies features;
+    };
+    url_1_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "url";
+      version = "1.6.0";
+      authors = [ "The rust-url developers" ];
+      sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
+      inherit dependencies buildDependencies features;
+    };
+    userenv_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "userenv-sys";
+      version = "0.2.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "19l85k56y30likj69ri83jspsf4n9q4d03pi4mbs7cimlzn8lvzj";
+      libName = "userenv";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "utf8-ranges";
+      version = "1.0.0";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
+      inherit dependencies buildDependencies features;
+    };
+    vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "vcpkg";
+      version = "0.2.2";
+      authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+      sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+      inherit dependencies buildDependencies features;
+    };
+    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "void";
+      version = "1.0.2";
+      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+      inherit dependencies buildDependencies features;
+    };
+    walkdir_1_0_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "walkdir";
+      version = "1.0.7";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1ygsc59m8mbnlz0psjxdzm1xjndxpywjwalqcd3pwdarzk1gy1vr";
+      inherit dependencies buildDependencies features;
+    };
+    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "winapi";
+      version = "0.2.8";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+      inherit dependencies buildDependencies features;
+    };
+    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "winapi-build";
+      version = "0.1.1";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+      libName = "build";
+      inherit dependencies buildDependencies features;
+    };
+    wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "wincolor";
+      version = "0.1.4";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
+      inherit dependencies buildDependencies features;
+    };
+    ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "ws2_32-sys";
+      version = "0.2.1";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
+      libName = "ws2_32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+
+in
+rec {
+  advapi32_sys_0_2_0 = advapi32_sys_0_2_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_advapi32_sys_0_2_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_advapi32_sys_0_2_0__default_ = true;
+  aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec {
+    dependencies = [ memchr_1_0_2 ];
+  };
+  memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default_ = true;
+  atty_0_2_3 = atty_0_2_3_ rec {
+    dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default_ = true;
+  libc_0_2_33_features."default".from_atty_0_2_3__default_ = false;
+  termion_1_5_1_features."default".from_atty_0_2_3__default_ = true;
+  winapi_0_2_8_features."default".from_atty_0_2_3__default_ = true;
+  backtrace_0_3_3 = backtrace_0_3_3_ rec {
+    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ]
+      ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ]
+      ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else [])
+      ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else [])
+      ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []);
+    features = mkFeatures backtrace_0_3_3_features;
+  };
+  backtrace_0_3_3_features."".self = true;
+  backtrace_0_3_3_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."libunwind".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."libbacktrace".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."coresymbolication".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."dladdr".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."dbghelp".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
+  backtrace_0_3_3_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
+  backtrace_0_3_3_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_3_features."libbacktrace" or {});
+  backtrace_0_3_3_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_3_features."serialize-rustc" or {});
+  backtrace_0_3_3_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
+  backtrace_0_3_3_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
+  addr2line_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_3__default_ = true;
+  cfg_if_0_1_2_features."default".from_backtrace_0_3_3__default_ = true;
+  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_3__default_ = false;
+  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_3__default_ = true;
+  findshlibs_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_3__default_ = true;
+  libc_0_2_33_features."default".from_backtrace_0_3_3__default_ = true;
+  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_3__default_ = true;
+  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  serde_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  serde_derive_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  winapi_0_2_8_features."default".from_backtrace_0_3_3__default_ = true;
+  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
+    dependencies = [ libc_0_2_33 ];
+    buildDependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_backtrace_sys_0_1_16__default_ = true;
+  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default_ = true;
+  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
+  bitflags_0_9_1 = bitflags_0_9_1_ rec {
+    features = mkFeatures bitflags_0_9_1_features;
+  };
+  bitflags_0_9_1_features."example_generated".self_default = hasDefault bitflags_0_9_1_features;
+  cargo_0_22_0 = cargo_0_22_0_ rec {
+    dependencies = [ atty_0_2_3 crates_io_0_11_0 crossbeam_0_2_10 curl_0_4_8 docopt_0_8_1 env_logger_0_4_3 error_chain_0_11_0 filetime_0_1_14 flate2_0_2_20 fs2_0_4_2 git2_0_6_8 git2_curl_0_7_0 glob_0_2_11 hex_0_2_0 home_0_3_0 ignore_0_2_2 jobserver_0_1_8 libc_0_2_33 libgit2_sys_0_6_16 log_0_3_8 num_cpus_1_7_0 same_file_0_1_3 scoped_tls_0_1_0 semver_0_7_0 serde_1_0_18 serde_derive_1_0_18 serde_ignored_0_0_3 serde_json_1_0_5 shell_escape_0_1_3 tar_0_4_13 tempdir_0_3_5 termcolor_0_3_3 toml_0_4_5 url_1_6_0 ]
+      ++ (if kernel == "darwin" then [ core_foundation_0_4_4 ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_0_9_20 ] else [])
+      ++ (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 miow_0_2_1 psapi_sys_0_1_0 winapi_0_2_8 ] else []);
+  };
+  semver_0_7_0_features."serde".from_cargo_0_22_0 = true;
+  core_foundation_0_4_4_features."mac_os_10_7_support".from_cargo_0_22_0 = true;
+  advapi32_sys_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
+  atty_0_2_3_features."default".from_cargo_0_22_0__default_ = true;
+  core_foundation_0_4_4_features."default".from_cargo_0_22_0__default_ = true;
+  crates_io_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
+  crossbeam_0_2_10_features."default".from_cargo_0_22_0__default_ = true;
+  curl_0_4_8_features."default".from_cargo_0_22_0__default_ = true;
+  docopt_0_8_1_features."default".from_cargo_0_22_0__default_ = true;
+  env_logger_0_4_3_features."default".from_cargo_0_22_0__default_ = true;
+  error_chain_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
+  filetime_0_1_14_features."default".from_cargo_0_22_0__default_ = true;
+  flate2_0_2_20_features."default".from_cargo_0_22_0__default_ = true;
+  fs2_0_4_2_features."default".from_cargo_0_22_0__default_ = true;
+  git2_0_6_8_features."default".from_cargo_0_22_0__default_ = true;
+  git2_curl_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  glob_0_2_11_features."default".from_cargo_0_22_0__default_ = true;
+  hex_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
+  home_0_3_0_features."default".from_cargo_0_22_0__default_ = true;
+  ignore_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
+  jobserver_0_1_8_features."default".from_cargo_0_22_0__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
+  libc_0_2_33_features."default".from_cargo_0_22_0__default_ = true;
+  libgit2_sys_0_6_16_features."default".from_cargo_0_22_0__default_ = true;
+  log_0_3_8_features."default".from_cargo_0_22_0__default_ = true;
+  miow_0_2_1_features."default".from_cargo_0_22_0__default_ = true;
+  num_cpus_1_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  openssl_0_9_20_features."default".from_cargo_0_22_0__default_ = true;
+  psapi_sys_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
+  same_file_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
+  scoped_tls_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
+  semver_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  serde_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
+  serde_derive_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
+  serde_ignored_0_0_3_features."default".from_cargo_0_22_0__default_ = true;
+  serde_json_1_0_5_features."default".from_cargo_0_22_0__default_ = true;
+  shell_escape_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
+  tar_0_4_13_features."default".from_cargo_0_22_0__default_ = false;
+  tempdir_0_3_5_features."default".from_cargo_0_22_0__default_ = true;
+  termcolor_0_3_3_features."default".from_cargo_0_22_0__default_ = true;
+  toml_0_4_5_features."default".from_cargo_0_22_0__default_ = true;
+  url_1_6_0_features."default".from_cargo_0_22_0__default_ = true;
+  winapi_0_2_8_features."default".from_cargo_0_22_0__default_ = true;
+  cargo_vendor_0_1_13 = cargo_vendor_0_1_13_ rec {
+    dependencies = [ cargo_0_22_0 env_logger_0_4_3 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 toml_0_4_5 ];
+  };
+  cargo_0_22_0_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  env_logger_0_4_3_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_derive_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_json_1_0_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  toml_0_4_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  cc_1_0_3 = cc_1_0_3_ rec {
+    dependencies = [];
+    features = mkFeatures cc_1_0_3_features;
+  };
+  cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {});
+  rayon_0_0_0_features."default".from_cc_1_0_3__default_ = true;
+  cfg_if_0_1_2 = cfg_if_0_1_2_ rec {};
+  cmake_0_1_26 = cmake_0_1_26_ rec {
+    dependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_cmake_0_1_26__default_ = true;
+  core_foundation_0_4_4 = core_foundation_0_4_4_ rec {
+    dependencies = [ core_foundation_sys_0_4_4 libc_0_2_33 ];
+    features = mkFeatures core_foundation_0_4_4_features;
+  };
+  core_foundation_0_4_4_features."".self = true;
+  core_foundation_sys_0_4_4_features."mac_os_10_7_support".from_core_foundation_0_4_4__mac_os_10_7_support = hasFeature (core_foundation_0_4_4_features."mac_os_10_7_support" or {});
+  core_foundation_sys_0_4_4_features."mac_os_10_8_features".from_core_foundation_0_4_4__mac_os_10_8_features = hasFeature (core_foundation_0_4_4_features."mac_os_10_8_features" or {});
+  core_foundation_sys_0_4_4_features."default".from_core_foundation_0_4_4__default_ = true;
+  libc_0_2_33_features."default".from_core_foundation_0_4_4__default_ = true;
+  core_foundation_sys_0_4_4 = core_foundation_sys_0_4_4_ rec {
+    dependencies = [ libc_0_2_33 ];
+    features = mkFeatures core_foundation_sys_0_4_4_features;
+  };
+  core_foundation_sys_0_4_4_features."".self = true;
+  libc_0_2_33_features."default".from_core_foundation_sys_0_4_4__default_ = true;
+  crates_io_0_11_0 = crates_io_0_11_0_ rec {
+    dependencies = [ curl_0_4_8 error_chain_0_11_0 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 url_1_6_0 ];
+  };
+  curl_0_4_8_features."default".from_crates_io_0_11_0__default_ = true;
+  error_chain_0_11_0_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_derive_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_json_1_0_5_features."default".from_crates_io_0_11_0__default_ = true;
+  url_1_6_0_features."default".from_crates_io_0_11_0__default_ = true;
+  crossbeam_0_2_10 = crossbeam_0_2_10_ rec {
+    features = mkFeatures crossbeam_0_2_10_features;
+  };
+  crossbeam_0_2_10_features."".self = true;
+  curl_0_4_8 = curl_0_4_8_ rec {
+    dependencies = [ curl_sys_0_3_15 libc_0_2_33 socket2_0_2_4 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] else [])
+      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
+  };
+  curl_sys_0_3_15_features."default".from_curl_0_4_8__default_ = true;
+  libc_0_2_33_features."default".from_curl_0_4_8__default_ = true;
+  openssl_probe_0_1_1_features."default".from_curl_0_4_8__default_ = true;
+  openssl_sys_0_9_20_features."default".from_curl_0_4_8__default_ = true;
+  socket2_0_2_4_features."default".from_curl_0_4_8__default_ = true;
+  winapi_0_2_8_features."default".from_curl_0_4_8__default_ = true;
+  curl_sys_0_3_15 = curl_sys_0_3_15_ rec {
+    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_sys_0_9_20 ] else [])
+      ++ (if abi == "msvc" then [] else [])
+      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_curl_sys_0_3_15__default_ = true;
+  libc_0_2_33_features."default".from_curl_sys_0_3_15__default_ = true;
+  libz_sys_1_0_18_features."default".from_curl_sys_0_3_15__default_ = true;
+  openssl_sys_0_9_20_features."default".from_curl_sys_0_3_15__default_ = true;
+  pkg_config_0_3_9_features."default".from_curl_sys_0_3_15__default_ = true;
+  winapi_0_2_8_features."default".from_curl_sys_0_3_15__default_ = true;
+  dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_dbghelp_sys_0_2_0__default_ = true;
+  docopt_0_8_1 = docopt_0_8_1_ rec {
+    dependencies = [ lazy_static_0_2_9 regex_0_2_2 serde_1_0_18 serde_derive_1_0_18 strsim_0_6_0 ];
+  };
+  lazy_static_0_2_9_features."default".from_docopt_0_8_1__default_ = true;
+  regex_0_2_2_features."default".from_docopt_0_8_1__default_ = true;
+  serde_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
+  serde_derive_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
+  strsim_0_6_0_features."default".from_docopt_0_8_1__default_ = true;
+  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
+  env_logger_0_4_3 = env_logger_0_4_3_ rec {
+    dependencies = [ log_0_3_8 regex_0_2_2 ]
+      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []);
+    features = mkFeatures env_logger_0_4_3_features;
+  };
+  env_logger_0_4_3_features."".self = true;
+  env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features;
+  log_0_3_8_features."default".from_env_logger_0_4_3__default_ = true;
+  regex_0_2_2_features."default".from_env_logger_0_4_3__default_ = true;
+  error_chain_0_11_0 = error_chain_0_11_0_ rec {
+    dependencies = [ backtrace_0_3_3 ]
+      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_3] else []);
+    features = mkFeatures error_chain_0_11_0_features;
+  };
+  error_chain_0_11_0_features."".self = true;
+  error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features;
+  error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features;
+  backtrace_0_3_3_features."default".from_error_chain_0_11_0__default_ = true;
+  filetime_0_1_14 = filetime_0_1_14_ rec {
+    dependencies = [ cfg_if_0_1_2 ]
+      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []);
+  };
+  cfg_if_0_1_2_features."default".from_filetime_0_1_14__default_ = true;
+  libc_0_2_33_features."default".from_filetime_0_1_14__default_ = true;
+  redox_syscall_0_1_31_features."default".from_filetime_0_1_14__default_ = true;
+  flate2_0_2_20 = flate2_0_2_20_ rec {
+    dependencies = [ libc_0_2_33 miniz_sys_0_1_10 ]
+      ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_10] else []);
+    features = mkFeatures flate2_0_2_20_features;
+  };
+  flate2_0_2_20_features."".self = true;
+  flate2_0_2_20_features."miniz-sys".self_default = hasDefault flate2_0_2_20_features;
+  flate2_0_2_20_features."tokio-io".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
+  flate2_0_2_20_features."futures".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
+  flate2_0_2_20_features."libz-sys".self_zlib = hasFeature (flate2_0_2_20_features."zlib" or {});
+  futures_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  libc_0_2_33_features."default".from_flate2_0_2_20__default_ = true;
+  libz_sys_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  miniz_sys_0_1_10_features."default".from_flate2_0_2_20__default_ = true;
+  tokio_io_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  fnv_1_0_5 = fnv_1_0_5_ rec {};
+  foreign_types_0_2_0 = foreign_types_0_2_0_ rec {};
+  fs2_0_4_2 = fs2_0_4_2_ rec {
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_fs2_0_4_2__default_ = true;
+  libc_0_2_33_features."default".from_fs2_0_4_2__default_ = true;
+  winapi_0_2_8_features."default".from_fs2_0_4_2__default_ = true;
+  fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec {
+    dependencies = [ fuchsia_zircon_sys_0_2_0 ];
+  };
+  fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default_ = true;
+  fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec {
+    dependencies = [ bitflags_0_7_0 ];
+  };
+  bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default_ = true;
+  git2_0_6_8 = git2_0_6_8_ rec {
+    dependencies = [ bitflags_0_9_1 libc_0_2_33 libgit2_sys_0_6_16 url_1_6_0 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ]
+      ++ (if lib.lists.any (x: x == "openssl-probe") features then [openssl_probe_0_1_1] else [])
+      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
+    features = mkFeatures git2_0_6_8_features;
+  };
+  git2_0_6_8_features."".self = true;
+  git2_0_6_8_features."ssh".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."https".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."curl".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."openssl-sys".self_https = hasFeature (git2_0_6_8_features."https" or {});
+  git2_0_6_8_features."openssl-probe".self_https = hasFeature (git2_0_6_8_features."https" or {});
+  libgit2_sys_0_6_16_features."curl".from_git2_0_6_8__curl = hasFeature (git2_0_6_8_features."curl" or {});
+  libgit2_sys_0_6_16_features."https".from_git2_0_6_8__https = hasFeature (git2_0_6_8_features."https" or {});
+  libgit2_sys_0_6_16_features."ssh".from_git2_0_6_8__ssh = hasFeature (git2_0_6_8_features."ssh" or {});
+  bitflags_0_9_1_features."default".from_git2_0_6_8__default_ = true;
+  libc_0_2_33_features."default".from_git2_0_6_8__default_ = true;
+  libgit2_sys_0_6_16_features."default".from_git2_0_6_8__default_ = true;
+  openssl_probe_0_1_1_features."default".from_git2_0_6_8__default_ = true;
+  openssl_sys_0_9_20_features."default".from_git2_0_6_8__default_ = true;
+  url_1_6_0_features."default".from_git2_0_6_8__default_ = true;
+  git2_curl_0_7_0 = git2_curl_0_7_0_ rec {
+    dependencies = [ curl_0_4_8 git2_0_6_8 log_0_3_8 url_1_6_0 ];
+  };
+  curl_0_4_8_features."default".from_git2_curl_0_7_0__default_ = true;
+  git2_0_6_8_features."default".from_git2_curl_0_7_0__default_ = false;
+  log_0_3_8_features."default".from_git2_curl_0_7_0__default_ = true;
+  url_1_6_0_features."default".from_git2_curl_0_7_0__default_ = true;
+  glob_0_2_11 = glob_0_2_11_ rec {};
+  globset_0_2_1 = globset_0_2_1_ rec {
+    dependencies = [ aho_corasick_0_6_3 fnv_1_0_5 log_0_3_8 memchr_2_0_0 regex_0_2_2 ];
+    features = mkFeatures globset_0_2_1_features;
+  };
+  globset_0_2_1_features."".self = true;
+  regex_0_2_2_features."simd-accel".from_globset_0_2_1__simd-accel = hasFeature (globset_0_2_1_features."simd-accel" or {});
+  aho_corasick_0_6_3_features."default".from_globset_0_2_1__default_ = true;
+  fnv_1_0_5_features."default".from_globset_0_2_1__default_ = true;
+  log_0_3_8_features."default".from_globset_0_2_1__default_ = true;
+  memchr_2_0_0_features."default".from_globset_0_2_1__default_ = true;
+  regex_0_2_2_features."default".from_globset_0_2_1__default_ = true;
+  hex_0_2_0 = hex_0_2_0_ rec {};
+  home_0_3_0 = home_0_3_0_ rec {
+    dependencies = (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 scopeguard_0_1_2 userenv_sys_0_2_0 winapi_0_2_8 ] else []);
+  };
+  advapi32_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_home_0_3_0__default_ = true;
+  scopeguard_0_1_2_features."default".from_home_0_3_0__default_ = true;
+  userenv_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
+  winapi_0_2_8_features."default".from_home_0_3_0__default_ = true;
+  idna_0_1_4 = idna_0_1_4_ rec {
+    dependencies = [ matches_0_1_6 unicode_bidi_0_3_4 unicode_normalization_0_1_5 ];
+  };
+  matches_0_1_6_features."default".from_idna_0_1_4__default_ = true;
+  unicode_bidi_0_3_4_features."default".from_idna_0_1_4__default_ = true;
+  unicode_normalization_0_1_5_features."default".from_idna_0_1_4__default_ = true;
+  ignore_0_2_2 = ignore_0_2_2_ rec {
+    dependencies = [ crossbeam_0_2_10 globset_0_2_1 lazy_static_0_2_9 log_0_3_8 memchr_1_0_2 regex_0_2_2 thread_local_0_3_4 walkdir_1_0_7 ];
+    features = mkFeatures ignore_0_2_2_features;
+  };
+  ignore_0_2_2_features."".self = true;
+  globset_0_2_1_features."simd-accel".from_ignore_0_2_2__simd-accel = hasFeature (ignore_0_2_2_features."simd-accel" or {});
+  crossbeam_0_2_10_features."default".from_ignore_0_2_2__default_ = true;
+  globset_0_2_1_features."default".from_ignore_0_2_2__default_ = true;
+  lazy_static_0_2_9_features."default".from_ignore_0_2_2__default_ = true;
+  log_0_3_8_features."default".from_ignore_0_2_2__default_ = true;
+  memchr_1_0_2_features."default".from_ignore_0_2_2__default_ = true;
+  regex_0_2_2_features."default".from_ignore_0_2_2__default_ = true;
+  thread_local_0_3_4_features."default".from_ignore_0_2_2__default_ = true;
+  walkdir_1_0_7_features."default".from_ignore_0_2_2__default_ = true;
+  itoa_0_3_4 = itoa_0_3_4_ rec {
+    features = mkFeatures itoa_0_3_4_features;
+  };
+  itoa_0_3_4_features."".self = true;
+  jobserver_0_1_8 = jobserver_0_1_8_ rec {
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ rand_0_3_18 ] else []);
+  };
+  libc_0_2_33_features."default".from_jobserver_0_1_8__default_ = true;
+  rand_0_3_18_features."default".from_jobserver_0_1_8__default_ = true;
+  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default_ = true;
+  winapi_build_0_1_1_features."default".from_kernel32_sys_0_2_2__default_ = true;
+  lazy_static_0_2_9 = lazy_static_0_2_9_ rec {
+    dependencies = [];
+    features = mkFeatures lazy_static_0_2_9_features;
+  };
+  lazy_static_0_2_9_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
+  lazy_static_0_2_9_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
+  spin_0_0_0_features."default".from_lazy_static_0_2_9__default_ = true;
+  libc_0_2_33 = libc_0_2_33_ rec {
+    features = mkFeatures libc_0_2_33_features;
+  };
+  libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features;
+  libgit2_sys_0_6_16 = libgit2_sys_0_6_16_ rec {
+    dependencies = [ curl_sys_0_3_15 libc_0_2_33 libssh2_sys_0_2_6 libz_sys_1_0_18 ]
+      ++ (if lib.lists.any (x: x == "curl-sys") features then [curl_sys_0_3_15] else [])
+      ++ (if lib.lists.any (x: x == "libssh2-sys") features then [libssh2_sys_0_2_6] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ]
+      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
+    buildDependencies = [ cc_1_0_3 cmake_0_1_26 pkg_config_0_3_9 ];
+    features = mkFeatures libgit2_sys_0_6_16_features;
+  };
+  libgit2_sys_0_6_16_features."".self = true;
+  libgit2_sys_0_6_16_features."curl-sys".self_curl = hasFeature (libgit2_sys_0_6_16_features."curl" or {});
+  libgit2_sys_0_6_16_features."openssl-sys".self_https = hasFeature (libgit2_sys_0_6_16_features."https" or {});
+  libgit2_sys_0_6_16_features."libssh2-sys".self_ssh = hasFeature (libgit2_sys_0_6_16_features."ssh" or {});
+  cc_1_0_3_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  cmake_0_1_26_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  curl_sys_0_3_15_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libc_0_2_33_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libssh2_sys_0_2_6_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libz_sys_1_0_18_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  openssl_sys_0_9_20_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  pkg_config_0_3_9_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libssh2_sys_0_2_6 = libssh2_sys_0_2_6_ rec {
+    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] else []);
+    buildDependencies = [ cmake_0_1_26 pkg_config_0_3_9 ];
+  };
+  cmake_0_1_26_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libc_0_2_33_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libz_sys_1_0_18_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  openssl_sys_0_9_20_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  pkg_config_0_3_9_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libz_sys_1_0_18 = libz_sys_1_0_18_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if abi == "msvc" then [] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_libz_sys_1_0_18__default_ = true;
+  libc_0_2_33_features."default".from_libz_sys_1_0_18__default_ = true;
+  pkg_config_0_3_9_features."default".from_libz_sys_1_0_18__default_ = true;
+  log_0_3_8 = log_0_3_8_ rec {
+    features = mkFeatures log_0_3_8_features;
+  };
+  log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features;
+  matches_0_1_6 = matches_0_1_6_ rec {};
+  memchr_1_0_2 = memchr_1_0_2_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
+    features = mkFeatures memchr_1_0_2_features;
+  };
+  memchr_1_0_2_features."".self = true;
+  memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features;
+  memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features;
+  memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
+  libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
+  libc_0_2_33_features."default".from_memchr_1_0_2__default_ = false;
+  memchr_2_0_0 = memchr_2_0_0_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
+    features = mkFeatures memchr_2_0_0_features;
+  };
+  memchr_2_0_0_features."".self = true;
+  memchr_2_0_0_features."use_std".self_default = hasDefault memchr_2_0_0_features;
+  memchr_2_0_0_features."libc".self_default = hasDefault memchr_2_0_0_features;
+  memchr_2_0_0_features."libc".self_use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
+  libc_0_2_33_features."use_std".from_memchr_2_0_0__use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
+  libc_0_2_33_features."default".from_memchr_2_0_0__default_ = false;
+  miniz_sys_0_1_10 = miniz_sys_0_1_10_ rec {
+    dependencies = [ libc_0_2_33 ];
+    buildDependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_miniz_sys_0_1_10__default_ = true;
+  libc_0_2_33_features."default".from_miniz_sys_0_1_10__default_ = true;
+  miow_0_2_1 = miow_0_2_1_ rec {
+    dependencies = [ kernel32_sys_0_2_2 net2_0_2_31 winapi_0_2_8 ws2_32_sys_0_2_1 ];
+  };
+  kernel32_sys_0_2_2_features."default".from_miow_0_2_1__default_ = true;
+  net2_0_2_31_features."default".from_miow_0_2_1__default_ = false;
+  winapi_0_2_8_features."default".from_miow_0_2_1__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_miow_0_2_1__default_ = true;
+  net2_0_2_31 = net2_0_2_31_ rec {
+    dependencies = [ cfg_if_0_1_2 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else [])
+      ++ (if kernel == "i686-apple-darwin" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "i686-unknown-linux-gnu" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "x86_64-apple-darwin" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "x86_64-unknown-linux-gnu" then [ libc_0_2_33 ] else []);
+    features = mkFeatures net2_0_2_31_features;
+  };
+  net2_0_2_31_features."duration".self_default = hasDefault net2_0_2_31_features;
+  cfg_if_0_1_2_features."default".from_net2_0_2_31__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_net2_0_2_31__default_ = true;
+  libc_0_2_33_features."default".from_net2_0_2_31__default_ = true;
+  winapi_0_2_8_features."default".from_net2_0_2_31__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_net2_0_2_31__default_ = true;
+  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
+  num_cpus_1_7_0 = num_cpus_1_7_0_ rec {
+    dependencies = [ libc_0_2_33 ];
+  };
+  libc_0_2_33_features."default".from_num_cpus_1_7_0__default_ = true;
+  openssl_0_9_20 = openssl_0_9_20_ rec {
+    dependencies = [ bitflags_0_9_1 foreign_types_0_2_0 lazy_static_0_2_9 libc_0_2_33 openssl_sys_0_9_20 ];
+    features = mkFeatures openssl_0_9_20_features;
+  };
+  openssl_0_9_20_features."".self = true;
+  bitflags_0_9_1_features."default".from_openssl_0_9_20__default_ = true;
+  foreign_types_0_2_0_features."default".from_openssl_0_9_20__default_ = true;
+  lazy_static_0_2_9_features."default".from_openssl_0_9_20__default_ = true;
+  libc_0_2_33_features."default".from_openssl_0_9_20__default_ = true;
+  openssl_sys_0_9_20_features."default".from_openssl_0_9_20__default_ = true;
+  openssl_probe_0_1_1 = openssl_probe_0_1_1_ rec {};
+  openssl_sys_0_9_20 = openssl_sys_0_9_20_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if abi == "msvc" then [] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_openssl_sys_0_9_20__default_ = true;
+  libc_0_2_33_features."default".from_openssl_sys_0_9_20__default_ = true;
+  pkg_config_0_3_9_features."default".from_openssl_sys_0_9_20__default_ = true;
+  percent_encoding_1_0_0 = percent_encoding_1_0_0_ rec {};
+  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
+  psapi_sys_0_1_0 = psapi_sys_0_1_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_psapi_sys_0_1_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_psapi_sys_0_1_0__default_ = true;
+  quote_0_3_15 = quote_0_3_15_ rec {};
+  rand_0_3_18 = rand_0_3_18_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []);
+    features = mkFeatures rand_0_3_18_features;
+  };
+  rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {});
+  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default_ = true;
+  libc_0_2_33_features."default".from_rand_0_3_18__default_ = true;
+  redox_syscall_0_1_31 = redox_syscall_0_1_31_ rec {};
+  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
+    dependencies = [ redox_syscall_0_1_31 ];
+  };
+  redox_syscall_0_1_31_features."default".from_redox_termios_0_1_1__default_ = true;
+  regex_0_2_2 = regex_0_2_2_ rec {
+    dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ];
+    features = mkFeatures regex_0_2_2_features;
+  };
+  regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {});
+  aho_corasick_0_6_3_features."default".from_regex_0_2_2__default_ = true;
+  memchr_1_0_2_features."default".from_regex_0_2_2__default_ = true;
+  regex_syntax_0_4_1_features."default".from_regex_0_2_2__default_ = true;
+  simd_0_0_0_features."default".from_regex_0_2_2__default_ = true;
+  thread_local_0_3_4_features."default".from_regex_0_2_2__default_ = true;
+  utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default_ = true;
+  regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {};
+  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
+  same_file_0_1_3 = same_file_0_1_3_ rec {
+    dependencies = (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_same_file_0_1_3__default_ = true;
+  winapi_0_2_8_features."default".from_same_file_0_1_3__default_ = true;
+  scoped_tls_0_1_0 = scoped_tls_0_1_0_ rec {};
+  scopeguard_0_1_2 = scopeguard_0_1_2_ rec {};
+  semver_0_7_0 = semver_0_7_0_ rec {
+    dependencies = [ semver_parser_0_7_0 serde_1_0_18 ]
+      ++ (if lib.lists.any (x: x == "serde") features then [serde_1_0_18] else []);
+    features = mkFeatures semver_0_7_0_features;
+  };
+  semver_0_7_0_features."".self = true;
+  semver_0_7_0_features."serde".self_ci = hasFeature (semver_0_7_0_features."ci" or {});
+  semver_parser_0_7_0_features."default".from_semver_0_7_0__default_ = true;
+  serde_1_0_18_features."default".from_semver_0_7_0__default_ = true;
+  semver_parser_0_7_0 = semver_parser_0_7_0_ rec {};
+  serde_1_0_18 = serde_1_0_18_ rec {
+    dependencies = [];
+    features = mkFeatures serde_1_0_18_features;
+  };
+  serde_1_0_18_features."unstable".self_alloc = hasFeature (serde_1_0_18_features."alloc" or {});
+  serde_1_0_18_features."std".self_default = hasDefault serde_1_0_18_features;
+  serde_1_0_18_features."serde_derive".self_derive = hasFeature (serde_1_0_18_features."derive" or {});
+  serde_1_0_18_features."serde_derive".self_playground = hasFeature (serde_1_0_18_features."playground" or {});
+  serde_derive_0_0_0_features."default".from_serde_1_0_18__default_ = true;
+  serde_derive_1_0_18 = serde_derive_1_0_18_ rec {
+    dependencies = [ quote_0_3_15 serde_derive_internals_0_16_0 syn_0_11_11 ];
+  };
+  syn_0_11_11_features."visit".from_serde_derive_1_0_18 = true;
+  quote_0_3_15_features."default".from_serde_derive_1_0_18__default_ = true;
+  serde_derive_internals_0_16_0_features."default".from_serde_derive_1_0_18__default_ = false;
+  syn_0_11_11_features."default".from_serde_derive_1_0_18__default_ = true;
+  serde_derive_internals_0_16_0 = serde_derive_internals_0_16_0_ rec {
+    dependencies = [ syn_0_11_11 synom_0_11_3 ];
+  };
+  syn_0_11_11_features."parsing".from_serde_derive_internals_0_16_0 = true;
+  syn_0_11_11_features."default".from_serde_derive_internals_0_16_0__default_ = false;
+  synom_0_11_3_features."default".from_serde_derive_internals_0_16_0__default_ = true;
+  serde_ignored_0_0_3 = serde_ignored_0_0_3_ rec {
+    dependencies = [ serde_1_0_18 ];
+  };
+  serde_1_0_18_features."default".from_serde_ignored_0_0_3__default_ = true;
+  serde_json_1_0_5 = serde_json_1_0_5_ rec {
+    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_18 ];
+    features = mkFeatures serde_json_1_0_5_features;
+  };
+  serde_json_1_0_5_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_5_features."preserve_order" or {});
+  dtoa_0_4_2_features."default".from_serde_json_1_0_5__default_ = true;
+  itoa_0_3_4_features."default".from_serde_json_1_0_5__default_ = true;
+  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_5__default_ = true;
+  num_traits_0_1_40_features."default".from_serde_json_1_0_5__default_ = true;
+  serde_1_0_18_features."default".from_serde_json_1_0_5__default_ = true;
+  shell_escape_0_1_3 = shell_escape_0_1_3_ rec {};
+  socket2_0_2_4 = socket2_0_2_4_ rec {
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ cfg_if_0_1_2 libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []);
+    features = mkFeatures socket2_0_2_4_features;
+  };
+  socket2_0_2_4_features."".self = true;
+  cfg_if_0_1_2_features."default".from_socket2_0_2_4__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_socket2_0_2_4__default_ = true;
+  libc_0_2_33_features."default".from_socket2_0_2_4__default_ = true;
+  winapi_0_2_8_features."default".from_socket2_0_2_4__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_socket2_0_2_4__default_ = true;
+  strsim_0_6_0 = strsim_0_6_0_ rec {};
+  syn_0_11_11 = syn_0_11_11_ rec {
+    dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ]
+      ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else [])
+      ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else [])
+      ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []);
+    features = mkFeatures syn_0_11_11_features;
+  };
+  syn_0_11_11_features."".self = true;
+  syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features;
+  syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features;
+  syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
+  syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
+  syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {});
+  quote_0_3_15_features."default".from_syn_0_11_11__default_ = true;
+  synom_0_11_3_features."default".from_syn_0_11_11__default_ = true;
+  unicode_xid_0_0_4_features."default".from_syn_0_11_11__default_ = true;
+  synom_0_11_3 = synom_0_11_3_ rec {
+    dependencies = [ unicode_xid_0_0_4 ];
+  };
+  unicode_xid_0_0_4_features."default".from_synom_0_11_3__default_ = true;
+  tar_0_4_13 = tar_0_4_13_ rec {
+    dependencies = [ filetime_0_1_14 libc_0_2_33 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [] else []);
+  };
+  tar_0_4_13_features."xattr".self_default = hasDefault tar_0_4_13_features;
+  filetime_0_1_14_features."default".from_tar_0_4_13__default_ = true;
+  libc_0_2_33_features."default".from_tar_0_4_13__default_ = true;
+  xattr_0_0_0_features."default".from_tar_0_4_13__default_ = true;
+  tempdir_0_3_5 = tempdir_0_3_5_ rec {
+    dependencies = [ rand_0_3_18 ];
+  };
+  rand_0_3_18_features."default".from_tempdir_0_3_5__default_ = true;
+  termcolor_0_3_3 = termcolor_0_3_3_ rec {
+    dependencies = (if kernel == "windows" then [ wincolor_0_1_4 ] else []);
+  };
+  wincolor_0_1_4_features."default".from_termcolor_0_3_3__default_ = true;
+  termion_1_5_1 = termion_1_5_1_ rec {
+    dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 redox_termios_0_1_1 ] else []);
+  };
+  libc_0_2_33_features."default".from_termion_1_5_1__default_ = true;
+  redox_syscall_0_1_31_features."default".from_termion_1_5_1__default_ = true;
+  redox_termios_0_1_1_features."default".from_termion_1_5_1__default_ = true;
+  thread_local_0_3_4 = thread_local_0_3_4_ rec {
+    dependencies = [ lazy_static_0_2_9 unreachable_1_0_0 ];
+  };
+  lazy_static_0_2_9_features."default".from_thread_local_0_3_4__default_ = true;
+  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default_ = true;
+  toml_0_4_5 = toml_0_4_5_ rec {
+    dependencies = [ serde_1_0_18 ];
+  };
+  serde_1_0_18_features."default".from_toml_0_4_5__default_ = true;
+  unicode_bidi_0_3_4 = unicode_bidi_0_3_4_ rec {
+    dependencies = [ matches_0_1_6 ];
+    features = mkFeatures unicode_bidi_0_3_4_features;
+  };
+  unicode_bidi_0_3_4_features."flame".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
+  unicode_bidi_0_3_4_features."flamer".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
+  unicode_bidi_0_3_4_features."serde".self_with_serde = hasFeature (unicode_bidi_0_3_4_features."with_serde" or {});
+  serde_0_0_0_features."derive".from_unicode_bidi_0_3_4 = true;
+  flame_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  flamer_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  matches_0_1_6_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  serde_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  unicode_normalization_0_1_5 = unicode_normalization_0_1_5_ rec {};
+  unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec {
+    features = mkFeatures unicode_xid_0_0_4_features;
+  };
+  unicode_xid_0_0_4_features."".self = true;
+  unreachable_1_0_0 = unreachable_1_0_0_ rec {
+    dependencies = [ void_1_0_2 ];
+  };
+  void_1_0_2_features."default".from_unreachable_1_0_0__default_ = false;
+  url_1_6_0 = url_1_6_0_ rec {
+    dependencies = [ idna_0_1_4 matches_0_1_6 percent_encoding_1_0_0 ];
+    features = mkFeatures url_1_6_0_features;
+  };
+  url_1_6_0_features."heapsize".self_heap_size = hasFeature (url_1_6_0_features."heap_size" or {});
+  url_1_6_0_features."encoding".self_query_encoding = hasFeature (url_1_6_0_features."query_encoding" or {});
+  encoding_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  heapsize_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  idna_0_1_4_features."default".from_url_1_6_0__default_ = true;
+  matches_0_1_6_features."default".from_url_1_6_0__default_ = true;
+  percent_encoding_1_0_0_features."default".from_url_1_6_0__default_ = true;
+  rustc_serialize_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  serde_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  userenv_sys_0_2_0 = userenv_sys_0_2_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_userenv_sys_0_2_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_userenv_sys_0_2_0__default_ = true;
+  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
+  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
+  void_1_0_2 = void_1_0_2_ rec {
+    features = mkFeatures void_1_0_2_features;
+  };
+  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
+  walkdir_1_0_7 = walkdir_1_0_7_ rec {
+    dependencies = [ same_file_0_1_3 ]
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_walkdir_1_0_7__default_ = true;
+  same_file_0_1_3_features."default".from_walkdir_1_0_7__default_ = true;
+  winapi_0_2_8_features."default".from_walkdir_1_0_7__default_ = true;
+  winapi_0_2_8 = winapi_0_2_8_ rec {};
+  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
+  wincolor_0_1_4 = wincolor_0_1_4_ rec {
+    dependencies = [ kernel32_sys_0_2_2 winapi_0_2_8 ];
+  };
+  kernel32_sys_0_2_2_features."default".from_wincolor_0_1_4__default_ = true;
+  winapi_0_2_8_features."default".from_wincolor_0_1_4__default_ = true;
+  ws2_32_sys_0_2_1 = ws2_32_sys_0_2_1_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+  winapi_build_0_1_1_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+}
diff --git a/pkgs/build-support/rust/cargo-vendor/default.nix b/pkgs/build-support/rust/cargo-vendor/default.nix
new file mode 100644
index 000000000000..faeb6e03743c
--- /dev/null
+++ b/pkgs/build-support/rust/cargo-vendor/default.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchFromGitHub }:
+
+(callPackage ./cargo-vendor.nix {}).cargo_vendor_0_1_13.overrideAttrs (attrs: {
+  src = fetchFromGitHub {
+    owner = "alexcrichton";
+    repo = "cargo-vendor";
+    rev = "0.1.13";
+    sha256 = "0ljh2d65zpxp26a95b3czy5ai2z2dm87x7ndfdc1s0v1fsy69kn4";
+  };
+})
diff --git a/pkgs/build-support/rust/carnix.nix b/pkgs/build-support/rust/carnix.nix
index adb7139758cd..8b0af499c8f1 100644
--- a/pkgs/build-support/rust/carnix.nix
+++ b/pkgs/build-support/rust/carnix.nix
@@ -1,875 +1,1393 @@
-# Generated by carnix 0.5.0: carnix -o carnix.nix --src ./. Cargo.lock
+# Generated by carnix 0.6.5: carnix -o carnix.nix Cargo.lock --src ./.
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
+    mapFeatures = features: map (fun: fun { features = features; });
     mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.6.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    ansi_term_0_10_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ansi_term";
-      version = "0.10.2";
-      authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-      sha256 = "07k0hfmlhv43lihyxb9d81l5mq5zlpqvv30dkfd3knmv2ginasn9";
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.3";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace";
-      version = "0.3.4";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-      sha256 = "1caba8w3rqd5ghr88ghyz5wgkf81dgx18bj1llkax6qmianc6gk7";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace-sys";
-      version = "0.1.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.7.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "1.0.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
-      inherit dependencies buildDependencies features;
-    };
-    carnix_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "carnix";
-      version = "0.5.2";
-      authors = [ "pe@pijul.org <pe@pijul.org>" ];
-      sha256 = "1znj345jziksxxkq7ap3i8p3fp3x4794qggac35d0banj7ml3fv8";
-      inherit dependencies buildDependencies features;
-    };
-    cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cc";
-      version = "1.0.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
-      inherit dependencies buildDependencies features;
-    };
-    cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cfg-if";
-      version = "0.1.2";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
-      inherit dependencies buildDependencies features;
-    };
-    clap_2_28_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "clap";
-      version = "2.28.0";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-      sha256 = "0m0rj9xw6mja4gdhqmaldv0q5y5jfsfzbyzfd70mm3857aynq03k";
-      inherit dependencies buildDependencies features;
-    };
-    dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbghelp-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
-      libName = "dbghelp";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.2";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
-      inherit dependencies buildDependencies features;
-    };
-    either_1_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "either";
-      version = "1.4.0";
-      authors = [ "bluss" ];
-      sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.4.3";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.11.0";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon";
-      version = "0.2.1";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon-sys";
-      version = "0.2.0";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
-      inherit dependencies buildDependencies features;
-    };
-    itertools_0_7_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itertools";
-      version = "0.7.3";
-      authors = [ "bluss" ];
-      sha256 = "128a69cnmgpj38rs6lcwzya773d2vx7f9y7012iycjf9yi2pyckj";
-      inherit dependencies buildDependencies features;
-    };
-    itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itoa";
-      version = "0.3.4";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-      inherit dependencies buildDependencies features;
-    };
-    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "kernel32-sys";
-      version = "0.2.2";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-      libName = "kernel32";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lazy_static";
-      version = "0.2.11";
-      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-      sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-      inherit dependencies buildDependencies features;
-    };
-    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
-      inherit dependencies buildDependencies features;
-    };
-    libsqlite3_sys_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libsqlite3-sys";
-      version = "0.9.0";
-      authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-      sha256 = "1pnx3i9h85si6cs4nhazfb28hsvk7dn0arnfvpdzpjdnj9z38q57";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    linked_hash_map_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "linked-hash-map";
-      version = "0.4.2";
-      authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" "Andrew Paseltiner <apaseltiner@gmail.com>" ];
-      sha256 = "04da208h6jb69f46j37jnvsw2i1wqplglp4d61csqcrhh83avbgl";
-      inherit dependencies buildDependencies features;
-    };
-    log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.8";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
-      inherit dependencies buildDependencies features;
-    };
-    lru_cache_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lru-cache";
-      version = "0.1.1";
-      authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" ];
-      sha256 = "1hl6kii1g54sq649gnscv858mmw7a02xj081l4vcgvrswdi2z8fw";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "1.0.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
-      inherit dependencies buildDependencies features;
-    };
-    nom_3_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nom";
-      version = "3.2.1";
-      authors = [ "contact@geoffroycouprie.com" ];
-      sha256 = "1vcllxrz9hdw6j25kn020ka3psz1vkaqh1hm3yfak2240zrxgi07";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.40";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
-      inherit dependencies buildDependencies features;
-    };
-    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "pkg-config";
-      version = "0.3.9";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-      inherit dependencies buildDependencies features;
-    };
-    quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "quote";
-      version = "0.3.15";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.18";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
-      inherit dependencies buildDependencies features;
-    };
-    redox_syscall_0_1_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_syscall";
-      version = "0.1.32";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "1axxj8x6ngh6npkzqc5h216fajkcyrdxdgb7m2f0n5xfclbk47fv";
-      libName = "syscall";
-      inherit dependencies buildDependencies features;
-    };
-    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_termios";
-      version = "0.1.1";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.2.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.4.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
-      inherit dependencies buildDependencies features;
-    };
-    rusqlite_0_13_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rusqlite";
-      version = "0.13.0";
-      authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-      sha256 = "1hj2464ar2y4324sk3jx7m9byhkcp60krrrs1v1i8dlhhlnkb9hc";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-demangle";
-      version = "0.1.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
-      inherit dependencies buildDependencies features;
-    };
-    serde_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "1.0.21";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive";
-      version = "1.0.21";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0r20qyimm9scfaz7lc0swnhik9d045zklmbidd0zzpd4b2f3jsqm";
-      procMacro = true;
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_internals_0_17_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive_internals";
-      version = "0.17.0";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1g1j3v6pj9wbcz3v3w4smjpwrcdwjicmf6yd5cbai04as9iwhw74";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_1_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "1.0.6";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "syn";
-      version = "0.11.11";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-      inherit dependencies buildDependencies features;
-    };
-    synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "synom";
-      version = "0.11.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-      inherit dependencies buildDependencies features;
-    };
-    tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempdir";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
-      inherit dependencies buildDependencies features;
-    };
-    termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termion";
-      version = "1.5.1";
-      authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-      sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-      inherit dependencies buildDependencies features;
-    };
-    textwrap_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "textwrap";
-      version = "0.9.0";
-      authors = [ "Martin Geisler <martin@geisler.net>" ];
-      sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.3.4";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
-      inherit dependencies buildDependencies features;
-    };
-    time_0_1_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "time";
-      version = "0.1.38";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.4.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-width";
-      version = "0.1.4";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-xid";
-      version = "0.0.4";
-      authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-      inherit dependencies buildDependencies features;
-    };
-    unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unreachable";
-      version = "1.0.0";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
-      inherit dependencies buildDependencies features;
-    };
-    vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vcpkg";
-      version = "0.2.2";
-      authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-      sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
-      inherit dependencies buildDependencies features;
-    };
-    vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vec_map";
-      version = "0.8.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-      sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
-      inherit dependencies buildDependencies features;
-    };
-    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "void";
-      version = "1.0.2";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi";
-      version = "0.2.8";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-      inherit dependencies buildDependencies features;
-    };
-    winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "winapi-build";
-      version = "0.1.1";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-      libName = "build";
-      inherit dependencies buildDependencies features;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec {
-    dependencies = [ memchr_1_0_2 ];
-  };
-  memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default = true;
-  ansi_term_0_10_2 = ansi_term_0_10_2_ rec {};
-  atty_0_2_3 = atty_0_2_3_ rec {
-    dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  termion_1_5_1_features."default".from_atty_0_2_3__default = true;
-  libc_0_2_33_features."default".from_atty_0_2_3__default = false;
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default = true;
-  winapi_0_2_8_features."default".from_atty_0_2_3__default = true;
-  backtrace_0_3_4 = backtrace_0_3_4_ rec {
-    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ]
-      ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else [])      ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else [])      ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []);
-    features = mkFeatures backtrace_0_3_4_features;
-  };
-  backtrace_0_3_4_features."".self = true;
-  backtrace_0_3_4_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."libunwind".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."libbacktrace".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."coresymbolication".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."dladdr".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."dbghelp".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_4_features."gimli-symbolize" or {});
-  backtrace_0_3_4_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_4_features."gimli-symbolize" or {});
-  backtrace_0_3_4_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_4_features."libbacktrace" or {});
-  backtrace_0_3_4_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_4_features."serialize-rustc" or {});
-  backtrace_0_3_4_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_4_features."serialize-serde" or {});
-  backtrace_0_3_4_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_4_features."serialize-serde" or {});
-  addr2line_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  cfg_if_0_1_2_features."default".from_backtrace_0_3_4__default = true;
-  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_4__default = false;
-  findshlibs_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_4__default = true;
-  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  serde_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  serde_derive_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_4__default = true;
-  libc_0_2_33_features."default".from_backtrace_0_3_4__default = true;
-  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_backtrace_0_3_4__default = true;
-  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_1_0_1 = bitflags_1_0_1_ rec {
-    features = mkFeatures bitflags_1_0_1_features;
-  };
-  bitflags_1_0_1_features."example_generated".self_default = hasDefault bitflags_1_0_1_features;
-  carnix_0_5_2 = carnix_0_5_2_ rec {
-    dependencies = [ clap_2_28_0 env_logger_0_4_3 error_chain_0_11_0 itertools_0_7_3 log_0_3_8 nom_3_2_1 regex_0_2_2 rusqlite_0_13_0 serde_1_0_21 serde_derive_1_0_21 serde_json_1_0_6 tempdir_0_3_5 toml_0_4_5 ];
-  };
-  clap_2_28_0_features."default".from_carnix_0_5_2__default = true;
-  env_logger_0_4_3_features."default".from_carnix_0_5_2__default = true;
-  error_chain_0_11_0_features."default".from_carnix_0_5_2__default = true;
-  itertools_0_7_3_features."default".from_carnix_0_5_2__default = true;
-  log_0_3_8_features."default".from_carnix_0_5_2__default = true;
-  nom_3_2_1_features."default".from_carnix_0_5_2__default = true;
-  regex_0_2_2_features."default".from_carnix_0_5_2__default = true;
-  rusqlite_0_13_0_features."default".from_carnix_0_5_2__default = true;
-  serde_1_0_21_features."default".from_carnix_0_5_2__default = true;
-  serde_derive_1_0_21_features."default".from_carnix_0_5_2__default = true;
-  serde_json_1_0_6_features."default".from_carnix_0_5_2__default = true;
-  tempdir_0_3_5_features."default".from_carnix_0_5_2__default = true;
-  toml_0_4_5_features."default".from_carnix_0_5_2__default = true;
-  cc_1_0_3 = cc_1_0_3_ rec {
-    dependencies = [];
-    features = mkFeatures cc_1_0_3_features;
-  };
-  cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {});
-  rayon_0_0_0_features."default".from_cc_1_0_3__default = true;
-  cfg_if_0_1_2 = cfg_if_0_1_2_ rec {};
-  clap_2_28_0 = clap_2_28_0_ rec {
-    dependencies = [ ansi_term_0_10_2 atty_0_2_3 bitflags_1_0_1 strsim_0_6_0 textwrap_0_9_0 unicode_width_0_1_4 vec_map_0_8_0 ]
-      ++ (if lib.lists.any (x: x == "ansi_term") features then [ansi_term_0_10_2] else [])      ++ (if lib.lists.any (x: x == "atty") features then [atty_0_2_3] else [])      ++ (if lib.lists.any (x: x == "strsim") features then [strsim_0_6_0] else [])      ++ (if lib.lists.any (x: x == "vec_map") features then [vec_map_0_8_0] else []);
-    features = mkFeatures clap_2_28_0_features;
-  };
-  clap_2_28_0_features."".self = true;
-  clap_2_28_0_features."ansi_term".self_color = hasFeature (clap_2_28_0_features."color" or {});
-  clap_2_28_0_features."atty".self_color = hasFeature (clap_2_28_0_features."color" or {});
-  clap_2_28_0_features."suggestions".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."color".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."vec_map".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."yaml".self_doc = hasFeature (clap_2_28_0_features."doc" or {});
-  clap_2_28_0_features."clippy".self_lints = hasFeature (clap_2_28_0_features."lints" or {});
-  clap_2_28_0_features."strsim".self_suggestions = hasFeature (clap_2_28_0_features."suggestions" or {});
-  clap_2_28_0_features."term_size".self_wrap_help = hasFeature (clap_2_28_0_features."wrap_help" or {});
-  clap_2_28_0_features."yaml-rust".self_yaml = hasFeature (clap_2_28_0_features."yaml" or {});
-  ansi_term_0_10_2_features."default".from_clap_2_28_0__default = true;
-  atty_0_2_3_features."default".from_clap_2_28_0__default = true;
-  bitflags_1_0_1_features."default".from_clap_2_28_0__default = true;
-  clippy_0_0_0_features."default".from_clap_2_28_0__default = true;
-  strsim_0_6_0_features."default".from_clap_2_28_0__default = true;
-  term_size_0_0_0_features."default".from_clap_2_28_0__default = true;
-  textwrap_0_9_0_features."term_size".from_clap_2_28_0__wrap_help = hasFeature (clap_2_28_0_features."wrap_help" or {});
-  textwrap_0_9_0_features."default".from_clap_2_28_0__default = true;
-  unicode_width_0_1_4_features."default".from_clap_2_28_0__default = true;
-  vec_map_0_8_0_features."default".from_clap_2_28_0__default = true;
-  yaml_rust_0_0_0_features."default".from_clap_2_28_0__default = true;
-  dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default = true;
-  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
-  either_1_4_0 = either_1_4_0_ rec {
-    dependencies = [];
-    features = mkFeatures either_1_4_0_features;
-  };
-  either_1_4_0_features."use_std".self_default = hasDefault either_1_4_0_features;
-  serde_0_0_0_features."derive".from_either_1_4_0 = true;
-  serde_0_0_0_features."default".from_either_1_4_0__default = true;
-  env_logger_0_4_3 = env_logger_0_4_3_ rec {
-    dependencies = [ log_0_3_8 regex_0_2_2 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []);
-    features = mkFeatures env_logger_0_4_3_features;
-  };
-  env_logger_0_4_3_features."".self = true;
-  env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features;
-  log_0_3_8_features."default".from_env_logger_0_4_3__default = true;
-  regex_0_2_2_features."default".from_env_logger_0_4_3__default = true;
-  error_chain_0_11_0 = error_chain_0_11_0_ rec {
-    dependencies = [ backtrace_0_3_4 ]
-      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_4] else []);
-    features = mkFeatures error_chain_0_11_0_features;
-  };
-  error_chain_0_11_0_features."".self = true;
-  error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features;
-  error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features;
-  backtrace_0_3_4_features."default".from_error_chain_0_11_0__default = true;
-  fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec {
-    dependencies = [ fuchsia_zircon_sys_0_2_0 ];
-  };
-  fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default = true;
-  fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default = true;
-  itertools_0_7_3 = itertools_0_7_3_ rec {
-    dependencies = [ either_1_4_0 ];
-    features = mkFeatures itertools_0_7_3_features;
-  };
-  itertools_0_7_3_features."use_std".self_default = hasDefault itertools_0_7_3_features;
-  either_1_4_0_features."default".from_itertools_0_7_3__default = false;
-  itoa_0_3_4 = itoa_0_3_4_ rec {
-    features = mkFeatures itoa_0_3_4_features;
-  };
-  itoa_0_3_4_features."".self = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  lazy_static_0_2_11 = lazy_static_0_2_11_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_11_features;
-  };
-  lazy_static_0_2_11_features."compiletest_rs".self_compiletest = hasFeature (lazy_static_0_2_11_features."compiletest" or {});
-  lazy_static_0_2_11_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_11_features."spin_no_std" or {});
-  lazy_static_0_2_11_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_11_features."spin_no_std" or {});
-  compiletest_rs_0_0_0_features."default".from_lazy_static_0_2_11__default = true;
-  spin_0_0_0_features."default".from_lazy_static_0_2_11__default = true;
-  libc_0_2_33 = libc_0_2_33_ rec {
-    features = mkFeatures libc_0_2_33_features;
-  };
-  libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features;
-  libsqlite3_sys_0_9_0 = libsqlite3_sys_0_9_0_ rec {
-    dependencies = (if abi == "msvc" then [] else []);
-    buildDependencies = [ pkg_config_0_3_9 ]
-      ++ (if lib.lists.any (x: x == "pkg-config") features then [pkg_config_0_3_9] else []);
-    features = mkFeatures libsqlite3_sys_0_9_0_features;
-  };
-  libsqlite3_sys_0_9_0_features."bindgen".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."cc".self_bundled = hasFeature (libsqlite3_sys_0_9_0_features."bundled" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8".self_default = hasDefault libsqlite3_sys_0_9_0_features;
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_16" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_16" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4" or {});
-  linked_hash_map_0_4_2 = linked_hash_map_0_4_2_ rec {
-    dependencies = [];
-    features = mkFeatures linked_hash_map_0_4_2_features;
-  };
-  linked_hash_map_0_4_2_features."heapsize".self_heapsize_impl = hasFeature (linked_hash_map_0_4_2_features."heapsize_impl" or {});
-  linked_hash_map_0_4_2_features."serde".self_serde_impl = hasFeature (linked_hash_map_0_4_2_features."serde_impl" or {});
-  linked_hash_map_0_4_2_features."serde_test".self_serde_impl = hasFeature (linked_hash_map_0_4_2_features."serde_impl" or {});
-  clippy_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  heapsize_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  serde_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  serde_test_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  log_0_3_8 = log_0_3_8_ rec {
-    features = mkFeatures log_0_3_8_features;
-  };
-  log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features;
-  lru_cache_0_1_1 = lru_cache_0_1_1_ rec {
-    dependencies = [ linked_hash_map_0_4_2 ];
-    features = mkFeatures lru_cache_0_1_1_features;
-  };
-  lru_cache_0_1_1_features."heapsize".self_heapsize_impl = hasFeature (lru_cache_0_1_1_features."heapsize_impl" or {});
-  heapsize_0_0_0_features."default".from_lru_cache_0_1_1__default = true;
-  linked_hash_map_0_4_2_features."heapsize_impl".from_lru_cache_0_1_1__heapsize_impl = hasFeature (lru_cache_0_1_1_features."heapsize_impl" or {});
-  linked_hash_map_0_4_2_features."default".from_lru_cache_0_1_1__default = true;
-  memchr_1_0_2 = memchr_1_0_2_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_1_0_2_features;
-  };
-  memchr_1_0_2_features."".self = true;
-  memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_1_0_2__default = false;
-  nom_3_2_1 = nom_3_2_1_ rec {
-    dependencies = [ memchr_1_0_2 ];
-    features = mkFeatures nom_3_2_1_features;
-  };
-  nom_3_2_1_features."std".self_default = hasDefault nom_3_2_1_features;
-  nom_3_2_1_features."stream".self_default = hasDefault nom_3_2_1_features;
-  nom_3_2_1_features."compiler_error".self_nightly = hasFeature (nom_3_2_1_features."nightly" or {});
-  nom_3_2_1_features."regex".self_regexp = hasFeature (nom_3_2_1_features."regexp" or {});
-  nom_3_2_1_features."regexp".self_regexp_macros = hasFeature (nom_3_2_1_features."regexp_macros" or {});
-  nom_3_2_1_features."lazy_static".self_regexp_macros = hasFeature (nom_3_2_1_features."regexp_macros" or {});
-  compiler_error_0_0_0_features."default".from_nom_3_2_1__default = true;
-  lazy_static_0_0_0_features."default".from_nom_3_2_1__default = true;
-  memchr_1_0_2_features."use_std".from_nom_3_2_1__std = hasFeature (nom_3_2_1_features."std" or {});
-  memchr_1_0_2_features."default".from_nom_3_2_1__default = false;
-  regex_0_0_0_features."default".from_nom_3_2_1__default = true;
-  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  quote_0_3_15 = quote_0_3_15_ rec {};
-  rand_0_3_18 = rand_0_3_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []);
-    features = mkFeatures rand_0_3_18_features;
-  };
-  rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {});
-  libc_0_2_33_features."default".from_rand_0_3_18__default = true;
-  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default = true;
-  redox_syscall_0_1_32 = redox_syscall_0_1_32_ rec {};
-  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
-    dependencies = [ redox_syscall_0_1_32 ];
-  };
-  redox_syscall_0_1_32_features."default".from_redox_termios_0_1_1__default = true;
-  regex_0_2_2 = regex_0_2_2_ rec {
-    dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ];
-    features = mkFeatures regex_0_2_2_features;
-  };
-  regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_regex_0_2_2__default = true;
-  memchr_1_0_2_features."default".from_regex_0_2_2__default = true;
-  regex_syntax_0_4_1_features."default".from_regex_0_2_2__default = true;
-  simd_0_0_0_features."default".from_regex_0_2_2__default = true;
-  thread_local_0_3_4_features."default".from_regex_0_2_2__default = true;
-  utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default = true;
-  regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {};
-  rusqlite_0_13_0 = rusqlite_0_13_0_ rec {
-    dependencies = [ bitflags_1_0_1 libsqlite3_sys_0_9_0 lru_cache_0_1_1 time_0_1_38 ];
-    features = mkFeatures rusqlite_0_13_0_features;
-  };
-  rusqlite_0_13_0_features."".self = true;
-  bitflags_1_0_1_features."default".from_rusqlite_0_13_0__default = true;
-  chrono_0_0_0_features."default".from_rusqlite_0_13_0__default = true;
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11".from_rusqlite_0_13_0__backup = hasFeature (rusqlite_0_13_0_features."backup" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4".from_rusqlite_0_13_0__blob = hasFeature (rusqlite_0_13_0_features."blob" or {});
-  libsqlite3_sys_0_9_0_features."buildtime_bindgen".from_rusqlite_0_13_0__buildtime_bindgen = hasFeature (rusqlite_0_13_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."bundled".from_rusqlite_0_13_0__bundled = hasFeature (rusqlite_0_13_0_features."bundled" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3".from_rusqlite_0_13_0__functions = hasFeature (rusqlite_0_13_0_features."functions" or {});
-  libsqlite3_sys_0_9_0_features."sqlcipher".from_rusqlite_0_13_0__sqlcipher = hasFeature (rusqlite_0_13_0_features."sqlcipher" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23".from_rusqlite_0_13_0__trace = hasFeature (rusqlite_0_13_0_features."trace" or {});
-  libsqlite3_sys_0_9_0_features."default".from_rusqlite_0_13_0__default = true;
-  lru_cache_0_1_1_features."default".from_rusqlite_0_13_0__default = true;
-  serde_json_0_0_0_features."default".from_rusqlite_0_13_0__default = true;
-  time_0_1_38_features."default".from_rusqlite_0_13_0__default = true;
-  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
-  serde_1_0_21 = serde_1_0_21_ rec {
-    dependencies = [];
-    features = mkFeatures serde_1_0_21_features;
-  };
-  serde_1_0_21_features."unstable".self_alloc = hasFeature (serde_1_0_21_features."alloc" or {});
-  serde_1_0_21_features."std".self_default = hasDefault serde_1_0_21_features;
-  serde_1_0_21_features."serde_derive".self_derive = hasFeature (serde_1_0_21_features."derive" or {});
-  serde_1_0_21_features."serde_derive".self_playground = hasFeature (serde_1_0_21_features."playground" or {});
-  serde_derive_0_0_0_features."default".from_serde_1_0_21__default = true;
-  serde_derive_1_0_21 = serde_derive_1_0_21_ rec {
-    dependencies = [ quote_0_3_15 serde_derive_internals_0_17_0 syn_0_11_11 ];
-  };
-  quote_0_3_15_features."default".from_serde_derive_1_0_21__default = true;
-  serde_derive_internals_0_17_0_features."default".from_serde_derive_1_0_21__default = false;
-  syn_0_11_11_features."visit".from_serde_derive_1_0_21 = true;
-  syn_0_11_11_features."default".from_serde_derive_1_0_21__default = true;
-  serde_derive_internals_0_17_0 = serde_derive_internals_0_17_0_ rec {
-    dependencies = [ syn_0_11_11 synom_0_11_3 ];
-  };
-  syn_0_11_11_features."parsing".from_serde_derive_internals_0_17_0 = true;
-  syn_0_11_11_features."default".from_serde_derive_internals_0_17_0__default = false;
-  synom_0_11_3_features."default".from_serde_derive_internals_0_17_0__default = true;
-  serde_json_1_0_6 = serde_json_1_0_6_ rec {
-    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_21 ];
-    features = mkFeatures serde_json_1_0_6_features;
-  };
-  serde_json_1_0_6_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_6_features."preserve_order" or {});
-  dtoa_0_4_2_features."default".from_serde_json_1_0_6__default = true;
-  itoa_0_3_4_features."default".from_serde_json_1_0_6__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_6__default = true;
-  num_traits_0_1_40_features."default".from_serde_json_1_0_6__default = true;
-  serde_1_0_21_features."default".from_serde_json_1_0_6__default = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  syn_0_11_11 = syn_0_11_11_ rec {
-    dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ]
-      ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else [])      ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else [])      ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []);
-    features = mkFeatures syn_0_11_11_features;
-  };
-  syn_0_11_11_features."".self = true;
-  syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {});
-  quote_0_3_15_features."default".from_syn_0_11_11__default = true;
-  synom_0_11_3_features."default".from_syn_0_11_11__default = true;
-  unicode_xid_0_0_4_features."default".from_syn_0_11_11__default = true;
-  synom_0_11_3 = synom_0_11_3_ rec {
-    dependencies = [ unicode_xid_0_0_4 ];
-  };
-  unicode_xid_0_0_4_features."default".from_synom_0_11_3__default = true;
-  tempdir_0_3_5 = tempdir_0_3_5_ rec {
-    dependencies = [ rand_0_3_18 ];
-  };
-  rand_0_3_18_features."default".from_tempdir_0_3_5__default = true;
-  termion_1_5_1 = termion_1_5_1_ rec {
-    dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_32 redox_termios_0_1_1 ] else []);
-  };
-  libc_0_2_33_features."default".from_termion_1_5_1__default = true;
-  redox_syscall_0_1_32_features."default".from_termion_1_5_1__default = true;
-  redox_termios_0_1_1_features."default".from_termion_1_5_1__default = true;
-  textwrap_0_9_0 = textwrap_0_9_0_ rec {
-    dependencies = [ unicode_width_0_1_4 ];
-  };
-  hyphenation_0_0_0_features."default".from_textwrap_0_9_0__default = true;
-  term_size_0_0_0_features."default".from_textwrap_0_9_0__default = true;
-  unicode_width_0_1_4_features."default".from_textwrap_0_9_0__default = true;
-  thread_local_0_3_4 = thread_local_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_11 unreachable_1_0_0 ];
-  };
-  lazy_static_0_2_11_features."default".from_thread_local_0_3_4__default = true;
-  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default = true;
-  time_0_1_38 = time_0_1_38_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_32 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  libc_0_2_33_features."default".from_time_0_1_38__default = true;
-  rustc_serialize_0_0_0_features."default".from_time_0_1_38__default = true;
-  redox_syscall_0_1_32_features."default".from_time_0_1_38__default = true;
-  kernel32_sys_0_2_2_features."default".from_time_0_1_38__default = true;
-  winapi_0_2_8_features."default".from_time_0_1_38__default = true;
-  toml_0_4_5 = toml_0_4_5_ rec {
-    dependencies = [ serde_1_0_21 ];
-  };
-  serde_1_0_21_features."default".from_toml_0_4_5__default = true;
-  unicode_width_0_1_4 = unicode_width_0_1_4_ rec {
-    features = mkFeatures unicode_width_0_1_4_features;
-  };
-  unicode_width_0_1_4_features."".self = true;
-  unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec {
-    features = mkFeatures unicode_xid_0_0_4_features;
-  };
-  unicode_xid_0_0_4_features."".self = true;
-  unreachable_1_0_0 = unreachable_1_0_0_ rec {
-    dependencies = [ void_1_0_2 ];
-  };
-  void_1_0_2_features."default".from_unreachable_1_0_0__default = false;
-  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
-  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
-  vec_map_0_8_0 = vec_map_0_8_0_ rec {
-    dependencies = [];
-    features = mkFeatures vec_map_0_8_0_features;
-  };
-  vec_map_0_8_0_features."serde".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  vec_map_0_8_0_features."serde_derive".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  serde_0_0_0_features."default".from_vec_map_0_8_0__default = true;
-  serde_derive_0_0_0_features."default".from_vec_map_0_8_0__default = true;
-  void_1_0_2 = void_1_0_2_ rec {
-    features = mkFeatures void_1_0_2_features;
-  };
-  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
+  carnix = f: carnix_0_6_5 { features = carnix_0_6_5_features { carnix_0_6_5 = f; }; };
+  aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.6.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
+    libName = "aho_corasick";
+    crateBin = [ {  name = "aho-corasick-dot"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  ansi_term_0_10_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.10.2";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
+    sha256 = "07k0hfmlhv43lihyxb9d81l5mq5zlpqvv30dkfd3knmv2ginasn9";
+    inherit dependencies buildDependencies features;
+  };
+  atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.3";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    inherit dependencies buildDependencies features;
+  };
+  backtrace_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "backtrace";
+    version = "0.3.4";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+    sha256 = "1caba8w3rqd5ghr88ghyz5wgkf81dgx18bj1llkax6qmianc6gk7";
+    inherit dependencies buildDependencies features;
+  };
+  backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "backtrace-sys";
+    version = "0.1.16";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
+    inherit dependencies buildDependencies features;
+  };
+  carnix_0_6_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "carnix";
+    version = "0.6.5";
+    authors = [ "pe@pijul.org <pe@pijul.org>" ];
+    sha256 = "0r952s5az5mhw7z2r421i5lr0w5h436hah61md2bdb3204c2pl9c";
+    inherit dependencies buildDependencies features;
+  };
+  cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.3";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+    inherit dependencies buildDependencies features;
+  };
+  cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cfg-if";
+    version = "0.1.2";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+    inherit dependencies buildDependencies features;
+  };
+  chrono_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "chrono";
+    version = "0.4.0";
+    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
+    sha256 = "0hm53hi6v7b6b1va6vn96lx26wvj8gzi2g51s1j02nlz0jcprw6a";
+    inherit dependencies buildDependencies features;
+  };
+  clap_2_28_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "clap";
+    version = "2.28.0";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0m0rj9xw6mja4gdhqmaldv0q5y5jfsfzbyzfd70mm3857aynq03k";
+    inherit dependencies buildDependencies features;
+  };
+  dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbghelp-sys";
+    version = "0.2.0";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
+    libName = "dbghelp";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+    inherit dependencies buildDependencies features;
+  };
+  either_1_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "either";
+    version = "1.4.0";
+    authors = [ "bluss" ];
+    sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
+    inherit dependencies buildDependencies features;
+  };
+  env_logger_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "env_logger";
+    version = "0.5.3";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1i7jyxrwwv3w2h200ynq3fjg1iyyvi76ny215hi6d334vkkw2s2y";
+    inherit dependencies buildDependencies features;
+  };
+  error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "error-chain";
+    version = "0.11.0";
+    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
+    sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.2.1";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.2.0";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    inherit dependencies buildDependencies features;
+  };
+  itertools_0_7_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.7.3";
+    authors = [ "bluss" ];
+    sha256 = "128a69cnmgpj38rs6lcwzya773d2vx7f9y7012iycjf9yi2pyckj";
+    inherit dependencies buildDependencies features;
+  };
+  itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.4";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    inherit dependencies buildDependencies features;
+  };
+  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.11";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.33";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
+    inherit dependencies buildDependencies features;
+  };
+  libsqlite3_sys_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libsqlite3-sys";
+    version = "0.9.0";
+    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
+    sha256 = "1pnx3i9h85si6cs4nhazfb28hsvk7dn0arnfvpdzpjdnj9z38q57";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  linked_hash_map_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "linked-hash-map";
+    version = "0.4.2";
+    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" "Andrew Paseltiner <apaseltiner@gmail.com>" ];
+    sha256 = "04da208h6jb69f46j37jnvsw2i1wqplglp4d61csqcrhh83avbgl";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.4.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "01vm8yy3wngvyj6qp1x3xpcb4xq7v67yn9l7fsma8kz28mliz90d";
+    inherit dependencies buildDependencies features;
+  };
+  lru_cache_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lru-cache";
+    version = "0.1.1";
+    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" ];
+    sha256 = "1hl6kii1g54sq649gnscv858mmw7a02xj081l4vcgvrswdi2z8fw";
+    inherit dependencies buildDependencies features;
+  };
+  memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memchr";
+    version = "1.0.2";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
+    inherit dependencies buildDependencies features;
+  };
+  nom_3_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nom";
+    version = "3.2.1";
+    authors = [ "contact@geoffroycouprie.com" ];
+    sha256 = "1vcllxrz9hdw6j25kn020ka3psz1vkaqh1hm3yfak2240zrxgi07";
+    inherit dependencies buildDependencies features;
+  };
+  num_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0b29c25n9mpf6a921khj7a6y3hz5va4vgwppcd2if975qq1shakg";
+    inherit dependencies buildDependencies features;
+  };
+  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.35";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
+    inherit dependencies buildDependencies features;
+  };
+  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.34";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+    inherit dependencies buildDependencies features;
+  };
+  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+    inherit dependencies buildDependencies features;
+  };
+  quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "quote";
+    version = "0.3.15";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.18";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+    inherit dependencies buildDependencies features;
+  };
+  redox_syscall_0_1_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.32";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "1axxj8x6ngh6npkzqc5h216fajkcyrdxdgb7m2f0n5xfclbk47fv";
+    libName = "syscall";
+    inherit dependencies buildDependencies features;
+  };
+  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_termios";
+    version = "0.1.1";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex";
+    version = "0.2.2";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
+    inherit dependencies buildDependencies features;
+  };
+  regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.4.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
+    inherit dependencies buildDependencies features;
+  };
+  rusqlite_0_13_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rusqlite";
+    version = "0.13.0";
+    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
+    sha256 = "1hj2464ar2y4324sk3jx7m9byhkcp60krrrs1v1i8dlhhlnkb9hc";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc-demangle";
+    version = "0.1.5";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
+    inherit dependencies buildDependencies features;
+  };
+  serde_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.21";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
+    inherit dependencies buildDependencies features;
+  };
+  serde_derive_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_derive";
+    version = "1.0.21";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0r20qyimm9scfaz7lc0swnhik9d045zklmbidd0zzpd4b2f3jsqm";
+    procMacro = true;
+    inherit dependencies buildDependencies features;
+  };
+  serde_derive_internals_0_17_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_derive_internals";
+    version = "0.17.0";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1g1j3v6pj9wbcz3v3w4smjpwrcdwjicmf6yd5cbai04as9iwhw74";
+    inherit dependencies buildDependencies features;
+  };
+  serde_json_1_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_json";
+    version = "1.0.6";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
+    inherit dependencies buildDependencies features;
+  };
+  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    inherit dependencies buildDependencies features;
+  };
+  syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "syn";
+    version = "0.11.11";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
+    inherit dependencies buildDependencies features;
+  };
+  synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "synom";
+    version = "0.11.3";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+    inherit dependencies buildDependencies features;
+  };
+  tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "tempdir";
+    version = "0.3.5";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
+    inherit dependencies buildDependencies features;
+  };
+  termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "termcolor";
+    version = "0.3.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
+    inherit dependencies buildDependencies features;
+  };
+  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "termion";
+    version = "1.5.1";
+    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+    inherit dependencies buildDependencies features;
+  };
+  textwrap_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.9.0";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
+    inherit dependencies buildDependencies features;
+  };
+  thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.3.4";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+    inherit dependencies buildDependencies features;
+  };
+  time_0_1_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "time";
+    version = "0.1.38";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
+    inherit dependencies buildDependencies features;
+  };
+  toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "toml";
+    version = "0.4.5";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-xid";
+    version = "0.0.4";
+    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+    inherit dependencies buildDependencies features;
+  };
+  unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unreachable";
+    version = "1.0.0";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
+    inherit dependencies buildDependencies features;
+  };
+  utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "1.0.0";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
+    inherit dependencies buildDependencies features;
+  };
+  vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.2";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+    inherit dependencies buildDependencies features;
+  };
+  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    inherit dependencies buildDependencies features;
+  };
+  void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "void";
+    version = "1.0.2";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+    inherit dependencies buildDependencies features;
+  };
+  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+    inherit dependencies buildDependencies features;
+  };
+  wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wincolor";
+    version = "0.1.4";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
+    inherit dependencies buildDependencies features;
+  };
+  aho_corasick_0_6_3 = { features?(aho_corasick_0_6_3_features {}) }: aho_corasick_0_6_3_ {
+    dependencies = mapFeatures features ([ memchr_1_0_2 ]);
+  };
+  aho_corasick_0_6_3_features = f: updateFeatures f (rec {
+    aho_corasick_0_6_3.default = (f.aho_corasick_0_6_3.default or true);
+    memchr_1_0_2.default = true;
+  }) [ memchr_1_0_2_features ];
+  ansi_term_0_10_2 = { features?(ansi_term_0_10_2_features {}) }: ansi_term_0_10_2_ {};
+  ansi_term_0_10_2_features = f: updateFeatures f (rec {
+    ansi_term_0_10_2.default = (f.ansi_term_0_10_2.default or true);
+  }) [];
+  atty_0_2_3 = { features?(atty_0_2_3_features {}) }: atty_0_2_3_ {
+    dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_33 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  atty_0_2_3_features = f: updateFeatures f (rec {
+    atty_0_2_3.default = (f.atty_0_2_3.default or true);
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_33.default = (f.libc_0_2_33.default or false);
+    termion_1_5_1.default = true;
+    winapi_0_2_8.default = true;
+  }) [ termion_1_5_1_features libc_0_2_33_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  backtrace_0_3_4 = { features?(backtrace_0_3_4_features {}) }: backtrace_0_3_4_ {
+    dependencies = mapFeatures features ([ cfg_if_0_1_2 rustc_demangle_0_1_5 ])
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([ ]
+      ++ (if features.backtrace_0_3_4.backtrace-sys or false then [ backtrace_sys_0_1_16 ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_33 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ ]
+      ++ (if features.backtrace_0_3_4.dbghelp-sys or false then [ dbghelp_sys_0_2_0 ] else [])
+      ++ (if features.backtrace_0_3_4.kernel32-sys or false then [ kernel32_sys_0_2_2 ] else [])
+      ++ (if features.backtrace_0_3_4.winapi or false then [ winapi_0_2_8 ] else [])) else []);
+    features = mkFeatures (features.backtrace_0_3_4 or {});
+  };
+  backtrace_0_3_4_features = f: updateFeatures f (rec {
+    backtrace_0_3_4.addr2line =
+      (f.backtrace_0_3_4.addr2line or false) ||
+      (f.backtrace_0_3_4.gimli-symbolize or false) ||
+      (backtrace_0_3_4.gimli-symbolize or false);
+    backtrace_0_3_4.backtrace-sys =
+      (f.backtrace_0_3_4.backtrace-sys or false) ||
+      (f.backtrace_0_3_4.libbacktrace or false) ||
+      (backtrace_0_3_4.libbacktrace or false);
+    backtrace_0_3_4.coresymbolication =
+      (f.backtrace_0_3_4.coresymbolication or false) ||
+      (f.backtrace_0_3_4.default or false) ||
+      (backtrace_0_3_4.default or false);
+    backtrace_0_3_4.dbghelp =
+      (f.backtrace_0_3_4.dbghelp or false) ||
+      (f.backtrace_0_3_4.default or false) ||
+      (backtrace_0_3_4.default or false);
+    backtrace_0_3_4.dbghelp-sys =
+      (f.backtrace_0_3_4.dbghelp-sys or false) ||
+      (f.backtrace_0_3_4.dbghelp or false) ||
+      (backtrace_0_3_4.dbghelp or false);
+    backtrace_0_3_4.default = (f.backtrace_0_3_4.default or true);
+    backtrace_0_3_4.dladdr =
+      (f.backtrace_0_3_4.dladdr or false) ||
+      (f.backtrace_0_3_4.default or false) ||
+      (backtrace_0_3_4.default or false);
+    backtrace_0_3_4.findshlibs =
+      (f.backtrace_0_3_4.findshlibs or false) ||
+      (f.backtrace_0_3_4.gimli-symbolize or false) ||
+      (backtrace_0_3_4.gimli-symbolize or false);
+    backtrace_0_3_4.kernel32-sys =
+      (f.backtrace_0_3_4.kernel32-sys or false) ||
+      (f.backtrace_0_3_4.dbghelp or false) ||
+      (backtrace_0_3_4.dbghelp or false);
+    backtrace_0_3_4.libbacktrace =
+      (f.backtrace_0_3_4.libbacktrace or false) ||
+      (f.backtrace_0_3_4.default or false) ||
+      (backtrace_0_3_4.default or false);
+    backtrace_0_3_4.libunwind =
+      (f.backtrace_0_3_4.libunwind or false) ||
+      (f.backtrace_0_3_4.default or false) ||
+      (backtrace_0_3_4.default or false);
+    backtrace_0_3_4.rustc-serialize =
+      (f.backtrace_0_3_4.rustc-serialize or false) ||
+      (f.backtrace_0_3_4.serialize-rustc or false) ||
+      (backtrace_0_3_4.serialize-rustc or false);
+    backtrace_0_3_4.serde =
+      (f.backtrace_0_3_4.serde or false) ||
+      (f.backtrace_0_3_4.serialize-serde or false) ||
+      (backtrace_0_3_4.serialize-serde or false);
+    backtrace_0_3_4.serde_derive =
+      (f.backtrace_0_3_4.serde_derive or false) ||
+      (f.backtrace_0_3_4.serialize-serde or false) ||
+      (backtrace_0_3_4.serialize-serde or false);
+    backtrace_0_3_4.winapi =
+      (f.backtrace_0_3_4.winapi or false) ||
+      (f.backtrace_0_3_4.dbghelp or false) ||
+      (backtrace_0_3_4.dbghelp or false);
+    backtrace_sys_0_1_16.default = true;
+    cfg_if_0_1_2.default = true;
+    dbghelp_sys_0_2_0.default = true;
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_33.default = true;
+    rustc_demangle_0_1_5.default = true;
+    winapi_0_2_8.default = true;
+  }) [ cfg_if_0_1_2_features rustc_demangle_0_1_5_features backtrace_sys_0_1_16_features libc_0_2_33_features dbghelp_sys_0_2_0_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  backtrace_sys_0_1_16 = { features?(backtrace_sys_0_1_16_features {}) }: backtrace_sys_0_1_16_ {
+    dependencies = mapFeatures features ([ libc_0_2_33 ]);
+    buildDependencies = mapFeatures features ([ cc_1_0_3 ]);
+  };
+  backtrace_sys_0_1_16_features = f: updateFeatures f (rec {
+    backtrace_sys_0_1_16.default = (f.backtrace_sys_0_1_16.default or true);
+    cc_1_0_3.default = true;
+    libc_0_2_33.default = true;
+  }) [ libc_0_2_33_features cc_1_0_3_features ];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
+  }) [];
+  bitflags_1_0_1 = { features?(bitflags_1_0_1_features {}) }: bitflags_1_0_1_ {
+    features = mkFeatures (features.bitflags_1_0_1 or {});
+  };
+  bitflags_1_0_1_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = (f.bitflags_1_0_1.default or true);
+    bitflags_1_0_1.example_generated =
+      (f.bitflags_1_0_1.example_generated or false) ||
+      (f.bitflags_1_0_1.default or false) ||
+      (bitflags_1_0_1.default or false);
+  }) [];
+  carnix_0_6_5 = { features?(carnix_0_6_5_features {}) }: carnix_0_6_5_ {
+    dependencies = mapFeatures features ([ clap_2_28_0 env_logger_0_5_3 error_chain_0_11_0 itertools_0_7_3 log_0_4_1 nom_3_2_1 regex_0_2_2 rusqlite_0_13_0 serde_1_0_21 serde_derive_1_0_21 serde_json_1_0_6 tempdir_0_3_5 toml_0_4_5 ]);
+  };
+  carnix_0_6_5_features = f: updateFeatures f (rec {
+    carnix_0_6_5.default = (f.carnix_0_6_5.default or true);
+    clap_2_28_0.default = true;
+    env_logger_0_5_3.default = true;
+    error_chain_0_11_0.default = true;
+    itertools_0_7_3.default = true;
+    log_0_4_1.default = true;
+    nom_3_2_1.default = true;
+    regex_0_2_2.default = true;
+    rusqlite_0_13_0.default = true;
+    serde_1_0_21.default = true;
+    serde_derive_1_0_21.default = true;
+    serde_json_1_0_6.default = true;
+    tempdir_0_3_5.default = true;
+    toml_0_4_5.default = true;
+  }) [ clap_2_28_0_features env_logger_0_5_3_features error_chain_0_11_0_features itertools_0_7_3_features log_0_4_1_features nom_3_2_1_features regex_0_2_2_features rusqlite_0_13_0_features serde_1_0_21_features serde_derive_1_0_21_features serde_json_1_0_6_features tempdir_0_3_5_features toml_0_4_5_features ];
+  cc_1_0_3 = { features?(cc_1_0_3_features {}) }: cc_1_0_3_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.cc_1_0_3 or {});
+  };
+  cc_1_0_3_features = f: updateFeatures f (rec {
+    cc_1_0_3.default = (f.cc_1_0_3.default or true);
+    cc_1_0_3.rayon =
+      (f.cc_1_0_3.rayon or false) ||
+      (f.cc_1_0_3.parallel or false) ||
+      (cc_1_0_3.parallel or false);
+  }) [];
+  cfg_if_0_1_2 = { features?(cfg_if_0_1_2_features {}) }: cfg_if_0_1_2_ {};
+  cfg_if_0_1_2_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = (f.cfg_if_0_1_2.default or true);
+  }) [];
+  chrono_0_4_0 = { features?(chrono_0_4_0_features {}) }: chrono_0_4_0_ {
+    dependencies = mapFeatures features ([ num_0_1_40 time_0_1_38 ]);
+  };
+  chrono_0_4_0_features = f: updateFeatures f (rec {
+    chrono_0_4_0.default = (f.chrono_0_4_0.default or true);
+    num_0_1_40.default = (f.num_0_1_40.default or false);
+    time_0_1_38.default = true;
+  }) [ num_0_1_40_features time_0_1_38_features ];
+  clap_2_28_0 = { features?(clap_2_28_0_features {}) }: clap_2_28_0_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 textwrap_0_9_0 unicode_width_0_1_4 ]
+      ++ (if features.clap_2_28_0.ansi_term or false then [ ansi_term_0_10_2 ] else [])
+      ++ (if features.clap_2_28_0.atty or false then [ atty_0_2_3 ] else [])
+      ++ (if features.clap_2_28_0.strsim or false then [ strsim_0_6_0 ] else [])
+      ++ (if features.clap_2_28_0.vec_map or false then [ vec_map_0_8_0 ] else []));
+    features = mkFeatures (features.clap_2_28_0 or {});
+  };
+  clap_2_28_0_features = f: updateFeatures f (rec {
+    ansi_term_0_10_2.default = true;
+    atty_0_2_3.default = true;
+    bitflags_1_0_1.default = true;
+    clap_2_28_0.ansi_term =
+      (f.clap_2_28_0.ansi_term or false) ||
+      (f.clap_2_28_0.color or false) ||
+      (clap_2_28_0.color or false);
+    clap_2_28_0.atty =
+      (f.clap_2_28_0.atty or false) ||
+      (f.clap_2_28_0.color or false) ||
+      (clap_2_28_0.color or false);
+    clap_2_28_0.clippy =
+      (f.clap_2_28_0.clippy or false) ||
+      (f.clap_2_28_0.lints or false) ||
+      (clap_2_28_0.lints or false);
+    clap_2_28_0.color =
+      (f.clap_2_28_0.color or false) ||
+      (f.clap_2_28_0.default or false) ||
+      (clap_2_28_0.default or false);
+    clap_2_28_0.default = (f.clap_2_28_0.default or true);
+    clap_2_28_0.strsim =
+      (f.clap_2_28_0.strsim or false) ||
+      (f.clap_2_28_0.suggestions or false) ||
+      (clap_2_28_0.suggestions or false);
+    clap_2_28_0.suggestions =
+      (f.clap_2_28_0.suggestions or false) ||
+      (f.clap_2_28_0.default or false) ||
+      (clap_2_28_0.default or false);
+    clap_2_28_0.term_size =
+      (f.clap_2_28_0.term_size or false) ||
+      (f.clap_2_28_0.wrap_help or false) ||
+      (clap_2_28_0.wrap_help or false);
+    clap_2_28_0.vec_map =
+      (f.clap_2_28_0.vec_map or false) ||
+      (f.clap_2_28_0.default or false) ||
+      (clap_2_28_0.default or false);
+    clap_2_28_0.yaml =
+      (f.clap_2_28_0.yaml or false) ||
+      (f.clap_2_28_0.doc or false) ||
+      (clap_2_28_0.doc or false);
+    clap_2_28_0.yaml-rust =
+      (f.clap_2_28_0.yaml-rust or false) ||
+      (f.clap_2_28_0.yaml or false) ||
+      (clap_2_28_0.yaml or false);
+    strsim_0_6_0.default = true;
+    textwrap_0_9_0.default = true;
+    textwrap_0_9_0.term_size =
+      (f.textwrap_0_9_0.term_size or false) ||
+      (clap_2_28_0.wrap_help or false) ||
+      (f.clap_2_28_0.wrap_help or false);
+    unicode_width_0_1_4.default = true;
+    vec_map_0_8_0.default = true;
+  }) [ ansi_term_0_10_2_features atty_0_2_3_features bitflags_1_0_1_features strsim_0_6_0_features textwrap_0_9_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
+  dbghelp_sys_0_2_0 = { features?(dbghelp_sys_0_2_0_features {}) }: dbghelp_sys_0_2_0_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  dbghelp_sys_0_2_0_features = f: updateFeatures f (rec {
+    dbghelp_sys_0_2_0.default = (f.dbghelp_sys_0_2_0.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
+  dtoa_0_4_2_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
+  }) [];
+  either_1_4_0 = { features?(either_1_4_0_features {}) }: either_1_4_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.either_1_4_0 or {});
+  };
+  either_1_4_0_features = f: updateFeatures f (rec {
+    either_1_4_0.default = (f.either_1_4_0.default or true);
+    either_1_4_0.use_std =
+      (f.either_1_4_0.use_std or false) ||
+      (f.either_1_4_0.default or false) ||
+      (either_1_4_0.default or false);
+  }) [];
+  env_logger_0_5_3 = { features?(env_logger_0_5_3_features {}) }: env_logger_0_5_3_ {
+    dependencies = mapFeatures features ([ atty_0_2_3 chrono_0_4_0 log_0_4_1 termcolor_0_3_3 ]
+      ++ (if features.env_logger_0_5_3.regex or false then [ regex_0_2_2 ] else []));
+    features = mkFeatures (features.env_logger_0_5_3 or {});
+  };
+  env_logger_0_5_3_features = f: updateFeatures f (rec {
+    atty_0_2_3.default = true;
+    chrono_0_4_0.default = true;
+    env_logger_0_5_3.default = (f.env_logger_0_5_3.default or true);
+    env_logger_0_5_3.regex =
+      (f.env_logger_0_5_3.regex or false) ||
+      (f.env_logger_0_5_3.default or false) ||
+      (env_logger_0_5_3.default or false);
+    log_0_4_1.default = true;
+    log_0_4_1.std = true;
+    regex_0_2_2.default = true;
+    termcolor_0_3_3.default = true;
+  }) [ atty_0_2_3_features chrono_0_4_0_features log_0_4_1_features regex_0_2_2_features termcolor_0_3_3_features ];
+  error_chain_0_11_0 = { features?(error_chain_0_11_0_features {}) }: error_chain_0_11_0_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.error_chain_0_11_0.backtrace or false then [ backtrace_0_3_4 ] else []));
+    features = mkFeatures (features.error_chain_0_11_0 or {});
+  };
+  error_chain_0_11_0_features = f: updateFeatures f (rec {
+    backtrace_0_3_4.default = true;
+    error_chain_0_11_0.backtrace =
+      (f.error_chain_0_11_0.backtrace or false) ||
+      (f.error_chain_0_11_0.default or false) ||
+      (error_chain_0_11_0.default or false);
+    error_chain_0_11_0.default = (f.error_chain_0_11_0.default or true);
+    error_chain_0_11_0.example_generated =
+      (f.error_chain_0_11_0.example_generated or false) ||
+      (f.error_chain_0_11_0.default or false) ||
+      (error_chain_0_11_0.default or false);
+  }) [ backtrace_0_3_4_features ];
+  fuchsia_zircon_0_2_1 = { features?(fuchsia_zircon_0_2_1_features {}) }: fuchsia_zircon_0_2_1_ {
+    dependencies = mapFeatures features ([ fuchsia_zircon_sys_0_2_0 ]);
+  };
+  fuchsia_zircon_0_2_1_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_2_1.default = (f.fuchsia_zircon_0_2_1.default or true);
+    fuchsia_zircon_sys_0_2_0.default = true;
+  }) [ fuchsia_zircon_sys_0_2_0_features ];
+  fuchsia_zircon_sys_0_2_0 = { features?(fuchsia_zircon_sys_0_2_0_features {}) }: fuchsia_zircon_sys_0_2_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
+  };
+  fuchsia_zircon_sys_0_2_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    fuchsia_zircon_sys_0_2_0.default = (f.fuchsia_zircon_sys_0_2_0.default or true);
+  }) [ bitflags_0_7_0_features ];
+  itertools_0_7_3 = { features?(itertools_0_7_3_features {}) }: itertools_0_7_3_ {
+    dependencies = mapFeatures features ([ either_1_4_0 ]);
+    features = mkFeatures (features.itertools_0_7_3 or {});
+  };
+  itertools_0_7_3_features = f: updateFeatures f (rec {
+    either_1_4_0.default = (f.either_1_4_0.default or false);
+    itertools_0_7_3.default = (f.itertools_0_7_3.default or true);
+    itertools_0_7_3.use_std =
+      (f.itertools_0_7_3.use_std or false) ||
+      (f.itertools_0_7_3.default or false) ||
+      (itertools_0_7_3.default or false);
+  }) [ either_1_4_0_features ];
+  itoa_0_3_4 = { features?(itoa_0_3_4_features {}) }: itoa_0_3_4_ {
+    features = mkFeatures (features.itoa_0_3_4 or {});
+  };
+  itoa_0_3_4_features = f: updateFeatures f (rec {
+    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
+  }) [];
+  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
+    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
+    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
+  };
+  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
+    winapi_0_2_8.default = true;
+    winapi_build_0_1_1.default = true;
+  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  lazy_static_0_2_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_0_2_11 or {});
+  };
+  lazy_static_0_2_11_features = f: updateFeatures f (rec {
+    lazy_static_0_2_11.compiletest_rs =
+      (f.lazy_static_0_2_11.compiletest_rs or false) ||
+      (f.lazy_static_0_2_11.compiletest or false) ||
+      (lazy_static_0_2_11.compiletest or false);
+    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
+    lazy_static_0_2_11.nightly =
+      (f.lazy_static_0_2_11.nightly or false) ||
+      (f.lazy_static_0_2_11.spin_no_std or false) ||
+      (lazy_static_0_2_11.spin_no_std or false);
+    lazy_static_0_2_11.spin =
+      (f.lazy_static_0_2_11.spin or false) ||
+      (f.lazy_static_0_2_11.spin_no_std or false) ||
+      (lazy_static_0_2_11.spin_no_std or false);
+  }) [];
+  libc_0_2_33 = { features?(libc_0_2_33_features {}) }: libc_0_2_33_ {
+    features = mkFeatures (features.libc_0_2_33 or {});
+  };
+  libc_0_2_33_features = f: updateFeatures f (rec {
+    libc_0_2_33.default = (f.libc_0_2_33.default or true);
+    libc_0_2_33.use_std =
+      (f.libc_0_2_33.use_std or false) ||
+      (f.libc_0_2_33.default or false) ||
+      (libc_0_2_33.default or false);
+  }) [];
+  libsqlite3_sys_0_9_0 = { features?(libsqlite3_sys_0_9_0_features {}) }: libsqlite3_sys_0_9_0_ {
+    dependencies = (if abi == "msvc" then mapFeatures features ([]) else []);
+    buildDependencies = mapFeatures features ([ ]
+      ++ (if features.libsqlite3_sys_0_9_0.pkg-config or false then [ pkg_config_0_3_9 ] else []));
+    features = mkFeatures (features.libsqlite3_sys_0_9_0 or {});
+  };
+  libsqlite3_sys_0_9_0_features = f: updateFeatures f (rec {
+    libsqlite3_sys_0_9_0.bindgen =
+      (f.libsqlite3_sys_0_9_0.bindgen or false) ||
+      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_0.buildtime_bindgen or false);
+    libsqlite3_sys_0_9_0.cc =
+      (f.libsqlite3_sys_0_9_0.cc or false) ||
+      (f.libsqlite3_sys_0_9_0.bundled or false) ||
+      (libsqlite3_sys_0_9_0.bundled or false);
+    libsqlite3_sys_0_9_0.default = (f.libsqlite3_sys_0_9_0.default or true);
+    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 =
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_0.default or false) ||
+      (libsqlite3_sys_0_9_0.default or false);
+    libsqlite3_sys_0_9_0.pkg-config =
+      (f.libsqlite3_sys_0_9_0.pkg-config or false) ||
+      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false);
+    libsqlite3_sys_0_9_0.vcpkg =
+      (f.libsqlite3_sys_0_9_0.vcpkg or false) ||
+      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_6_8 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_16 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
+      (libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false);
+    pkg_config_0_3_9.default = true;
+  }) [ pkg_config_0_3_9_features ];
+  linked_hash_map_0_4_2 = { features?(linked_hash_map_0_4_2_features {}) }: linked_hash_map_0_4_2_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.linked_hash_map_0_4_2 or {});
+  };
+  linked_hash_map_0_4_2_features = f: updateFeatures f (rec {
+    linked_hash_map_0_4_2.default = (f.linked_hash_map_0_4_2.default or true);
+    linked_hash_map_0_4_2.heapsize =
+      (f.linked_hash_map_0_4_2.heapsize or false) ||
+      (f.linked_hash_map_0_4_2.heapsize_impl or false) ||
+      (linked_hash_map_0_4_2.heapsize_impl or false);
+    linked_hash_map_0_4_2.serde =
+      (f.linked_hash_map_0_4_2.serde or false) ||
+      (f.linked_hash_map_0_4_2.serde_impl or false) ||
+      (linked_hash_map_0_4_2.serde_impl or false);
+    linked_hash_map_0_4_2.serde_test =
+      (f.linked_hash_map_0_4_2.serde_test or false) ||
+      (f.linked_hash_map_0_4_2.serde_impl or false) ||
+      (linked_hash_map_0_4_2.serde_impl or false);
+  }) [];
+  log_0_4_1 = { features?(log_0_4_1_features {}) }: log_0_4_1_ {
+    dependencies = mapFeatures features ([ cfg_if_0_1_2 ]);
+    features = mkFeatures (features.log_0_4_1 or {});
+  };
+  log_0_4_1_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = true;
+    log_0_4_1.default = (f.log_0_4_1.default or true);
+  }) [ cfg_if_0_1_2_features ];
+  lru_cache_0_1_1 = { features?(lru_cache_0_1_1_features {}) }: lru_cache_0_1_1_ {
+    dependencies = mapFeatures features ([ linked_hash_map_0_4_2 ]);
+    features = mkFeatures (features.lru_cache_0_1_1 or {});
+  };
+  lru_cache_0_1_1_features = f: updateFeatures f (rec {
+    linked_hash_map_0_4_2.default = true;
+    linked_hash_map_0_4_2.heapsize_impl =
+      (f.linked_hash_map_0_4_2.heapsize_impl or false) ||
+      (lru_cache_0_1_1.heapsize_impl or false) ||
+      (f.lru_cache_0_1_1.heapsize_impl or false);
+    lru_cache_0_1_1.default = (f.lru_cache_0_1_1.default or true);
+    lru_cache_0_1_1.heapsize =
+      (f.lru_cache_0_1_1.heapsize or false) ||
+      (f.lru_cache_0_1_1.heapsize_impl or false) ||
+      (lru_cache_0_1_1.heapsize_impl or false);
+  }) [ linked_hash_map_0_4_2_features ];
+  memchr_1_0_2 = { features?(memchr_1_0_2_features {}) }: memchr_1_0_2_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.memchr_1_0_2.libc or false then [ libc_0_2_33 ] else []));
+    features = mkFeatures (features.memchr_1_0_2 or {});
+  };
+  memchr_1_0_2_features = f: updateFeatures f (rec {
+    libc_0_2_33.default = (f.libc_0_2_33.default or false);
+    libc_0_2_33.use_std =
+      (f.libc_0_2_33.use_std or false) ||
+      (memchr_1_0_2.use_std or false) ||
+      (f.memchr_1_0_2.use_std or false);
+    memchr_1_0_2.default = (f.memchr_1_0_2.default or true);
+    memchr_1_0_2.libc =
+      (f.memchr_1_0_2.libc or false) ||
+      (f.memchr_1_0_2.default or false) ||
+      (memchr_1_0_2.default or false) ||
+      (f.memchr_1_0_2.use_std or false) ||
+      (memchr_1_0_2.use_std or false);
+    memchr_1_0_2.use_std =
+      (f.memchr_1_0_2.use_std or false) ||
+      (f.memchr_1_0_2.default or false) ||
+      (memchr_1_0_2.default or false);
+  }) [ libc_0_2_33_features ];
+  nom_3_2_1 = { features?(nom_3_2_1_features {}) }: nom_3_2_1_ {
+    dependencies = mapFeatures features ([ memchr_1_0_2 ]);
+    features = mkFeatures (features.nom_3_2_1 or {});
+  };
+  nom_3_2_1_features = f: updateFeatures f (rec {
+    memchr_1_0_2.default = (f.memchr_1_0_2.default or false);
+    memchr_1_0_2.use_std =
+      (f.memchr_1_0_2.use_std or false) ||
+      (nom_3_2_1.std or false) ||
+      (f.nom_3_2_1.std or false);
+    nom_3_2_1.compiler_error =
+      (f.nom_3_2_1.compiler_error or false) ||
+      (f.nom_3_2_1.nightly or false) ||
+      (nom_3_2_1.nightly or false);
+    nom_3_2_1.default = (f.nom_3_2_1.default or true);
+    nom_3_2_1.lazy_static =
+      (f.nom_3_2_1.lazy_static or false) ||
+      (f.nom_3_2_1.regexp_macros or false) ||
+      (nom_3_2_1.regexp_macros or false);
+    nom_3_2_1.regex =
+      (f.nom_3_2_1.regex or false) ||
+      (f.nom_3_2_1.regexp or false) ||
+      (nom_3_2_1.regexp or false);
+    nom_3_2_1.regexp =
+      (f.nom_3_2_1.regexp or false) ||
+      (f.nom_3_2_1.regexp_macros or false) ||
+      (nom_3_2_1.regexp_macros or false);
+    nom_3_2_1.std =
+      (f.nom_3_2_1.std or false) ||
+      (f.nom_3_2_1.default or false) ||
+      (nom_3_2_1.default or false);
+    nom_3_2_1.stream =
+      (f.nom_3_2_1.stream or false) ||
+      (f.nom_3_2_1.default or false) ||
+      (nom_3_2_1.default or false);
+  }) [ memchr_1_0_2_features ];
+  num_0_1_40 = { features?(num_0_1_40_features {}) }: num_0_1_40_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_iter_0_1_34 num_traits_0_1_40 ]);
+    features = mkFeatures (features.num_0_1_40 or {});
+  };
+  num_0_1_40_features = f: updateFeatures f (rec {
+    num_0_1_40.bigint =
+      (f.num_0_1_40.bigint or false) ||
+      (f.num_0_1_40.default or false) ||
+      (num_0_1_40.default or false);
+    num_0_1_40.complex =
+      (f.num_0_1_40.complex or false) ||
+      (f.num_0_1_40.default or false) ||
+      (num_0_1_40.default or false);
+    num_0_1_40.default = (f.num_0_1_40.default or true);
+    num_0_1_40.num-bigint =
+      (f.num_0_1_40.num-bigint or false) ||
+      (f.num_0_1_40.bigint or false) ||
+      (num_0_1_40.bigint or false);
+    num_0_1_40.num-complex =
+      (f.num_0_1_40.num-complex or false) ||
+      (f.num_0_1_40.complex or false) ||
+      (num_0_1_40.complex or false);
+    num_0_1_40.num-rational =
+      (f.num_0_1_40.num-rational or false) ||
+      (f.num_0_1_40.rational or false) ||
+      (num_0_1_40.rational or false);
+    num_0_1_40.rational =
+      (f.num_0_1_40.rational or false) ||
+      (f.num_0_1_40.default or false) ||
+      (num_0_1_40.default or false);
+    num_0_1_40.rustc-serialize =
+      (f.num_0_1_40.rustc-serialize or false) ||
+      (f.num_0_1_40.default or false) ||
+      (num_0_1_40.default or false);
+    num_integer_0_1_35.default = true;
+    num_iter_0_1_34.default = true;
+    num_traits_0_1_40.default = true;
+  }) [ num_integer_0_1_35_features num_iter_0_1_34_features num_traits_0_1_40_features ];
+  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
+    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
+  };
+  num_integer_0_1_35_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
+    num_traits_0_1_40.default = true;
+  }) [ num_traits_0_1_40_features ];
+  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
+    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]);
+  };
+  num_iter_0_1_34_features = f: updateFeatures f (rec {
+    num_integer_0_1_35.default = true;
+    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
+    num_traits_0_1_40.default = true;
+  }) [ num_integer_0_1_35_features num_traits_0_1_40_features ];
+  num_traits_0_1_40 = { features?(num_traits_0_1_40_features {}) }: num_traits_0_1_40_ {};
+  num_traits_0_1_40_features = f: updateFeatures f (rec {
+    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or true);
+  }) [];
+  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
+  pkg_config_0_3_9_features = f: updateFeatures f (rec {
+    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
+  }) [];
+  quote_0_3_15 = { features?(quote_0_3_15_features {}) }: quote_0_3_15_ {};
+  quote_0_3_15_features = f: updateFeatures f (rec {
+    quote_0_3_15.default = (f.quote_0_3_15.default or true);
+  }) [];
+  rand_0_3_18 = { features?(rand_0_3_18_features {}) }: rand_0_3_18_ {
+    dependencies = mapFeatures features ([ libc_0_2_33 ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_2_1 ]) else []);
+    features = mkFeatures (features.rand_0_3_18 or {});
+  };
+  rand_0_3_18_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_2_1.default = true;
+    libc_0_2_33.default = true;
+    rand_0_3_18.default = (f.rand_0_3_18.default or true);
+    rand_0_3_18.i128_support =
+      (f.rand_0_3_18.i128_support or false) ||
+      (f.rand_0_3_18.nightly or false) ||
+      (rand_0_3_18.nightly or false);
+  }) [ libc_0_2_33_features fuchsia_zircon_0_2_1_features ];
+  redox_syscall_0_1_32 = { features?(redox_syscall_0_1_32_features {}) }: redox_syscall_0_1_32_ {};
+  redox_syscall_0_1_32_features = f: updateFeatures f (rec {
+    redox_syscall_0_1_32.default = (f.redox_syscall_0_1_32.default or true);
+  }) [];
+  redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
+    dependencies = mapFeatures features ([ redox_syscall_0_1_32 ]);
+  };
+  redox_termios_0_1_1_features = f: updateFeatures f (rec {
+    redox_syscall_0_1_32.default = true;
+    redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
+  }) [ redox_syscall_0_1_32_features ];
+  regex_0_2_2 = { features?(regex_0_2_2_features {}) }: regex_0_2_2_ {
+    dependencies = mapFeatures features ([ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ]);
+    features = mkFeatures (features.regex_0_2_2 or {});
+  };
+  regex_0_2_2_features = f: updateFeatures f (rec {
+    aho_corasick_0_6_3.default = true;
+    memchr_1_0_2.default = true;
+    regex_0_2_2.default = (f.regex_0_2_2.default or true);
+    regex_0_2_2.simd =
+      (f.regex_0_2_2.simd or false) ||
+      (f.regex_0_2_2.simd-accel or false) ||
+      (regex_0_2_2.simd-accel or false);
+    regex_syntax_0_4_1.default = true;
+    thread_local_0_3_4.default = true;
+    utf8_ranges_1_0_0.default = true;
+  }) [ aho_corasick_0_6_3_features memchr_1_0_2_features regex_syntax_0_4_1_features thread_local_0_3_4_features utf8_ranges_1_0_0_features ];
+  regex_syntax_0_4_1 = { features?(regex_syntax_0_4_1_features {}) }: regex_syntax_0_4_1_ {};
+  regex_syntax_0_4_1_features = f: updateFeatures f (rec {
+    regex_syntax_0_4_1.default = (f.regex_syntax_0_4_1.default or true);
+  }) [];
+  rusqlite_0_13_0 = { features?(rusqlite_0_13_0_features {}) }: rusqlite_0_13_0_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 libsqlite3_sys_0_9_0 lru_cache_0_1_1 time_0_1_38 ]);
+    features = mkFeatures (features.rusqlite_0_13_0 or {});
+  };
+  rusqlite_0_13_0_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    libsqlite3_sys_0_9_0.buildtime_bindgen =
+      (f.libsqlite3_sys_0_9_0.buildtime_bindgen or false) ||
+      (rusqlite_0_13_0.buildtime_bindgen or false) ||
+      (f.rusqlite_0_13_0.buildtime_bindgen or false);
+    libsqlite3_sys_0_9_0.bundled =
+      (f.libsqlite3_sys_0_9_0.bundled or false) ||
+      (rusqlite_0_13_0.bundled or false) ||
+      (f.rusqlite_0_13_0.bundled or false);
+    libsqlite3_sys_0_9_0.default = true;
+    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 =
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_11 or false) ||
+      (rusqlite_0_13_0.backup or false) ||
+      (f.rusqlite_0_13_0.backup or false);
+    libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 =
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_6_23 or false) ||
+      (rusqlite_0_13_0.trace or false) ||
+      (f.rusqlite_0_13_0.trace or false);
+    libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 =
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_3 or false) ||
+      (rusqlite_0_13_0.functions or false) ||
+      (f.rusqlite_0_13_0.functions or false);
+    libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 =
+      (f.libsqlite3_sys_0_9_0.min_sqlite_version_3_7_4 or false) ||
+      (rusqlite_0_13_0.blob or false) ||
+      (f.rusqlite_0_13_0.blob or false);
+    libsqlite3_sys_0_9_0.sqlcipher =
+      (f.libsqlite3_sys_0_9_0.sqlcipher or false) ||
+      (rusqlite_0_13_0.sqlcipher or false) ||
+      (f.rusqlite_0_13_0.sqlcipher or false);
+    lru_cache_0_1_1.default = true;
+    rusqlite_0_13_0.default = (f.rusqlite_0_13_0.default or true);
+    time_0_1_38.default = true;
+  }) [ bitflags_1_0_1_features libsqlite3_sys_0_9_0_features lru_cache_0_1_1_features time_0_1_38_features ];
+  rustc_demangle_0_1_5 = { features?(rustc_demangle_0_1_5_features {}) }: rustc_demangle_0_1_5_ {};
+  rustc_demangle_0_1_5_features = f: updateFeatures f (rec {
+    rustc_demangle_0_1_5.default = (f.rustc_demangle_0_1_5.default or true);
+  }) [];
+  serde_1_0_21 = { features?(serde_1_0_21_features {}) }: serde_1_0_21_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.serde_1_0_21 or {});
+  };
+  serde_1_0_21_features = f: updateFeatures f (rec {
+    serde_1_0_21.default = (f.serde_1_0_21.default or true);
+    serde_1_0_21.serde_derive =
+      (f.serde_1_0_21.serde_derive or false) ||
+      (f.serde_1_0_21.derive or false) ||
+      (serde_1_0_21.derive or false) ||
+      (f.serde_1_0_21.playground or false) ||
+      (serde_1_0_21.playground or false);
+    serde_1_0_21.std =
+      (f.serde_1_0_21.std or false) ||
+      (f.serde_1_0_21.default or false) ||
+      (serde_1_0_21.default or false);
+    serde_1_0_21.unstable =
+      (f.serde_1_0_21.unstable or false) ||
+      (f.serde_1_0_21.alloc or false) ||
+      (serde_1_0_21.alloc or false);
+  }) [];
+  serde_derive_1_0_21 = { features?(serde_derive_1_0_21_features {}) }: serde_derive_1_0_21_ {
+    dependencies = mapFeatures features ([ quote_0_3_15 serde_derive_internals_0_17_0 syn_0_11_11 ]);
+  };
+  serde_derive_1_0_21_features = f: updateFeatures f (rec {
+    quote_0_3_15.default = true;
+    serde_derive_1_0_21.default = (f.serde_derive_1_0_21.default or true);
+    serde_derive_internals_0_17_0.default = (f.serde_derive_internals_0_17_0.default or false);
+    syn_0_11_11.default = true;
+    syn_0_11_11.visit = true;
+  }) [ quote_0_3_15_features serde_derive_internals_0_17_0_features syn_0_11_11_features ];
+  serde_derive_internals_0_17_0 = { features?(serde_derive_internals_0_17_0_features {}) }: serde_derive_internals_0_17_0_ {
+    dependencies = mapFeatures features ([ syn_0_11_11 synom_0_11_3 ]);
+  };
+  serde_derive_internals_0_17_0_features = f: updateFeatures f (rec {
+    serde_derive_internals_0_17_0.default = (f.serde_derive_internals_0_17_0.default or true);
+    syn_0_11_11.default = (f.syn_0_11_11.default or false);
+    syn_0_11_11.parsing = true;
+    synom_0_11_3.default = true;
+  }) [ syn_0_11_11_features synom_0_11_3_features ];
+  serde_json_1_0_6 = { features?(serde_json_1_0_6_features {}) }: serde_json_1_0_6_ {
+    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_21 ]);
+    features = mkFeatures (features.serde_json_1_0_6 or {});
+  };
+  serde_json_1_0_6_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = true;
+    itoa_0_3_4.default = true;
+    num_traits_0_1_40.default = true;
+    serde_1_0_21.default = true;
+    serde_json_1_0_6.default = (f.serde_json_1_0_6.default or true);
+    serde_json_1_0_6.linked-hash-map =
+      (f.serde_json_1_0_6.linked-hash-map or false) ||
+      (f.serde_json_1_0_6.preserve_order or false) ||
+      (serde_json_1_0_6.preserve_order or false);
+  }) [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_40_features serde_1_0_21_features ];
+  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
+  strsim_0_6_0_features = f: updateFeatures f (rec {
+    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
+  }) [];
+  syn_0_11_11 = { features?(syn_0_11_11_features {}) }: syn_0_11_11_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.syn_0_11_11.quote or false then [ quote_0_3_15 ] else [])
+      ++ (if features.syn_0_11_11.synom or false then [ synom_0_11_3 ] else [])
+      ++ (if features.syn_0_11_11.unicode-xid or false then [ unicode_xid_0_0_4 ] else []));
+    features = mkFeatures (features.syn_0_11_11 or {});
+  };
+  syn_0_11_11_features = f: updateFeatures f (rec {
+    quote_0_3_15.default = true;
+    syn_0_11_11.default = (f.syn_0_11_11.default or true);
+    syn_0_11_11.parsing =
+      (f.syn_0_11_11.parsing or false) ||
+      (f.syn_0_11_11.default or false) ||
+      (syn_0_11_11.default or false);
+    syn_0_11_11.printing =
+      (f.syn_0_11_11.printing or false) ||
+      (f.syn_0_11_11.default or false) ||
+      (syn_0_11_11.default or false);
+    syn_0_11_11.quote =
+      (f.syn_0_11_11.quote or false) ||
+      (f.syn_0_11_11.printing or false) ||
+      (syn_0_11_11.printing or false);
+    syn_0_11_11.synom =
+      (f.syn_0_11_11.synom or false) ||
+      (f.syn_0_11_11.parsing or false) ||
+      (syn_0_11_11.parsing or false);
+    syn_0_11_11.unicode-xid =
+      (f.syn_0_11_11.unicode-xid or false) ||
+      (f.syn_0_11_11.parsing or false) ||
+      (syn_0_11_11.parsing or false);
+    synom_0_11_3.default = true;
+    unicode_xid_0_0_4.default = true;
+  }) [ quote_0_3_15_features synom_0_11_3_features unicode_xid_0_0_4_features ];
+  synom_0_11_3 = { features?(synom_0_11_3_features {}) }: synom_0_11_3_ {
+    dependencies = mapFeatures features ([ unicode_xid_0_0_4 ]);
+  };
+  synom_0_11_3_features = f: updateFeatures f (rec {
+    synom_0_11_3.default = (f.synom_0_11_3.default or true);
+    unicode_xid_0_0_4.default = true;
+  }) [ unicode_xid_0_0_4_features ];
+  tempdir_0_3_5 = { features?(tempdir_0_3_5_features {}) }: tempdir_0_3_5_ {
+    dependencies = mapFeatures features ([ rand_0_3_18 ]);
+  };
+  tempdir_0_3_5_features = f: updateFeatures f (rec {
+    rand_0_3_18.default = true;
+    tempdir_0_3_5.default = (f.tempdir_0_3_5.default or true);
+  }) [ rand_0_3_18_features ];
+  termcolor_0_3_3 = { features?(termcolor_0_3_3_features {}) }: termcolor_0_3_3_ {
+    dependencies = (if kernel == "windows" then mapFeatures features ([ wincolor_0_1_4 ]) else []);
+  };
+  termcolor_0_3_3_features = f: updateFeatures f (rec {
+    termcolor_0_3_3.default = (f.termcolor_0_3_3.default or true);
+    wincolor_0_1_4.default = true;
+  }) [ wincolor_0_1_4_features ];
+  termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
+    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_33 ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_32 redox_termios_0_1_1 ]) else []);
+  };
+  termion_1_5_1_features = f: updateFeatures f (rec {
+    libc_0_2_33.default = true;
+    redox_syscall_0_1_32.default = true;
+    redox_termios_0_1_1.default = true;
+    termion_1_5_1.default = (f.termion_1_5_1.default or true);
+  }) [ libc_0_2_33_features redox_syscall_0_1_32_features redox_termios_0_1_1_features ];
+  textwrap_0_9_0 = { features?(textwrap_0_9_0_features {}) }: textwrap_0_9_0_ {
+    dependencies = mapFeatures features ([ unicode_width_0_1_4 ]);
+  };
+  textwrap_0_9_0_features = f: updateFeatures f (rec {
+    textwrap_0_9_0.default = (f.textwrap_0_9_0.default or true);
+    unicode_width_0_1_4.default = true;
+  }) [ unicode_width_0_1_4_features ];
+  thread_local_0_3_4 = { features?(thread_local_0_3_4_features {}) }: thread_local_0_3_4_ {
+    dependencies = mapFeatures features ([ lazy_static_0_2_11 unreachable_1_0_0 ]);
+  };
+  thread_local_0_3_4_features = f: updateFeatures f (rec {
+    lazy_static_0_2_11.default = true;
+    thread_local_0_3_4.default = (f.thread_local_0_3_4.default or true);
+    unreachable_1_0_0.default = true;
+  }) [ lazy_static_0_2_11_features unreachable_1_0_0_features ];
+  time_0_1_38 = { features?(time_0_1_38_features {}) }: time_0_1_38_ {
+    dependencies = mapFeatures features ([ libc_0_2_33 ])
+      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_32 ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  time_0_1_38_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_33.default = true;
+    redox_syscall_0_1_32.default = true;
+    time_0_1_38.default = (f.time_0_1_38.default or true);
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_33_features redox_syscall_0_1_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  toml_0_4_5 = { features?(toml_0_4_5_features {}) }: toml_0_4_5_ {
+    dependencies = mapFeatures features ([ serde_1_0_21 ]);
+  };
+  toml_0_4_5_features = f: updateFeatures f (rec {
+    serde_1_0_21.default = true;
+    toml_0_4_5.default = (f.toml_0_4_5.default or true);
+  }) [ serde_1_0_21_features ];
+  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
+    features = mkFeatures (features.unicode_width_0_1_4 or {});
+  };
+  unicode_width_0_1_4_features = f: updateFeatures f (rec {
+    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
+  }) [];
+  unicode_xid_0_0_4 = { features?(unicode_xid_0_0_4_features {}) }: unicode_xid_0_0_4_ {
+    features = mkFeatures (features.unicode_xid_0_0_4 or {});
+  };
+  unicode_xid_0_0_4_features = f: updateFeatures f (rec {
+    unicode_xid_0_0_4.default = (f.unicode_xid_0_0_4.default or true);
+  }) [];
+  unreachable_1_0_0 = { features?(unreachable_1_0_0_features {}) }: unreachable_1_0_0_ {
+    dependencies = mapFeatures features ([ void_1_0_2 ]);
+  };
+  unreachable_1_0_0_features = f: updateFeatures f (rec {
+    unreachable_1_0_0.default = (f.unreachable_1_0_0.default or true);
+    void_1_0_2.default = (f.void_1_0_2.default or false);
+  }) [ void_1_0_2_features ];
+  utf8_ranges_1_0_0 = { features?(utf8_ranges_1_0_0_features {}) }: utf8_ranges_1_0_0_ {};
+  utf8_ranges_1_0_0_features = f: updateFeatures f (rec {
+    utf8_ranges_1_0_0.default = (f.utf8_ranges_1_0_0.default or true);
+  }) [];
+  vcpkg_0_2_2 = { features?(vcpkg_0_2_2_features {}) }: vcpkg_0_2_2_ {};
+  vcpkg_0_2_2_features = f: updateFeatures f (rec {
+    vcpkg_0_2_2.default = (f.vcpkg_0_2_2.default or true);
+  }) [];
+  vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.vec_map_0_8_0 or {});
+  };
+  vec_map_0_8_0_features = f: updateFeatures f (rec {
+    vec_map_0_8_0.default = (f.vec_map_0_8_0.default or true);
+    vec_map_0_8_0.serde =
+      (f.vec_map_0_8_0.serde or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+    vec_map_0_8_0.serde_derive =
+      (f.vec_map_0_8_0.serde_derive or false) ||
+      (f.vec_map_0_8_0.eders or false) ||
+      (vec_map_0_8_0.eders or false);
+  }) [];
+  void_1_0_2 = { features?(void_1_0_2_features {}) }: void_1_0_2_ {
+    features = mkFeatures (features.void_1_0_2 or {});
+  };
+  void_1_0_2_features = f: updateFeatures f (rec {
+    void_1_0_2.default = (f.void_1_0_2.default or true);
+    void_1_0_2.std =
+      (f.void_1_0_2.std or false) ||
+      (f.void_1_0_2.default or false) ||
+      (void_1_0_2.default or false);
+  }) [];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
+  }) [];
+  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
+  winapi_build_0_1_1_features = f: updateFeatures f (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
+  wincolor_0_1_4 = { features?(wincolor_0_1_4_features {}) }: wincolor_0_1_4_ {
+    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]);
+  };
+  wincolor_0_1_4_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    winapi_0_2_8.default = true;
+    wincolor_0_1_4.default = (f.wincolor_0_1_4.default or true);
+  }) [ kernel32_sys_0_2_2_features winapi_0_2_8_features ];
 }
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index c074d46a7f75..346fd0e7908f 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -1,10 +1,72 @@
-{ pkgconfig, sqlite, openssl, ... }:
+{ stdenv, pkgconfig, curl, darwin, libiconv, libgit2, libssh2,
+  openssl, sqlite, zlib, dbus_libs, dbus_glib, gdk_pixbuf, cairo, python3,
+  libsodium, postgresql, ... }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+in
 {
+  cargo = attrs: {
+    buildInputs = [ openssl zlib curl ]
+      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
+    # TODO: buildRustCrate seems to use incorrect default inference
+    crateBin = [ {  name = "cargo"; path = "src/bin/cargo.rs"; } ];
+  };
+  cargo-vendor = attrs: {
+    buildInputs = [ openssl zlib curl ];
+    # TODO: this defaults to cargo_vendor; needs to be cargo-vendor to
+    # be considered a cargo subcommand.
+    crateBin = [ { name = "cargo-vendor"; path = "src/main.rs"; } ];
+  };
+  curl-sys = attrs: {
+    buildInputs = [ pkgconfig curl ];
+  };
+  libgit2-sys = attrs: {
+    LIBGIT2_SYS_USE_PKG_CONFIG = true;
+    buildInputs = [ pkgconfig openssl zlib libgit2 ];
+  };
   libsqlite3-sys = attrs: {
     buildInputs = [ pkgconfig sqlite ];
   };
+  libssh2-sys = attrs: {
+    buildInputs = [ pkgconfig openssl zlib libssh2 ];
+  };
+  openssl = attrs: {
+    buildInputs = [ openssl ];
+  };
   openssl-sys = attrs: {
     buildInputs = [ pkgconfig openssl ];
   };
+
+  dbus = attrs: {
+    buildInputs = [ pkgconfig dbus_libs ];
+  };
+  libdbus-sys = attrs: {
+    buildInputs = [ pkgconfig dbus_libs ];
+  };
+  gobject-sys = attrs: {
+    buildInputs = [ dbus_glib ];
+  };
+  gio-sys = attrs: {
+    buildInputs = [ dbus_glib ];
+  };
+  gdk-pixbuf-sys = attrs: {
+    buildInputs = [ dbus_glib ];
+  };
+  gdk-pixbuf = attrs: {
+    buildInputs = [ gdk_pixbuf ];
+  };
+  cairo-rs = attrs: {
+    buildInputs = [ cairo ];
+  };
+  xcb = attrs: {
+    buildInputs = [ python3 ];
+  };
+
+  thrussh-libsodium = attrs: {
+    buildInputs = [ pkgconfig libsodium ];
+  };
+  pq-sys = attr: {
+    buildInputs = [ pkgconfig postgresql ];
+  };
 }
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 57948c33bbc3..63d08e1d0311 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -1,11 +1,7 @@
-{ fetchurl, stdenv, path, cacert, git, rust }:
+{ callPackage, fetchurl, stdenv, path, cacert, git, rust, cargo-vendor }:
 let
-  cargoVendor = import ./cargo-vendor.nix {
-    inherit fetchurl stdenv;
-  };
-
   fetchcargo = import ./fetchcargo.nix {
-    inherit stdenv cacert git rust cargoVendor;
+    inherit stdenv cacert git rust cargo-vendor;
   };
 in
 { name, cargoSha256
@@ -32,7 +28,7 @@ in stdenv.mkDerivation (args // {
 
   patchRegistryDeps = ./patch-registry-deps;
 
-  buildInputs = [ git rust.cargo rust.rustc ] ++ buildInputs;
+  buildInputs = [ cacert git rust.cargo rust.rustc ] ++ buildInputs;
 
   configurePhase = args.configurePhase or ''
     runHook preConfigure
@@ -60,7 +56,6 @@ in stdenv.mkDerivation (args // {
     unset cargoDepsCopy
 
     export RUST_LOG=${logLevel}
-    export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
   '' + (args.postUnpack or "");
 
   buildPhase = with builtins; args.buildPhase or ''
diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix
index 5529e9eea33c..d03d85c07888 100644
--- a/pkgs/build-support/rust/fetchcargo.nix
+++ b/pkgs/build-support/rust/fetchcargo.nix
@@ -1,8 +1,8 @@
-{ stdenv, cacert, git, rust, cargoVendor }:
+{ stdenv, cacert, git, rust, cargo-vendor }:
 { name ? "cargo-deps", src, srcs, sourceRoot, sha256, cargoUpdateHook ? "" }:
 stdenv.mkDerivation {
   name = "${name}-vendor";
-  nativeBuildInputs = [ cacert cargoVendor git rust.cargo ];
+  nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ];
   inherit src srcs sourceRoot;
 
   phases = "unpackPhase installPhase";
@@ -19,7 +19,6 @@ stdenv.mkDerivation {
         exit 1
     fi
 
-    export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
     export CARGO_HOME=$(mktemp -d cargo-home.XXX)
 
     cargo vendor
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh
new file mode 100644
index 000000000000..0f9d7603d48f
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -0,0 +1,174 @@
+declare -a autoPatchelfLibs
+
+gatherLibraries() {
+    autoPatchelfLibs+=("$1/lib")
+}
+
+addEnvHooks "$targetOffset" gatherLibraries
+
+isExecutable() {
+    [ "$(file -b -N --mime-type "$1")" = application/x-executable ]
+}
+
+findElfs() {
+    find "$1" -type f -exec "$SHELL" -c '
+        while [ -n "$1" ]; do
+            mimeType="$(file -b -N --mime-type "$1")"
+            if [ "$mimeType" = application/x-executable \
+              -o "$mimeType" = application/x-sharedlib ]; then
+                echo "$1"
+            fi
+            shift
+        done
+    ' -- {} +
+}
+
+# We cache dependencies so that we don't need to search through all of them on
+# every consecutive call to findDependency.
+declare -a cachedDependencies
+
+addToDepCache() {
+    local existing
+    for existing in "${cachedDependencies[@]}"; do
+        if [ "$existing" = "$1" ]; then return; fi
+    done
+    cachedDependencies+=("$1")
+}
+
+declare -gi depCacheInitialised=0
+declare -gi doneRecursiveSearch=0
+declare -g foundDependency
+
+getDepsFromSo() {
+    ldd "$1" 2> /dev/null | sed -n -e 's/[^=]*=> *\(.\+\) \+([^)]*)$/\1/p'
+}
+
+populateCacheWithRecursiveDeps() {
+    local so found foundso
+    for so in "${cachedDependencies[@]}"; do
+        for found in $(getDepsFromSo "$so"); do
+            local libdir="${found%/*}"
+            local base="${found##*/}"
+            local soname="${base%.so*}"
+            for foundso in "${found%/*}/$soname".so*; do
+                addToDepCache "$foundso"
+            done
+        done
+    done
+}
+
+getSoArch() {
+    objdump -f "$1" | sed -ne 's/^architecture: *\([^,]\+\).*/\1/p'
+}
+
+# NOTE: If you want to use this function outside of the autoPatchelf function,
+# keep in mind that the dependency cache is only valid inside the subshell
+# spawned by the autoPatchelf function, so invoking this directly will possibly
+# rebuild the dependency cache. See the autoPatchelf function below for more
+# information.
+findDependency() {
+    local filename="$1"
+    local arch="$2"
+    local lib dep
+
+    if [ $depCacheInitialised -eq 0 ]; then
+        for lib in "${autoPatchelfLibs[@]}"; do
+            for so in "$lib/"*.so*; do addToDepCache "$so"; done
+        done
+        depCacheInitialised=1
+    fi
+
+    for dep in "${cachedDependencies[@]}"; do
+        if [ "$filename" = "${dep##*/}" ]; then
+            if [ "$(getSoArch "$dep")" = "$arch" ]; then
+                foundDependency="$dep"
+                return 0
+            fi
+        fi
+    done
+
+    # Populate the dependency cache with recursive dependencies *only* if we
+    # didn't find the right dependency so far and afterwards run findDependency
+    # again, but this time with $doneRecursiveSearch set to 1 so that it won't
+    # recurse again (and thus infinitely).
+    if [ $doneRecursiveSearch -eq 0 ]; then
+        populateCacheWithRecursiveDeps
+        doneRecursiveSearch=1
+        findDependency "$filename" "$arch" || return 1
+        return 0
+    fi
+    return 1
+}
+
+autoPatchelfFile() {
+    local dep rpath="" toPatch="$1"
+
+    local interpreter="$(< "$NIX_CC/nix-support/dynamic-linker")"
+    if isExecutable "$toPatch"; then
+        patchelf --set-interpreter "$interpreter" "$toPatch"
+        if [ -n "$runtimeDependencies" ]; then
+            for dep in $runtimeDependencies; do
+                rpath="$rpath${rpath:+:}$dep/lib"
+            done
+        fi
+    fi
+
+    echo "searching for dependencies of $toPatch" >&2
+
+    # We're going to find all dependencies based on ldd output, so we need to
+    # clear the RPATH first.
+    patchelf --remove-rpath "$toPatch"
+
+    local missing="$(
+        ldd "$toPatch" 2> /dev/null | \
+            sed -n -e 's/^[\t ]*\([^ ]\+\) => not found.*/\1/p'
+    )"
+
+    # This ensures that we get the output of all missing dependencies instead
+    # of failing at the first one, because it's more useful when working on a
+    # new package where you don't yet know its dependencies.
+    local -i depNotFound=0
+
+    for dep in $missing; do
+        echo -n "  $dep -> " >&2
+        if findDependency "$dep" "$(getSoArch "$toPatch")"; then
+            rpath="$rpath${rpath:+:}${foundDependency%/*}"
+            echo "found: $foundDependency" >&2
+        else
+            echo "not found!" >&2
+            depNotFound=1
+        fi
+    done
+
+    # This makes sure the builder fails if we didn't find a dependency, because
+    # the stdenv setup script is run with set -e. The actual error is emitted
+    # earlier in the previous loop.
+    [ $depNotFound -eq 0 ]
+
+    if [ -n "$rpath" ]; then
+        echo "setting RPATH to: $rpath" >&2
+        patchelf --set-rpath "$rpath" "$toPatch"
+    fi
+}
+
+autoPatchelf() {
+    echo "automatically fixing dependencies for ELF files" >&2
+
+    # Add all shared objects of the current output path to the start of
+    # cachedDependencies so that it's choosen first in findDependency.
+    cachedDependencies+=(
+        $(find "$prefix" \! -type d \( -name '*.so' -o -name '*.so.*' \))
+    )
+    local elffile
+
+    # Here we actually have a subshell, which also means that
+    # $cachedDependencies is final at this point, so whenever we want to run
+    # findDependency outside of this, the dependency cache needs to be rebuilt
+    # from scratch, so keep this in mind if you want to run findDependency
+    # outside of this function.
+    findElfs "$prefix" | while read -r elffile; do
+        autoPatchelfFile "$elffile"
+    done
+}
+
+fixupOutputHooks+=(autoPatchelf)
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index 4317a5f4dade..1433d1e1f144 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -54,7 +54,11 @@ patchShebangs() {
                 echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
                 # escape the escape chars so that sed doesn't interpret them
                 escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
+                # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281
+                touch -r "$f" "$f.timestamp"
                 sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
+                touch -r "$f.timestamp" "$f"
+                rm "$f.timestamp"
             fi
         fi
     done
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 64f4a759e1be..d599f9bbb65f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1,12 +1,14 @@
 { pkgs
 , kernel ? pkgs.linux
-, img ? "bzImage"
+, img ? pkgs.stdenv.platform.kernelTarget
 , storeDir ? builtins.storeDir
 , rootModules ?
-    [ "virtio_pci" "virtio_mmio" "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" ]
+      ++ pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos"
 }:
 
 with pkgs;
+with import ../../../nixos/lib/qemu-flags.nix { inherit pkgs; };
 
 rec {
 
@@ -21,8 +23,6 @@ rec {
     patches = [ ../../../nixos/modules/virtualisation/azure-qemu-220-no-etc-install.patch ];
   });
 
-  qemuProg = "${qemu}/bin/qemu-kvm";
-
 
   modulesClosure = makeModulesClosure {
     inherit kernel rootModules;
@@ -196,14 +196,13 @@ rec {
       export PATH=/bin:/usr/bin:${coreutils}/bin
       echo "Starting interactive shell..."
       echo "(To run the original builder: \$origBuilder \$origArgs)"
-      exec ${busybox}/bin/setsid ${bashInteractive}/bin/bash < /dev/ttyS0 &> /dev/ttyS0
+      exec ${busybox}/bin/setsid ${bashInteractive}/bin/bash < /dev/${qemuSerialDevice} &> /dev/${qemuSerialDevice}
     fi
   '';
 
 
   qemuCommandLinux = ''
-    ${qemuProg} \
-      ${lib.optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
+    ${qemuBinary qemu} \
       -nographic -no-reboot \
       -device virtio-rng-pci \
       -virtfs local,path=${storeDir},security_model=none,mount_tag=store \
@@ -211,7 +210,7 @@ rec {
       ''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \
       -kernel ${kernel}/${img} \
       -initrd ${initrd}/initrd \
-      -append "console=ttyS0 panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \
+      -append "console=${qemuSerialDevice} panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \
       $QEMU_OPTS
   '';
 
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
index 01884f488780..2c46d5fae907 100644
--- a/pkgs/build-support/vm/windows/cygwin-iso/default.nix
+++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
@@ -21,7 +21,6 @@ let
     crossSystem = {
       libc = "msvcrt";
       platform = {};
-      openssl.system = "mingw64";
       inherit arch;
       config = "${arch}-w64-mingw32";
     };
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index b77b79338c75..0e6a0450bb47 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "man-pages-${version}";
-  version = "4.12";
+  version = "4.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "6f6d79d991fed04e16e7c7a15705304b0b9d51de772c51c57428555039fbe093";
+    sha256 = "0wf9ymqxk1k5xwcl3n919p66a1aayif3x4cahj4w04y3k1wbhlih";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
@@ -21,7 +21,6 @@ stdenv.mkDerivation rec {
     description = "Linux development manual pages";
     homepage = https://www.kernel.org/doc/man-pages/;
     repositories.git = http://git.kernel.org/pub/scm/docs/man-pages/man-pages;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/data/fonts/hack/default.nix b/pkgs/data/fonts/hack/default.nix
index f997f10db1dd..0edd27dab0e3 100644
--- a/pkgs/data/fonts/hack/default.nix
+++ b/pkgs/data/fonts/hack/default.nix
@@ -37,6 +37,5 @@ in fetchzip rec {
     */
     license = licenses.free;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix
new file mode 100644
index 000000000000..9173387a4c73
--- /dev/null
+++ b/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
+
+stdenv.mkDerivation rec {
+  name = "twemoji-color-font-${meta.version}";
+  src = fetchFromGitHub {
+    owner = "eosrei";
+    repo = "twemoji-color-font";
+    rev = "v${meta.version}";
+    sha256 = "0i7krmg99nrrj7mbjjd2cw6dx24aja63571mcyp6d7q1z09asz9k";
+  };
+
+  nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
+  # silence inkscape errors about non-writable home
+  preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
+  makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];
+  enableParallelBuilding = true;
+  installPhase = "install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf";
+
+  meta = with stdenv.lib; {
+    version = "1.3";
+    description = "Color emoji SVGinOT font using Twitter Unicode 10 emoji with diversity and country flags";
+    longDescription = ''
+      A color and B&W emoji SVGinOT font built from the Twitter Emoji for
+      Everyone artwork with support for ZWJ, skin tone diversity and country
+      flags.
+
+      The font works in all operating systems, but will currently only show
+      color emoji in Firefox, Thunderbird, Photoshop CC 2017, and Windows Edge
+      V38.14393+. This is not a limitation of the font, but of the operating
+      systems and applications. Regular B&W outline emoji are included for
+      backwards/fallback compatibility.
+    '';
+    homepage = "https://github.com/eosrei/twemoji-color-font";
+    downloadPage = "https://github.com/eosrei/twemoji-color-font/releases";
+    license = with licenses; [ cc-by-40 mit ];
+    maintainers = [ maintainers.fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 275ae6dc2d86..91af84c42245 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -52,6 +52,8 @@ stdenv.mkDerivation rec {
     cp -v ca-bundle.crt $out/etc/ssl/certs
   '';
 
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = https://curl.haxx.se/docs/caextract.html;
     description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
diff --git a/pkgs/data/misc/cacert/setup-hook.sh b/pkgs/data/misc/cacert/setup-hook.sh
new file mode 100644
index 000000000000..b704a6a919e0
--- /dev/null
+++ b/pkgs/data/misc/cacert/setup-hook.sh
@@ -0,0 +1,5 @@
+cacertHook() {
+    export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
+}
+
+addEnvHooks "$targetOffset" cacertHook
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index 5f4497020319..309ae47a8516 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = https://geolite.maxmind.com/download/geoip;
     license = licenses.cc-by-sa-30;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx fpletz ];
+    maintainers = with maintainers; [ fpletz ];
   };
 
   builder = ./builder.sh;
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 91d38f3537e0..bdf2abf9b6f8 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/5e87c40f2cd96bd5dd953758e82f302107c7895e.tar.gz";
-  sha256 = "0hjkddda9mdm21nb9bkhr9n5r9jllisif1qmzha91a9cps5w1mx5";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/00012ce23948b9547fe6609d595109741e0f58cf.tar.gz";
+  sha256 = "1swgfx7b41jxq0pyws2wipdiyvy8nn6cp54yj3ip3r9l3gdv3f7b";
 }
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 249f0e5dcb91..6b1abad02d74 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iana-etc-${version}";
-  version = "20171106";
+  version = "20180108";
 
   src = fetchurl {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "0pbmq95gdkp66cljwklv4gzh8lvl30l4k77hfwvrxz5mfqia6qdd";
+    sha256 = "1x4jacrvjwcsan88rg2wf2a8bajsglg6w4396vbr18zh0sya84a2";
   };
 
   installPhase = ''
diff --git a/pkgs/data/misc/scowl/default.nix b/pkgs/data/misc/scowl/default.nix
index 2769ed1a166a..5e4d17bcc8fd 100644
--- a/pkgs/data/misc/scowl/default.nix
+++ b/pkgs/data/misc/scowl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix}:
+{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix, singleWordlist ? null}:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "scowl";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon"
   '';
 
-  postBuild = ''
+  postBuild = stdenv.lib.optionalString (singleWordlist == null) ''
     (
     cd scowl/speller
     make aspell
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
-  installPhase = ''
+  installPhase = if singleWordlist == null then ''
     eval "$preInstall"
 
     mkdir -p "$out/share/scowl" 
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
         fi
 
         echo $region $regcode $regcode_sz
-        for s in 10 20 30 35 40 50 55 60 70 80 90; do
+        for s in 10 20 30 35 40 50 55 60 70 80 90 95; do
           ./mk-list $regcode $s > "$out/share/dict/w$region.$s"
           ./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s"
           ./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s"
@@ -88,6 +88,10 @@ stdenv.mkDerivation rec {
     )
 
     eval "$postInstall"
+  '' else ''
+    mkdir -p "$out/share/dict"
+    cd scowl
+    ./mk-list ${singleWordlist} > "$out/share/dict/words.txt"
   '';
 
   meta = {
diff --git a/pkgs/data/misc/sound-theme-freedesktop/default.nix b/pkgs/data/misc/sound-theme-freedesktop/default.nix
index 7c3f045b1b7e..043d3d65b84e 100644
--- a/pkgs/data/misc/sound-theme-freedesktop/default.nix
+++ b/pkgs/data/misc/sound-theme-freedesktop/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://freedesktop.org/wiki/Specifications/sound-theme-spec;
     # See http://cgit.freedesktop.org/sound-theme-freedesktop/tree/CREDITS:
     license = with licenses; [ cc-by-30 cc-by-sa-25 gpl2 gpl2Plus ];
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/data/misc/tzdata/tzdata-setup-hook.sh b/pkgs/data/misc/tzdata/tzdata-setup-hook.sh
index 9ae9b46d85c5..9975d0aec31a 100644
--- a/pkgs/data/misc/tzdata/tzdata-setup-hook.sh
+++ b/pkgs/data/misc/tzdata/tzdata-setup-hook.sh
@@ -2,5 +2,4 @@ tzdataHook() {
     export TZDIR=@out@/share/zoneinfo
 }
 
-envHooks+=(tzdataHook)
-crossEnvHooks+=(tzdataHook)
+addEnvHooks "$targetOffset" tzdataHook
diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix
index b69762d933fa..70f217f1b7e9 100644
--- a/pkgs/data/misc/wireless-regdb/default.nix
+++ b/pkgs/data/misc/wireless-regdb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "wireless-regdb-${version}";
-  version = "2017.03.07";
+  version = "2017.12.23";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz";
-    sha256 = "1f9mcp78sdd4sci6v32vxfcl1rfjpv205jisz1p93kkfnaisy7ip";
+    sha256 = "1faa394frq0126h2z28kp4dwknx6zqm5nar4552g7rwqvl2yclqf";
   };
 
   dontBuild = true;
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = http://wireless.kernel.org/en/developers/Regulatory/;
     license = licenses.isc;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx fpletz ];
+    maintainers = with maintainers; [ fpletz ];
   };
 }
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 dac9d27f66ca..e965882a9c3c 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, writeScriptBin, ruby, bash }:
+{ lib, stdenv, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
 
 let
 
-  common = { pname, sha256 }: let self = stdenv.mkDerivation rec {
+  common = { pname, sha256, patches ? [] }: let self = stdenv.mkDerivation rec {
     name = "${pname}-1.79.1";
 
     src = fetchurl {
@@ -10,6 +10,8 @@ let
       inherit sha256;
     };
 
+    inherit patches;
+
     propagatedBuildInputs = [ findXMLCatalogs ];
 
     dontBuild = true;
@@ -44,6 +46,15 @@ in {
   docbook_xsl = common {
     pname = "docbook-xsl";
     sha256 = "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj";
+
+    patches = [(fetchpatch {
+      name = "potential-infinite-template-recursion.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/"
+          + "plain/docbook-style-xsl-non-recursive-string-subst.patch?id=bf9e5d16fd";
+      sha256 = "1pfb468bsj3j879ip0950waih0r1s6rzfbm2p70glbz0g3903p7h";
+      stripLen = "1";
+    })];
+
   };
 
   docbook_xsl_ns = common {
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
index ddff55c96a09..ca266d73fd35 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
@@ -8,7 +8,6 @@ stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
-  checkPhase = "meson test";
 
   patches = [
     ./no-update-icon-cache.patch
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index df8c6befc603..5441f1e5edc9 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
 
   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-power-manager/default.nix b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
new file mode 100644
index 000000000000..2fd0dfa5ac91
--- /dev/null
+++ b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, intltool
+, fetchurl
+, pkgconfig
+, gtk3
+, glib
+, meson
+, ninja
+, upower
+, desktop_file_utils
+, wrapGAppsHook
+, gnome3 }:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    wrapGAppsHook
+    intltool
+
+    # needed by meson_post_install.sh
+    glib.dev
+    desktop_file_utils
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    upower
+    gnome3.defaultIconTheme
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://projects.gnome.org/gnome-power-manager/;
+    description = "View battery and power statistics provided by UPower";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/apps/gnome-power-manager/src.nix b/pkgs/desktops/gnome-3/apps/gnome-power-manager/src.nix
new file mode 100644
index 000000000000..bdffa453504f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/apps/gnome-power-manager/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "gnome-power-manager-3.26.0";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/gnome-power-manager/3.26/gnome-power-manager-3.26.0.tar.xz;
+    sha256 = "20aee0b0b4015e7cc6fbabc3cbc4344c07c230fe3d195e90c8ae0dc5d55a2d4e";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
index b185778fe860..2812e7673b40 100644
--- a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
+++ b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
@@ -1,6 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, glib, pkgconfig, gnome3, appstream-glib
-, gettext, gobjectIntrospection
-}:
+{ stdenv, fetchurl, meson, ninja, glib, pkgconfig, gnome3, appstream-glib, gettext }:
 
 stdenv.mkDerivation rec {
   name = "nautilus-sendto-${version}";
@@ -12,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "164d7c6e8bae29c4579bcc67a7bf50d783662b1545b62f3008e7ea3c0410e04d";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig appstream-glib gettext gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig appstream-glib gettext ];
   buildInputs = [ glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
index 72d1602eee45..6cfdd45c2f9c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
                         desktop_file_utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43];
   buildInputs = [ gtk glib gnome3.gsettings_desktop_schemas ];
 
-  checkPhase = "meson test";
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Dictionary;
     description = "Dictionary is the GNOME application to look up definitions";
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 cdf119d83a3c..dade56158fb1 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -7,8 +7,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  checkPhase = "meson test";
-
   nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxml2 ];
   buildInputs = [ gtk3 glib gnome3.gnome_desktop gnome3.defaultIconTheme ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 8d1ab65c04da..5986b07229f5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -1,15 +1,12 @@
 { stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra_gtk3
 , bash, gtk3, glib, meson, ninja, wrapGAppsHook, appstream-glib
-, gnome3, librsvg, gdk_pixbuf, gobjectIntrospection }:
+, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  checkPhase = "meson test";
-
-
   postPatch = ''
     chmod +x build-aux/postinstall.py # patchShebangs requires executable file
     patchShebangs build-aux/postinstall.py
@@ -18,8 +15,7 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2
-                        wrapGAppsHook gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 wrapGAppsHook ];
   buildInputs = [ bash gtk3 glib libcanberra_gtk3
                   gnome3.gsettings_desktop_schemas ];
 
diff --git a/pkgs/desktops/gnome-3/core/libgepub/default.nix b/pkgs/desktops/gnome-3/core/libgepub/default.nix
index f1e13e10fd9e..10d676d11d63 100644
--- a/pkgs/desktops/gnome-3/core/libgepub/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgepub/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  checkPhase = "meson test";
-
   nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
   buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ];
 
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index a30467c1862d..e4213b240a28 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -39,8 +39,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  checkPhase = "meson test";
-
   meta = with stdenv.lib; {
     description = "Simple scanning utility";
     longDescription = ''
@@ -54,6 +52,5 @@ stdenv.mkDerivation rec {
     homepage = https://launchpad.net/simple-scan;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix
index 651b7cff226d..c26b9b45dfdf 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ gobjectIntrospection python3Packages.pylint python3Packages.pygobject2 ];
 
-  checkPhase = "meson test";
-
   patches = [
     (fetchurl {
       name = "remove-pycompile.patch";
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index d60fddb589bb..0650ddf04eae 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -36,6 +36,7 @@ let
     nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
     gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
     gnome-getting-started-docs gnome-packagekit gnome-software
+    gnome-power-manager
   ];
 
   gamesPackages = with gnome3; [ swell-foop lightsoff iagno
@@ -297,6 +298,8 @@ let
     gegl = gegl_0_3;
   };
 
+  gnome-power-manager = callPackage ./apps/gnome-power-manager { };
+
   gnome-weather = callPackage ./apps/gnome-weather { };
 
   nautilus-sendto = callPackage ./apps/nautilus-sendto { };
diff --git a/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix b/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix
index bda356cf4c37..11d891b67434 100644
--- a/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix
@@ -1,31 +1,36 @@
-{stdenv, lib, python, dbus, fetchgit, cmake, coreutils, jq, gobjectIntrospection, python27Packages, makeWrapper, gnome3, wrapGAppsHook}:
+{stdenv, fetchurl, cmake, ninja, jq, python3, gnome3, wrapGAppsHook}:
 
-stdenv.mkDerivation rec {
-name="chrome-gnome-shell";
-  src = fetchgit {
-    url = "git://git.gnome.org/chrome-gnome-shell";
-    rev = "7d99523e90805cb65027cc2f5f1191a957dcf276";
-    sha256 = "0qc34dbhsz5yf4z5bx6py08h561rcxw9928drgk9256g3vnygnbc";
-  };
+let
+  version = "9";
 
- buildInputs = [ gnome3.gnome_shell makeWrapper jq dbus gobjectIntrospection
- python python27Packages.requests python27Packages.pygobject3 wrapGAppsHook];
+  inherit (python3.pkgs) python pygobject3 requests;
+in stdenv.mkDerivation rec {
+  name = "chrome-gnome-shell-${version}";
 
- preConfigure = ''
-   mkdir build usr etc
-   cd build
-   ${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out/usr -DBUILD_EXTENSION=OFF ../
-   substituteInPlace cmake_install.cmake --replace "/etc" "$out/etc"
- '';
+  src = fetchurl {
+    url = "mirror://gnome/sources/chrome-gnome-shell/${version}/${name}.tar.xz";
+    sha256 = "0j6lzlp3jvkpnkk8s99y3m14xiq94rjwjzy2pbfqgv084ahzmz8i";
+  };
 
- postInstall = ''
-    rm $out/etc/opt/chrome/policies/managed/chrome-gnome-shell.json
-    rm $out/etc/chromium/policies/managed/chrome-gnome-shell.json
-    wrapProgram $out/usr/bin/chrome-gnome-shell \
-      --prefix PATH : '"${dbus}/bin"' \
-      --prefix PATH : '"${gnome3.gnome_shell}/bin"' \
-      --prefix PYTHONPATH : "$PYTHONPATH"
+  nativeBuildInputs = [ cmake ninja jq wrapGAppsHook ];
+  buildInputs = [ gnome3.gnome_shell python pygobject3 requests ];
 
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc"
   '';
+  # cmake setup hook changes /etc/opt into /var/empty
+  dontFixCmake = true;
 
+  cmakeFlags = [ "-DBUILD_EXTENSION=OFF" ];
+  wrapPrefixVariables = [ "PYTHONPATH" ];
+
+  meta = with stdenv.lib; {
+    description = "GNOME Shell integration for Chrome";
+    longDescription = ''
+      To use the integration, install the <link xlink:href="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation">browser extension</link>, and then set <option>services.gnome3.chrome-gnome-shell.enable</option> to <literal>true</literal>. For Firefox based browsers, you will also need to build the wrappers with <option>nixpkgs.config.firefox.enableGnomeExtensions</option> set to <literal>true</literal>.
+    '';
+    license = licenses.gpl3;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix b/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
new file mode 100644
index 000000000000..e41227e85139
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extension-clipboard-indicator-${version}";
+  version = "30";
+
+  src = fetchFromGitHub {
+    owner = "Tudmotu";
+    repo = "gnome-shell-extension-clipboard-indicator";
+    rev = "v${version}";
+    sha256 = "1fmgmxv2y678bj0kmymkgnnglcpqk8ww053izlq46xg7s27jjdf6";
+  };
+
+  uuid = "clipboard-indicator@tudmotu.com";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions/${uuid}
+    cp -r * $out/share/gnome-shell/extensions/${uuid}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Adds a clipboard indicator to the top panel and saves clipboard history";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonafato ];
+    platforms = platforms.linux;
+    homepage = https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
new file mode 100644
index 000000000000..7ad26a7c6d42
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extension-icon-hider-${version}";
+  version = "19";
+
+  src = fetchFromGitHub {
+    owner = "ikalnytskyi";
+    repo = "gnome-shell-extension-icon-hider";
+    rev = "v${version}";
+    sha256 = "0cifm6cmxwxrrrva41wvjvrzsdqaczfbillf2vv3wsb60dqr6h39";
+  };
+
+  uuid = "icon-hider@kalnitsky.org";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Icon Hider is a GNOME Shell extension for managing status area items";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jonafato ];
+    platforms = platforms.linux;
+    homepage = https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix b/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
new file mode 100644
index 000000000000..4061c3bb5cc4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extension-nohotcorner-${version}";
+  version = "16.0";
+
+  src = fetchFromGitHub {
+    owner = "HROMANO";
+    repo = "nohotcorner";
+    rev = "v${version}";
+    sha256 = "042lv4pvzsxv6spa8k1hji1bfqj893arx55p56mmm20wa5dr5qm3";
+  };
+
+  # Taken from the extension download link at
+  # https://extensions.gnome.org/extension/118/no-topleft-hot-corner/
+  uuid = "nohotcorner@azuri.free.fr";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions/${uuid}
+    cp extension.js $out/share/gnome-shell/extensions/${uuid}
+    cp metadata.json $out/share/gnome-shell/extensions/${uuid}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Disables the top left hot corner";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jonafato ];
+    homepage = https://github.com/HROMANO/nohotcorner;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/extensions/pixel-saver/default.nix b/pkgs/desktops/gnome-3/extensions/pixel-saver/default.nix
new file mode 100644
index 000000000000..ccc3fd578e94
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/pixel-saver/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-extension-pixel-saver-${version}";
+  version = "1.10";
+
+  src = fetchFromGitHub {
+    owner = "deadalnix";
+    repo = "pixel-saver";
+    rev = version;
+    sha256 = "040ayzhpv9jq49vp32w85wvjs57047faa7872qm4brii450iy7v4";
+  };
+
+  uuid = "pixel-saver@deadalnix.me";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonafato ];
+    platforms = platforms.linux;
+    homepage = https://github.com/deadalnix/pixel-saver;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
index d0801714a0f9..852ed00ed902 100644
--- a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
@@ -1,29 +1,42 @@
-{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobjectIntrospection, vala }:
 
 let
   majorVersion = "0.10";
 in
 stdenv.mkDerivation rec {
   name = "gexiv2-${version}";
-  version = "${majorVersion}.6";
+  version = "${majorVersion}.7";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gexiv2/${majorVersion}/${name}.tar.xz";
-    sha256 = "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk";
+    sha256 = "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb";
   };
 
+  patches = [
+    # Darwin compatibility (https://bugzilla.gnome.org/show_bug.cgi?id=791941)
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=365969;
+      sha256 = "06w744acgnz3hym7sm8c245yzlg05ldkmwgiz3yz4pp6h72brizj";
+    })
+    # GIR & Vala bindings fix (https://bugzilla.gnome.org/show_bug.cgi?id=792431)
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=366662;
+      sha256 = "1ljb2pap5v9z3zhx69ghfyrbl2b62ck35nyn7h5h410d008lcb4v";
+    })
+  ];
+
   preConfigure = ''
     patchShebangs .
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libtool m4 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala ];
+  buildInputs = [ glib ];
   propagatedBuildInputs = [ exiv2 ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/gexiv2;
     description = "GObject wrapper around the Exiv2 photo metadata library";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 0972673b7b87..81f42a2adbe0 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -125,7 +125,7 @@ let
       milou = callPackage ./milou.nix {};
       oxygen = callPackage ./oxygen.nix {};
       plasma-desktop = callPackage ./plasma-desktop {};
-      plasma-integration = callPackage ./plasma-integration.nix {};
+      plasma-integration = callPackage ./plasma-integration {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
       plasma-vault = callPackage ./plasma-vault {};
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index 289d5a812f7f..8b8a5fe72ea2 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib, copyPathsToStore, fetchpatch,
   extra-cmake-modules, kdoctools,
 
   epoxy,libICE, libSM, libinput, libxkbcommon, udev, wayland, xcb-util-cursor,
@@ -29,7 +29,14 @@ mkDerivation {
     kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
   ];
   outputs = [ "bin" "dev" "out" ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series)
+    ++ [(fetchpatch {
+        name = "cmake-3.10.diff";
+        # included upstream for kwin >= 5.11.95
+        url = "https://github.com/KDE/kwin/commit/cd544890ced4192.diff";
+        sha256 = "0z5nbcg712v10mskb7r9v0jcx5h8q4ixb7fjbb0kicmzsc266yd5";
+    })]
+    ;
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
   ];
diff --git a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
new file mode 100644
index 000000000000..66fef4712a7b
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
@@ -0,0 +1,24 @@
+Index: src/platformtheme/kfontsettingsdata.cpp
+===================================================================
+--- src/platformtheme/kfontsettingsdata.cpp
++++ src/platformtheme/kfontsettingsdata.cpp
+@@ -70,15 +70,18 @@
+         const KFontData &fontData = DefaultFontData[fontType];
+         cachedFont = new QFont(QLatin1String(fontData.FontName), fontData.Size, fontData.Weight);
+         cachedFont->setStyleHint(fontData.StyleHint);
+-        cachedFont->setStyleName(QLatin1String(fontData.StyleName));
+ 
+         const KConfigGroup configGroup(mKdeGlobals, fontData.ConfigGroupKey);
+         QString fontInfo = configGroup.readEntry(fontData.ConfigKey, QString());
+ 
+         //If we have serialized information for this font, restore it
+         //NOTE: We are not using KConfig directly because we can't call QFont::QFont from here
+         if (!fontInfo.isEmpty()) {
+             cachedFont->fromString(fontInfo);
++        } else {
++            // set the canonical stylename here, where it cannot override
++            // user-specific font attributes if those do not include a stylename.
++            cachedFont->setStyleName(QLatin1String(fontData.StyleName));
+         }
+ 
+         mFonts[fontType] = cachedFont;
diff --git a/pkgs/desktops/plasma-5/plasma-integration.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index f69644287624..d33ecf050242 100644
--- a/pkgs/desktops/plasma-5/plasma-integration.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -14,4 +14,11 @@ mkDerivation {
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
     libXcursor qtquickcontrols2
   ];
+  patches = [
+    # See also: https://phabricator.kde.org/D9070
+    # ttuegel: The patch is checked into Nixpkgs because I could not get
+    # Phabricator to give me a stable link to it.
+    ./D9070.patch
+  ];
+  patchFlags = "-p0";
 }
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index b18f3466770a..d83e51a676cd 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -1,106 +1,208 @@
-{ config, pkgs, newScope }:
+{ lib, pkgs }:
 
-let
-
-callPackage = newScope (deps // xfce_self);
+lib.makeScope pkgs.newScope (self: with self; {
+  #### NixOS support
 
-deps = { # xfce-global dependency overrides should be here
   inherit (pkgs.gnome2) libglade libwnck vte gtksourceview;
   inherit (pkgs.gnome3) dconf;
   inherit (pkgs.perlPackages) URI;
+
   gtk = pkgs.gtk2;
-};
 
-xfce_self = rec { # the lines are very long but it seems better than the even-odd line approach
+  # Samba is a rather heavy dependency
+  gvfs = pkgs.gvfs.override { samba = null; };
 
-  #### NixOS support
+  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
 
-  gvfs = pkgs.gvfs.override { samba = null; }; # samba is a rather heavy dependency
-  xinitrc = "${xfce4session}/etc/xdg/xfce4/xinitrc";
+  #### CORE
 
-  #### CORE                 from "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"
+  exo = callPackage ./core/exo.nix { };
+
+  garcon = callPackage ./core/garcon.nix { };
+
+  # When built with GTK+3, it was breaking GTK+3 app layout
+  gtk-xfce-engine = callPackage ./core/gtk-xfce-engine.nix { withGtk3 = false; };
+
+  libxfce4ui = callPackage ./core/libxfce4ui.nix { };
+
+  libxfce4util = callPackage ./core/libxfce4util.nix { };
+
+  libxfcegui4 = callPackage ./core/libxfcegui4.nix { };
+
+  thunar-bare = callPackage ./core/thunar-build.nix { };
+
+  thunar = callPackage ./core/thunar.nix { };
+
+  # NB: thunar already has it
+  thunar-volman = callPackage ./core/thunar-volman.nix { };
+
+  thunar-archive-plugin = callPackage ./thunar-plugins/archive { };
+
+  thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
+
+  tumbler = callPackage ./core/tumbler.nix { };
+
+  # TODO: impure plugins from /run/current-system/sw/lib/xfce4
+  xfce4-panel = callPackage ./core/xfce4-panel.nix { };
+
+  xfce4-session = callPackage ./core/xfce4-session.nix { };
+
+  xfce4-settings = callPackage ./core/xfce4-settings.nix { };
+
+  xfce4-power-manager = callPackage ./core/xfce4-power-manager.nix { };
+
+  xfconf = callPackage ./core/xfconf.nix { };
+
+  xfdesktop = callPackage ./core/xfdesktop.nix { };
+
+  xfwm4 = callPackage ./core/xfwm4.nix { };
+
+  xfce4-appfinder = callPackage ./core/xfce4-appfinder.nix { };
+
+  xfce4-dev-tools = callPackage ./core/xfce4-dev-tools.nix { };
+
+  #### APPLICATIONS
+
+  gigolo = callPackage ./applications/gigolo.nix { };
+
+  mousepad = callPackage ./applications/mousepad.nix { };
+
+  orage = callPackage ./applications/orage.nix { };
+
+  parole = callPackage ./applications/parole.nix { };
+
+  ristretto = callPackage ./applications/ristretto.nix { };
+
+  xfce4-mixer = callPackage ./applications/xfce4-mixer.nix { };
+
+  xfce4-mixer-pulse = callPackage ./applications/xfce4-mixer.nix { pulseaudioSupport = true; };
+
+  xfce4-notifyd = callPackage ./applications/xfce4-notifyd.nix { };
+
+  xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager.nix { };
+
+  xfce4-terminal = callPackage ./applications/terminal.nix { };
 
-  exo             = callPackage ./core/exo.nix { };
-  garcon          = callPackage ./core/garcon.nix { };
-  gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix
-    { withGtk3 = false; }; # = true; was completely breaking GTK3 app layout
-  libxfce4ui      = callPackage ./core/libxfce4ui.nix { };
-  libxfce4ui_gtk3 = libxfce4ui.override { withGtk3 = true; };
-  libxfce4util    = callPackage ./core/libxfce4util.nix { };
-  libxfcegui4     = callPackage ./core/libxfcegui4.nix { };
-  thunar-build    = callPackage ./core/thunar-build.nix { };
-  thunar          = callPackage ./core/thunar.nix { };
-  thunarx-2-dev   = thunar-build; # Plugins need only the `thunarx-2` part of the package. Awaiting multiple outputs.
-  thunar_volman   = callPackage ./core/thunar-volman.nix { }; # ToDo: probably inside Thunar now
-  thunar-archive-plugin
-                  = callPackage ./thunar-plugins/archive { };
-  thunar-dropbox-plugin
-                  = callPackage ./thunar-plugins/dropbox { };
-  tumbler         = callPackage ./core/tumbler.nix { };
-  xfce4panel      = callPackage ./core/xfce4-panel.nix { }; # ToDo: impure plugins from /run/current-system/sw/lib/xfce4
-  xfce4panel_gtk3 = xfce4panel.override { withGtk3 = true; };
-  xfce4session    = callPackage ./core/xfce4-session.nix { };
-  xfce4settings   = callPackage ./core/xfce4-settings.nix { };
-  xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { };
-  xfce4_power_manager_gtk3 = callPackage ./core/xfce4-power-manager.nix { withGtk3 = true; };
-  xfconf          = callPackage ./core/xfconf.nix { };
-  xfdesktop       = callPackage ./core/xfdesktop.nix { };
-  xfwm4           = callPackage ./core/xfwm4.nix { };
-
-  xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { };
-  xfce4_dev_tools = callPackage ./core/xfce4-dev-tools.nix { }; # only if autotools are needed
-
-  #### APPLICATIONS         from "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"
-
-  gigolo          = callPackage ./applications/gigolo.nix { };
-  mousepad        = callPackage ./applications/mousepad.nix { };
-  orage           = callPackage ./applications/orage.nix { };
-  parole          = callPackage ./applications/parole.nix { };
-  ristretto       = callPackage ./applications/ristretto.nix { };
-  terminal        = xfce4terminal; # it has changed its name
-  xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };
-  xfce4mixer_pulse = callPackage ./applications/xfce4-mixer.nix { pulseaudioSupport = true; };
-  xfce4notifyd    = callPackage ./applications/xfce4-notifyd.nix { };
-  xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
-  xfce4terminal   = callPackage ./applications/terminal.nix { };
   xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
-  xfce4volumed    = callPackage ./applications/xfce4-volumed.nix { };
-  xfce4volumed_pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
-
-  #### ART                  from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"
-
-  xfce4icontheme  = callPackage ./art/xfce4-icon-theme.nix { };
-  xfwm4themes     = callPackage ./art/xfwm4-themes.nix { };
-
-  #### PANEL PLUGINS        from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.{bz2,gz}"
-
-  xfce4_battery_plugin          = callPackage ./panel-plugins/xfce4-battery-plugin.nix          { };
-  xfce4_clipman_plugin          = callPackage ./panel-plugins/xfce4-clipman-plugin.nix          { };
-  xfce4_cpufreq_plugin          = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix          { };
-  xfce4_cpugraph_plugin         = callPackage ./panel-plugins/xfce4-cpugraph-plugin.nix         { };
-  xfce4_datetime_plugin         = callPackage ./panel-plugins/xfce4-datetime-plugin.nix         { };
-  xfce4_dict_plugin             = callPackage ./panel-plugins/xfce4-dict-plugin.nix             { };
-  xfce4_dockbarx_plugin         = callPackage ./panel-plugins/xfce4-dockbarx-plugin.nix         { };
-  xfce4_embed_plugin            = callPackage ./panel-plugins/xfce4-embed-plugin.nix            { };
-  xfce4_eyes_plugin             = callPackage ./panel-plugins/xfce4-eyes-plugin.nix             { };
-  xfce4_fsguard_plugin          = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix          { };
-  xfce4_genmon_plugin           = callPackage ./panel-plugins/xfce4-genmon-plugin.nix           { };
+
+  xfce4-volumed = callPackage ./applications/xfce4-volumed.nix { };
+
+  xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
+
+  #### ART
+
+  xfce4-icon-theme = callPackage ./art/xfce4-icon-theme.nix { };
+
+  xfwm4-themes = callPackage ./art/xfwm4-themes.nix { };
+
+  #### PANEL PLUGINS
+
+  xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin.nix { };
+
+  xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin.nix { };
+
+  xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
+
+  xfce4-cpugraph-plugin = callPackage ./panel-plugins/xfce4-cpugraph-plugin.nix { };
+
+  xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin.nix { };
+
+  xfce4-dict-plugin = callPackage ./panel-plugins/xfce4-dict-plugin.nix { };
+
+  xfce4-dockbarx-plugin = callPackage ./panel-plugins/xfce4-dockbarx-plugin.nix { };
+
+  xfce4-embed-plugin = callPackage ./panel-plugins/xfce4-embed-plugin.nix { };
+
+  xfce4-eyes-plugin = callPackage ./panel-plugins/xfce4-eyes-plugin.nix { };
+
+  xfce4-fsguard-plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { };
+
+  xfce4-genmon-plugin = callPackage ./panel-plugins/xfce4-genmon-plugin.nix { };
+
   xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin.nix { };
-  xfce4_namebar_plugin          = callPackage ./panel-plugins/xfce4-namebar-plugin.nix          { };
-  xfce4_netload_plugin          = callPackage ./panel-plugins/xfce4-netload-plugin.nix          { };
-  xfce4_notes_plugin            = callPackage ./panel-plugins/xfce4-notes-plugin.nix            { };
-  xfce4_mailwatch_plugin        = callPackage ./panel-plugins/xfce4-mailwatch-plugin.nix        { };
-  xfce4_mpc_plugin              = callPackage ./panel-plugins/xfce4-mpc-plugin.nix              { };
-  xfce4-sensors-plugin          = callPackage ./panel-plugins/xfce4-sensors-plugin.nix          { };
-  xfce4_systemload_plugin       = callPackage ./panel-plugins/xfce4-systemload-plugin.nix       { };
-  xfce4_timer_plugin            = callPackage ./panel-plugins/xfce4-timer-plugin.nix            { };
-  xfce4_verve_plugin            = callPackage ./panel-plugins/xfce4-verve-plugin.nix            { };
-  xfce4_xkb_plugin              = callPackage ./panel-plugins/xfce4-xkb-plugin.nix              { };
-  xfce4_weather_plugin          = callPackage ./panel-plugins/xfce4-weather-plugin.nix          { };
-  xfce4_whiskermenu_plugin      = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix      { };
-  xfce4_windowck_plugin         = callPackage ./panel-plugins/xfce4-windowck-plugin.nix         { };
-  xfce4_pulseaudio_plugin       = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix       { };
-
-}; # xfce_self
-
-in xfce_self
+
+  xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin.nix { };
+
+  xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
+
+  xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
+
+  xfce4-mailwatch-plugin = callPackage ./panel-plugins/xfce4-mailwatch-plugin.nix { };
+
+  xfce4-mpc-plugin = callPackage ./panel-plugins/xfce4-mpc-plugin.nix { };
+
+  xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin.nix { };
+
+  xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
+
+  xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin.nix { };
+
+  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
+
+  xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { };
+
+  xfce4-weather-plugin = callPackage ./panel-plugins/xfce4-weather-plugin.nix { };
+
+  xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { };
+
+  xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin.nix { };
+
+  xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix { };
+
+  #### GTK+3 (deprecated, see NixOS/nixpkgs#32763)
+
+  libxfce4ui_gtk3 = libxfce4ui.override { withGtk3 = true; };
+
+  xfce4panel_gtk3 = xfce4-panel.override { withGtk3 = true; };
+
+  xfce4_power_manager_gtk3 = xfce4-power-manager.override { withGtk3 = true; };
+
+  #### ALIASES - added 2018-01
+
+  terminal = xfce4-terminal;
+  thunar-build = thunar-bare;
+  thunarx-2-dev = thunar-build;
+  thunar_volman = thunar-volman;
+  xfce4panel = xfce4-panel;
+  xfce4session = xfce4-session;
+  xfce4settings = xfce4-settings;
+  xfce4_power_manager = xfce4-power-manager;
+  xfce4_appfinder = xfce4-appfinder;
+  xfce4_dev_tools = xfce4-dev-tools;
+  xfce4mixer = xfce4-mixer;
+  xfce4mixer_pulse = xfce4-mixer-pulse;
+  xfce4notifyd = xfce4-notifyd;
+  xfce4taskmanager = xfce4-taskmanager;
+  xfce4terminal = xfce4-terminal;
+  xfce4volumed = xfce4-volumed;
+  xfce4volumed_pulse = xfce4-volumed-pulse;
+  xfce4icontheme = xfce4-icon-theme;
+  xfwm4themes = xfwm4-themes;
+
+  xfce4_battery_plugin = xfce4-battery-plugin;
+  xfce4_clipman_plugin = xfce4-clipman-plugin;
+  xfce4_cpufreq_plugin = xfce4-cpufreq-plugin;
+  xfce4_cpugraph_plugin = xfce4-cpugraph-plugin;
+  xfce4_datetime_plugin = xfce4-datetime-plugin;
+  xfce4_dict_plugin = xfce4-dict-plugin;
+  xfce4_dockbarx_plugin = xfce4-dockbarx-plugin;
+  xfce4_embed_plugin = xfce4-embed-plugin;
+  xfce4_eyes_plugin = xfce4-eyes-plugin;
+  xfce4_fsguard_plugin = xfce4-fsguard-plugin;
+  xfce4_genmon_plugin = xfce4-genmon-plugin;
+  xfce4_hardware_monitor_plugin = xfce4-hardware-monitor-plugin;
+  xfce4_namebar_plugin = xfce4-namebar-plugin;
+  xfce4_netload_plugin = xfce4-netload-plugin;
+  xfce4_notes_plugin = xfce4-notes-plugin;
+  xfce4_mailwatch_plugin = xfce4-mailwatch-plugin;
+  xfce4_mpc_plugin = xfce4-mpc-plugin;
+  xfce4_sensors_plugin = xfce4-sensors-plugin;
+  xfce4_systemload_plugin = xfce4-systemload-plugin;
+  xfce4_timer_plugin = xfce4-timer-plugin;
+  xfce4_verve_plugin = xfce4-verve-plugin;
+  xfce4_xkb_plugin = xfce4-xkb-plugin;
+  xfce4_weather_plugin = xfce4-weather-plugin;
+  xfce4_whiskermenu_plugin = xfce4-whiskermenu-plugin;
+  xfce4_windowck_plugin = xfce4-windowck-plugin;
+  xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin;
+})
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 6839bef3460a..83de6f9e5697 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -42,9 +42,9 @@ let
         buildMix = callPackage ./build-mix.nix {};
 
         # BEAM-based languages.
-        elixir = elixir_1_5;
+        elixir = elixir_1_6;
 
-        elixir_1_6_rc = lib.callElixir ../interpreters/elixir/1.6.nix {
+        elixir_1_6 = lib.callElixir ../interpreters/elixir/1.6.nix {
                        inherit rebar erlang;
                        debugInfo = true;
                      };
diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix
index 26d868a8e7c4..d6b83cb1af04 100644
--- a/pkgs/development/beam-modules/lib.nix
+++ b/pkgs/development/beam-modules/lib.nix
@@ -6,8 +6,8 @@ rec {
   */
   callPackageWith = autoArgs: fn: args:
     let
-      f = if builtins.isFunction fn then fn else import fn;
-      auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
+      f = if pkgs.lib.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (stdenv.lib.functionArgs f) autoArgs;
     in f (auto // args);
 
   callPackage = callPackageWith pkgs;
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index 9629d4eface1..8dcebbf442b1 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2018.01.10";
+  version = "2018.02.04";
 
   src = fetchFromGitHub {
     owner  = "cseed";
     repo   = "arachne-pnr";
-    rev    = "24f6b9c341910f6aaca1498872fe2e99ff8210cf";
-    sha256 = "0jd91hx16jx0p0jiqhgh1kbh59k82i4979f4xp4wzc249br7lxlv";
+    rev    = "c21df0062c6ee13e8c8280cefbb7c017823336c0";
+    sha256 = "1ah1gn07av3ff5lnay4p7dahaacbyj0mfakbx7g5fs3p1m1m8p1k";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
index 72eaae998779..3f9ee17ca279 100644
--- a/pkgs/development/compilers/binaryen/default.nix
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -1,14 +1,14 @@
 { stdenv, cmake, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "33";
+  version = "42";
   rev = "version_${version}";
   name = "binaryen-${version}";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "binaryen";
-    sha256 = "0zijs2mcgfv0iynwdb0l4zykm0891b1zccf6r8w35ipxvcdwbsbp";
+    sha256 = "0b8qc9cd7ncshgfjwv4hfapmwa81gmniaycnxmdkihq9bpm26x2k";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index e8e6b5224de9..de3544a3a638 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -3,10 +3,10 @@
 , curl, tzdata, gdb, darwin
 , callPackage
 , bootstrapVersion ? false
-, version ? "2.078.0"
-, dmdSha256 ? "1ia4swyq0xqppnpmcalh2yxywdk2gv3kvni2abx1mq6wwqgmwlcr"
-, druntimeSha256 ? "0inyvcjc5qn8277d1zlfvgdgiss86rkjg9mhkw5l31hix8yan372"
-, phobosSha256 ? "1vb5xnysja9l8hvv9gy4c05vihmblz7ga005761jbazxkmlfirj4"
+, version ? "2.078.1"
+, dmdSha256 ? "0b9lphh4g3r9cyzv4wcfppv9j3w952vvwv615za23acgwav3mqg2"
+, druntimeSha256 ? "16jv40m073cflpkyl0vmg1g58cianybfcsgcvwli7pfryxbgsbrr"
+, phobosSha256 ? "08ircpf4ilznz638kra272hz8fi5ccvw2cswj5hqckssl1lyqzs8"
 }:
 
 let
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 9ce3808b73f2..0e5f69c27262 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -56,7 +56,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "7.2.0";
+let version = "7.3.0";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
@@ -185,7 +185,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "16j7i0888j2f1yp9l0nhji6cq65dy6y4nwy8868a8njbzzwavxqw";
+    sha256 = "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix
deleted file mode 100644
index 03831f3b6b6f..000000000000
--- a/pkgs/development/compilers/ghc/6.10.2-binary.nix
+++ /dev/null
@@ -1,108 +0,0 @@
-{ stdenv
-, fetchurl, perl
-, libedit, ncurses5, gmp
-, enableIntegerSimple ? false
-}:
-
-# Prebuilt only does native
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-stdenv.mkDerivation rec {
-  version = "6.10.2";
-
-  name = "ghc-${version}-binary";
-
-  src = fetchurl ({
-    "i686-linux" = {
-      # This binary requires libedit.so.0 (rather than libedit.so.2).
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
-      sha256 = "1fw0zr2qshlpk8s0d16k27zcv5263nqdg2xds5ymw8ff6qz9rz9b";
-    };
-    "x86_64-linux" = {
-      # Idem.
-      url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
-      sha256 = "1rd2j7lmcfsm2rdfb5g6q0l8dz3sxadk5m3d2f69d4a6g4p4h7jj";
-    };
-  }.${stdenv.hostPlatform.system}
-    or (throw "cannot bootstrap GHC on this platform"));
-
-  nativeBuildInputs = [ perl ];
-
-  # Cannot patchelf beforehand due to relative RPATHs that anticipate
-  # the final install location/
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libedit ncurses5 gmp ];
-
-  postUnpack =
-    # Strip is harmful, see also below. It's important that this happens
-    # first. The GHC Cabal build system makes use of strip by default and
-    # has hardcoded paths to /usr/bin/strip in many places. We replace
-    # those below, making them point to our dummy script.
-    ''
-      mkdir "$TMP/bin"
-      for i in strip; do
-        echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
-        chmod +x "$TMP/bin/$i"
-      done
-      PATH="$TMP/bin:$PATH"
-    '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
-      find . -type f -perm -0100 -exec patchelf \
-          --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \;
-
-      for prog in ld ar gcc strip ranlib; do
-        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
-      done
-    '';
-
-  configurePlatforms = [ ];
-  configureFlags = [
-    "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
-    "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
-  ];
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # No building is necessary, but calling make without flags ironically
-  # calls install-strip ...
-  dontBuild = true;
-
-  postInstall = ''
-    # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
-    sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp.out}/lib\",\2@" $out/lib/ghc-${version}/package.conf
-  '';
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find editline/gmp.
-  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    find "$out" -type f -executable \
-        -exec patchelf  --set-rpath "${LD_LIBRARY_PATH}" {} \;
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    # Sanity check, can ghc create executables?
-    cd $TMP
-    mkdir test-ghc; cd test-ghc
-    cat > main.hs << EOF
-      module Main where
-      main = putStrLn "yes"
-    EOF
-    $out/bin/ghc --make main.hs
-    echo compilation ok
-    [ $(./main) == "yes" ]
-  '';
-
-  passthru = { targetPrefix = ""; };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = ["x86_64-linux" "i686-linux"];
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix
deleted file mode 100644
index 0308edbd56c0..000000000000
--- a/pkgs/development/compilers/ghc/6.10.4.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-stdenv.mkDerivation rec {
-  version = "6.10.4";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  hardeningDisable = [ "format" ];
-
-  configureFlags = [
-    "--with-gmp-libraries=${gmp.out}/lib"
-    "--with-gmp-includes=${gmp.dev}/include"
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
-
-  passthru = { targetPrefix = ""; };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
-    inherit (ghc.meta) license;
-    broken = true;  # https://nix-cache.s3.amazonaws.com/log/6ys7lzckf2c0532kzhmss73mmz504can-ghc-6.10.4.drv
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix
deleted file mode 100644
index 16d6d39e95f4..000000000000
--- a/pkgs/development/compilers/ghc/6.12.3.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-
-stdenv.mkDerivation rec {
-  version = "6.12.3";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "0s2y1sv2nq1cgliv735q2w3gg4ykv1c0g1adbv8wgwhia10vxgbc";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/gcc"
-  ];
-
-  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  passthru = { targetPrefix = ""; };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
-    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
-    inherit (ghc.meta) license;
-    broken = true; # broken by gcc 5.x: http://hydra.nixos.org/build/33627548
-  };
-}
diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix
index d9b4ff167825..51dd24671bdd 100644
--- a/pkgs/development/compilers/ghc/7.0.4-binary.nix
+++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix
@@ -134,7 +134,12 @@ stdenv.mkDerivation rec {
     [ $(./main) == "yes" ]
   '';
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta.license = stdenv.lib.licenses.bsd3;
   meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix
index 0f560313007f..54323458d9bd 100644
--- a/pkgs/development/compilers/ghc/7.0.4.nix
+++ b/pkgs/development/compilers/ghc/7.0.4.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
@@ -45,7 +45,12 @@ stdenv.mkDerivation rec {
   # that in turn causes GHCi to abort
   stripDebugFlags=["-S" "--keep-file-symbols"];
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta = {
     homepage = http://haskell.org/ghc;
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index 3fb70c31a7c2..c4780690f678 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -2,15 +2,28 @@
 , buildPlatform, hostPlatform, targetPlatform
 
 # build-tools
-, bootPkgs, hscolour, llvm_35
+, bootPkgs, hscolour
 , coreutils, fetchurl, fetchpatch, perl
 , docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, libxml2, libxslt
 
-, libiconv ? null, ncurses
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
   enableIntegerSimple ? false, gmp ? null
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? true
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -28,6 +41,32 @@ let
     sha256 = "1j45z4kcd3w1rzm4hapap2xc16bbh942qnzzdbdjcwqznsccznf0";
   };
 
+  buildMK = ''
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    INTEGER_LIBRARY = integer-simple
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    BuildFlavour = perf-cross
+    Stage1Only = YES
+    HADDOCK_DOCS = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
 in
 
 stdenv.mkDerivation rec {
@@ -39,37 +78,77 @@ stdenv.mkDerivation rec {
     sha256 = "1vsgmic8csczl62ciz51iv8nhrkm72lyhbz7p7id13y2w7fcx46g";
   };
 
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
   patches = [
     docFixes
     ./relocation.patch
   ];
 
-  buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ] ++ stdenv.lib.optionals targetPlatform.isArm [ llvm_35 ];
-
-  enableParallelBuilding = true;
-
-  outputs = [ "out" "doc" ];
-
+  # GHC is a bit confused on its cross terminology.
   preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '' + stdenv.lib.optionalString enableIntegerSimple ''
-    echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
   '';
 
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
   configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/cc"
-    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
     "--datadir=$doc/share/doc/ghc"
-  ] ++ stdenv.lib.optional (! enableIntegerSimple) [
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
-  ] ++ stdenv.lib.optional stdenv.isDarwin [
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    "--disable-large-address-space"
+  ];
+
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
+
+  nativeBuildInputs = [
+    ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour
   ];
 
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
@@ -88,6 +167,11 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
   };
 
   meta = {
@@ -96,4 +180,5 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
     inherit (ghc.meta) license platforms;
   };
+
 }
diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix
deleted file mode 100644
index cb8470bcff12..000000000000
--- a/pkgs/development/compilers/ghc/7.2.2.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? false, gmp ? null
-}:
-
-# TODO(@Ericson2314): Cross compilation support
-assert stdenv.targetPlatform == stdenv.hostPlatform;
-assert !enableIntegerSimple -> gmp != null;
-
-stdenv.mkDerivation rec {
-  version = "7.2.2";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2";
-    sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz";
-  };
-
-  patches = [ ./fix-7.2.2-clang.patch ./relocation.patch ];
-
-  buildInputs = [ ghc perl ncurses ]
-                ++ stdenv.lib.optional (!enableIntegerSimple) gmp;
-
-  buildMK = ''
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
-    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
-      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
-    ''}
-  '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY=integer-simple
-  '' else ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
-  '');
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '';
-
-  configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}"
-                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
-
-  NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  passthru = { targetPrefix = ""; };
-
-  meta = {
-    homepage = http://haskell.org/ghc;
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.peti
-    ];
-    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
-    inherit (ghc.meta) license;
-    broken = true;   # broken by 51cf42ad0d3ccb55af182f1f0ee5eb5094ea5995: https://hydra.nixos.org/build/60616815
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 70c8797c264e..4f00ef8fb751 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -136,7 +136,12 @@ stdenv.mkDerivation rec {
     [ $(./main) == "yes" ]
   '';
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta.license = stdenv.lib.licenses.bsd3;
   meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix
index 6f30b03efb91..7f636284c68d 100644
--- a/pkgs/development/compilers/ghc/7.4.2.nix
+++ b/pkgs/development/compilers/ghc/7.4.2.nix
@@ -32,17 +32,17 @@ stdenv.mkDerivation rec {
       libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
     ''}
   '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY=integer-simple
+    INTEGER_LIBRARY = integer-simple
   '' else ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
   '');
 
   preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
     find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
@@ -56,7 +56,12 @@ stdenv.mkDerivation rec {
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta = {
     homepage = http://haskell.org/ghc;
diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix
index 78202297686e..481b8d90918c 100644
--- a/pkgs/development/compilers/ghc/7.6.3.nix
+++ b/pkgs/development/compilers/ghc/7.6.3.nix
@@ -43,14 +43,14 @@ in stdenv.mkDerivation rec {
     SRC_HC_OPTS += ${ghcFlags}
     SRC_CC_OPTS += ${cFlags}
   '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY=integer-simple
+    INTEGER_LIBRARY = integer-simple
   '' else ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
   '');
 
   preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
 
   '' + stdenv.lib.optionalString stdenv.isLinux ''
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
     sed -i -e 's|"\$topdir"|"\$topdir" ${ghcFlags}|' ghc/ghc.wrapper
 
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     find . -name '*.hs'  | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
     find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|'
@@ -82,7 +82,12 @@ in stdenv.mkDerivation rec {
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta = {
     homepage = http://haskell.org/ghc;
diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix
index b5e2ac256a7a..15f105946f51 100644
--- a/pkgs/development/compilers/ghc/7.8.4.nix
+++ b/pkgs/development/compilers/ghc/7.8.4.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
+{ stdenv, targetPackages
+
+, fetchurl, ghc, perl
+, libffi, libiconv ? null, ncurses
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
@@ -9,51 +12,74 @@
 assert stdenv.targetPlatform == stdenv.hostPlatform;
 assert !enableIntegerSimple -> gmp != null;
 
-stdenv.mkDerivation (rec {
-  version = "7.8.4";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3";
-  };
-
-  patches = [ ./relocation.patch ];
-
-  buildInputs = [ ghc perl ncurses ]
-                ++ stdenv.lib.optional (!enableIntegerSimple) gmp;
-
-  enableParallelBuilding = true;
-
+let
   buildMK = ''
     libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
     libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
     DYNAMIC_BY_DEFAULT = NO
-    ${stdenv.lib.optionalString stdenv.isDarwin ''
+    ${stdenv.lib.optionalString (stdenv.hostPlatform.libc != "glibc") ''
       libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
       libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
     ''}
   '' + (if enableIntegerSimple then ''
-    INTEGER_LIBRARY=integer-simple
+    INTEGER_LIBRARY = integer-simple
   '' else ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
   '');
 
+  # Splicer will pull out correct variations
+  libDeps = [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (stdenv.hostPlatform.libc != "glibc") libiconv;
+
+in
+
+stdenv.mkDerivation rec {
+  version = "7.8.4";
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.xz";
+    sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3";
+  };
+
+  enableParallelBuilding = true;
+
+  patches = [ ./relocation.patch ]
+    ++ stdenv.lib.optional stdenv.isDarwin ./hpc-7.8.4.patch;
+
   preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
   '';
 
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ];
+
+  nativeBuildInputs = [ ghc perl ];
+  depsBuildTarget = [ targetPackages.stdenv.cc ];
+
+  buildInputs = libDeps;
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ];
+
+  depsTargetTarget = map stdenv.lib.getDev libDeps;
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") libDeps;
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
-  passthru = { targetPrefix = ""; };
+  passthru = {
+    targetPrefix = "";
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
 
   meta = {
     homepage = http://haskell.org/ghc;
@@ -62,7 +88,4 @@ stdenv.mkDerivation (rec {
     inherit (ghc.meta) license platforms;
   };
 
-} // stdenv.lib.optionalAttrs stdenv.isDarwin {
-  # https://ghc.haskell.org/trac/ghc/ticket/9762
-  patches = [ ./hpc-7.8.4.patch ];
-})
+}
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index bb706aa6bbc3..011822994ed3 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -2,14 +2,27 @@
 , buildPlatform, hostPlatform, targetPlatform
 
 # build-tools
-, bootPkgs, hscolour, llvm_37
-, coreutils, fetchurl, fetchpatch, patchutils, perl, sphinx
+, bootPkgs, hscolour
+, coreutils, fetchpatch, fetchurl, perl, sphinx
 
-, libiconv ? null, ncurses
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
   enableIntegerSimple ? false, gmp ? null
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? true
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -21,6 +34,33 @@ let
   targetPrefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
+
+  buildMK = ''
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    INTEGER_LIBRARY = integer-simple
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    BuildFlavour = perf-cross
+    Stage1Only = YES
+    HADDOCK_DOCS = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
 in
 stdenv.mkDerivation rec {
   version = "8.0.2";
@@ -31,43 +71,87 @@ stdenv.mkDerivation rec {
     sha256 = "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi";
   };
 
-  patches = [ ./ghc-gold-linker.patch ]
-    ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
-    ++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
-
-  buildInputs = [ ghc perl hscolour sphinx ] ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ llvm_37 ];
-
   enableParallelBuilding = true;
 
   outputs = [ "out" "man" "doc" ];
 
+  patches = [
+    ./ghc-gold-linker.patch
+    (fetchpatch { # Unreleased 1.24.x commit
+      url = "https://github.com/haskell/cabal/commit/6394cb0b6eba91a8692a3d04b2b56935aed7cccd.patch";
+      sha256 = "14xxjg0nb1j1pw0riac3v385ka92qhxxblfmwyvbghz7kry6axy0";
+      stripLen = 1;
+      extraPrefix = "libraries/Cabal/";
+    })
+  ] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
+
+  # GHC is a bit confused on its cross terminology.
   preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '' + stdenv.lib.optionalString enableIntegerSimple ''
-    echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
   '';
 
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
   configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/cc"
-    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
     "--datadir=$doc/share/doc/ghc"
-  ] ++ stdenv.lib.optional (! enableIntegerSimple) [
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
-  ] ++ stdenv.lib.optional stdenv.isDarwin [
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
   ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
     # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
     "--disable-large-address-space"
   ];
 
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
+
+  nativeBuildInputs = [ ghc perl hscolour sphinx ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
 
+  # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
+  # treat that as a unary `{x,y,z,..}` repetition.
   postInstall = ''
     paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
 
@@ -84,6 +168,11 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index 0e87ea68649e..8b62bbffcc84 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -1,16 +1,31 @@
 { stdenv, targetPackages
 , buildPlatform, hostPlatform, targetPlatform
-, selfPkgs, cross ? null
 
 # build-tools
-, bootPkgs, alex, happy, hscolour, llvm_39
-, autoconf, automake, coreutils, fetchurl, perl, python3, sphinx
+, bootPkgs, alex, happy, hscolour
+, autoconf, autoreconfHook, automake, coreutils, fetchurl, fetchpatch, perl, python3, sphinx
 
-, libiconv ? null, ncurses
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
   enableIntegerSimple ? false, gmp ? null
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ?
+    !(targetPlatform.isDarwin
+      # On iOS, dynamic linking is not supported
+      && (targetPlatform.isAarch64 || targetPlatform.isArm))
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -22,8 +37,37 @@ let
   targetPrefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
+
+  buildMK = ''
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    INTEGER_LIBRARY = integer-simple
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    BuildFlavour = perf-cross
+    Stage1Only = YES
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
 in
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   version = "8.2.2";
   name = "${targetPrefix}ghc-${version}";
 
@@ -32,42 +76,93 @@ stdenv.mkDerivation (rec {
     sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv";
   };
 
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  patches = [
+    (fetchpatch { # Fix STRIP to be substituted from configure
+      url = "https://git.haskell.org/ghc.git/commitdiff_plain/2fc8ce5f0c8c81771c26266ac0b150ca9b75c5f3";
+      sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
+    })
+  ];
+
   postPatch = "patchShebangs .";
 
+  # GHC is a bit confused on its cross terminology.
   preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '' + stdenv.lib.optionalString enableIntegerSimple ''
-    echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
-  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
-    sed 's|#BuildFlavour  = quick-cross|BuildFlavour  = perf-cross|' mk/build.mk.sample > mk/build.mk
   '';
 
-  buildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ] ++ stdenv.lib.optionals (targetPlatform.isArm || targetPlatform.isAarch64) [ llvm_39 ];
-
-  enableParallelBuilding = true;
-
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
   configureFlags = [
-    "CC=${stdenv.cc}/bin/cc"
-    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
     "--datadir=$doc/share/doc/ghc"
-  ] ++ stdenv.lib.optional (! enableIntegerSimple) [
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
-  ] ++ stdenv.lib.optional stdenv.isDarwin [
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
-  ] ++ stdenv.lib.optional stdenv.isArm [
-    "LD=${stdenv.cc}/bin/ld.gold"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isArm) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    "--disable-large-address-space"
   ];
 
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
+
+  nativeBuildInputs = [ alex autoconf autoreconfHook automake ghc happy hscolour perl python3 sphinx ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
 
   checkTarget = "test";
 
+  # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
+  # treat that as a unary `{x,y,z,..}` repetition.
   postInstall = ''
     paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
 
@@ -82,15 +177,13 @@ stdenv.mkDerivation (rec {
     done
   '';
 
-  outputs = [ "out" "doc" ];
-
   passthru = {
     inherit bootPkgs targetPrefix;
-  } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) {
-    crossCompiler = selfPkgs.ghc.override {
-      cross = targetPlatform;
-      bootPkgs = selfPkgs;
-    };
+
+    inherit llvmPackages;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
   };
 
   meta = {
@@ -100,24 +193,4 @@ stdenv.mkDerivation (rec {
     inherit (ghc.meta) license platforms;
   };
 
-} // stdenv.lib.optionalAttrs (cross != null) {
-  configureFlags = [
-    "CC=${stdenv.cc}/bin/${cross.config}-cc"
-    "LD=${stdenv.cc.bintools}/bin/${cross.config}-ld"
-    "AR=${stdenv.cc.bintools}/bin/${cross.config}-ar"
-    "NM=${stdenv.cc.bintools}/bin/${cross.config}-nm"
-    "RANLIB=${stdenv.cc.bintools}/bin/${cross.config}-ranlib"
-    "--target=${cross.config}"
-    "--enable-bootstrap-with-devel-snapshot"
-  ] ++
-    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-    stdenv.lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
-
-  configurePlatforms = [];
-
-  passthru = {
-    inherit bootPkgs cross;
-    cc = "${stdenv.cc}/bin/${cross.config}-cc";
-    ld = "${stdenv.cc}/bin/${cross.config}-ld";
-  };
-})
+}
diff --git a/pkgs/development/compilers/ghc/8.4.1.nix b/pkgs/development/compilers/ghc/8.4.1.nix
new file mode 100644
index 000000000000..1bade6e20601
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.4.1.nix
@@ -0,0 +1,193 @@
+{ stdenv, targetPackages
+, buildPlatform, hostPlatform, targetPlatform
+
+# build-tools
+, bootPkgs, alex, happy
+, autoconf, automake, coreutils, fetchgit, perl, python3
+
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? false, gmp ? null
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? true
+
+, version ? "8.4.0.20180204"
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    INTEGER_LIBRARY = integer-simple
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    BuildFlavour = perf-cross
+    Stage1Only = YES
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation rec {
+  inherit version;
+  inherit (src) rev;
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchgit {
+    url = "git://git.haskell.org/ghc.git";
+    rev = "111737cd218751f06ea58d3cf2c7c144265b5dfc";
+    sha256 = "0ksp0k3sp928aq2cv6whgbfmjnr7l2j10diha13nncksp4byf0s9";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    echo ${version} >VERSION
+    echo ${src.rev} >GIT_COMMIT_ID
+    ./boot
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
+    "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isArm) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    "--disable-large-address-space"
+  ];
+
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
+
+  nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
+  # treat that as a unary `{x,y,z,..}` repetition.
+  postInstall = ''
+    paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
+
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 9b4c932eb115..82cef10ce3be 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,18 +1,30 @@
 { stdenv, targetPackages
 , buildPlatform, hostPlatform, targetPlatform
-, selfPkgs, cross ? null
 
 # build-tools
 , bootPkgs, alex, happy
 , autoconf, automake, coreutils, fetchgit, perl, python3
 
-, libiconv ? null, ncurses
+, libffi, libiconv ? null, ncurses
+
+, useLLVM ? !targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
   enableIntegerSimple ? false, gmp ? null
 
-, version ? "8.5.20171209"
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? targetPlatform != hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? true
+
+, version ? "8.5.20180118"
 }:
 
 assert !enableIntegerSimple -> gmp != null;
@@ -20,60 +32,134 @@ assert !enableIntegerSimple -> gmp != null;
 let
   inherit (bootPkgs) ghc;
 
-  rev = "4335c07ca7e64624819b22644d7591853826bd75";
-
   # TODO(@Ericson2314) Make unconditional
   targetPrefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
+
+  buildMK = ''
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    INTEGER_LIBRARY = integer-simple
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    BuildFlavour = perf-cross
+    Stage1Only = YES
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
 in
-stdenv.mkDerivation (rec {
-  inherit version rev;
+stdenv.mkDerivation rec {
+  inherit version;
+  inherit (src) rev;
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchgit {
     url = "git://git.haskell.org/ghc.git";
-    inherit rev;
-    sha256 = "19csad94sk0bw2nj97ppmnwh4c193jg0jmg5w2sx9rqm9ih4yg85";
+    rev = "e1d4140be4d2a1508015093b69e1ef53516e1eb6";
+    sha256 = "1gdcr10dd968d40qgljdwx9vfkva3yrvjm9a4nis7whaaac3ag58";
   };
 
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
   postPatch = "patchShebangs .";
 
+  # GHC is a bit confused on its cross terminology.
   preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isArm ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
     echo ${version} >VERSION
-    echo ${rev} >GIT_COMMIT_ID
+    echo ${src.rev} >GIT_COMMIT_ID
     ./boot
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '' + stdenv.lib.optionalString enableIntegerSimple ''
-    echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
-  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
-    sed 's|#BuildFlavour  = quick-cross|BuildFlavour  = perf-cross|' mk/build.mk.sample > mk/build.mk
   '';
 
-  buildInputs = [ ghc perl autoconf automake happy alex python3 ];
-
-  enableParallelBuilding = true;
-
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
   configureFlags = [
-    "CC=${stdenv.cc}/bin/cc"
-    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
     "--datadir=$doc/share/doc/ghc"
-  ] ++ stdenv.lib.optional (! enableIntegerSimple) [
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
-  ] ++ stdenv.lib.optional stdenv.isDarwin [
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
     "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isArm) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    "--disable-large-address-space"
   ];
 
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
+
+  nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
 
   checkTarget = "test";
 
+  # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
+  # treat that as a unary `{x,y,z,..}` repetition.
   postInstall = ''
     paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
 
@@ -88,15 +174,13 @@ stdenv.mkDerivation (rec {
     done
   '';
 
-  outputs = [ "out" "doc" ];
-
   passthru = {
     inherit bootPkgs targetPrefix;
-  } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) {
-    crossCompiler = selfPkgs.ghc.override {
-      cross = targetPlatform;
-      bootPkgs = selfPkgs;
-    };
+
+    inherit llvmPackages;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc";
   };
 
   meta = {
@@ -106,24 +190,4 @@ stdenv.mkDerivation (rec {
     inherit (ghc.meta) license platforms;
   };
 
-} // stdenv.lib.optionalAttrs (cross != null) {
-  configureFlags = [
-    "CC=${stdenv.cc}/bin/${cross.config}-cc"
-    "LD=${stdenv.cc.bintools}/bin/${cross.config}-ld"
-    "AR=${stdenv.cc.bintools}/bin/${cross.config}-ar"
-    "NM=${stdenv.cc.bintools}/bin/${cross.config}-nm"
-    "RANLIB=${stdenv.cc.bintools}/bin/${cross.config}-ranlib"
-    "--target=${cross.config}"
-    "--enable-bootstrap-with-devel-snapshot"
-  ] ++
-    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-    stdenv.lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
-
-  configurePlatforms = [];
-
-  passthru = {
-    inherit bootPkgs cross;
-    cc = "${stdenv.cc}/bin/${cross.config}-cc";
-    ld = "${stdenv.cc}/bin/${cross.config}-ld";
-  };
-})
+}
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index 4a583af0cfe7..ab72d1fb1b3d 100644
--- a/pkgs/development/compilers/ghcjs/base.nix
+++ b/pkgs/development/compilers/ghcjs/base.nix
@@ -174,6 +174,7 @@ in mkDerivation (rec {
     isGhcjs = true;
     inherit nodejs ghcjsBoot;
     socket-io = pkgs.nodePackages."socket.io";
+    haskellCompilerName = "ghcjs";
 
     # let us assume ghcjs is never actually cross compiled
     targetPrefix = "";
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index ff989ea22c40..7f3cc9440015 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -1,5 +1,5 @@
-{ bootPkgs }:
+{ bootPkgs, cabal-install }:
 
 bootPkgs.callPackage ./base.nix {
-  inherit bootPkgs;
+  inherit bootPkgs cabal-install;
 }
diff --git a/pkgs/development/compilers/ghcjs/head.nix b/pkgs/development/compilers/ghcjs/head.nix
index 2cf6c8b39c24..84eb2d8bd0da 100644
--- a/pkgs/development/compilers/ghcjs/head.nix
+++ b/pkgs/development/compilers/ghcjs/head.nix
@@ -1,9 +1,9 @@
-{ fetchgit, fetchFromGitHub, bootPkgs }:
+{ fetchgit, fetchFromGitHub, bootPkgs, cabal-install }:
 
 bootPkgs.callPackage ./base.nix {
   version = "0.2.020170323";
 
-  inherit bootPkgs;
+  inherit bootPkgs cabal-install;
 
   ghcjsSrc = fetchFromGitHub {
     owner = "ghcjs";
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index b1230da5a142..82ed9b53c60f 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkgconfig patch ];
-  buildInputs = [ pcre ];
+  buildInputs = [ cacert pcre ];
   propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
@@ -116,8 +116,6 @@ stdenv.mkDerivation rec {
       })
     ];
 
-  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
   GOARCH = if stdenv.isDarwin then "amd64"
            else if stdenv.system == "i686-linux" then "386"
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 23fd3b0f2912..ee71d2aabad6 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkgconfig patch makeWrapper ]
     ++ optionals stdenv.isLinux [ procps ];
-  buildInputs = [ pcre ]
+  buildInputs = [ cacert pcre ]
     ++ optionals stdenv.isLinux [ stdenv.glibc.out stdenv.glibc.static ];
   propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
 
@@ -122,8 +122,6 @@ stdenv.mkDerivation rec {
     substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
   '';
 
-  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
   GOARCH = if stdenv.isDarwin then "amd64"
            else if stdenv.system == "i686-linux" then "386"
@@ -136,6 +134,9 @@ stdenv.mkDerivation rec {
   CGO_ENABLED = 1;
   GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
 
+  # Hopefully avoids test timeouts on Hydra
+  GO_TEST_TIMEOUT_SCALE = 3;
+
   # The go build actually checks for CC=*/clang and does something different, so we don't
   # just want the generic `cc` here.
   CC = if stdenv.isDarwin then "clang" else "cc";
diff --git a/pkgs/development/compilers/go/1.9.nix b/pkgs/development/compilers/go/1.9.nix
index e908a8725e2a..b226cd7a7ebc 100644
--- a/pkgs/development/compilers/go/1.9.nix
+++ b/pkgs/development/compilers/go/1.9.nix
@@ -25,19 +25,19 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "07p4ld07r2nml2bsbfb8h51hqilbqyhhdlia99y1gk7ibvhybv8i";
+    sha256 = "0ivb6z30d6qrrkwjm9fdz9jfs567q4b6dljwwxc9shmdr2l9chah";
   };
 
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkgconfig patch makeWrapper ]
     ++ optionals stdenv.isLinux [ procps ];
-  buildInputs = [ pcre ]
+  buildInputs = [ cacert pcre ]
     ++ optionals stdenv.isLinux [ stdenv.glibc.out stdenv.glibc.static ];
   propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
 
@@ -128,8 +128,6 @@ stdenv.mkDerivation rec {
     substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
   '';
 
-  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
   GOARCH = if stdenv.isDarwin then "amd64"
            else if stdenv.system == "i686-linux" then "386"
@@ -141,6 +139,8 @@ stdenv.mkDerivation rec {
   GO386 = 387; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
+  # Hopefully avoids test timeouts on Hydra
+  GO_TEST_TIMEOUT_SCALE = 3;
 
   # The go build actually checks for CC=*/clang and does something different, so we don't
   # just want the generic `cc` here.
diff --git a/pkgs/development/compilers/halvm/2.4.0.nix b/pkgs/development/compilers/halvm/2.4.0.nix
deleted file mode 100644
index 0c4cef653d86..000000000000
--- a/pkgs/development/compilers/halvm/2.4.0.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, targetPackages, autoconf, alex, happy, makeStaticLibraries
-, hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
-}:
-
-stdenv.mkDerivation rec {
-  version = "2.4.0";
-  name = "HaLVM-${version}";
-  isHaLVM = true;
-  enableParallelBuilding = false;
-  isGhcjs = false;
-  src = fetchgit {
-    rev = "65fad65966eb7e60f234453a35aeb564a09d2595";
-    url = "https://github.com/GaloisInc/HaLVM";
-    sha256 = "09633h38w0z20cz0wcfp9z5kzv8v1zwcv0wqvgq3c8svqbrxp28k";
-  };
-  prePatch = ''
-    sed -i '305 d' Makefile
-    sed -i '309,439 d' Makefile # Removes RPM packaging
-    sed -i '20 d' src/scripts/halvm-cabal.in
-    sed -ie 's|ld |${targetPackages.stdenv.cc.bintools}/bin/ld |g' src/scripts/ldkernel.in
-  '';
-  configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
-  propagatedNativeBuildInputs = [ alex happy ];
-  buildInputs =
-   let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
-    ]; in [ bootPkgs.ghc
-            automake perl git targetPackages.stdenv.cc.bintools
-            autoconf xen zlib ncurses.dev
-            libtool gmp ] ++ haskellPkgs;
-  preConfigure = ''
-    autoconf
-    patchShebangs .
-  '';
-  hardeningDisable = ["all"];
-  postInstall = ''
-    patchShebangs $out/bin
-    $out/bin/halvm-ghc-pkg recache
-  '';
-  passthru = {
-    inherit bootPkgs;
-    cross.config = "halvm";
-    cc = "${gcc}/bin/gcc";
-    ld = "${targetPackages.stdenv.cc.bintools}/bin/ld";
-  };
-
-  meta = {
-    homepage = https://github.com/GaloisInc/HaLVM;
-    description = "The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen";
-    platforms = ["x86_64-linux"];       # other platforms don't have Xen
-    maintainers = with stdenv.lib.maintainers; [ dmjio ];
-    inherit (bootPkgs.ghc.meta) license;
-    broken = true;  # https://nix-cache.s3.amazonaws.com/log/6i98mhbq9nzzhwr4svlivm4gz91l2w0f-HaLVM-2.4.0.drv
-  };
-}
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
index fabb2a7d6d73..6acb192933e6 100644
--- a/pkgs/development/compilers/julia/0.6.nix
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -33,10 +33,10 @@ let
     sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
   };
 
-  libuvVersion = "52d72a52cc7ccd570929990f010ed16e2ec604c8";
+  libuvVersion = "d8ab1c6a33e77bf155facb54215dd8798e13825d";
   libuv = fetchurl {
     url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
-    sha256 = "1vldy94sfmlfqmi14126g590wi61fv78rzh7afk82zkipaixvak8";
+    sha256 = "0q5ahc9dzca2yc6cjbhpfi9nwc4yhhjbgxgsychksn13d24gv7ba";
   };
 
   rmathVersion = "0.1";
@@ -54,12 +54,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "julia";
-  version = "0.6.0";
+  version = "0.6.2";
   name = "${pname}-${version}";
 
   src = fetchzip {
     url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "19xk2cs43lnsy9y0d8wmxj7ich908ipb40vkf7xg9031x272brxw";
+    sha256 = "0ym4n9vn6w8vj175mmsc2nzvdk2ij0cdrs44lkr3p0signji73b5";
   };
   prePatch = ''
     mkdir deps/srccache
diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix
index cfddb862f59a..19519823f373 100644
--- a/pkgs/development/compilers/julia/git.nix
+++ b/pkgs/development/compilers/julia/git.nix
@@ -175,6 +175,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
-    broken = stdenv.isi686;
+    broken = true; # since 2017-04-08.
   };
 }
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 5015f4900774..108fefca8636 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.2.10";
+  version = "1.2.21";
 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 = "1qr61i5fjd5p7bi05hplagmcxgb05k4xdh5yjjvaq8cij5l4b1wm";
+    sha256 = "08mg0xl6n5kl71rn4ix6innqa7dlirmw1rlj9qwmqv5abp9wpwn5";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix
index 90b8ea2581e8..0147485dd58d 100644
--- a/pkgs/development/compilers/llvm/3.8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix
@@ -29,7 +29,7 @@ let
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
     '';
 
-    outputs = [ "out" "python" ];
+    outputs = [ "out" "lib" "python" ];
 
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
@@ -38,6 +38,11 @@ let
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      substituteInPlace $out/share/clang/cmake/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
       mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
@@ -51,7 +56,6 @@ let
     enableParallelBuilding = true;
 
     passthru = {
-      lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
       isClang = true;
       inherit llvm;
     } // stdenv.lib.optionalAttrs stdenv.isLinux {
diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix
index a660d4aea5fd..9e37f93dbddc 100644
--- a/pkgs/development/compilers/llvm/3.8/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/default.nix
@@ -22,6 +22,8 @@ let
       inherit clang-tools-extra_src stdenv;
     };
 
+    libclang = self.clang-unwrapped.lib;
+
     clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
 
     libstdcxxClang = ccWrapperFun {
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index ec2ec27df363..aafe30e4c9b3 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -31,7 +31,7 @@ let
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
     '';
 
-    outputs = [ "out" "python" ];
+    outputs = [ "out" "lib" "python" ];
 
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
@@ -40,6 +40,11 @@ let
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
       mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
@@ -53,7 +58,6 @@ let
     enableParallelBuilding = true;
 
     passthru = {
-      lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
       isClang = true;
       inherit llvm;
     } // stdenv.lib.optionalAttrs stdenv.isLinux {
diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix
index c58adc3f92da..a675bcceb1c9 100644
--- a/pkgs/development/compilers/llvm/3.9/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/default.nix
@@ -22,6 +22,8 @@ let
       inherit clang-tools-extra_src stdenv;
     };
 
+    libclang = self.clang-unwrapped.lib;
+
     clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
 
     libstdcxxClang = ccWrapperFun {
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index 8d40ee3c8aa2..77863ab4f1ea 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -5,7 +5,7 @@
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-  self = stdenv.mkDerivation {
+  self = stdenv.mkDerivation ({
     name = "clang-${version}";
 
     unpackPhase = ''
@@ -37,10 +37,6 @@ let
 
     patches = [ ./purity.patch ];
 
-    postBuild = stdenv.lib.optionalString enableManpages ''
-      cmake --build . --target docs-clang-man
-    '';
-
     postPatch = ''
       sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
@@ -49,8 +45,7 @@ let
       sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
     '';
 
-    outputs = [ "out" "python" ]
-      ++ stdenv.lib.optional enableManpages "man";
+    outputs = [ "out" "lib" "python" ];
 
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
@@ -59,27 +54,23 @@ let
       ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
       mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
         mv $out/bin/set-xcode-analyzer $python/bin
       fi
       mv $out/share/clang/*.py $python/share/clang
-
       rm $out/bin/c-index-test
-    ''
-    + stdenv.lib.optionalString enableManpages ''
-      # Manually install clang manpage
-      cp docs/man/*.1 $out/share/man/man1/
-
-      # Move it and other man pages to 'man' output
-      moveToOutput "share/man" "$man"
     '';
 
     enableParallelBuilding = true;
 
     passthru = {
-      lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
       isClang = true;
       inherit llvm;
     } // stdenv.lib.optionalAttrs stdenv.isLinux {
@@ -92,5 +83,23 @@ let
       license     = stdenv.lib.licenses.ncsa;
       platforms   = stdenv.lib.platforms.all;
     };
-  };
+  } // stdenv.lib.optionalAttrs enableManpages {
+    name = "clang-manpages-${version}";
+
+    buildPhase = ''
+      make docs-clang-man
+    '';
+
+    installPhase = ''
+      mkdir -p $out/share/man/man1
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+    '';
+
+    outputs = [ "out" ];
+
+    doCheck = false;
+
+    meta.description = "man page for Clang ${version}";
+  });
 in self
diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix
index 5a44cb868253..562f9e3457dd 100644
--- a/pkgs/development/compilers/llvm/4/default.nix
+++ b/pkgs/development/compilers/llvm/4/default.nix
@@ -20,7 +20,7 @@ let
   # Add man output without introducing extra dependencies.
   overrideManOutput = drv:
     let drv-manpages = drv.override { enableManpages = true; }; in
-    drv // { man = drv-manpages.man; /*outputs = drv.outputs ++ ["man"];*/ };
+    drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
 
   llvm = callPackage ./llvm.nix {
     inherit compiler-rt_src stdenv;
@@ -34,6 +34,7 @@ let
     llvm = overrideManOutput llvm;
     clang-unwrapped = overrideManOutput clang-unwrapped;
 
+    libclang = self.clang-unwrapped.lib;
     llvm-manpages = lowPrio self.llvm.man;
     clang-manpages = lowPrio self.clang-unwrapped.man;
 
diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix
index 7d33179913be..5ffc346a479e 100644
--- a/pkgs/development/compilers/llvm/4/lldb.nix
+++ b/pkgs/development/compilers/llvm/4/lldb.nix
@@ -43,6 +43,11 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp ../docs/lldb.1 $out/share/man/man1/
+  '';
+
   meta = with stdenv.lib; {
     description = "A next-generation high-performance debugger";
     homepage    = http://llvm.org/;
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index 33147b07599c..17a25889e64f 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -1,8 +1,6 @@
 { stdenv
 , fetch
 , fetchpatch
-, perl
-, groff
 , cmake
 , python
 , libffi
@@ -27,7 +25,7 @@ let
   # Used when creating a version-suffixed symlink of libLLVM.dylib
   shortVersion = with stdenv.lib;
     concatStringsSep "." (take 2 (splitString "." release_version));
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (rec {
   name = "llvm-${version}";
 
   unpackPhase = ''
@@ -39,10 +37,9 @@ in stdenv.mkDerivation rec {
   '';
 
   outputs = [ "out" ]
-    ++ stdenv.lib.optional enableSharedLibraries "lib"
-    ++ stdenv.lib.optional enableManpages "man";
+    ++ stdenv.lib.optional enableSharedLibraries "lib";
 
-  nativeBuildInputs = [ perl groff cmake python ]
+  nativeBuildInputs = [ cmake python ]
     ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
 
   buildInputs = [ libxml2 libffi ]
@@ -129,10 +126,7 @@ in stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
   '';
 
-  postInstall = stdenv.lib.optionalString enableManpages ''
-    moveToOutput "share/man" "$man"
-  ''
-  + stdenv.lib.optionalString enableSharedLibraries ''
+  postInstall = stdenv.lib.optionalString enableSharedLibraries ''
     moveToOutput "lib/libLLVM-*" "$lib"
     moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
     substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
@@ -160,4 +154,22 @@ in stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric dtzWill ];
     platforms   = stdenv.lib.platforms.all;
   };
-}
+} // stdenv.lib.optionalAttrs enableManpages {
+  name = "llvm-manpages-${version}";
+
+  buildPhase = ''
+    make docs-llvm-man
+  '';
+
+  propagatedBuildInputs = [ ];
+
+  installPhase = ''
+    make -C docs install
+  '';
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta.description = "man pages for LLVM ${version}";
+})
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index b003d2f334ac..c8eafce4e396 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -5,7 +5,7 @@
 
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-  self = stdenv.mkDerivation {
+  self = stdenv.mkDerivation ({
     name = "clang-${version}";
 
     unpackPhase = ''
@@ -37,10 +37,6 @@ let
 
     patches = [ ./purity.patch ];
 
-    postBuild = stdenv.lib.optionalString enableManpages ''
-      cmake --build . --target docs-clang-man
-    '';
-
     postPatch = ''
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
              -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
@@ -50,8 +46,7 @@ let
       sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
     '';
 
-    outputs = [ "out" "python" ]
-      ++ stdenv.lib.optional enableManpages "man";
+    outputs = [ "out" "lib" "python" ];
 
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
@@ -60,27 +55,23 @@ let
       ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
       ln -sv $out/bin/clang $out/bin/cpp
 
+      # Move libclang to 'lib' output
+      moveToOutput "lib/libclang.*" "$lib"
+      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
       mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
         mv $out/bin/set-xcode-analyzer $python/bin
       fi
       mv $out/share/clang/*.py $python/share/clang
-
       rm $out/bin/c-index-test
-    ''
-    + stdenv.lib.optionalString enableManpages ''
-      # Manually install clang manpage
-      cp docs/man/*.1 $out/share/man/man1/
-
-      # Move it and other man pages to 'man' output
-      moveToOutput "share/man" "$man"
     '';
 
     enableParallelBuilding = true;
 
     passthru = {
-      lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
       isClang = true;
       inherit llvm;
     } // stdenv.lib.optionalAttrs stdenv.isLinux {
@@ -93,5 +84,23 @@ let
       license     = stdenv.lib.licenses.ncsa;
       platforms   = stdenv.lib.platforms.all;
     };
-  };
+  } // stdenv.lib.optionalAttrs enableManpages {
+    name = "clang-manpages-${version}";
+
+    buildPhase = ''
+      make docs-clang-man
+    '';
+
+    installPhase = ''
+      mkdir -p $out/share/man/man1
+      # Manually install clang manpage
+      cp docs/man/*.1 $out/share/man/man1/
+    '';
+
+    outputs = [ "out" ];
+
+    doCheck = false;
+
+    meta.description = "man page for Clang ${version}";
+  });
 in self
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index a7e16c08ce96..13e1d2308f8c 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -20,7 +20,7 @@ let
   # Add man output without introducing extra dependencies.
   overrideManOutput = drv:
     let drv-manpages = drv.override { enableManpages = true; }; in
-    drv // { man = drv-manpages.man; /*outputs = drv.outputs ++ ["man"];*/ };
+    drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
 
   llvm = callPackage ./llvm.nix {
     inherit compiler-rt_src stdenv;
@@ -34,6 +34,7 @@ let
     llvm = overrideManOutput llvm;
     clang-unwrapped = overrideManOutput clang-unwrapped;
 
+    libclang = self.clang-unwrapped.lib;
     llvm-manpages = lowPrio self.llvm.man;
     clang-manpages = lowPrio self.clang-unwrapped.man;
 
diff --git a/pkgs/development/compilers/llvm/5/lldb.nix b/pkgs/development/compilers/llvm/5/lldb.nix
index 03e65dde0e4d..559c52831cd2 100644
--- a/pkgs/development/compilers/llvm/5/lldb.nix
+++ b/pkgs/development/compilers/llvm/5/lldb.nix
@@ -42,6 +42,11 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp ../docs/lldb.1 $out/share/man/man1/
+  '';
+
   meta = with stdenv.lib; {
     description = "A next-generation high-performance debugger";
     homepage    = http://llvm.org/;
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index 6c7fd9eb0a38..1067fa886bcb 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -1,8 +1,6 @@
 { stdenv
 , fetch
 , fetchpatch
-, perl
-, groff
 , cmake
 , python
 , libffi
@@ -27,7 +25,7 @@ let
   # Used when creating a version-suffixed symlink of libLLVM.dylib
   shortVersion = with stdenv.lib;
     concatStringsSep "." (take 2 (splitString "." release_version));
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (rec {
   name = "llvm-${version}";
 
   unpackPhase = ''
@@ -38,11 +36,10 @@ in stdenv.mkDerivation rec {
     mv compiler-rt-* $sourceRoot/projects/compiler-rt
   '';
 
-  outputs = [ "out" ]
-    ++ stdenv.lib.optional enableSharedLibraries "lib"
-    ++ stdenv.lib.optional enableManpages "man";
+  outputs = [ "out" "python" ]
+    ++ stdenv.lib.optional enableSharedLibraries "lib";
 
-  nativeBuildInputs = [ perl groff cmake python ]
+  nativeBuildInputs = [ cmake python ]
     ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
 
   buildInputs = [ libxml2 libffi ]
@@ -123,8 +120,9 @@ in stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
   '';
 
-  postInstall = stdenv.lib.optionalString enableManpages ''
-    moveToOutput "share/man" "$man"
+  postInstall = ''
+    mkdir -p $python/share
+    mv $out/share/opt-viewer $python/share/opt-viewer
   ''
   + stdenv.lib.optionalString enableSharedLibraries ''
     moveToOutput "lib/libLLVM-*" "$lib"
@@ -154,4 +152,22 @@ in stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric dtzWill ];
     platforms   = stdenv.lib.platforms.all;
   };
-}
+} // stdenv.lib.optionalAttrs enableManpages {
+  name = "llvm-manpages-${version}";
+
+  buildPhase = ''
+    make docs-llvm-man
+  '';
+
+  propagatedBuildInputs = [];
+
+  installPhase = ''
+    make -C docs install
+  '';
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta.description = "man pages for LLVM ${version}";
+})
diff --git a/pkgs/development/compilers/mono/generic-cmake.nix b/pkgs/development/compilers/mono/generic-cmake.nix
index de19e4b633e7..7621bd56d47b 100644
--- a/pkgs/development/compilers/mono/generic-cmake.nix
+++ b/pkgs/development/compilers/mono/generic-cmake.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
   postBuild = ''
     find . -name 'config' -type f | xargs \
     sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \
-           -e "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" \
+           -e 's#[^"]*libgdiplus[^"]*"#${libgdiplus}/lib/libgdiplus.so"#' \
   '';
 
   # Without this, any Mono application attempting to open an SSL connection will throw with
diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix
index 51e39593fe14..a8012f6bb9e6 100644
--- a/pkgs/development/compilers/mono/generic.nix
+++ b/pkgs/development/compilers/mono/generic.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://mono-project.com/;
     description = "Cross platform, open source .NET development framework";
-    platforms = with stdenv.lib.platforms; darwin ++ linux;
+    platforms = with stdenv.lib.platforms; allBut [ "aarch64-linux" ];
     maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz vrthra ];
     license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
   };
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 71ce9271bfa6..b74c8a47dde0 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -21,42 +21,42 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "152";
-  build = "16";
+  update = "172";
+  build = "02";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
   repover = "jdk8u${update}-b${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk8 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "12r5v6srwbm5hcfwz5kib7419a72cppls1d1xkrh5pjlina74zpf";
+             sha256 = "0y28by4ifsaxhfrzq35654i8h9jjgvrw51hbxyg8pgfink0n30r2";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "002f0nfw2g3q41iy8cvaqyiglcy1fx9dglgik8gv067c2zslwwqm";
+             sha256 = "0rxp4920xpd9khdg2ia1v1djcw1nndsjfis68whawi7s95zwpxy5";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "0mnck2c3ky4hbcjfy6p3z831dxm1y2fkxq5k94zbswm4wcvlkzia";
+             sha256 = "0sdf6rww290wgfqhaix1vjac244drdgg7hapb67wgj733kkdl711";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "1xl3mc3hd5lwh1bxzck4hw60d678h3mjh144kq90iz8kfi197hpj";
+             sha256 = "0vl3aryw3nclqprc35b2iriwfyr9fch3x8snjry1z5ajbdyd5c8b";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "1hsfgjhp5nrsy4v6c282wq6cv37hgpm8l51cls0rnpbfqvd2cw16";
+             sha256 = "1y5fnzxdll3q0jgqxsap3xb21bm1napdlqzs7h6c2l5qldyvw692";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "07ispgrzcf39nxs7a9yn6gkbq0ygdzlzyq32sfk57w6vy1mrgwjh";
+             sha256 = "1yg1ik1klg8pl4b7izi2waqhs7vr6ln3fzc4k1siir4va5qhrhlm";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "1kj5w6gk579wh1iszq2bn6k1ib7kjpjf1lp46p5rqkx0qin79sn9";
+             sha256 = "03srcj6hhvbdg1iqw85mfm1pwd6yvpykyz5nn4ydf930g4dyxfkf";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "1j9r5r8rihp02n0ciwqr01c07d91z1hs0069rd8hk6i03dkkhk84";
+             sha256 = "12nn02jiq3vqgwhqh5yvxq1k92fy3n0jpvfpj1npq9fvimywry2k";
           };
   openjdk8 = stdenv.mkDerivation {
     name = "openjdk-8u${update}b${build}";
diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/9.nix
index f76d1e8ffb5c..0a9be04ebb22 100644
--- a/pkgs/development/compilers/openjdk/9.nix
+++ b/pkgs/development/compilers/openjdk/9.nix
@@ -21,42 +21,42 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "9.0.1";
+  update = "9.0.4";
   build = "11";
   baseurl = "http://hg.openjdk.java.net/jdk-updates/jdk9u";
   repover = "jdk-${update}+${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk9 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "13zqai3kpk5yi7yg3f7n2ss8spzyq0zy9431y97ni0j72h8ddsvy";
+             sha256 = "1y8sq0fxvj5s5gx5qm2mbr710xqrgv3d200k6bv71bawjh57v3xx";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "1w2djchv3dr8hv815kxfi1458n1nbq23yzv4p8rxpl1fzxrcd5pm";
+             sha256 = "1n6aqmph6a9spxyfi40k8g5hy2bnfd499gr6jkmq49phdb2qg7wy";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "1kb4h9w0xbxvndi5rk3byv3v95883nkqdzjadbw1cvqvzp3kgaw8";
+             sha256 = "1i34k3pc2slnjk469zskqq1z0jna1xg2zzjdk7zjrhrfgsrgvfsh";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "0hqzmlg6dmr67ghrlh515iam34d9jx4jcdbhchbl2ny00q42diy2";
+             sha256 = "1k6r5yxf5h1m451vlwzk9zqkmdlln3ky3kir5qjgan4hz892f297";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "0km0k9hi8wfv2d10i08jgb4kf0l8jhp1174dsmmc9yh0ig1vij08";
+             sha256 = "0gafc0jx8fx13y6iir9zxmqrsw1a3w71xgdvjx9rk64acc24piy2";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "1crsr3hcq4j0xbmn1jcsw0m6hxqqkxxsib86i63vvcha94336iyp";
+             sha256 = "1bw3z346mna6pgz76phcmfm0ykydcwagqxhffj0mzbdll7ysw25p";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "1w9i1zl72nq7aw9l50fc7dlggiy7iq52p8xh44hv50mdvn0xsa4k";
+             sha256 = "063fhnmm2g83jrdv2bl968glr46vvgjpyk9rjmh2fwfplzclb51s";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "0rm50mk6935iqx2rla6j8j8kjs0p4f7rff0wsp0qvbf6g0pwwks1";
+             sha256 = "0wyx76nd4v6xy4vmp94anxwk9bfqyb0l4n3hqhfqyz6azi8pqk66";
           };
   openjdk9 = stdenv.mkDerivation {
     name = "openjdk-${update}-b${build}";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
index 096fe9dbb2ba..5bafa70af9fc 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "151";
+  patchVersion = "161";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "0w1snn9hxwvdnk77frhdzbsm6v30v99dy5zmpy8ij7yxd57z6ql0";
-  sha256.x86_64-linux = "0zq2dxbxmshz080yskhc8y2wbqi0y0kl9girxjbb4rwk837010n7";
-  sha256.armv7l-linux = "0fdkvg1al7g9lqbq10rlw400aqr0xxi2a802319sw5n0zipkrjic";
-  sha256.aarch64-linux = "1xva22cjjpwa95h7x3xzyymn1bgxp1q67j5j304kn6cqah4k31j1";
+  sha256.i686-linux = "1p6p93msn3bsg9775rq171kd4160w4w8z57p0qpjdjycfix62sfg";
+  sha256.x86_64-linux = "07h2wah80qr78y0f821z12lbdmsv90xbckdn3glnj2riwfh5dg3d";
+  sha256.armv7l-linux = "0mngw2lnhx3hzgp444advybhjn5hjk3mi14y72km4kp03gh82a7x";
+  sha256.aarch64-linux = "18l5fny7yxhpj5c935rnlq4pvwadyr5zkid6yh9x87frl401shy7";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 6c2816c8b87a..78d5a6f2c40c 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "152";
+  patchVersion = "162";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "0gjc7kcfx40f43z1w1qsn1fqxdz8d46wml2g11qgm55ishhv2q7w";
-  sha256.x86_64-linux = "1gv1348hrgna9l3sssv3g9jzs37y1lkx05xq83chav9z1hs3p2r1";
-  sha256.armv7l-linux = "1w0hwslsd3z0kvb3z7gmbh20xsyiz73vglmdqz2108y7alim7arm";
-  sha256.aarch64-linux = "13qpxa8nxsnikmm7h6ysnsdqg5vl8j7hzfa8kgh20z8a17fhj9kk";
+  sha256.i686-linux = "097vlvvj1vr7815rgarf5x97lagi4q0kai0x4lvd4y3wrzdqikzf";
+  sha256.x86_64-linux = "0mq2d0lj53gzn4qqdjdgbwl0h857k2rnsnr2hkmvihnrgza85v38";
+  sha256.armv7l-linux = "0xzsgdmpgs1n1g70hgly0mpxflhjrmq3vxwx8gl0kmqdiv4hqwjp";
+  sha256.aarch64-linux = "19ykcsmvkf7sdq2lqwvyi60nhb8v7f88dqjycimrsar9y4r7skf8";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
index 29d77a613b38..f9b48f239fa7 100644
--- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix
@@ -7,7 +7,6 @@
 , xorg ? null
 , packageType ? "JDK" # JDK, JRE, or ServerJRE
 , pluginSupport ? true
-, installjce ? false
 , glib
 , libxml2
 , ffmpeg_2
@@ -30,20 +29,10 @@ assert stdenv.system == "x86_64-linux";
 assert swingSupport -> xorg != null;
 
 let
-  version = "9.0.1";
+  version = "9.0.4";
 
   downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads;
 
-  jce =
-    if installjce then
-      requireFile {
-        name = "jce_policy-8.zip";
-        url = "${downloadUrlBase}/jce8-download-2133166.html";
-        sha256 = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
-      }
-    else
-      "";
-
   rSubPaths = [
     "lib/jli"
     "lib/server"
@@ -63,24 +52,23 @@ let result = stdenv.mkDerivation rec {
       requireFile {
         name = "jdk-${version}_linux-x64_bin.tar.gz";
         url =  "${downloadUrlBase}/jdk9-downloads-3848520.html";
-        sha256 = "0560dc3icrwb0ifykshvzkr04b1jr153m26x1r8rp0nhjbzz1nic";
+        sha256 = "18nsjn64wkfmyb09wf2k7lvhazf83cs3dyichr038vl1gs3ymi4h";
       }
     else if packageType == "JRE" then
       requireFile {
         name = "jre-${version}_linux-x64_bin.tar.gz";
         url = "${downloadUrlBase}/jre9-downloads-3848532.html";
-        sha256 = "11pfcck8am48yv7riaj10g6h79xdiy8lm5a9wjqbm3g9cls9ar1w";
+        sha256 = "01fp079mr04nniyf06w8vd47qxr6rly1lbh8dqkddb8fp9h6a79k";
       }
     else if packageType == "ServerJRE" then
       requireFile {
         name = "serverjre-${version}_linux-x64_bin.tar.gz";
         url = "${downloadUrlBase}/server-jre9-downloads-3848530.html";
-        sha256 = "1biyks6jy0a2kksaj9qbsjifv34ym5mdw8akibmkwr1xh0wavygc";
+        sha256 = "1jlpa4mn306hx0p9jcw3i6cpdvnng29dwjsymgcan56810q6p6yj";
       }
     else abort "unknown package Type ${packageType}";
 
-  nativeBuildInputs = [ file ]
-    ++ stdenv.lib.optional installjce unzip;
+  nativeBuildInputs = [ file ];
 
   buildInputs = [ makeWrapper ];
 
@@ -108,11 +96,6 @@ let result = stdenv.mkDerivation rec {
       fi
     done
 
-    if test -n "${jce}"; then
-      unzip ${jce}
-      cp -v UnlimitedJCEPolicy*/*.jar $out/lib/security
-    fi
-
     if test -z "$pluginSupport"; then
       rm -f $out/bin/javaws
     fi
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 89dda57f285b..28f12b8ba370 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -86,6 +86,6 @@ stdenv.mkDerivation ( rec {
     homepage = http://www.ponylang.org;
     license = licenses.bsd2;
     maintainers = with maintainers; [ doublec kamilchm patternspandemic ];
-    platforms = subtractLists platforms.i686 platforms.unix;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 })
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index c8af0d979e22..6c6f6b55e1e6 100644
--- a/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -91,6 +91,7 @@ rec {
     buildInputs = [ makeWrapper ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
     installPhase = ''
+      patchShebangs ./install.sh
       ./install.sh --prefix=$out \
         --components=cargo
 
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index fb3001bbf17b..4c397c8c1a48 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   passthru.rustc = rustc;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ]
+  buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG=1;
@@ -48,8 +48,6 @@ rustPlatform.buildRustPackage rec {
   '';
 
   checkPhase = ''
-    # Export SSL_CERT_FILE as without it one test fails with SSL verification error
-    export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
     # Disable cross compilation tests
     export CFG_DISABLE_CROSS_TESTS=1
     cargo test
@@ -63,6 +61,6 @@ rustPlatform.buildRustPackage rec {
     description = "Downloads your Rust project's dependencies and builds your project";
     maintainers = with maintainers; [ wizeman retrry ];
     license = [ licenses.mit licenses.asl20 ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index b7808ab6ec0f..9d6f641bc46c 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -37,6 +37,12 @@ stdenv.mkDerivation {
   # The build will fail at the very end on AArch64 without this.
   dontUpdateAutotoolsGnuConfigScripts = if stdenv.isAarch64 then true else null;
 
+  # Running the default `strip -S` command on Darwin corrupts the
+  # .rlib files in "lib/".
+  #
+  # See https://github.com/NixOS/nixpkgs/pull/34227
+  stripDebugList = if stdenv.isDarwin then [ "bin" ] else null;
+
   NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib";
 
   # Enable nightly features in stable compiles (used for
@@ -78,8 +84,9 @@ stdenv.mkDerivation {
     #[ -f src/liballoc_jemalloc/lib.rs ] && sed -i 's,je_,,g' src/liballoc_jemalloc/lib.rs
     #[ -f src/liballoc/heap.rs ] && sed -i 's,je_,,g' src/liballoc/heap.rs # Remove for 1.4.0+
 
-    # Disable fragile linker-output-non-utf8 test
+    # Disable fragile tests.
     rm -vr src/test/run-make/linker-output-non-utf8 || true
+    rm -vr src/test/run-make/issue-26092.rs || true
 
     # Remove test targeted at LLVM 3.9 - https://github.com/rust-lang/rust/issues/36835
     rm -vr src/test/run-pass/issue-36023.rs || true
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index cd3120ed8312..54610467e7ae 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "05s7wsx6bsnx4h6w3d8yim9apbvi8ih0glmvkmgjz7nrad4abjwd";
+    sha256 = "1z8d11k6vc6jhmpwzy0nawj84qdd2jvibrvqmb1nmq3h8w64hlam";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix
index 60cb3e9a2029..bff73337e9e8 100644
--- a/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/pkgs/development/compilers/scala/dotty-bare.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.0-RC1";
+  version = "0.6.0-RC1";
   name = "dotty-bare-${version}";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
-    sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b";
+    sha256 = "de1f5e72fb0e0b4c377d6cec93f565eff49769698cd8be01b420705fe8475ca4";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix
index af56026b43a2..25ea47978fcd 100644
--- a/pkgs/development/compilers/squeak/default.nix
+++ b/pkgs/development/compilers/squeak/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://squeakvm.org/unix/index.html;
     license = with licenses; [ asl20 mit ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
deleted file mode 100644
index bf48abb923fb..000000000000
--- a/pkgs/development/compilers/uhc/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-# Note: The Haskell package set used for building UHC is
-# determined in the file top-level/haskell-packages.nix.
-{ stdenv, coreutils, m4, libtool, clang, ghcWithPackages, fetchFromGitHub }:
-
-let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [fgl vector syb uulib network binary hashable uhc-util mtl transformers directory containers array process filepath shuffle uuagc] );
-in stdenv.mkDerivation rec {
-  version = "1.1.9.4";
-  name = "uhc-${version}";
-
-  src = fetchFromGitHub {
-    owner = "UU-ComputerScience";
-    repo = "uhc";
-    rev = "v${version}";
-    sha256 = "1s84csk6zgzj09igxgdza7gb52jdn3jsr8lygl5xplshv8yzl34n";
-  };
-
-  postUnpack = "sourceRoot=\${sourceRoot}/EHC";
-
-  buildInputs = [ m4 wrappedGhc clang libtool ];
-
-  configureFlags = [ "--with-gcc=${clang}/bin/clang" ];
-
-  # UHC builds packages during compilation; these are by default
-  # installed in the user-specific package config file. We do not
-  # want that, and hack the build process to use a temporary package
-  # configuration file instead.
-  preConfigure = ''
-    p=`pwd`/uhc-local-packages/
-    ghc-pkg init $p
-    sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in
-    sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
-    sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk
-    sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in
-    sed -i "s|--make|--make -package-db=$p|g" src/ehc/files2.mk
-    sed -i "s|--make|--make -package-db=$p|g" src/gen/files.mk
-  '';
-
-  inherit clang;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.cs.uu.nl/wiki/UHC;
-    description = "Utrecht Haskell Compiler";
-    maintainers = [ maintainers.phile314 ];
-
-    # UHC i686 support is broken, see
-    # https://github.com/UU-ComputerScience/uhc/issues/52
-    #
-    # Darwin build is broken as well at the moment.
-    # On Darwin, the GNU libtool is used, which does not
-    # support the -static flag and thus breaks the build.
-    platforms = ["x86_64-linux"];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 4f4a54ef426b..eb96acafb9e1 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2018.01.10";
+  version = "2018.02.04";
 
   srcs = [
     (fetchFromGitHub {
-      owner  = "cliffordwolf";
+      owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "9ac560f5d3e5847b7e475195f66b7034e91fd938";
-      sha256 = "01p1bcjq030y7g21lsghgkqj23x6yl8cwrcx2xpik45xls6pxrg7";
+      rev    = "0659d9eac7b546ee6f5acab46dbc83c91d556a34";
+      sha256 = "1hy21gxcp3q3hlbh5sh46h2340r11fwalkb9if9sbpc9y3279njj";
       name   = "yosys";
     })
     (fetchFromBitbucket {
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 16eb66a4ad08..712edec6889f 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -80,7 +80,7 @@ self: super: {
       name = "git-annex-${drv.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "1fd7lyrwr60dp55swc5iwl0mkkzmdzpmj9qmx1qca2r7y9wc5w5k";
+      sha256 = "0vvh1k7i6y4bqy6fn8z5i6ndqv6x94hvk2zh5gw99na8kfri7sxq";
     };
   })).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -281,6 +281,7 @@ self: super: {
   hashed-storage = dontCheck super.hashed-storage;
   hashring = dontCheck super.hashring;
   hath = dontCheck super.hath;
+  haxl = dontCheck super.haxl;                          # non-deterministic failure https://github.com/facebook/Haxl/issues/85
   haxl-facebook = dontCheck super.haxl-facebook;        # needs facebook credentials for testing
   hdbi-postgresql = dontCheck super.hdbi-postgresql;
   hedis = dontCheck super.hedis;
@@ -543,11 +544,8 @@ self: super: {
   # https://github.com/athanclark/sets/issues/2
   sets = dontCheck super.sets;
 
-  # Install icons and metadata, remove broken hgettext dependency.
-  # https://github.com/vasylp/hgettext/issues/10
+  # Install icons, metadata and cli program.
   bustle = overrideCabal super.bustle (drv: {
-    configureFlags = drv.configureFlags or [] ++ ["-f-hgettext"];
-    executableHaskellDepends = pkgs.lib.remove self.hgettext drv.executableHaskellDepends;
     buildDepends = [ pkgs.libpcap ];
     buildTools = with pkgs; [ gettext perl help2man intltool ];
     doCheck = false; # https://github.com/wjt/bustle/issues/6
@@ -608,6 +606,10 @@ self: super: {
     haskell-src-exts = self.haskell-src-exts_1_20_1;
   };
 
+  # Need newer versions of their dependencies than the ones we have in LTS-10.x.
+  cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_24_0; };
+  hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
+
   # https://github.com/bos/configurator/issues/22
   configurator = dontCheck super.configurator;
 
@@ -637,9 +639,6 @@ self: super: {
   # We get lots of strange compiler errors during the test suite run.
   jsaddle = dontCheck super.jsaddle;
 
-  # tinc is a new build driver a la Stack that's not yet available from Hackage.
-  tinc = self.callPackage ../tools/haskell/tinc { inherit (pkgs) cabal-install cabal2nix; };
-
   # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza
   cairo = addBuildTool super.cairo self.gtk2hs-buildtools;
   pango = disableHardening (addBuildTool super.pango self.gtk2hs-buildtools) ["fortify"];
@@ -648,9 +647,6 @@ self: super: {
     then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
     else super.gtk;
 
-  # It makes no sense to have intero-nix-shim in Hackage, so we publish it here only.
-  intero-nix-shim = self.callPackage ../tools/haskell/intero-nix-shim {};
-
   # vaultenv is not available from Hackage.
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
 
@@ -848,8 +844,18 @@ self: super: {
   # https://github.com/fpco/stackage/issues/3126
   stack = doJailbreak super.stack;
 
-  # Hoogle needs a newer version than lts-10 provides.
-  hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
+  # Hoogle needs newer versions than lts-10 provides. lambdabot-haskell-plugins
+  # depends on Hoogle and therefore needs to use the same version.
+  hoogle = super.hoogle.override {
+    haskell-src-exts = self.haskell-src-exts_1_20_1;
+    http-conduit = self.http-conduit_2_3_0;
+  };
+  lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.override {
+    haskell-src-exts-simple = self.haskell-src-exts-simple_1_20_0_0;
+  };
+  haskell-src-exts-simple_1_20_0_0 = super.haskell-src-exts-simple_1_20_0_0.override {
+    haskell-src-exts = self.haskell-src-exts_1_20_1;
+  };
 
   # These packages depend on each other, forming an infinite loop.
   scalendar = markBroken (super.scalendar.override { SCalendar = null; });
@@ -875,6 +881,7 @@ self: super: {
   cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
   cryptohash-md5 = doJailbreak super.cryptohash-md5;
   text-short = doJailbreak super.text-short;
+  gitHUD = dontCheck super.gitHUD;
 
   # https://github.com/aisamanra/config-ini/issues/12
   config-ini = dontCheck super.config-ini;
@@ -941,4 +948,56 @@ self: super: {
 
   # Sporadically OOMs even with 16G
   ChasingBottoms = dontCheck super.ChasingBottoms;
+
+  # Add support for https://github.com/haskell-hvr/multi-ghc-travis.
+  multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis { ShellCheck = self.ShellCheck_0_4_6; };
+
+  # https://github.com/yesodweb/Shelly.hs/issues/162
+  shelly = dontCheck super.shelly;
+
+  # Support ansi-terminal 0.7.x.
+  cabal-plan = appendPatch super.cabal-plan (pkgs.fetchpatch {
+    url = "https://github.com/haskell-hvr/cabal-plan/pull/16.patch";
+    sha256 = "0i889zs46wn09d7iqdy99201zaqxb175cfs8jz2zi3mv4ywx3a0l";
+  });
+
+  # Copy hledger man pages from data directory into the proper place. This code
+  # should be moved into the cabal2nix generator.
+  hledger = overrideCabal super.hledger (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir -p $out/share/info
+      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+  hledger-ui = overrideCabal super.hledger-ui (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir -p $out/share/info
+      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+  hledger-web = overrideCabal super.hledger-web (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/*-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir -p $out/share/info
+      cp $data/share/${self.ghc.name}/*-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+
 }
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 804da79f5689..30be6a031d4f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -68,4 +68,8 @@ self: super: {
   # inline-c > 0.5.6.0 requires template-haskell >= 2.12
   inline-c = super.inline-c_0_5_6_1;
   inline-c-cpp = super.inline-c-cpp_0_1_0_0;
+
+  # Newer versions require GHC 8.2.
+  haddock-api = self.haddock-api_2_17_4;
+  haddock = self.haddock_2_17_5;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
new file mode 100644
index 000000000000..ae51b82d3942
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -0,0 +1,903 @@
+{ pkgs, haskellLib }:
+
+with haskellLib;
+
+self: super: {
+
+  # Use the latest LLVM.
+  inherit (pkgs) llvmPackages;
+
+  # Disable GHC 8.4.x core libraries.
+  #
+  # Verify against:
+  # ls /nix/store/wnh3kxra586h9wvxrn62g4lmsri2akds-ghc-8.4.20180115/lib/ghc-8.4.20180115/ -1 | sort | grep -e '-' | grep -Ev '(txt|h|targets)$'
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  bin-package-db = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-compact = null;
+  ghci = null;
+  ghc-prim = null;
+  haskeline = null;
+  hpc = null;
+  integer-gmp = null;
+  mtl = null;
+  parsec = null;
+  pretty = null;
+  process = null;
+  stm = null;
+  template-haskell = null;
+  terminfo = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # GHC 8.4.x needs newer versions than LTS-10.x offers by default.
+  ## haddock: panic! (the 'impossible' happened)
+  ##   (GHC version 8.4.20180122 for x86_64-unknown-linux):
+  ## 	extractDecl
+  ## Ambiguous decl for Arg in class:
+  ##     class Example e where
+  ##       type Arg e :: *
+  ##       {-# MINIMAL evaluateExample #-}
+  ##       evaluateExample ::
+  ##         e
+  ##         -> Params
+  ##            -> ActionWith Arg e -> IO () -> ProgressCallback -> IO Result
+  ## Matches:
+  ##     []
+  ## Call stack:
+  ##     CallStack (from HasCallStack):
+  ##       callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
+  ##       pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create
+  ## Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
+  hspec = dontHaddock (dontCheck super.hspec_2_4_7);        # test suite causes an infinite loop
+
+  ## Setup: Encountered missing dependencies:
+  ## QuickCheck >=2.3 && <2.10
+  ## builder for ‘/nix/store/d60y5jwn5bpgk2p8ps23c129dcw7whg6-test-framework-0.8.2.0.drv’ failed with exit code 1
+  ## error: build of ‘/nix/store/d60y5jwn5bpgk2p8ps23c129dcw7whg6-test-framework-0.8.2.0.drv’ failed
+  test-framework = dontCheck self.test-framework_0_8_2_0;
+
+  # Undo the override in `configuration-common.nix`: GHC 8.4 bumps Cabal to 2.1:
+  # Distribution/Simple/CCompiler.hs:64:10: error:
+  #  • No instance for (Semigroup CDialect)
+  #      arising from the superclasses of an instance declaration
+  #  • In the instance declaration for ‘Monoid CDialect’
+  #     |
+  #  64 | instance Monoid CDialect where
+  #     |          ^^^^^^^^^^^^^^^
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal; }; #pkgs.haskell.packages.ghc822.jailbreak-cabal;
+
+  ## Shadowed:
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     • Could not deduce (Semigroup (Dict a))
+  ##         arising from the superclasses of an instance declaration
+  ##       from the context: a
+  constraints = super.constraints_0_10;
+
+  hspec-core = overrideCabal super.hspec-core_2_4_7 (drv: {
+    ## Needs bump to a versioned attribute
+    ## 
+    ##     • No instance for (Semigroup Summary)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Summary’
+    doCheck         = false;
+  });
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ## breaks hspec:
+  ## Setup: Encountered missing dependencies:
+  ## hspec-discover ==2.4.7
+  hspec-discover = super.hspec-discover_2_4_7;
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     • No instance for (Semigroup Metadatas)
+  ##         arising from the superclasses of an instance declaration
+  ##     • In the instance declaration for ‘Monoid Metadatas’
+  JuicyPixels = super.JuicyPixels_3_2_9_4;
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     • Could not deduce (Semigroup (a :->: b))
+  ##         arising from the superclasses of an instance declaration
+  ##       from the context: (HasTrie a, Monoid b)
+  MemoTrie = super.MemoTrie_0_6_9;
+
+  semigroupoids = overrideCabal super.semigroupoids_5_2_2 (drv: {
+    ## Needs bump to a versioned attribute
+    ## 
+    ##     • Variable not in scope: mappend :: Seq a -> Seq a -> Seq a
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     • Could not deduce (Semigroup (Traversal f))
+  ##         arising from the superclasses of an instance declaration
+  ##       from the context: Applicative f
+  tasty = super.tasty_1_0_0_1;
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ## Setup: Encountered missing dependencies:
+  ## template-haskell >=2.4 && <2.13
+  ## builder for ‘/nix/store/sq6cc33h4zk1wns2fsyv8cj6clcf6hwi-th-lift-0.7.7.drv’ failed with exit code 1
+  ## error: build of ‘/nix/store/sq6cc33h4zk1wns2fsyv8cj6clcf6hwi-th-lift-0.7.7.drv’ failed
+  th-lift = super.th-lift_0_7_8;
+
+
+  ## On Hackage:
+
+  happy = overrideCabal super.happy (drv: {
+    ## On Hackage, awaiting for import
+    ## 
+    ##     Ambiguous occurrence ‘<>’
+    ##     It could refer to either ‘Prelude.<>’,
+    ##                              imported from ‘Prelude’ at src/PrettyGrammar.hs:1:8-20
+    version         = "1.19.9";
+    sha256          = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y";
+  });
+
+
+  ## Upstreamed
+
+  free = overrideCabal super.free (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • Could not deduce (Semigroup (IterT m a))
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: (Monad m, Monoid a)
+    src = pkgs.fetchFromGitHub {
+      owner  = "ekmett";
+      repo   = "free";
+      rev    = "fcefc71ed302f2eaf60f020046bad392338b3109";
+      sha256 = "0mfrd7y97pgqmb2i66jn5xwjpcrgnfcqq8dzkxqgx1b5wjdydq70";
+    };
+    ## Setup: Encountered missing dependencies:
+    ## transformers-base <0.5
+    ## builder for ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.transformers-base ];
+  });
+
+  haskell-gi = overrideCabal super.haskell-gi (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## Setup: Encountered missing dependencies:
+    ## haskell-gi-base ==0.20.*
+    ## builder for ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed
+    src = pkgs.fetchFromGitHub {
+      owner  = "haskell-gi";
+      repo   = "haskell-gi";
+      rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
+      sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
+    };
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  haskell-gi-base = overrideCabal super.haskell-gi-base (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## breaks haskell-gi:
+    ## Setup: Encountered missing dependencies:
+    ## haskell-gi-base ==0.21.*
+    src = pkgs.fetchFromGitHub {
+      owner  = "haskell-gi";
+      repo   = "haskell-gi";
+      rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
+      sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
+    };
+    ## Setup: Encountered missing dependencies:
+    ## attoparsec ==0.13.*,
+    ## doctest >=0.8,
+    ## haskell-gi-base ==0.21.*,
+    ## pretty-show -any,
+    ## regex-tdfa >=1.2,
+    prePatch        = "cd base; ";
+  });
+
+  haskell-src-exts = overrideCabal super.haskell-src-exts (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • Could not deduce (Semigroup (ParseResult m))
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: Monoid m
+    src = pkgs.fetchFromGitHub {
+      owner  = "haskell-suite";
+      repo   = "haskell-src-exts";
+      rev    = "935f6f0915e89c314b686bdbdc6980c72335ba3c";
+      sha256 = "1v3c1bd5q07qncqfbikvs8h3r4dr500blm5xv3b4jqqv69f0iam9";
+    };
+  });
+
+  hedgehog = overrideCabal super.hedgehog (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: hedgehog: No such file or directory
+    src = pkgs.fetchFromGitHub {
+      owner  = "hedgehogqa";
+      repo   = "haskell-hedgehog";
+      rev    = "7a4fab73670bc33838f2b5f25eb824ee550079ce";
+      sha256 = "1l8maassmklf6wgairk7llxvlbwxngv0dzx0fwnqx6hsb32sms05";
+    };
+    ## jailbreak-cabal: dieVerbatim: user error (jailbreak-cabal: Error Parsing: file "hedgehog.cabal" doesn't exist. Cannot
+    prePatch        = "cd hedgehog; ";
+  });
+
+  lambdacube-compiler = overrideCabal super.lambdacube-compiler (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## Setup: Encountered missing dependencies:
+    ## aeson >=0.9 && <0.12,
+    ## base >=4.7 && <4.10,
+    ## directory ==1.2.*,
+    ## megaparsec ==5.0.*,
+    ## vector ==0.11.*
+    src = pkgs.fetchFromGitHub {
+      owner  = "lambdacube3d";
+      repo   = "lambdacube-compiler";
+      rev    = "ff6e3b136eede172f20ea8a0f7017ad1ecd029b8";
+      sha256 = "0srzrq5s7pdbygn7vdipxl12a3gbyb6bpa7frbh8zwhb9fz0jx5m";
+    };
+  });
+
+  lambdacube-ir = overrideCabal super.lambdacube-ir (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: lambdacube-ir.haskell: No such file or directory
+    src = pkgs.fetchFromGitHub {
+      owner  = "lambdacube3d";
+      repo   = "lambdacube-ir";
+      rev    = "b86318b510ef59606c5b7c882cad33af52ce257c";
+      sha256 = "0j4r6b32lcm6jg653xzg9ijxkfjahlb4x026mv5dhs18kvgqhr8x";
+    };
+    ## Setup: No cabal file found.
+    prePatch        = "cd lambdacube-ir.haskell; ";
+  });
+
+  lens = overrideCabal super.lens (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • Could not deduce (Apply f)
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: (Contravariant f, Applicative f)
+    src = pkgs.fetchFromGitHub {
+      owner  = "ekmett";
+      repo   = "lens";
+      rev    = "4ad49eaf2448d856f0433fe5a4232f1e8fa87eb0";
+      sha256 = "0sd08v6syadplhk5d21yi7qffbjncn8z1bqlwz9nyyb0xja8s8wa";
+    };
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+    ## Setup: Encountered missing dependencies:
+    ## template-haskell >=2.4 && <2.13
+    ## builder for ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed
+    jailbreak       = true;
+  });
+
+  simple-reflect = overrideCabal super.simple-reflect (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • No instance for (Semigroup Expr)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Expr’
+    src = pkgs.fetchFromGitHub {
+      owner  = "twanvl";
+      repo   = "simple-reflect";
+      rev    = "c357e55da9a712dc5dbbfe6e36394e4ada2db310";
+      sha256 = "15q41b00l8y51xzhbj5zhddyh3gi7gvml033w8mm2fih458jf6yq";
+    };
+  });
+
+  singletons = overrideCabal super.singletons (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ## Setup: Encountered missing dependencies:
+    ## th-desugar ==1.7.*
+    ## builder for ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed
+    src = pkgs.fetchFromGitHub {
+      owner  = "goldfirere";
+      repo   = "singletons";
+      rev    = "23aa4bdaf05ce025a2493b35ec3c26cc94e3fdce";
+      sha256 = "0hw12v4z8jxmykc3j8z6g27swmfpxv40bgnx7nl0ialpwbz9mz27";
+    };
+  });
+
+  stringbuilder = overrideCabal super.stringbuilder (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • No instance for (Semigroup Builder)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Builder’
+    src = pkgs.fetchFromGitHub {
+      owner  = "sol";
+      repo   = "stringbuilder";
+      rev    = "4a1b689d3c8a462b28e0d21224b96165f622e6f7";
+      sha256 = "0h3nva4mwxkdg7hh7b7a3v561wi1bvmj0pshhd3sl7dy3lpvnrah";
+    };
+  });
+
+  th-desugar = overrideCabal super.th-desugar (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • Could not deduce (MonadIO (DsM q))
+    ##         arising from the 'deriving' clause of a data type declaration
+    ##       from the context: Quasi q
+    src = pkgs.fetchFromGitHub {
+      owner  = "goldfirere";
+      repo   = "th-desugar";
+      rev    = "4ca98c6492015e6ad063d3ad1a2ad6c4f0a56837";
+      sha256 = "1n3myd3gia9qsgdvrwqa023d3g7wkrhyv0wc8czwzz0lj9xzh7lw";
+    };
+  });
+
+  unordered-containers = overrideCabal super.unordered-containers (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     Module ‘Data.Semigroup’ does not export ‘Monoid(..)’
+    ##    |
+    ## 80 | import Data.Semigroup (Semigroup(..), Monoid(..))
+    src = pkgs.fetchFromGitHub {
+      owner  = "tibbe";
+      repo   = "unordered-containers";
+      rev    = "0a6b84ec103e28b73458f385ef846a7e2d3ea42f";
+      sha256 = "128q8k4py2wr1v0gmyvqvzikk6sksl9aqj0lxzf46763lis8x9my";
+    };
+  });
+
+  websockets = overrideCabal super.websockets (drv: {
+    ## Upstreamed, awaiting a Hackage release
+    ## 
+    ##     • No instance for (Semigroup SizeLimit)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid SizeLimit’
+    src = pkgs.fetchFromGitHub {
+      owner  = "jaspervdj";
+      repo   = "websockets";
+      rev    = "11ba6d15cf47bace1936b13a58192e37908b0300";
+      sha256 = "1swphhnqvs5kh0wlqpjjgx9q91yxi6lasid8akdxp3gqll5ii2hf";
+    };
+  });
+
+
+  ## Unmerged
+
+  blaze-builder = overrideCabal super.blaze-builder (drv: {
+    ## Unmerged.  PR: https://github.com/lpsmith/blaze-builder/pull/10
+    ## 
+    ##     • No instance for (Semigroup Poke)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Poke’
+    src = pkgs.fetchFromGitHub {
+      owner  = "bgamari";
+      repo   = "blaze-builder";
+      rev    = "b7195f160795a081adbb9013810d843f1ba5e062";
+      sha256 = "1g351fdpsvn2lbqiy9bg2s0wwrdccb8q1zh7gvpsx5nnj24b1c00";
+    };
+  });
+
+  bytestring-trie = overrideCabal super.bytestring-trie (drv: {
+    ## Unmerged.  PR: https://github.com/wrengr/bytestring-trie/pull/3
+    ## 
+    ##     • Could not deduce (Semigroup (Trie a))
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: Monoid a
+    src = pkgs.fetchFromGitHub {
+      owner  = "RyanGlScott";
+      repo   = "bytestring-trie";
+      rev    = "e0ae0cb1ad40dedd560090d69cc36f9760797e29";
+      sha256 = "1jkdchvrca7dgpij5k4h1dy4qr1rli3fzbsqajwxmx9865rgiksl";
+    };
+    ## Setup: Encountered missing dependencies:
+    ## HUnit >=1.3.1.1 && <1.7,
+    ## QuickCheck >=2.4.1 && <2.11,
+    ## lazysmallcheck ==0.6.*,
+    ## smallcheck >=1.1.1 && <1.2
+    doCheck         = false;
+    ## Setup: Encountered missing dependencies:
+    ## data-or ==1.0.*
+    ## builder for ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.data-or ];
+  });
+
+  gtk2hs-buildtools = overrideCabal super.gtk2hs-buildtools (drv: {
+    ## Unmerged.  PR: https://github.com/gtk2hs/gtk2hs/pull/233
+    ## 
+    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: tools: No such file or directory
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "gtk2hs";
+      rev    = "08c68d5afc22dd5761ec2c92ebf49c6d252e545b";
+      sha256 = "06prn5wqq8x225n9wlbyk60f50jyjj8fm2hf181dyqjpf8wq75xa";
+    };
+    ## Setup: No cabal file found.
+    prePatch        = "cd tools; ";
+  });
+
+  hashtables = overrideCabal super.hashtables (drv: {
+    ## Unmerged.  PR: https://github.com/gregorycollins/hashtables/pull/46
+    ## 
+    ##     • No instance for (Semigroup Slot)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Slot’
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "hashtables";
+      rev    = "b9eb4b10a50bd6250330422afecc065339a32412";
+      sha256 = "0l4nplpvnzzf397zyh7j2k6yiqb46k6bdy00m4zzvhlfp7p1xkaw";
+    };
+  });
+
+  language-c = overrideCabal super.language-c (drv: {
+    ## Unmerged.  PR: https://github.com/visq/language-c/pull/45
+    ## 
+    ##     Ambiguous occurrence ‘<>’
+    ##     It could refer to either ‘Prelude.<>’,
+    ##                              imported from ‘Prelude’ at src/Language/C/Pretty.hs:15:8-24
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "language-c";
+      rev    = "03b120c64c12946d134017f4922b55c6ab4f52f8";
+      sha256 = "1mcv46fq37kkd20rhhdbn837han5knjdsgc7ckqp5r2r9m3vy89r";
+    };
+    ## /bin/sh: cabal: command not found
+    doCheck         = false;
+  });
+
+  language-c_0_7_0 = overrideCabal super.language-c_0_7_0 (drv: {
+    ## Unmerged.  PR: https://github.com/visq/language-c/pull/45
+    ## 
+    ##     Ambiguous occurrence ‘<>’
+    ##     It could refer to either ‘Prelude.<>’,
+    ##                              imported from ‘Prelude’ at src/Language/C/Pretty.hs:15:8-24
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "language-c";
+      rev    = "03b120c64c12946d134017f4922b55c6ab4f52f8";
+      sha256 = "1mcv46fq37kkd20rhhdbn837han5knjdsgc7ckqp5r2r9m3vy89r";
+    };
+    ## /bin/sh: cabal: command not found
+    doCheck         = false;
+  });
+
+  monadplus = overrideCabal super.monadplus (drv: {
+    ## Unmerged.  PR: https://github.com/hanshoglund/monadplus/pull/3
+    ## 
+    ##     • No instance for (Semigroup (Partial a b))
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid (Partial a b)’
+    src = pkgs.fetchFromGitHub {
+      owner  = "asr";
+      repo   = "monadplus";
+      rev    = "aa09f2473e2c906f2707b8a3fdb0a087405fd6fb";
+      sha256 = "0g37s3rih4i3vrn4kjwj12nq5lkpckmjw33xviva9gly2vg6p3xc";
+    };
+  });
+
+  reflex = overrideCabal super.reflex (drv: {
+    ## Unmerged.  PR: https://github.com/reflex-frp/reflex/pull/158
+    ## 
+    ##     • Could not deduce (Semigroup (Event t a))
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: (Semigroup a, Reflex t)
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "reflex";
+      rev    = "4fb50139db45a37493b91973eeaad9885b4c63ca";
+      sha256 = "0i7pp6cw394m2vbwcqv9z5ngdarp01sabqr1jkkgchxdkkii94nx";
+    };
+    ##       mergeIncrementalWithMove ::
+    ##         GCompare k =>
+    ##         Incremental t (PatchDMapWithMove k (Event t))
+    ##         -> Event t (DMap k Identity)
+    ##       currentIncremental ::
+    ##         Patch p => Incremental t p -> Behavior t (PatchTarget p)
+    ##       updatedIncremental :: Patch p => Incremental t p -> Event t p
+    ##       incrementalToDynamic ::
+    ##         Patch p => Incremental t p -> Dynamic t (PatchTarget p)
+    ##       behaviorCoercion ::
+    ##         Coercion a b -> Coercion (Behavior t a) (Behavior t b)
+    ##       eventCoercion :: Coercion a b -> Coercion (Event t a) (Event t b)
+    ##       dynamicCoercion ::
+    ##         Coercion a b -> Coercion (Dynamic t a) (Dynamic t b)
+    ##       mergeIntIncremental ::
+    ##         Incremental t (PatchIntMap (Event t a)) -> Event t (IntMap a)
+    ##       fanInt :: Event t (IntMap a) -> EventSelectorInt t a
+    ##       {-# MINIMAL never, constant, push, pushCheap, pull, merge, fan,
+    ##                   switch, coincidence, current, updated, unsafeBuildDynamic,
+    ##                   unsafeBuildIncremental, mergeIncremental, mergeIncrementalWithMove,
+    ##                   currentIncremental, updatedIncremental, incrementalToDynamic,
+    ##                   behaviorCoercion, eventCoercion, dynamicCoercion,
+    ##                   mergeIntIncremental, fanInt #-}
+    ## Matches:
+    ##     []
+    ## Call stack:
+    ##     CallStack (from HasCallStack):
+    ##       callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
+    ##       pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create
+    ## Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
+    doHaddock       = false;
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.7 && <4.11, bifunctors >=5.2 && <5.5
+    ## builder for ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed
+    jailbreak       = true;
+    ## Setup: Encountered missing dependencies:
+    ## data-default -any,
+    ## lens -any,
+    ## monad-control -any,
+    ## prim-uniq -any,
+    ## reflection -any,
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.data-default self.haskell-src-exts self.lens self.monad-control self.prim-uniq self.reflection self.split self.template-haskell self.unbounded-delays ];
+  });
+
+  regex-tdfa = overrideCabal super.regex-tdfa (drv: {
+    ## Unmerged.  PR: https://github.com/ChrisKuklewicz/regex-tdfa/pull/13
+    ## 
+    ##     • No instance for (Semigroup (CharMap a))
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid (CharMap a)’
+    src = pkgs.fetchFromGitHub {
+      owner  = "bgamari";
+      repo   = "regex-tdfa";
+      rev    = "34f4593a520176a917b74b8c7fcbbfbd72fb8178";
+      sha256 = "1aiklvf08w1hx2jn9n3sm61mfvdx4fkabszkjliapih2yjpmi3hq";
+    };
+  });
+
+  text-format = overrideCabal super.text-format (drv: {
+    ## Unmerged.  PR: https://github.com/bos/text-format/pull/21
+    ## 
+    ##     • No instance for (Semigroup Format)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid Format’
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "text-format";
+      rev    = "a1cda87c222d422816f956c7272e752ea12dbe19";
+      sha256 = "0lyrx4l57v15rvazrmw0nfka9iyxs4wyaasjj9y1525va9s1z4fr";
+    };
+  });
+
+  wl-pprint-text = overrideCabal super.wl-pprint-text (drv: {
+    ## Unmerged.  PR: https://github.com/ivan-m/wl-pprint-text/pull/17
+    ## 
+    ##     Ambiguous occurrence ‘<>’
+    ##     It could refer to either ‘PP.<>’,
+    ##                              imported from ‘Prelude.Compat’ at Text/PrettyPrint/Leijen/Text/Monadic.hs:73:1-36
+    src = pkgs.fetchFromGitHub {
+      owner  = "deepfire";
+      repo   = "wl-pprint-text";
+      rev    = "615b83d1e5be52d1448aa1ab2517b431a617027b";
+      sha256 = "1p67v9s878br0r152h4n37smqhkg78v8zxhf4qm6d035s4rzj76i";
+    };
+  });
+
+
+  ## Non-code, configuration-only change
+
+  adjunctions = overrideCabal super.adjunctions (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## free ==4.*
+    ## builder for ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed
+    jailbreak       = true;
+  });
+
+  async = overrideCabal super.async (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.3 && <4.11
+    ## builder for ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  bifunctors = overrideCabal super.bifunctors (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## template-haskell >=2.4 && <2.13
+    ## builder for ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed
+    jailbreak       = true;
+  });
+
+  bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## template-haskell >=2.10 && <2.13
+    ## builder for ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed
+    jailbreak       = true;
+  });
+
+  bytes = overrideCabal super.bytes (drv: {
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  cabal-doctest = overrideCabal super.cabal-doctest (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## Cabal >=1.10 && <2.1, base >=4.3 && <4.11
+    ## builder for ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed
+    jailbreak       = true;
+  });
+
+  ChasingBottoms = overrideCabal super.ChasingBottoms (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.2 && <4.11
+    ## builder for ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed
+    jailbreak       = true;
+  });
+
+  comonad = overrideCabal super.comonad (drv: {
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  distributive = overrideCabal super.distributive (drv: {
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  exception-transformers = overrideCabal super.exception-transformers (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## HUnit >=1.2 && <1.6
+    ## builder for ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed
+    jailbreak       = true;
+  });
+
+  hashable = overrideCabal super.hashable (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.4 && <4.11
+    ## builder for ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  hashable-time = overrideCabal super.hashable-time (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.7 && <4.11
+    ## builder for ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  haskell-src-meta = overrideCabal super.haskell-src-meta (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.6 && <4.11, template-haskell >=2.8 && <2.13
+    ## builder for ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed
+    jailbreak       = true;
+  });
+
+  hspec-meta = overrideCabal super.hspec-meta (drv: {
+    ## Linking dist/build/hspec-meta-discover/hspec-meta-discover ...
+    ## running tests
+    ## Package has no test suites.
+    ## haddockPhase
+    ## Running hscolour for hspec-meta-2.4.6...
+    ## Preprocessing library for hspec-meta-2.4.6..
+    ## Preprocessing executable 'hspec-meta-discover' for hspec-meta-2.4.6..
+    ## Preprocessing library for hspec-meta-2.4.6..
+    ## Running Haddock on library for hspec-meta-2.4.6..
+    ## Haddock coverage:
+    ## haddock: panic! (the 'impossible' happened)
+    ##   (GHC version 8.4.20180122 for x86_64-unknown-linux):
+    ## 	extractDecl
+    ## Ambiguous decl for Arg in class:
+    ##     class Example e where
+    ##       type Arg e
+    ##       type Arg e = ()
+    ##       evaluateExample ::
+    ##         e
+    ##         -> Params
+    ##            -> (ActionWith (Arg e) -> IO ()) -> ProgressCallback -> IO Result
+    ##       {-# MINIMAL evaluateExample #-}
+    ## Matches:
+    ##     []
+    ## Call stack:
+    ##     CallStack (from HasCallStack):
+    ##       callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
+    ##       pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create
+    ## Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
+    doHaddock       = false;
+  });
+
+  integer-logarithms = overrideCabal super.integer-logarithms (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.3 && <4.11
+    ## builder for ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed
+    jailbreak       = true;
+  });
+
+  kan-extensions = overrideCabal super.kan-extensions (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## free ==4.*
+    ## builder for ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed
+    jailbreak       = true;
+  });
+
+  keys = overrideCabal super.keys (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## free ==4.*
+    ## builder for ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed
+    jailbreak       = true;
+  });
+
+  lambdacube-gl = overrideCabal super.lambdacube-gl (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## vector ==0.11.*
+    ## builder for ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed
+    jailbreak       = true;
+  });
+
+  lifted-async = overrideCabal super.lifted-async (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.5 && <4.11
+    ## builder for ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed
+    jailbreak       = true;
+  });
+
+  linear = overrideCabal super.linear (drv: {
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  newtype-generics = overrideCabal super.newtype-generics (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.6 && <4.11
+    ## builder for ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  parallel = overrideCabal super.parallel (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.3 && <4.11
+    ## builder for ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  quickcheck-instances = overrideCabal super.quickcheck-instances (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.5 && <4.11
+    ## builder for ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  tasty-ant-xml = overrideCabal super.tasty-ant-xml (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## tasty >=0.10 && <1.0
+    ## builder for ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed
+    jailbreak       = true;
+  });
+
+  tasty-expected-failure = overrideCabal super.tasty-expected-failure (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.5 && <4.11
+    ## builder for ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed
+    jailbreak       = true;
+  });
+
+  tasty-hedgehog = overrideCabal super.tasty-hedgehog (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.8 && <4.11, tasty ==0.11.*
+    ## builder for ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed
+    jailbreak       = true;
+  });
+
+  text-lens = overrideCabal super.text-lens (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.9.0.0 && <4.10,
+    ## extra >=1.4.10 && <1.5,
+    ## hspec >=2.2.4 && <2.3,
+    ## lens ==4.14.*
+    jailbreak       = true;
+  });
+
+  th-abstraction = overrideCabal super.th-abstraction (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## template-haskell >=2.5 && <2.13
+    ## builder for ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed
+    jailbreak       = true;
+  });
+
+  these = overrideCabal super.these (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.5 && <4.11
+    ## builder for ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed
+    jailbreak       = true;
+  });
+
+  trifecta = overrideCabal super.trifecta (drv: {
+    ## CABAL-MISSING-DEPS
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    doCheck         = false;
+  });
+
+  unliftio-core = overrideCabal super.unliftio-core (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.5 && <4.11
+    ## builder for ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed
+    jailbreak       = true;
+  });
+
+  vector-algorithms = overrideCabal super.vector-algorithms (drv: {
+    ##     • Ambiguous type variable ‘mv0’
+    doCheck         = false;
+  });
+
+  wavefront = overrideCabal super.wavefront (drv: {
+    ## Setup: Encountered missing dependencies:
+    ## base >=4.8 && <4.11
+    ## builder for ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed with exit code 1
+    ## error: build of ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed
+    jailbreak       = true;
+  });
+}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index e8b7e665119e..b8839184c31f 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -38,7 +38,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 10.3
+  # LTS Haskell 10.4
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -49,17 +49,17 @@ default-package-overrides:
   - accelerate-examples ==1.1.0.0
   - accelerate-fft ==1.1.0.0
   - accelerate-fftw ==1.0
-  - accelerate-fourier ==1.0.0.2
+  - accelerate-fourier ==1.0.0.3
   - accelerate-io ==1.0.0.1
   - accelerate-llvm ==1.1.0.0
   - accelerate-llvm-native ==1.1.0.1
-  - accelerate-llvm-ptx ==1.1.0.0
+  - accelerate-llvm-ptx ==1.1.0.1
   - accelerate-utility ==1.0
   - accuerr ==0.2.0.2
   - ace ==0.6
   - action-permutations ==0.0.0.1
   - active ==0.2.0.13
-  - ad ==4.3.4
+  - ad ==4.3.5
   - adjunctions ==4.3
   - adler32 ==0.1.1.0
   - aern2-mp ==0.1.2.0
@@ -183,7 +183,7 @@ default-package-overrides:
   - annotated-wl-pprint ==0.7.0
   - ansigraph ==0.3.0.5
   - ansi-terminal ==0.7.1.1
-  - ansi-wl-pprint ==0.6.8.1
+  - ansi-wl-pprint ==0.6.8.2
   - apecs ==0.2.4.7
   - api-field-json-th ==0.1.0.2
   - appar ==0.1.4
@@ -214,7 +214,7 @@ default-package-overrides:
   - atom-conduit ==0.5.0.1
   - atomic-primops ==0.8.1.1
   - atomic-write ==0.2.0.5
-  - attoparsec ==0.13.2.0
+  - attoparsec ==0.13.2.2
   - attoparsec-binary ==0.2
   - attoparsec-expr ==0.1.1.2
   - attoparsec-ip ==0.0.1
@@ -251,7 +251,7 @@ default-package-overrides:
   - basic-prelude ==0.7.0
   - bbdb ==0.8
   - bcrypt ==0.0.11
-  - bench ==1.0.7
+  - bench ==1.0.8
   - benchpress ==0.2.2.10
   - bencode ==0.6.0.0
   - bento ==0.1.0
@@ -293,7 +293,7 @@ default-package-overrides:
   - bit-stream ==0.1.0.2
   - bitx-bitcoin ==0.11.0.1
   - blake2 ==0.2.0
-  - blank-canvas ==0.6.1
+  - blank-canvas ==0.6.2
   - blas-carray ==0.0
   - blas-ffi ==0.0
   - blas-hs ==0.1.1.0
@@ -302,10 +302,10 @@ default-package-overrides:
   - blaze-bootstrap ==0.1.0.1
   - blaze-builder ==0.4.0.2
   - blaze-html ==0.9.0.1
-  - blaze-markup ==0.8.0.0
+  - blaze-markup ==0.8.2.0
   - blaze-svg ==0.3.6.1
   - blaze-textual ==0.2.1.0
-  - bloodhound ==0.15.0.0
+  - bloodhound ==0.15.0.1
   - bloomfilter ==2.0.1.0
   - blosum ==0.1.1.4
   - bmp ==1.2.6.3
@@ -348,7 +348,7 @@ default-package-overrides:
   - bzlib-conduit ==0.2.1.5
   - c2hs ==0.28.3
   - Cabal ==2.0.1.1
-  - cabal-doctest ==1.0.4
+  - cabal-doctest ==1.0.5
   - cabal-file-th ==0.2.4
   - cabal-rpm ==0.12
   - cabal-toolkit ==0.0.4
@@ -366,8 +366,8 @@ default-package-overrides:
   - cassava-conduit ==0.4.0.1
   - cassette ==0.1.0
   - cast ==0.1.0.2
-  - cayley-client ==0.4.1
-  - cereal ==0.5.4.0
+  - cayley-client ==0.4.2
+  - cereal ==0.5.5.0
   - cereal-conduit ==0.7.3
   - cereal-text ==0.1.0.2
   - cereal-time ==0.1.0.0
@@ -380,14 +380,15 @@ default-package-overrides:
   - Chart-diagrams ==1.8.2
   - chart-unit ==0.5.5.0
   - chaselev-deque ==0.5.0.5
-  - chatwork ==0.1.2.0
+  - ChasingBottoms ==1.3.1.3
+  - chatwork ==0.1.3.0
   - cheapskate ==0.1.1
   - cheapskate-highlight ==0.1.0.0
   - cheapskate-lucid ==0.1.0.0
   - check-email ==1.0.2
   - checkers ==0.4.9.5
   - choice ==0.2.2
-  - chunked-data ==0.3.0
+  - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
   - cipher-aes128 ==0.7.0.3
   - cipher-blowfish ==0.0.3
@@ -415,7 +416,7 @@ default-package-overrides:
   - cmark-gfm ==0.1.3
   - cmark-highlight ==0.2.0.0
   - cmark-lucid ==0.1.0.0
-  - cmdargs ==0.10.19
+  - cmdargs ==0.10.20
   - code-builder ==0.1.3
   - codec ==0.2.1
   - code-page ==0.1.3
@@ -441,12 +442,12 @@ default-package-overrides:
   - concise ==0.1.0.0
   - concurrency ==1.2.3.0
   - concurrent-extra ==0.7.0.11
-  - concurrent-output ==1.10.1
+  - concurrent-output ==1.10.2
   - concurrent-split ==0.0.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
-  - conduit ==1.2.12.1
-  - conduit-algorithms ==0.0.6.1
+  - conduit ==1.2.13
+  - conduit-algorithms ==0.0.7.1
   - conduit-combinators ==1.1.2
   - conduit-connection ==0.1.0.3
   - conduit-extra ==1.2.3.2
@@ -454,7 +455,7 @@ default-package-overrides:
   - conduit-parse ==0.1.2.2
   - conduit-throttle ==0.3.1.0
   - ConfigFile ==1.1.4
-  - config-ini ==0.2.1.1
+  - config-ini ==0.2.2.0
   - configuration-tools ==0.3.0
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
@@ -464,7 +465,7 @@ default-package-overrides:
   - constraints ==0.9.1
   - consul-haskell ==0.4.2
   - containers-unicode-symbols ==0.3.1.1
-  - contravariant ==1.4
+  - contravariant ==1.4.1
   - contravariant-extras ==0.3.3.1
   - control-bool ==0.2.1
   - control-monad-free ==0.6.1
@@ -511,7 +512,7 @@ default-package-overrides:
   - csv ==0.1.2
   - csv-conduit ==0.6.7
   - ctrie ==0.2
-  - cubicbezier ==0.6.0.4
+  - cubicbezier ==0.6.0.5
   - cubicspline ==0.1.2
   - cublas ==0.4.0.0
   - cuda ==0.9.0.0
@@ -534,12 +535,13 @@ default-package-overrides:
   - data-clist ==0.1.2.0
   - data-default ==0.7.1.1
   - data-default-class ==0.1.2.0
+  - data-default-instances-base ==0.1.0.1
   - data-default-instances-containers ==0.0.1
   - data-default-instances-dlist ==0.0.1
   - data-default-instances-old-locale ==0.0.1
   - data-diverse ==2.0.1.0
   - data-diverse-lens ==1.0.0.1
-  - data-dword ==0.3.1.1
+  - data-dword ==0.3.1.2
   - data-endian ==0.1.1
   - data-fix ==0.2.0
   - data-has ==0.3.0.0
@@ -547,7 +549,8 @@ default-package-overrides:
   - data-inttrie ==0.1.2
   - data-lens-light ==0.1.2.2
   - data-memocombinators ==0.5.1
-  - data-msgpack ==0.0.10
+  - data-msgpack ==0.0.11
+  - data-msgpack-types ==0.0.1
   - data-or ==1.0.0.5
   - data-ordlist ==0.4.7.0
   - data-ref ==0.0.1.1
@@ -560,7 +563,7 @@ default-package-overrides:
   - DAV ==1.3.1
   - dawg-ord ==0.5.1.0
   - dbcleaner ==0.1.3
-  - dbus ==0.10.14
+  - dbus ==0.10.15
   - debian-build ==0.10.1.0
   - debug ==0.0.2
   - Decimal ==0.4.2
@@ -580,7 +583,7 @@ default-package-overrides:
   - dhall-nix ==1.0.9
   - dhall-text ==1.0.4
   - diagrams ==1.4
-  - diagrams-builder ==0.8.0.1
+  - diagrams-builder ==0.8.0.2
   - diagrams-cairo ==1.4
   - diagrams-canvas ==1.4
   - diagrams-contrib ==1.4.1
@@ -590,7 +593,7 @@ default-package-overrides:
   - diagrams-solve ==0.1.1
   - diagrams-svg ==1.4.1.1
   - dice ==0.1
-  - dictionaries ==0.2.0.3
+  - dictionaries ==0.2.0.4
   - Diff ==0.3.4
   - diff3 ==0.3.0
   - digest ==0.0.1.2
@@ -614,10 +617,10 @@ default-package-overrides:
   - diversity ==0.8.1.0
   - djinn-ghc ==0.0.2.3
   - djinn-lib ==0.0.1.2
-  - dlist ==0.8.0.3
+  - dlist ==0.8.0.4
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==3.0.0
+  - dns ==3.0.1
   - docker ==0.4.1.1
   - docker-build-cacher ==1.8.2
   - dockerfile ==0.1.0.1
@@ -628,7 +631,7 @@ default-package-overrides:
   - doctest-driver-gen ==0.1.0.1
   - do-list ==1.0.1
   - dom-parser ==3.0.0
-  - dotenv ==0.5.2.1
+  - dotenv ==0.5.2.3
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
   - download ==0.3.2.6
@@ -669,7 +672,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.2
+  - email-validate ==2.3.2.1
   - enclosed-exceptions ==1.0.2
   - EntrezHTTP ==1.0.4
   - entropy ==0.3.8
@@ -686,7 +689,7 @@ default-package-overrides:
   - errors ==2.2.2
   - errors-ext ==0.4.1
   - error-util ==0.0.1.2
-  - ersatz ==0.4.1
+  - ersatz ==0.4.2
   - esqueleto ==2.5.3
   - etcd ==1.0.5
   - ether ==0.5.1.0
@@ -717,12 +720,12 @@ default-package-overrides:
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.9
   - exp-pairs ==0.1.5.2
-  - extensible ==0.4.7
+  - extensible ==0.4.7.1
   - extensible-effects ==2.1.0.0
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.6.2
+  - extra ==1.6.3
   - extractable-singleton ==0.0.1
-  - extrapolate ==0.3.0
+  - extrapolate ==0.3.1
   - fail ==4.9.0.0
   - farmhash ==0.1.0.5
   - fasta ==0.10.4.2
@@ -764,7 +767,7 @@ default-package-overrides:
   - FloatingHex ==0.4
   - floatshow ==0.2.4
   - flow ==1.0.10
-  - fmlist ==0.9.1
+  - fmlist ==0.9.2
   - fmt ==0.5.0.0
   - fn ==0.3.0.2
   - focus ==0.1.5.2
@@ -799,7 +802,7 @@ default-package-overrides:
   - funcmp ==1.8
   - functor-classes-compat ==1
   - fuzzcheck ==0.1.1
-  - fuzzyset ==0.1.0.3
+  - fuzzyset ==0.1.0.4
   - gauge ==0.1.3
   - gd ==3000.7.3
   - gdax ==0.6.0.0
@@ -807,16 +810,16 @@ default-package-overrides:
   - general-games ==1.0.5
   - generic-aeson ==0.2.0.9
   - generic-arbitrary ==0.1.0
-  - generic-deriving ==1.12
+  - generic-deriving ==1.12.1
   - generic-lens ==0.5.1.0
   - GenericPretty ==1.2.1
   - generic-random ==1.0.0.0
   - generics-eot ==0.2.1.1
-  - generics-sop ==0.3.1.0
+  - generics-sop ==0.3.2.0
   - generics-sop-lens ==0.1.2.1
   - generic-xmlpickler ==0.1.0.5
   - geniplate-mirror ==0.7.5
-  - genvalidity ==0.4.0.2
+  - genvalidity ==0.4.0.4
   - genvalidity-aeson ==0.1.0.0
   - genvalidity-bytestring ==0.1.0.0
   - genvalidity-containers ==0.3.0.0
@@ -829,7 +832,7 @@ default-package-overrides:
   - genvalidity-property ==0.1.0.0
   - genvalidity-scientific ==0.1.0.0
   - genvalidity-text ==0.4.0.0
-  - genvalidity-time ==0.1.0.0
+  - genvalidity-time ==0.1.0.1
   - genvalidity-unordered-containers ==0.1.0.0
   - genvalidity-uuid ==0.0.0.0
   - genvalidity-vector ==0.1.0.0
@@ -838,7 +841,7 @@ default-package-overrides:
   - ghc-core ==0.5.6
   - ghc-events ==0.7.0
   - ghc-exactprint ==0.5.5.0
-  - ghcid ==0.6.8
+  - ghcid ==0.6.9
   - ghcjs-base-stub ==0.1.0.4
   - ghcjs-codemirror ==0.0.0.1
   - ghcjs-dom ==0.9.2.0
@@ -887,7 +890,7 @@ default-package-overrides:
   - GLURaw ==2.0.0.3
   - GLUT ==2.7.0.12
   - gluturtle ==0.0.58.1
-  - gnuplot ==0.5.4.2
+  - gnuplot ==0.5.5
   - goggles ==0.1.0.3
   - gogol ==0.3.0
   - gogol-adexchange-buyer ==0.3.0
@@ -1020,7 +1023,7 @@ default-package-overrides:
   - hailgun-simple ==0.1.0.0
   - hakyll ==4.10.0.0
   - half ==0.2.2.3
-  - hamilton ==0.1.0.1
+  - hamilton ==0.1.0.2
   - hamlet ==1.2.0
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
@@ -1053,18 +1056,18 @@ default-package-overrides:
   - haskell-src ==1.0.2.0
   - haskell-src-exts ==1.19.1
   - haskell-src-exts-simple ==1.19.0.0
-  - haskell-src-exts-util ==0.2.1.2
-  - haskell-src-meta ==0.8.0.1
-  - haskell-tools-ast ==1.0.0.3
-  - haskell-tools-backend-ghc ==1.0.0.3
-  - haskell-tools-builtin-refactorings ==1.0.0.3
-  - haskell-tools-cli ==1.0.0.3
-  - haskell-tools-daemon ==1.0.0.3
-  - haskell-tools-debug ==1.0.0.3
-  - haskell-tools-demo ==1.0.0.3
-  - haskell-tools-prettyprint ==1.0.0.3
-  - haskell-tools-refactor ==1.0.0.3
-  - haskell-tools-rewrite ==1.0.0.3
+  - haskell-src-exts-util ==0.2.2
+  - haskell-src-meta ==0.8.0.2
+  - haskell-tools-ast ==1.0.0.4
+  - haskell-tools-backend-ghc ==1.0.0.4
+  - haskell-tools-builtin-refactorings ==1.0.0.4
+  - haskell-tools-cli ==1.0.0.4
+  - haskell-tools-daemon ==1.0.0.4
+  - haskell-tools-debug ==1.0.0.4
+  - haskell-tools-demo ==1.0.0.4
+  - haskell-tools-prettyprint ==1.0.0.4
+  - haskell-tools-refactor ==1.0.0.4
+  - haskell-tools-rewrite ==1.0.0.4
   - haskintex ==0.8.0.0
   - hasmin ==1.0.1
   - hasql ==1.1.1
@@ -1088,7 +1091,7 @@ default-package-overrides:
   - HDBC-session ==0.1.1.1
   - hdevtools ==0.1.6.1
   - heap ==1.0.3
-  - heaps ==0.3.5
+  - heaps ==0.3.6
   - heatshrink ==0.1.0.0
   - hebrew-time ==0.1.1
   - hedgehog ==0.5.1
@@ -1120,21 +1123,20 @@ default-package-overrides:
   - hit ==0.6.3
   - hjsmin ==0.2.0.2
   - hjsonpointer ==1.3.0
-  - hjsonschema ==1.7.1
+  - hjsonschema ==1.7.2
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.6.1
-  - hlint ==2.0.11
-  - hmatrix ==0.18.1.0
+  - hmatrix ==0.18.2.0
   - hmatrix-gsl ==0.18.0.1
   - hmatrix-gsl-stats ==0.4.1.7
   - hmatrix-morpheus ==0.1.1.1
   - hmatrix-repa ==0.1.2.2
   - hmatrix-special ==0.4.0.1
-  - hmpfr ==0.4.3
+  - hmpfr ==0.4.4
   - hnix ==0.3.4
   - hoauth2 ==1.5.1
   - hocilib ==0.2.0
-  - Hoed ==0.4.0
+  - Hoed ==0.4.1
   - holy-project ==0.2.0.1
   - hOpenPGP ==2.5.5
   - hopenpgp-tools ==0.19.5
@@ -1148,7 +1150,7 @@ default-package-overrides:
   - hpack ==0.21.2
   - hpc-coveralls ==1.0.10
   - HPDF ==1.4.10
-  - hpio ==0.9.0.2
+  - hpio ==0.9.0.3
   - hpp ==0.5.1
   - hpqtypes ==1.5.1.1
   - hprotoc ==2.4.6
@@ -1164,8 +1166,8 @@ default-package-overrides:
   - hsebaysdk ==0.4.0.0
   - hse-cpp ==0.2
   - hsemail ==2
-  - hset ==2.2.0
   - HSet ==0.0.1
+  - hset ==2.2.0
   - hsexif ==0.6.1.5
   - hs-GeoIP ==0.3
   - hsignal ==0.2.7.5
@@ -1176,7 +1178,7 @@ default-package-overrides:
   - hslua-module-text ==0.1.2.1
   - hsndfile ==0.8.0
   - hsndfile-vector ==0.5.2
-  - HsOpenSSL ==0.11.4.11
+  - HsOpenSSL ==0.11.4.12
   - HsOpenSSL-x509-system ==0.1.0.3
   - hsp ==0.10.0
   - hspec ==2.4.4
@@ -1190,7 +1192,7 @@ default-package-overrides:
   - hspec-expectations-pretty-diff ==0.7.2.4
   - hspec-golden-aeson ==0.4.0.0
   - hspec-megaparsec ==1.0.0
-  - hspec-meta ==2.4.4
+  - hspec-meta ==2.4.6
   - hspec-pg-transact ==0.1.0.2
   - hspec-smallcheck ==0.4.2
   - hspec-wai ==0.9.0
@@ -1215,7 +1217,7 @@ default-package-overrides:
   - HTTP ==4000.3.9
   - http2 ==1.6.3
   - http-api-data ==0.3.7.1
-  - http-client ==0.5.7.1
+  - http-client ==0.5.9
   - http-client-openssl ==0.2.1.1
   - http-client-tls ==0.3.5.1
   - http-common ==0.8.2.0
@@ -1260,12 +1262,13 @@ default-package-overrides:
   - hxt-regex-xmlschema ==9.2.0.3
   - hxt-tagsoup ==9.1.4
   - hxt-unicode ==9.0.2.4
-  - hybrid-vectors ==0.2.1
+  - hybrid-vectors ==0.2.2
   - hyperloglog ==0.4.2
-  - hyphenation ==0.7
+  - hyphenation ==0.7.1
   - ical ==0.0.1
   - iconv ==0.4.1.3
   - identicon ==0.2.2
+  - idris ==1.2.0
   - ieee754 ==0.8.0
   - if ==0.1.0.0
   - IfElse ==0.85
@@ -1278,17 +1281,17 @@ default-package-overrides:
   - immortal ==0.2.2.1
   - importify ==1.0.1
   - include-file ==0.1.0.3
-  - incremental-parser ==0.2.5.2
+  - incremental-parser ==0.2.5.3
   - indentation-core ==0.0.0.1
   - indentation-parsec ==0.0.0.1
   - indents ==0.4.0.1
-  - inflections ==0.4.0.0
+  - inflections ==0.4.0.1
   - influxdb ==1.2.2.2
   - ini ==0.3.5
   - inline-c ==0.6.0.5
   - inline-c-cpp ==0.2.1.0
   - inline-java ==0.7.2
-  - inline-r ==0.9.0.2
+  - inline-r ==0.9.1
   - insert-ordered-containers ==0.2.1.0
   - inspection-testing ==0.1.2
   - instance-control ==0.1.2.0
@@ -1297,13 +1300,13 @@ default-package-overrides:
   - intern ==0.9.1.4
   - interpolate ==0.1.1
   - interpolatedstring-perl6 ==1.0.0
-  - Interpolation ==0.3.0
   - interpolation ==0.1.0.2
+  - Interpolation ==0.3.0
   - IntervalMap ==0.5.3.1
   - intervals ==0.8.1
-  - intro ==0.3.0.1
+  - intro ==0.3.1.0
   - invariant ==0.5
-  - invertible ==0.2.0.2
+  - invertible ==0.2.0.3
   - io-choice ==0.0.6
   - io-machine ==0.2.0.0
   - io-manager ==0.1.0.2
@@ -1312,14 +1315,14 @@ default-package-overrides:
   - io-storage ==0.3
   - io-streams ==1.5.0.1
   - io-streams-haproxy ==1.0.0.2
-  - ip ==1.1.1
+  - ip ==1.1.2
   - ip6addr ==0.5.3
   - iproute ==1.7.1
   - IPv6Addr ==1.0.1
-  - IPv6DB ==0.2.3
+  - IPv6DB ==0.2.4
   - ipython-kernel ==0.9.0.1
   - irc ==0.6.1.0
-  - irc-client ==1.0.0.1
+  - irc-client ==1.0.1.0
   - irc-conduit ==0.2.2.4
   - irc-ctcp ==0.1.3.0
   - irc-dcc ==2.0.1
@@ -1398,7 +1401,7 @@ default-package-overrides:
   - leapseconds-announced ==2017.1.0.1
   - lens ==4.15.4
   - lens-accelerate ==0.1.0.0
-  - lens-action ==0.2.2
+  - lens-action ==0.2.3
   - lens-aeson ==1.0.2
   - lens-datetime ==0.3
   - lens-family ==1.2.2
@@ -1419,8 +1422,8 @@ default-package-overrides:
   - libsystemd-journal ==1.4.2
   - libxml-sax ==0.7.5
   - LibZip ==1.0.1
-  - licensor ==0.2.1
-  - lifted-async ==0.9.3.2
+  - licensor ==0.2.2
+  - lifted-async ==0.9.3.3
   - lifted-base ==0.2.3.11
   - lift-generics ==0.1.2
   - line ==4.0.1
@@ -1456,7 +1459,7 @@ default-package-overrides:
   - log-warper ==1.8.3
   - loop ==0.3.0
   - lrucache ==1.2.0.0
-  - lrucaching ==0.3.2
+  - lrucaching ==0.3.3
   - lucid ==2.9.9
   - lxd-client ==0.1.0.5
   - lxd-client-config ==0.1.0.1
@@ -1504,13 +1507,13 @@ default-package-overrides:
   - MFlow ==0.4.6.0
   - mfsolve ==0.3.2.0
   - microformats2-parser ==1.0.1.7
-  - microlens ==0.4.8.1
+  - microlens ==0.4.8.3
   - microlens-aeson ==2.2.0.2
   - microlens-contra ==0.1.0.1
   - microlens-ghc ==0.4.8.0
-  - microlens-mtl ==0.1.11.0
+  - microlens-mtl ==0.1.11.1
   - microlens-platform ==0.3.9.0
-  - microlens-th ==0.4.1.1
+  - microlens-th ==0.4.1.3
   - microsoft-translator ==0.1.1
   - microspec ==0.1.0.0
   - microstache ==1.0.1.1
@@ -1551,7 +1554,7 @@ default-package-overrides:
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
   - monadloc ==0.7.1
-  - monad-logger ==0.3.26
+  - monad-logger ==0.3.28.1
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.6
   - monad-logger-syslog ==0.1.4.0
@@ -1580,9 +1583,9 @@ default-package-overrides:
   - monoid-extras ==0.4.2
   - monoid-subclasses ==0.4.4
   - monoid-transformer ==0.0.3
-  - mono-traversable ==1.0.7.0
+  - mono-traversable ==1.0.8.1
   - mono-traversable-instances ==0.1.0.0
-  - morte ==1.6.13
+  - morte ==1.6.14
   - mountpoints ==1.0.2
   - mstate ==0.2.7
   - mtl ==2.2.1
@@ -1609,7 +1612,7 @@ default-package-overrides:
   - nakadi-client ==0.3.0.0
   - names-th ==0.2.0.3
   - nano-erl ==0.1.0.1
-  - nanospec ==0.2.1
+  - nanospec ==0.2.2
   - naqsha ==0.2.0.1
   - nats ==1.1.1
   - natural-sort ==0.1.2
@@ -1623,7 +1626,7 @@ default-package-overrides:
   - netwire ==5.0.2
   - netwire-input ==0.0.6
   - netwire-input-glfw ==0.0.7
-  - network ==2.6.3.2
+  - network ==2.6.3.3
   - network-anonymous-i2p ==0.10.0
   - network-anonymous-tor ==0.11.0
   - network-attoparsec ==0.12.2
@@ -1632,7 +1635,7 @@ default-package-overrides:
   - network-house ==0.1.0.2
   - network-info ==0.2.0.9
   - network-ip ==0.3.0.2
-  - network-msgpack-rpc ==0.0.3
+  - network-msgpack-rpc ==0.0.4
   - network-multicast ==0.2.0
   - Network-NineP ==0.4.1
   - network-simple ==0.4.0.5
@@ -1712,7 +1715,7 @@ default-package-overrides:
   - palette ==0.1.0.5
   - pandoc ==2.0.6
   - pandoc-citeproc ==0.12.2.5
-  - pandoc-types ==1.17.3
+  - pandoc-types ==1.17.3.1
   - pango ==0.13.4.0
   - papillon ==0.1.0.5
   - parallel ==3.2.1.1
@@ -1754,7 +1757,7 @@ default-package-overrides:
   - persistent-mongoDB ==2.6.0
   - persistent-mysql ==2.6.2.1
   - persistent-mysql-haskell ==0.3.6
-  - persistent-postgresql ==2.6.2.2
+  - persistent-postgresql ==2.6.3
   - persistent-refs ==0.4
   - persistent-sqlite ==2.6.4
   - persistent-template ==2.5.3
@@ -1765,7 +1768,7 @@ default-package-overrides:
   - picoparsec ==0.1.2.3
   - picosat ==0.1.4
   - pid1 ==0.1.2.0
-  - pinboard ==0.9.12.6
+  - pinboard ==0.9.12.8
   - pinch ==0.3.2.0
   - pipes ==4.3.7
   - pipes-aeson ==0.4.1.8
@@ -1791,7 +1794,7 @@ default-package-overrides:
   - placeholders ==0.1
   - plan-b ==0.2.1
   - plot ==0.2.3.9
-  - pointed ==5
+  - pointed ==5.0.1
   - pointedlist ==0.6.1
   - pointful ==1.0.9
   - pointless-fun ==1.1.0.6
@@ -1799,11 +1802,12 @@ default-package-overrides:
   - poly-arity ==0.1.0
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.12
+  - pomaps ==0.0.0.3
   - pooled-io ==0.0.2.1
   - PortMidi ==0.1.6.1
   - posix-paths ==0.2.1.3
   - postgresql-binary ==0.12.1
-  - postgresql-libpq ==0.9.3.1
+  - postgresql-libpq ==0.9.4.0
   - postgresql-query ==3.3.0
   - postgresql-schema ==0.1.14
   - postgresql-simple ==0.5.3.0
@@ -1830,23 +1834,23 @@ default-package-overrides:
   - prettyprinter-compat-annotated-wl-pprint ==1
   - prettyprinter-compat-ansi-wl-pprint ==1.0.1
   - prettyprinter-compat-wl-pprint ==1.0.0.1
-  - pretty-show ==1.6.15
-  - pretty-simple ==2.0.1.0
+  - pretty-show ==1.6.16
+  - pretty-simple ==2.0.2.0
   - pretty-types ==0.2.3.1
   - prim-array ==0.2.1
   - primes ==0.2.1.0
-  - primitive ==0.6.2.0
+  - primitive ==0.6.3.0
   - printcess ==0.1.0.3
   - probability ==0.2.5.1
-  - process-extras ==0.7.2
+  - process-extras ==0.7.3
   - product-isomorphic ==0.0.3.1
   - product-profunctors ==0.8.0.3
   - profiterole ==0.1
   - profiteur ==0.4.4.0
   - profunctor-extras ==4.0
-  - profunctors ==5.2.1
+  - profunctors ==5.2.2
   - projectroot ==0.2.0.1
-  - project-template ==0.2.0
+  - project-template ==0.2.0.1
   - prometheus-client ==0.3.0
   - prometheus-metrics-ghc ==0.3.0
   - promises ==0.3
@@ -1862,11 +1866,11 @@ default-package-overrides:
   - proto-lens-optparse ==0.1.0.4
   - proto-lens-protobuf-types ==0.2.2.0
   - proto-lens-protoc ==0.2.2.3
-  - protolude ==0.2
+  - protolude ==0.2.1
   - proxied ==0.3
   - psql-helpers ==0.1.0.0
   - PSQueue ==1.1
-  - psqueues ==0.2.4.0
+  - psqueues ==0.2.5.0
   - pthread ==0.2.0
   - publicsuffix ==0.20170802
   - pure-io ==0.2.1
@@ -1883,19 +1887,19 @@ default-package-overrides:
   - quickcheck-assertions ==0.3.0
   - quickcheck-classes ==0.3.1
   - quickcheck-combinators ==0.0.2
-  - quickcheck-instances ==0.3.16
+  - quickcheck-instances ==0.3.16.1
   - quickcheck-io ==0.2.0
   - quickcheck-properties ==0.1
   - quickcheck-simple ==0.1.0.2
   - quickcheck-special ==0.1.0.6
-  - quickcheck-state-machine ==0.3.0
+  - quickcheck-state-machine ==0.3.1
   - quickcheck-text ==0.1.2.1
   - quickcheck-unicode ==1.0.1.0
   - quickcheck-with-counterexamples ==1.0
   - raaz ==0.2.0
   - rainbow ==0.28.0.4
   - rainbox ==0.18.0.10
-  - rakuten ==0.1.0.4
+  - rakuten ==0.1.0.5
   - ramus ==0.1.2
   - random ==1.1
   - random-fu ==0.2.7.0
@@ -1908,7 +1912,7 @@ default-package-overrides:
   - rank-product ==0.2.0.1
   - Rasterific ==0.7.2.1
   - rasterific-svg ==0.3.3
-  - ratel ==0.3.8
+  - ratel ==0.3.10
   - ratel-wai ==0.3.2
   - ratio-int ==0.1.2
   - rattletrap ==3.1.2
@@ -1930,7 +1934,7 @@ default-package-overrides:
   - references ==0.3.3.1
   - ref-fd ==0.4.0.1
   - refined ==0.1.2.1
-  - reflection ==2.1.2
+  - reflection ==2.1.3
   - reform ==0.2.7.1
   - reform-blaze ==0.2.4.3
   - reform-hamlet ==0.0.5.3
@@ -1964,7 +1968,7 @@ default-package-overrides:
   - req-conduit ==1.0.0
   - reroute ==0.4.1.0
   - resource-pool ==0.2.3.2
-  - resourcet ==1.1.10
+  - resourcet ==1.1.11
   - rest-client ==0.5.1.1
   - rest-core ==0.39
   - rest-gen ==0.20.0.1
@@ -1993,7 +1997,7 @@ default-package-overrides:
   - safecopy ==0.9.3.3
   - safe-exceptions ==0.1.6.0
   - safe-exceptions-checked ==0.1.0
-  - safeio ==0.0.4.0
+  - safeio ==0.0.5.0
   - SafeSemaphore ==0.10.1
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
@@ -2001,7 +2005,7 @@ default-package-overrides:
   - sandi ==0.4.1
   - sandman ==0.2.0.1
   - say ==0.1.0.0
-  - sbp ==2.3.2
+  - sbp ==2.3.6
   - sbv ==7.4
   - SCalendar ==1.1.0
   - scalendar ==1.2.0
@@ -2020,8 +2024,8 @@ default-package-overrides:
   - search-algorithms ==0.3.0
   - securemem ==0.1.9
   - SegmentTree ==0.3
-  - selda ==0.1.11.2
-  - selda-postgresql ==0.1.7.0
+  - selda ==0.1.12
+  - selda-postgresql ==0.1.7.1
   - selda-sqlite ==0.1.6.0
   - semigroupoid-extras ==5
   - semigroupoids ==5.2.1
@@ -2041,18 +2045,18 @@ default-package-overrides:
   - servant-client ==0.11
   - servant-docs ==0.11
   - servant-elm ==0.4.0.1
-  - servant-exceptions ==0.1.0
+  - servant-exceptions ==0.1.1
   - servant-foreign ==0.10.1
   - servant-generic ==0.1.0.1
   - servant-js ==0.9.3.1
   - servant-JuicyPixels ==0.3.0.3
-  - servant-kotlin ==0.1.0.2
+  - servant-kotlin ==0.1.0.3
   - servant-lucid ==0.7.1
   - servant-mock ==0.8.3
   - servant-pandoc ==0.4.1.4
   - servant-purescript ==0.9.0.2
   - servant-rawm ==0.2.0.2
-  - servant-ruby ==0.5.0.0
+  - servant-ruby ==0.5.1.0
   - servant-server ==0.11.0.1
   - servant-static-th ==0.1.0.6
   - servant-subscriber ==0.6.0.1
@@ -2062,7 +2066,7 @@ default-package-overrides:
   - servant-yaml ==0.1.0.0
   - serversession ==1.0.1
   - serversession-backend-persistent ==1.0.4
-  - serversession-backend-redis ==1.0.2
+  - serversession-backend-redis ==1.0.3
   - serversession-frontend-wai ==1.0
   - serversession-frontend-yesod ==1.0
   - servius ==1.2.0.3
@@ -2078,8 +2082,8 @@ default-package-overrides:
   - shakespeare ==2.0.14.1
   - shell-conduit ==4.6.1
   - shell-escape ==0.2.0
-  - shelly ==1.7.0
-  - shikensu ==0.3.7
+  - shelly ==1.7.0.1
+  - shikensu ==0.3.8
   - shortcut-links ==0.4.2.0
   - should-not-typecheck ==2.1.0
   - show-prettyprint ==0.2
@@ -2092,12 +2096,12 @@ default-package-overrides:
   - simple-session ==0.10.1.1
   - simple-templates ==0.8.0.1
   - singleton-bool ==0.1.2.0
-  - singleton-nats ==0.4.0.3
+  - singleton-nats ==0.4.0.4
   - singletons ==2.3.1
   - siphash ==1.0.3
   - skein ==1.0.9.4
   - skeletons ==0.4.0
-  - skylighting ==0.5.0.1
+  - skylighting ==0.5.1
   - slack-web ==0.2.0.1
   - slave-thread ==1.0.2
   - slug ==0.1.7
@@ -2129,7 +2133,7 @@ default-package-overrides:
   - sphinx ==0.6.0.2
   - Spintax ==0.3.2
   - splice ==0.6.1.1
-  - split ==0.2.3.2
+  - split ==0.2.3.3
   - splitmix ==0
   - Spock ==0.12.0.0
   - Spock-api ==0.12.0.0
@@ -2150,7 +2154,7 @@ default-package-overrides:
   - stateref ==0.3
   - statestack ==0.2.0.5
   - StateVar ==1.1.0.4
-  - stateWriter ==0.2.9
+  - stateWriter ==0.2.10
   - statistics ==0.14.0.2
   - stm ==2.4.4.1
   - stm-chans ==3.0.0.4
@@ -2207,7 +2211,7 @@ default-package-overrides:
   - svg-tree ==0.6.2.1
   - swagger ==0.3.0
   - swagger2 ==2.2
-  - swagger-petstore ==0.0.1.6
+  - swagger-petstore ==0.0.1.7
   - swish ==0.9.1.10
   - syb ==0.7
   - syb-with-class ==0.6.1.8
@@ -2216,20 +2220,20 @@ default-package-overrides:
   - sysinfo ==0.1.1
   - system-argv0 ==0.1.1
   - system-fileio ==0.3.16.3
-  - system-filepath ==0.4.13.4
+  - system-filepath ==0.4.14
   - system-posix-redirect ==1.1.0.1
   - tabular ==0.2.2.7
   - tagchup ==0.4.1
   - tagged ==0.8.5
   - tagged-binary ==0.2.0.1
   - tagged-identity ==0.1.2
-  - tagsoup ==0.14.2
+  - tagsoup ==0.14.3
   - tagstream-conduit ==0.5.5.3
   - tar ==0.5.0.3
   - tar-conduit ==0.1.1
   - tardis ==0.4.1.0
   - tasty ==0.11.3
-  - tasty-ant-xml ==1.1.1
+  - tasty-ant-xml ==1.1.2
   - tasty-auto ==0.2.0.0
   - tasty-dejafu ==0.7.1.1
   - tasty-discover ==4.1.3
@@ -2237,13 +2241,13 @@ default-package-overrides:
   - tasty-fail-fast ==0.0.3
   - tasty-golden ==2.3.1.2
   - tasty-hedgehog ==0.1.0.1
-  - tasty-hspec ==1.1.3.2
+  - tasty-hspec ==1.1.3.3
   - tasty-html ==0.4.1.1
   - tasty-hunit ==0.9.2
   - tasty-kat ==0.0.3
   - tasty-program ==1.0.5
   - tasty-quickcheck ==0.9.1
-  - tasty-rerun ==1.1.8
+  - tasty-rerun ==1.1.9
   - tasty-silver ==3.1.11
   - tasty-smallcheck ==0.8.1
   - tasty-stats ==0.2.0.3
@@ -2269,7 +2273,7 @@ default-package-overrides:
   - test-framework-quickcheck2 ==0.3.0.4
   - test-framework-smallcheck ==0.2
   - test-framework-th ==0.2.4
-  - texmath ==0.10.1
+  - texmath ==0.10.1.1
   - text ==1.2.2.2
   - text-all ==0.4.1.1
   - text-binary ==0.2.1.1
@@ -2299,7 +2303,7 @@ default-package-overrides:
   - th-extras ==0.0.0.4
   - th-lift ==0.7.7
   - th-lift-instances ==0.1.11
-  - th-orphans ==0.13.4
+  - th-orphans ==0.13.5
   - thread-hierarchy ==0.3.0.0
   - thread-local-storage ==0.1.2
   - threads ==0.5.1.5
@@ -2336,7 +2340,7 @@ default-package-overrides:
   - tinylog ==0.14.0
   - tinytemplate ==0.1.2.0
   - titlecase ==1.0.1
-  - tldr ==0.2.4
+  - tldr ==0.2.5
   - tls ==1.4.0
   - tls-debug ==0.4.5
   - tls-session-manager ==0.0.0.2
@@ -2353,7 +2357,7 @@ default-package-overrides:
   - transient ==0.5.9.2
   - transient-universe ==0.4.6.1
   - traverse-with-class ==1.0.0.0
-  - tree-diff ==0.0.0.1
+  - tree-diff ==0.0.1
   - tree-fun ==0.8.1.0
   - tries ==0.0.4.2
   - trifecta ==1.7.1.1
@@ -2381,7 +2385,7 @@ default-package-overrides:
   - type-level-kv-list ==1.1.0
   - type-level-numbers ==0.1.1.1
   - typelits-witnesses ==0.2.3.0
-  - type-of-html ==1.3.2.0
+  - type-of-html ==1.3.2.1
   - type-operators ==0.1.0.4
   - type-spec ==0.3.0.1
   - typography-geometry ==1.0.0.1
@@ -2395,7 +2399,7 @@ default-package-overrides:
   - unboxed-ref ==0.4.0.0
   - uncertain ==0.3.1.0
   - unexceptionalio ==0.3.0
-  - unfoldable ==0.9.4
+  - unfoldable ==0.9.5
   - unfoldable-restricted ==0.0.3
   - unicode ==0.0
   - unicode-show ==0.1.0.2
@@ -2405,8 +2409,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.2
   - unit-constraint ==0.0.0
   - units-parser ==0.1.1.2
   - universe ==1.0
@@ -2419,7 +2423,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.3
   - unix-compat ==0.5.0.1
   - unix-time ==0.3.7
-  - unliftio ==0.2.2.0
+  - unliftio ==0.2.4.0
   - unliftio-core ==0.1.1.0
   - unlit ==0.4.0.0
   - unordered-containers ==0.2.8.0
@@ -2445,7 +2449,7 @@ default-package-overrides:
   - validate-input ==0.4.0.0
   - validation ==0.6.2
   - validationt ==0.2.0.0
-  - validity ==0.4.0.2
+  - validity ==0.4.0.3
   - validity-aeson ==0.1.0.0
   - validity-bytestring ==0.2.0.0
   - validity-containers ==0.2.0.0
@@ -2476,20 +2480,20 @@ default-package-overrides:
   - versions ==3.3.1
   - vhd ==0.2.2
   - ViennaRNAParser ==1.3.3
-  - viewprof ==0.0.0.12
+  - viewprof ==0.0.0.13
   - vinyl ==0.7.0
   - vivid ==0.3.0.2
   - vivid-osc ==0.3.0.0
   - vivid-supercollider ==0.3.0.0
   - void ==0.7.2
-  - vty ==5.19.1
+  - vty ==5.19.2
   - wai ==3.2.1.1
   - wai-app-static ==3.1.6.1
   - wai-cli ==0.1.1
   - wai-conduit ==3.0.0.3
   - wai-cors ==0.2.6
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.0.21.0
+  - wai-extra ==3.0.22.0
   - wai-handler-launch ==3.0.2.3
   - wai-logger ==2.3.1
   - wai-middleware-auth ==0.1.2.1
@@ -2500,7 +2504,7 @@ default-package-overrides:
   - wai-middleware-crowd ==0.1.4.2
   - wai-middleware-metrics ==0.2.4
   - wai-middleware-prometheus ==0.3.0
-  - wai-middleware-rollbar ==0.8.1
+  - wai-middleware-rollbar ==0.8.2
   - wai-middleware-static ==0.8.1
   - wai-middleware-throttle ==0.2.2.0
   - wai-predicates ==0.10.0
@@ -2526,11 +2530,10 @@ default-package-overrides:
   - web-routes-th ==0.22.6.2
   - web-routes-wai ==0.24.3
   - webrtc-vad ==0.1.0.3
-  - websockets ==0.12.3.0
+  - websockets ==0.12.3.1
   - websockets-rpc ==0.6.0
   - websockets-simple ==0.0.6.3
   - websockets-snap ==0.10.2.4
-  - weeder ==0.1.11
   - weigh ==0.0.7
   - wide-word ==0.1.0.5
   - wikicfp-scraper ==0.1.0.9
@@ -2556,9 +2559,9 @@ default-package-overrides:
   - word-wrap ==0.4.1
   - Workflow ==0.8.3
   - wrap ==0.0.0
-  - wrecker ==1.2.3.0
+  - wrecker ==1.2.4.0
   - wreq ==0.5.2.0
-  - wreq-stringless ==0.5.2.0
+  - wreq-stringless ==0.5.9.1
   - writer-cps-full ==0.1.0.0
   - writer-cps-lens ==0.1.0.1
   - writer-cps-morph ==0.1.0.2
@@ -2582,7 +2585,7 @@ default-package-overrides:
   - xlsx-tabular ==0.2.2
   - xml ==1.3.14
   - xml-basic ==0.1.2
-  - xml-conduit ==1.7.0.1
+  - xml-conduit ==1.7.1.2
   - xml-conduit-parse ==0.3.1.2
   - xml-conduit-writer ==0.1.1.2
   - xmlgen ==0.6.2.1
@@ -2603,7 +2606,7 @@ default-package-overrides:
   - xturtle ==0.2.0.0
   - xxhash ==0.0.2
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.8.25.1
+  - yaml ==0.8.28
   - Yampa ==0.10.7
   - YampaSynth ==0.2
   - yeshql ==3.0.1.3
@@ -2614,7 +2617,7 @@ default-package-overrides:
   - yesod-auth-fb ==1.8.1
   - yesod-auth-hashdb ==1.6.2
   - yesod-bin ==1.5.3
-  - yesod-core ==1.4.37.2
+  - yesod-core ==1.4.37.3
   - yesod-csp ==0.2.4.0
   - yesod-eventsource ==1.4.1
   - yesod-fb ==0.4.0
@@ -2654,8 +2657,8 @@ default-package-overrides:
   - zeromq4-haskell ==0.7.0
   - zim-parser ==0.2.1.0
   - zip ==0.2.0
-  - zip-archive ==0.3.1.1
-  - zippers ==0.2.4
+  - zip-archive ==0.3.2.2
+  - zippers ==0.2.5
   - ziptastic-client ==0.3.0.3
   - ziptastic-core ==0.2.0.3
   - zlib ==0.6.1.2
@@ -2691,7 +2694,6 @@ extra-packages:
   - haskell-gi-overloading == 0.0       # gi-* packages use this dependency to disable overloading support
   - haskell-src-exts == 1.19.*          # required by hindent and structured-haskell-mode
   - hoogle == 5.0.14                    # required by hie-hoogle
-  - hpack == 0.20.*                     # required by stack-1.6.1
   - inline-c < 0.6                      # required on GHC 8.0.x
   - inline-c-cpp < 0.2                  # required on GHC 8.0.x
   - language-c == 0.7.0                 # required by c2hs hack to work around https://github.com/haskell/c2hs/issues/192.
@@ -2703,6 +2705,7 @@ extra-packages:
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - seqid-streams < 0.2                 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
+  - ShellCheck == 0.4.6                 # required by multi-ghc-travis
   - split < 0.2                         # newer versions don't work with GHC 6.12.3
   - tar < 0.4.2.0                       # later versions don't work with GHC < 7.6.x
   - transformers == 0.4.3.*             # the latest version isn't supported by mtl yet
@@ -2712,6 +2715,7 @@ package-maintainers:
   peti:
     - cabal-install
     - cabal2nix
+    - cabal2spec
     - funcmp
     - git-annex
     - hackage-db
@@ -2724,6 +2728,8 @@ package-maintainers:
     - hsemail
     - hsyslog
     - jailbreak-cabal
+    - lambdabot-core
+    - lambdabot-irc-plugins
     - language-nix
     - logging-facade-syslog
     - pandoc
@@ -2758,12 +2764,9 @@ package-maintainers:
     - shakespeare
   abbradar:
     - Agda
-    - lambdabot
   alunduil:
-    - collection-json
     - network-arbitrary
     - network-uri-json
-    - siren-json
 
 dont-distribute-packages:
   # hard restrictions that really belong into meta.platforms
@@ -2870,6 +2873,7 @@ dont-distribute-packages:
   nomyx-library:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   nomyx-server:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   passman-cli:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  passman-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   reflex-dom-colonnade:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   reflex-dom-contrib:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   reflex-dom-helpers:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2964,6 +2968,7 @@ dont-distribute-packages:
   aern2-real:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-applicative:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-bson:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aeson-diff:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-extra:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-flowtyped:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-native:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3229,6 +3234,7 @@ dont-distribute-packages:
   battleships:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   bayes-stack:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   BCMtools:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bdcs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam-th:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   beamable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3237,6 +3243,7 @@ dont-distribute-packages:
   beeminder-api:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Befunge93:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   bein:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  belka:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   BenchmarkHistory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bencoding:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   berkeleydb:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3390,6 +3397,7 @@ dont-distribute-packages:
   breakout:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   breve:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   brians-brain:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  brick-skylighting:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   bricks:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   brillig:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   brittany:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3465,7 +3473,6 @@ dont-distribute-packages:
   cabal2doap:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal2ebuild:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal2ghci:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
-  cabal2spec:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabalgraph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabalish:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabalmdvrpm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3497,6 +3504,7 @@ dont-distribute-packages:
   cao:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cap:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Capabilities:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  capataz:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   capri:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   car-pool:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   carboncopy:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3689,6 +3697,7 @@ dont-distribute-packages:
   cmv:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cnc-spec-compiler:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   Coadjute:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  coalpit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   codec-libevent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   codec-rpm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   codecov-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3699,11 +3708,13 @@ dont-distribute-packages:
   cognimeta-utils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   coin:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   coinbase-exchange:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  coincident-root-loci:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   colada:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   colchis:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   collada-output:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   collada-types:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   collapse-util:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  collection-json:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   collections-api:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   collections-base-instances:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   collections:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3714,6 +3725,8 @@ dont-distribute-packages:
   coltrane:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   columbia:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   com:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  combinat-diagrams:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  combinat:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   combinator-interactive:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   combinatorial-problems:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Combinatorrent:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3922,6 +3935,7 @@ dont-distribute-packages:
   currency-convert:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry-base:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   curry-frontend:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  curry:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   CurryDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   curryrs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   curve25519:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4416,6 +4430,7 @@ dont-distribute-packages:
   explicit-sharing:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   explore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   exposed-containers:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  expressions-z3:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   extcore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   extemp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   extended-categories:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4439,6 +4454,8 @@ dont-distribute-packages:
   falling-turnip:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   fallingblocks:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   family-tree:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fast-arithmetic:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fast-combinatorics:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   fast-nats:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fast-tagsoup:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   fastbayes:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4687,6 +4704,7 @@ dont-distribute-packages:
   geek:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gegl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gemstone:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gen-imports:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gen-passwd:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gencheck:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   gender:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4741,6 +4759,7 @@ dont-distribute-packages:
   geolite-csv:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   geom2d:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   GeomPredicates-SSE:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  geos:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   getemx:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   getflag:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gf:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4778,6 +4797,7 @@ dont-distribute-packages:
   gi-gdkx11:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-ggit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gio:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-girepository:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gst:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstaudio:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstbase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4796,6 +4816,7 @@ dont-distribute-packages:
   gi-secret:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-soup:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-vte:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-xlib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   giak:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Gifcurry:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ginsu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5035,6 +5056,7 @@ dont-distribute-packages:
   haddock-test:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   haddock:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   haddocset:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hadolint:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadoop-formats:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadoop-rpc:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hadoop-tools:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5349,6 +5371,7 @@ dont-distribute-packages:
   heap:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hecc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   heckle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hedgehog-gen-json:                            [ 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 ]
@@ -5511,6 +5534,7 @@ dont-distribute-packages:
   hlibfam:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlibsass:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HList:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hlist:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   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 ]
@@ -5612,6 +5636,7 @@ dont-distribute-packages:
   hpg:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPhone:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hpio:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hplaylist:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   HPlot:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hpodder:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5846,6 +5871,7 @@ dont-distribute-packages:
   hw-kafka-avro:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwall-auth-iitk:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hweblib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hwhile:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hworker-ses:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hworker:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hws:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6013,6 +6039,7 @@ dont-distribute-packages:
   irc-fun-color:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Irc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ircbot:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  iri:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   iridium:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   iron-mq:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ironforge:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6211,7 +6238,9 @@ dont-distribute-packages:
   lambda-toolbox:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda2js:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaBase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambdabot-haskell-plugins:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdabot-utils:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambdabot:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacms-core:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacms-media:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacube-bullet:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6474,9 +6503,11 @@ dont-distribute-packages:
   lscabal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   LslPlus:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lsystem:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ltk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   lua-bc:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   luachunk:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   luautils:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lucid-colonnade:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   lucid-svg:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lucienne:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Lucu:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6507,6 +6538,7 @@ dont-distribute-packages:
   macosx-make-standalone:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   madlang:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mage:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  magic-wormhole:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   magicbane:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   MagicHaskeller:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   magico:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6665,6 +6697,7 @@ 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-cli:                                    [ 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 ]
@@ -6876,6 +6909,7 @@ dont-distribute-packages:
   nero-wai:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   nero-warp:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   nero:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nest:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   nested-routes:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   NestedFunctor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   nestedmap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6971,6 +7005,7 @@ dont-distribute-packages:
   notzero:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   np-linear:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   nptools:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ntha:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ntrip-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   NTRU:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   null-canvas:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6984,6 +7019,7 @@ dont-distribute-packages:
   numeric-qq:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   numeric-ranges:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask-array:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  numhask-histogram:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask-range:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   numhask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Nussinov78:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6992,6 +7028,7 @@ dont-distribute-packages:
   NXTDSL:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nylas:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   nymphaea:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  o-clock:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   oanda-rest-api:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   oauthenticated:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   obd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7008,6 +7045,7 @@ dont-distribute-packages:
   oculus:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   OddWord:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   oden-go-packages:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  odpic-raw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   off-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   OGL:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ogmarkup:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7131,6 +7169,7 @@ dont-distribute-packages:
   paprika:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   paragon:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Paraiso:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Parallel-Arrows-Eden:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   parallel-tasks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   paranoia:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   parco-attoparsec:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7479,6 +7518,7 @@ dont-distribute-packages:
   pyffi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pyfi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   python-pickle:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  q4c12-twofinger:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   qc-oi-testgenerator:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   qd-vec:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   qd:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7743,6 +7783,7 @@ dont-distribute-packages:
   rewrite:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rewriting:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rezoom:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rfc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhine-gloss:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhine:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhythm-game-tutorial:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7751,6 +7792,7 @@ dont-distribute-packages:
   ridley:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   riemann:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   riff:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rio:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   riot:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ripple-federation:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ripple:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8042,6 +8084,7 @@ dont-distribute-packages:
   sibe:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sifflet-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   sifflet:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sigma-ij:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sign:                                         [ 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 ]
@@ -8084,6 +8127,7 @@ dont-distribute-packages:
   singnal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   sink:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   siphon:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  siren-json:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   sirkel:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sitepipe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sixfiguregroup:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9066,6 +9110,7 @@ dont-distribute-packages:
   why3:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   WikimediaParser:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   wikipedia4epub:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wild-bind-task-x11:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   windns:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   windowslive:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   winerror:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9082,6 +9127,7 @@ dont-distribute-packages:
   wobsurv:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   woffex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wolf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  word2vec-model:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   WordAlignment:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Wordlint:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   WordNet-ghc74:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9294,6 +9340,7 @@ dont-distribute-packages:
   yuuko:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   yxdb-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   z3-encoding:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  z3:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   zabt:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   zampolit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   zasni-gerna:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9333,4 +9380,5 @@ dont-distribute-packages:
   Zora:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   zsh-battery:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zstd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zuramaru:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Zwaluw:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index 4db418a7775b..d528230b77cf 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -1,4 +1,5 @@
 { pkgs, stdenv, lib, haskellLib, ghc, all-cabal-hashes
+, buildHaskellPackages
 , compilerConfig ? (self: super: {})
 , packageSetConfig ? (self: super: {})
 , overrides ? (self: super: {})
@@ -14,7 +15,7 @@ let
 
   haskellPackages = pkgs.callPackage makePackageSet {
     package-set = initialPackages;
-    inherit stdenv haskellLib ghc extensible-self;
+    inherit stdenv haskellLib ghc buildHaskellPackages extensible-self;
   };
 
   commonConfiguration = configurationCommon { inherit pkgs haskellLib; };
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 5b2b23fc7903..14a8a628b58c 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, ghc
+{ stdenv, buildPackages, buildHaskellPackages, ghc
 , jailbreak-cabal, hscolour, cpphs, nodejs
 , buildPlatform, hostPlatform
 }:
@@ -72,8 +72,7 @@ assert enableSplitObjs == null;
 let
 
   inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast
-                       concatStringsSep enableFeature optionalAttrs toUpper
-                       filter makeLibraryPath;
+                       concatStringsSep enableFeature optionalAttrs toUpper;
 
   isGhcjs = ghc.isGhcjs or false;
   isHaLVM = ghc.isHaLVM or false;
@@ -81,7 +80,11 @@ let
                   then "package-db"
                   else "package-conf";
 
-  nativeGhc = if isCross || isGhcjs then ghc.bootPkgs.ghc else ghc;
+  # GHC used for building Setup.hs
+  #
+  # Same as our GHC, unless we're cross, in which case it is native GHC with the
+  # same version, or ghcjs, in which case its the ghc used to build ghcjs.
+  nativeGhc = buildHaskellPackages.ghc;
   nativePackageDbFlag = if versionOlder "7.6" nativeGhc.version
                         then "package-db"
                         else "package-conf";
@@ -147,8 +150,7 @@ let
   ] ++ crossCabalFlags);
 
   setupCompileFlags = [
-    (optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir")
-    (optionalString isGhcjs "-build-runner")
+    (optionalString (!coreSetup) "-${nativePackageDbFlag}=$packageConfDir")
     (optionalString (isGhcjs || isHaLVM || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
     # https://github.com/haskell/cabal/issues/2398
     (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded")
@@ -160,14 +162,12 @@ let
   allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
                         optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
 
-  nativeBuildInputs = optional (allPkgconfigDepends != []) pkgconfig ++
-                      buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ];
+  nativeBuildInputs = [ ghc nativeGhc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
+                      buildTools ++ libraryToolDepends ++ executableToolDepends;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
   otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
                      optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
                      optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
-                     # ghcjs's hsc2hs calls out to the native hsc2hs
-                     optional isGhcjs nativeGhc ++
                      optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
   allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
 
@@ -176,12 +176,14 @@ let
 
   ghcEnv = ghc.withPackages (p: haskellBuildInputs);
 
-  setupBuilder = if isCross then "${nativeGhc}/bin/ghc" else ghcCommand;
   setupCommand = "./Setup";
+
   ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
   ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
   ghcCommandCaps= toUpper ghcCommand';
 
+  nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
+
 in
 
 assert allPkgconfigDepends != [] -> pkgconfig != null;
@@ -220,7 +222,6 @@ stdenv.mkDerivation ({
     runHook preSetupCompilerEnvironment
 
     echo "Build with ${ghc}."
-    export PATH="${ghc}/bin:$PATH"
     ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
 
     packageConfDir="$TMPDIR/package.conf.d"
@@ -271,11 +272,13 @@ stdenv.mkDerivation ({
     done
 
     echo setupCompileFlags: $setupCompileFlags
-    ${setupBuilder} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
+    ${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
 
     runHook postCompileBuildDriver
   '';
 
+  # Cabal takes flags like `--configure-option=--host=...` instead
+  configurePlatforms = [];
   inherit configureFlags;
 
   configurePhase = ''
@@ -380,7 +383,7 @@ stdenv.mkDerivation ({
     env = stdenv.mkDerivation {
       name = "interactive-${pname}-${version}-environment";
       buildInputs = systemBuildInputs;
-      nativeBuildInputs = [ ghcEnv ];
+      nativeBuildInputs = [ ghcEnv ] ++ nativeBuildInputs;
       LANG = "en_US.UTF-8";
       LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
       shellHook = ''
@@ -388,9 +391,6 @@ stdenv.mkDerivation ({
         export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
         # TODO: is this still valid?
         export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
-        export LD_LIBRARY_PATH="''${LD_LIBRARY_PATH:+''${LD_LIBRARY_PATH}:}${
-          makeLibraryPath (filter (x: !isNull x) systemBuildInputs)
-        }"
         ${if isHaLVM
             then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
             else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"''}
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 7cc141655666..796cc5262dc2 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1821,21 +1821,19 @@ self: {
      , containers, data-default, directory, filepath, HaXml, haxr
      , highlighting-kate, hscolour, HTTP, lens, mtl, pandoc
      , pandoc-citeproc, pandoc-types, parsec, process, split, strict
-     , tagsoup, temporary, transformers
+     , tagsoup, temporary, text, transformers
      }:
      mkDerivation {
        pname = "BlogLiterately";
-       version = "0.8.4.3";
-       sha256 = "088pfqgp1m1qv7qdi7h4vvflhlsnay40zg6vnsa3nykyvkm9sy2n";
-       revision = "1";
-       editedCabalFile = "01fpw6xqfdrhm26frf1mm05spk2zp6f3swl48mk4pz3zbffaskps";
+       version = "0.8.6.1";
+       sha256 = "1hnw8lzbrhpjwjvy19ppkybxmw9v88rgc8y0sp4z056i2fki09jw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base blaze-html bool-extras bytestring cmdargs containers
          data-default directory filepath HaXml haxr highlighting-kate
          hscolour HTTP lens mtl pandoc pandoc-citeproc pandoc-types parsec
-         process split strict tagsoup temporary transformers
+         process split strict tagsoup temporary text transformers
        ];
        executableHaskellDepends = [ base cmdargs ];
        homepage = "http://byorgey.wordpress.com/blogliterately/";
@@ -2694,6 +2692,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ChannelT_0_0_0_7" = callPackage
+    ({ mkDerivation, base, free, mmorph, mtl, transformers-base }:
+     mkDerivation {
+       pname = "ChannelT";
+       version = "0.0.0.7";
+       sha256 = "183pghm74vk1vdcn0mdn6g5q284sncpl1cc49lpczz1wbr15s89y";
+       libraryHaskellDepends = [ base free mmorph mtl transformers-base ];
+       homepage = "https://github.com/pthariensflame/ChannelT";
+       description = "Generalized stream processors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Chart" = callPackage
     ({ mkDerivation, array, base, colour, data-default-class, lens, mtl
      , old-locale, operational, time, vector
@@ -3543,6 +3554,37 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "DAV_1_3_2" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , data-default, exceptions, haskeline, http-client, http-client-tls
+     , http-types, lens, mtl, network, network-uri, optparse-applicative
+     , transformers, transformers-base, transformers-compat, utf8-string
+     , xml-conduit, xml-hamlet
+     }:
+     mkDerivation {
+       pname = "DAV";
+       version = "1.3.2";
+       sha256 = "0sai0b7bxwif5czmmdik5dx318drx18inid87wfrxckrflsi8cv1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers data-default exceptions
+         http-client http-client-tls http-types lens mtl transformers
+         transformers-base transformers-compat utf8-string xml-conduit
+         xml-hamlet
+       ];
+       executableHaskellDepends = [
+         base bytestring case-insensitive containers data-default exceptions
+         haskeline http-client http-client-tls http-types lens mtl network
+         network-uri optparse-applicative transformers transformers-base
+         transformers-compat utf8-string xml-conduit xml-hamlet
+       ];
+       homepage = "http://floss.scru.org/hDAV";
+       description = "RFC 4918 WebDAV support";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "DBlimited" = callPackage
     ({ mkDerivation, base, containers, parsec }:
      mkDerivation {
@@ -6553,6 +6595,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "Get" = callPackage
+    ({ mkDerivation, base, constraints, singletons }:
+     mkDerivation {
+       pname = "Get";
+       version = "0.2018.1.10";
+       sha256 = "18i6ags8acgi651453g7axw7isiqivjhb4s0nh3lyl87ynqsch6l";
+       libraryHaskellDepends = [ base constraints singletons ];
+       testHaskellDepends = [ base constraints singletons ];
+       homepage = "https://github.com/MarisaKirisame/Get#readme";
+       description = "get stuff out of stuff";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "GiST" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -7419,8 +7474,8 @@ self: {
     ({ mkDerivation, base, bytestring, fuse, unix }:
      mkDerivation {
        pname = "HFuse";
-       version = "0.2.4.5";
-       sha256 = "1894dk7flfdblyyrx0d1acznrdbjw41dnal45cqvrxz5vy4hd3p2";
+       version = "0.2.5.0";
+       sha256 = "1sv7w1jn0p2dgdcqy7pnmwgp1dghh4jqz21m7ixvidks0nlfkq02";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring unix ];
@@ -8572,6 +8627,8 @@ self: {
        pname = "HStringTemplate";
        version = "0.8.6";
        sha256 = "1kam09fhnz1485swp5z1k8whjiwz9fcscp6zibxkq8hw3sfcn8kh";
+       revision = "1";
+       editedCabalFile = "05j23rsll9xxj92gk1qvaksd9z985fpdmbp8mv73ywwjl29kfwyb";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
          filepath mtl old-locale parsec pretty syb template-haskell text
@@ -9391,15 +9448,16 @@ self: {
      }) {};
 
   "Hastodon" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
-     , MissingH, text
+    ({ mkDerivation, aeson, base, bytestring, http-client, http-conduit
+     , http-types, mime-types, MissingH, text
      }:
      mkDerivation {
        pname = "Hastodon";
-       version = "0.2.0";
-       sha256 = "1ybchvkcv9n4wp8r4xassmgw1z0kdscmkccg3rbhz72lwp3m13zz";
+       version = "0.3.1";
+       sha256 = "0z8ph9frrad5nn23hi3qr2gj7lh7p2qpcmx4rdyv8vlqal38zdv1";
        libraryHaskellDepends = [
-         aeson base bytestring http-conduit http-types MissingH text
+         aeson base bytestring http-client http-conduit http-types
+         mime-types MissingH text
        ];
        homepage = "https://github.com/syucream/hastodon";
        description = "mastodon client module for Haskell";
@@ -9687,23 +9745,52 @@ self: {
      }) {};
 
   "Hoed" = callPackage
-    ({ mkDerivation, array, base, bytestring, cereal, containers
-     , directory, filepath, libgraph, mtl, process, regex-posix, time
+    ({ mkDerivation, array, base, bytestring, cereal, clock, containers
+     , deepseq, directory, libgraph, process, QuickCheck, regex-tdfa
+     , semigroups, strict, template-haskell, terminal-size, uniplate
+     , vector
      }:
      mkDerivation {
        pname = "Hoed";
-       version = "0.4.0";
-       sha256 = "0l01viv04dkxinysd7wbzn7k5rm8c21ix8k5a4p940hml879m9f1";
-       enableSeparateDataOutput = true;
+       version = "0.4.1";
+       sha256 = "14d4wypx75xmhb81f4lplvw04f5hjc97ncgzv4s07vd09bal8kq7";
        libraryHaskellDepends = [
-         array base bytestring cereal containers directory filepath libgraph
-         mtl process regex-posix time
+         array base bytestring cereal clock containers deepseq directory
+         libgraph process QuickCheck regex-tdfa semigroups strict
+         template-haskell terminal-size uniplate vector
        ];
-       homepage = "https://wiki.haskell.org/Hoed";
+       testHaskellDepends = [ base process QuickCheck ];
+       homepage = "https://github.com/MaartenFaddegon/Hoed";
        description = "Lightweight algorithmic debugging";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Hoed_0_5_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, cereal-text
+     , cereal-vector, clock, containers, deepseq, directory, hashable
+     , hashtables, libgraph, open-browser, primitive, process
+     , QuickCheck, regex-tdfa, regex-tdfa-text, semigroups, strict
+     , template-haskell, terminal-size, text, transformers, uniplate
+     , vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "Hoed";
+       version = "0.5.0";
+       sha256 = "1pj2scisdissbhlf6gn5bxqp09zvi5v7h8n7l3y1rirkqwwf74a8";
+       libraryHaskellDepends = [
+         array base bytestring cereal cereal-text cereal-vector clock
+         containers deepseq directory hashable hashtables libgraph
+         open-browser primitive process QuickCheck regex-tdfa
+         regex-tdfa-text semigroups strict template-haskell terminal-size
+         text transformers uniplate vector vector-th-unbox
+       ];
+       testHaskellDepends = [ base process QuickCheck ];
+       homepage = "https://github.com/MaartenFaddegon/Hoed";
+       description = "Lightweight algorithmic debugging";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HoleyMonoid" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -9972,8 +10059,8 @@ self: {
      }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.4.11";
-       sha256 = "0dgywjkvzxwpr33l642cw8v2gqn3s8kclg97xs1w8a5pqcg647pp";
+       version = "0.11.4.12";
+       sha256 = "18hmbjg15rlpnqq95z2d2xskj5l0hcv5mp9hb16jb26rcdi54sim";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring integer-gmp network time
@@ -10299,8 +10386,8 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6DB";
-       version = "0.2.3";
-       sha256 = "0j51v7y475wdrhjwrqrmlh6574l032vh7zsdhxqx723f7iswjimf";
+       version = "0.2.4";
+       sha256 = "1axppdhckdch3kjcmw8dga76v865xccdwsksxfnahg32k613g8zd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -10729,6 +10816,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "JuicyPixels_3_2_9_4" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq, mtl
+     , primitive, transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "JuicyPixels";
+       version = "3.2.9.4";
+       sha256 = "1mlj3zcr3c49mjv0sddsfdzvzv3m0cbv56fbrkarygs5dxyh8dgz";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq mtl primitive
+         transformers vector zlib
+       ];
+       homepage = "https://github.com/Twinside/Juicy.Pixels";
+       description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "JuicyPixels-canvas" = callPackage
     ({ mkDerivation, base, containers, JuicyPixels }:
      mkDerivation {
@@ -10748,6 +10853,8 @@ self: {
        pname = "JuicyPixels-extra";
        version = "0.2.2";
        sha256 = "1f0ysxwd73s04mrqzqj9rfp6dd5441ckc96x2a4zkc1hixgkfzld";
+       revision = "1";
+       editedCabalFile = "1h88x4bp9jvxx8laz69izna82a9d3bapr7nfpa9gpbvqpmi7d3vd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base JuicyPixels ];
        testHaskellDepends = [ base hspec JuicyPixels ];
@@ -11426,6 +11533,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "Learning" = callPackage
+    ({ mkDerivation, base, hmatrix, vector }:
+     mkDerivation {
+       pname = "Learning";
+       version = "0.0.0";
+       sha256 = "18fh7gbpb4pm3cfsz3sxynippg6khf9cj4ijbk6q0xa107czy9w6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base hmatrix vector ];
+       executableHaskellDepends = [ base hmatrix vector ];
+       testHaskellDepends = [ base hmatrix vector ];
+       homepage = "https://github.com/masterdezign/Learning#readme";
+       description = "Most frequently used machine learning tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "Level0" = callPackage
     ({ mkDerivation, base, directory, random, SDL, SDL-ttf }:
      mkDerivation {
@@ -11593,6 +11716,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ListLike_4_6" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , dlist, fmlist, HUnit, QuickCheck, random, semigroups, text
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "ListLike";
+       version = "4.6";
+       sha256 = "16jsj979mzjrgmpa20pls9ganym3wsps49paks1sb1gmlmwyrkf1";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq dlist fmlist semigroups
+         text utf8-string vector
+       ];
+       testHaskellDepends = [
+         array base bytestring containers dlist fmlist HUnit QuickCheck
+         random semigroups text utf8-string vector
+       ];
+       homepage = "http://github.com/JohnLato/listlike";
+       description = "Generic support for list-like structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ListT" = callPackage
     ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck
      , transformers, util
@@ -12143,6 +12289,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "MemoTrie_0_6_9" = callPackage
+    ({ mkDerivation, base, newtype-generics }:
+     mkDerivation {
+       pname = "MemoTrie";
+       version = "0.6.9";
+       sha256 = "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base newtype-generics ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/conal/MemoTrie";
+       description = "Trie-based memo functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "MetaHDBC" = callPackage
     ({ mkDerivation, base, convertible, hashtables, HDBC, HDBC-odbc
      , mtl, template-haskell
@@ -12244,6 +12406,8 @@ self: {
        pname = "MiniAgda";
        version = "0.2017.2.18";
        sha256 = "0s3xp18y4kcjd1qq87vbhijbbpi9d1p08dgxw7521xlr3gmxkqxw";
+       revision = "1";
+       editedCabalFile = "0n4sd1b0c9fmgn7xqbhbms6y3ffkdgpa4fw7xcx31vgql2adxb0n";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -13061,6 +13225,7 @@ self: {
        libraryHaskellDepends = [ array base integer ];
        description = "A binary I/O library";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {integer = null;};
 
@@ -14140,6 +14305,99 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "Parallel-Arrows-BaseSpec" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, Parallel-Arrows-Definition
+     , split
+     }:
+     mkDerivation {
+       pname = "Parallel-Arrows-BaseSpec";
+       version = "0.1.1.0";
+       sha256 = "014fy1sv1b82wxd3wpsxvnv3jn07d24r4ph3bi7p6i8aykx2a9f4";
+       libraryHaskellDepends = [
+         base deepseq hspec Parallel-Arrows-Definition split
+       ];
+       testHaskellDepends = [
+         base hspec Parallel-Arrows-Definition split
+       ];
+       homepage = "https://github.com/s4ke/Parrows#readme";
+       description = "BaseSpecs used for @Parallel-Arrows-Definition@ and Co";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Parallel-Arrows-Definition" = callPackage
+    ({ mkDerivation, base, deepseq, split }:
+     mkDerivation {
+       pname = "Parallel-Arrows-Definition";
+       version = "0.1.1.0";
+       sha256 = "1zdsvg0nx2vnvgx9vcwq8l1kanfp056mmiscs3716lswkrvhdlbf";
+       libraryHaskellDepends = [ base deepseq split ];
+       homepage = "https://github.com/s4ke/Parrows#readme";
+       description = "Multithreaded evaluation using Arrows";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Parallel-Arrows-Eden" = callPackage
+    ({ mkDerivation, base, deepseq, edenmodules, hspec, parallel
+     , Parallel-Arrows-BaseSpec, Parallel-Arrows-Definition, QuickCheck
+     , split
+     }:
+     mkDerivation {
+       pname = "Parallel-Arrows-Eden";
+       version = "0.1.1.0";
+       sha256 = "1iihlxghr2f70zbw3kkilckzfw24sjax6ck0g42272kj61gk2zy7";
+       libraryHaskellDepends = [
+         base deepseq edenmodules parallel Parallel-Arrows-Definition split
+       ];
+       testHaskellDepends = [
+         base deepseq edenmodules hspec parallel Parallel-Arrows-BaseSpec
+         Parallel-Arrows-Definition QuickCheck split
+       ];
+       homepage = "https://github.com/s4ke/Parrows#readme";
+       description = "Eden based backend for @Parallel-Arrows-Definition@";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Parallel-Arrows-Multicore" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, parallel
+     , Parallel-Arrows-BaseSpec, Parallel-Arrows-Definition, split
+     }:
+     mkDerivation {
+       pname = "Parallel-Arrows-Multicore";
+       version = "0.1.1.0";
+       sha256 = "0g9ag9lk8mvnbfgzay27sq517an6cmv02fapxsn2lmr5vs7k63ar";
+       libraryHaskellDepends = [
+         base deepseq parallel Parallel-Arrows-Definition split
+       ];
+       testHaskellDepends = [
+         base deepseq hspec parallel Parallel-Arrows-BaseSpec
+         Parallel-Arrows-Definition split
+       ];
+       homepage = "https://github.com/s4ke/Parrows#readme";
+       description = "GpH based backend for @Parallel-Arrows-Definition@ in a multicore variant";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Parallel-Arrows-ParMonad" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, monad-par
+     , Parallel-Arrows-BaseSpec, Parallel-Arrows-Definition, split
+     }:
+     mkDerivation {
+       pname = "Parallel-Arrows-ParMonad";
+       version = "0.1.1.0";
+       sha256 = "193794v158wfblriklp2jgxa3hk86p4kxbp8sj1hh16dwb0qa9cr";
+       libraryHaskellDepends = [
+         base deepseq monad-par Parallel-Arrows-Definition split
+       ];
+       testHaskellDepends = [
+         base deepseq hspec monad-par Parallel-Arrows-BaseSpec
+         Parallel-Arrows-Definition split
+       ];
+       homepage = "https://github.com/s4ke/Parrows#readme";
+       description = "Par Monad (@monad-par@) based backend for @Parallel-Arrows-Definition@";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "Parry" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, directory
      , ghc-prim, network, old-locale, process, random, RSA
@@ -14399,8 +14657,8 @@ self: {
      }:
      mkDerivation {
        pname = "Plot-ho-matic";
-       version = "0.12.1.0";
-       sha256 = "08210lfmbzaazk5d0j9gw81m7416hk0ldiyahp7g9kpj49nhpmrg";
+       version = "0.12.2.0";
+       sha256 = "1hy641q1qjjlig5xs2v3l2nj3mc10zrxsipr24x6b2750lhakbr4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -14869,6 +15127,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "QuickCheck_2_11_3" = callPackage
+    ({ mkDerivation, base, containers, deepseq, random
+     , template-haskell, tf-random, transformers
+     }:
+     mkDerivation {
+       pname = "QuickCheck";
+       version = "2.11.3";
+       sha256 = "0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328";
+       libraryHaskellDepends = [
+         base containers deepseq random template-haskell tf-random
+         transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/nick8325/quickcheck";
+       description = "Automatic testing of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "QuickCheck-GenT" = callPackage
     ({ mkDerivation, base, mtl, QuickCheck, random }:
      mkDerivation {
@@ -14893,12 +15170,13 @@ self: {
      }) {};
 
   "QuickCheckVariant" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
+    ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
        pname = "QuickCheckVariant";
-       version = "0.2.0.0";
-       sha256 = "10nnwyks1gx9claaagljrplgsyyxkvmz7a17rkx00gbrd5x5bn2s";
+       version = "1.0.0.0";
+       sha256 = "0gxq90fh1bgy2vcpyzbdgnly7q88bbqx06dq44rmv3fwjs61rc82";
        libraryHaskellDepends = [ base QuickCheck ];
+       testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/sanjorgek/QuickCheckVariant";
        description = "Generator of \"valid\" and \"invalid\" data in a type class";
        license = stdenv.lib.licenses.gpl3;
@@ -15741,6 +16019,7 @@ self: {
        librarySystemDepends = [ SDL2_ttf ];
        description = "Binding to libSDL-ttf";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {SDL2 = null; inherit (pkgs) SDL2_ttf;};
 
@@ -16327,6 +16606,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ShellCheck_0_4_6" = callPackage
+    ({ mkDerivation, base, containers, directory, json, mtl, parsec
+     , process, QuickCheck, regex-tdfa
+     }:
+     mkDerivation {
+       pname = "ShellCheck";
+       version = "0.4.6";
+       sha256 = "1g5ihsma3zgb7q89n2j4772f504nnhfn065xdz6bqgrnjhkrpsqi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory json mtl parsec process QuickCheck
+         regex-tdfa
+       ];
+       executableHaskellDepends = [
+         base containers directory json mtl parsec QuickCheck regex-tdfa
+       ];
+       testHaskellDepends = [
+         base containers directory json mtl parsec QuickCheck regex-tdfa
+       ];
+       homepage = "http://www.shellcheck.net/";
+       description = "Shell script analysis tool";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ShellCheck" = callPackage
     ({ mkDerivation, base, containers, directory, json, mtl, parsec
      , process, QuickCheck, regex-tdfa
@@ -16592,17 +16897,22 @@ self: {
      }) {};
 
   "Sit" = callPackage
-    ({ mkDerivation, array, base, containers, data-lens-light, mtl }:
+    ({ mkDerivation, alex, array, base, containers, data-lens-light
+     , happy, mtl
+     }:
      mkDerivation {
        pname = "Sit";
        version = "0.2017.5.2";
        sha256 = "1hal35bp7jw2dwmnd68p27hn19mgpdf28lpf8nh0qja59gxk4lff";
+       revision = "2";
+       editedCabalFile = "1chbiyvp02yn03pvqd4r4z3yprb7yiwmxmw2kl6gr5aml9923w41";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          array base containers data-lens-light mtl
        ];
+       executableToolDepends = [ alex happy ];
        homepage = "https://github.com/andreasabel/Sit";
        description = "Prototypical type checker for Type Theory with Sized Natural Numbers";
        license = "unknown";
@@ -17127,8 +17437,8 @@ self: {
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.1";
-       sha256 = "085kw1rw4dkyivjpm7l5alj0x9cgzd8c2ai4f2k1kkcwjkhbpllv";
+       version = "1.1.2";
+       sha256 = "1x41m0xcmz9j4gypbl4pi6a6v53j6v37ndl8g5rq60fqfl18hizb";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools SVGFonts text vector
@@ -17227,6 +17537,7 @@ self: {
        libraryHaskellDepends = [ base mtl ];
        homepage = "http://naesten.dyndns.org:8080/repos/StrategyLib";
        license = stdenv.lib.licenses.unfree;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Stream" = callPackage
@@ -18204,8 +18515,8 @@ self: {
      }:
      mkDerivation {
        pname = "Unique";
-       version = "0.4.7.1";
-       sha256 = "1a912180fk2xhz6md50n21xz0z89n9ylansyqxq034jgsfkz8b7s";
+       version = "0.4.7.2";
+       sha256 = "0ssvg5sjhvadsfym02y0l712viv9xk2sfvrfs1q7260p7025aqdm";
        libraryHaskellDepends = [
          base containers extra hashable unordered-containers
        ];
@@ -18471,13 +18782,13 @@ self: {
 
   "Villefort" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, HDBC
-     , HDBC-sqlite3, MissingH, mtl, process, random, scotty, split
-     , strict, text, time, transformers, unix
+     , HDBC-sqlite3, hspec, MissingH, mtl, process, QuickCheck, random
+     , scotty, split, strict, text, time, transformers, unix, webdriver
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.2.5";
-       sha256 = "1d4yq1bzjqk3w0rsjmb7y50jg0gyjbjckgbfhw9np0qbzbv2vpy3";
+       version = "0.1.2.9";
+       sha256 = "1mnh2snr1pwv5nwv4g7scwmclh2nm871kqb5py0v5sx4ff04kgbi";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -18488,7 +18799,9 @@ self: {
        executableHaskellDepends = [
          base HDBC HDBC-sqlite3 random scotty split text time
        ];
-       testHaskellDepends = [ base HDBC HDBC-sqlite3 ];
+       testHaskellDepends = [
+         base HDBC HDBC-sqlite3 hspec mtl QuickCheck webdriver
+       ];
        homepage = "https://github.com/Chrisr850/Villefort#readme";
        description = "Villefort is a task manager and time tracker written in haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -19119,7 +19432,7 @@ self: {
 
   "X11" = callPackage
     ({ mkDerivation, base, data-default, libX11, libXext, libXinerama
-     , libXrandr, libXrender
+     , libXrandr, libXrender, libXScrnSaver
      }:
      mkDerivation {
        pname = "X11";
@@ -19127,14 +19440,14 @@ self: {
        sha256 = "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl";
        libraryHaskellDepends = [ base data-default ];
        librarySystemDepends = [
-         libX11 libXext libXinerama libXrandr libXrender
+         libX11 libXext libXinerama libXrandr libXrender libXScrnSaver
        ];
        homepage = "https://github.com/xmonad/X11";
        description = "A binding to the X11 graphics library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXext; 
-         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
-         inherit (pkgs.xorg) libXrender;};
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXScrnSaver; 
+         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXinerama; 
+         inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXrender;};
 
   "X11-extras" = callPackage
     ({ mkDerivation, base, libX11, X11 }:
@@ -20160,8 +20473,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-fourier";
-       version = "1.0.0.2";
-       sha256 = "1rcbxrhh55jrp8f8g7pb8a4mq0cmhrhfx6q8z8n1hlyazswfdw1d";
+       version = "1.0.0.3";
+       sha256 = "1xh6anashsvj5mfkwbl3as9gjgwl69q0qz3js0xbii8vdmhbbbnb";
        libraryHaskellDepends = [
          accelerate accelerate-arithmetic accelerate-utility base containers
          QuickCheck transformers utility-ht
@@ -20271,29 +20584,6 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-llvm-ptx";
-       version = "1.1.0.0";
-       sha256 = "1av0s4wgq7l2jhkmg7cmr1fivwqankqgyjikpwg1q569dapfrasw";
-       revision = "1";
-       editedCabalFile = "1zap2f9xalxqgc3pkzmq7ykpiini1q4d02kyxibnwbh9cyk1kkvp";
-       libraryHaskellDepends = [
-         accelerate accelerate-llvm base bytestring containers cuda deepseq
-         directory dlist fclabels file-embed filepath hashable llvm-hs
-         llvm-hs-pure mtl nvvm pretty process template-haskell time
-         unordered-containers
-       ];
-       description = "Accelerate backend for NVIDIA GPUs";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "accelerate-llvm-ptx_1_1_0_1" = callPackage
-    ({ mkDerivation, accelerate, accelerate-llvm, base, bytestring
-     , containers, cuda, deepseq, directory, dlist, fclabels, file-embed
-     , filepath, hashable, llvm-hs, llvm-hs-pure, mtl, nvvm, pretty
-     , process, template-haskell, time, unordered-containers
-     }:
-     mkDerivation {
-       pname = "accelerate-llvm-ptx";
        version = "1.1.0.1";
        sha256 = "0j1j4y0gx219ib8hyklydv0l610j53zg6qan4n7477rs58ninv5j";
        libraryHaskellDepends = [
@@ -20561,6 +20851,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "acme-cuteboy" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-cuteboy";
+       version = "0.1.0.0";
+       sha256 = "1x21mvm1n6cka07c3d3w8ycp84gx58af1nvpsfcaa7sccj13jvj9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/chessai/acme-cuteboy";
+       description = "Maybe gives you a cute boy";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "acme-cutegirl" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -21048,8 +21353,8 @@ self: {
        pname = "active";
        version = "0.2.0.13";
        sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx";
-       revision = "2";
-       editedCabalFile = "1ml42hbvfhqzpdi1y5q6dqp4wq6zqb30f15r34n9ip9iv44qjwwf";
+       revision = "3";
+       editedCabalFile = "0jm8kkqa5k9nppis3jdx11nmds6w0x62rmnv5bn5q3b75llhnlc1";
        libraryHaskellDepends = [
          base lens linear semigroupoids semigroups vector
        ];
@@ -21134,18 +21439,18 @@ self: {
   "ad" = callPackage
     ({ mkDerivation, array, base, Cabal, cabal-doctest, comonad
      , containers, criterion, data-reify, directory, doctest, erf
-     , filepath, free, nats, reflection, transformers
+     , filepath, free, nats, reflection, semigroups, transformers
      }:
      mkDerivation {
        pname = "ad";
-       version = "4.3.4";
-       sha256 = "0r3qixsj624q5c88xlr444fn7z5c36m32ciyxz732lngg06pvwdz";
+       version = "4.3.5";
+       sha256 = "0q4dvi02k21jq8xf0ywgmcs5mph4hpx5s3y3pj839y0g3x5paplw";
        revision = "1";
-       editedCabalFile = "0rfxjifhaxvq8nv1n1l8wf49gh13ailcnyachffk7y55nqr0zqdf";
+       editedCabalFile = "10azjkyjx9gxz8pp6aapx2jkniyayns5qqdapb5vi7i7ykx6j92n";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base comonad containers data-reify erf free nats reflection
-         transformers
+         semigroups transformers
        ];
        testHaskellDepends = [ base directory doctest filepath ];
        benchmarkHaskellDepends = [ base criterion erf ];
@@ -21292,6 +21597,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "adjunctions_4_4" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, contravariant
+     , distributive, free, generic-deriving, hspec, hspec-discover, mtl
+     , profunctors, semigroupoids, semigroups, tagged, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "adjunctions";
+       version = "4.4";
+       sha256 = "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h";
+       libraryHaskellDepends = [
+         array base comonad containers contravariant distributive free mtl
+         profunctors semigroupoids semigroups tagged transformers
+         transformers-compat void
+       ];
+       testHaskellDepends = [ base distributive generic-deriving hspec ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "http://github.com/ekmett/adjunctions/";
+       description = "Adjunctions and representable functors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "adler32" = callPackage
     ({ mkDerivation, base, bytestring, hspec, zlib }:
      mkDerivation {
@@ -21482,6 +21810,40 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson_1_2_4_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , base16-bytestring, bytestring, containers, deepseq, directory
+     , dlist, filepath, generic-deriving, ghc-prim, hashable
+     , hashable-time, HUnit, integer-logarithms, QuickCheck
+     , quickcheck-instances, scientific, tagged, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, th-abstraction, time, time-locale-compat
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.2.4.0";
+       sha256 = "16zwpd07cmhs58wwsqbhxy3b58gqw8w5nr7nf6lwi4nvznjdn09l";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable scientific tagged template-haskell text
+         th-abstraction time time-locale-compat unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans base16-bytestring
+         bytestring containers directory dlist filepath generic-deriving
+         ghc-prim hashable hashable-time HUnit integer-logarithms QuickCheck
+         quickcheck-instances scientific tagged template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time time-locale-compat unordered-containers uuid-types vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-applicative" = callPackage
     ({ mkDerivation, aeson, base, text, unordered-containers }:
      mkDerivation {
@@ -21624,6 +21986,7 @@ self: {
        homepage = "https://github.com/thsutton/aeson-diff";
        description = "Extract and apply patches to JSON documents";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-extra" = callPackage
@@ -21836,6 +22199,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson-picker" = callPackage
+    ({ mkDerivation, aeson, base, hspec, lens, lens-aeson, text }:
+     mkDerivation {
+       pname = "aeson-picker";
+       version = "0.1.0.0";
+       sha256 = "1976cf67y0077gd1s13vrfws5w5mcak94dc6ygnl1pir6ysanaf7";
+       libraryHaskellDepends = [ aeson base lens lens-aeson text ];
+       testHaskellDepends = [ base hspec text ];
+       homepage = "https://github.com/ozzzzz/aeson-picker#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aeson-prefix" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, mtl, text
      , unordered-containers, vector
@@ -22075,6 +22450,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "aeson-typescript" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, hspec, interpolate, mtl, process, tasty, tasty-ant-xml
+     , tasty-hspec, template-haskell, temporary, text, th-abstraction
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "aeson-typescript";
+       version = "0.1.0.3";
+       sha256 = "0f5s26fhkpcciqy5wcdsq123nzgcxf2dx9g2v0n9i6h3jkp5800b";
+       libraryHaskellDepends = [
+         aeson base containers interpolate mtl template-haskell text
+         th-abstraction unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath hspec
+         interpolate mtl process tasty tasty-ant-xml tasty-hspec
+         template-haskell temporary text th-abstraction unordered-containers
+       ];
+       homepage = "https://github.com/codedownio/aeson-typescript#readme";
+       description = "Generate TypeScript definition files from your ADTs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aeson-utils" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, scientific
      , text
@@ -22544,8 +22943,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-distributed";
-       version = "1.0";
-       sha256 = "1nc0qhmkh75jda3id4wndhs5gmjiqcqi0gwpmwafm5czzg3g6lch";
+       version = "1.1.1";
+       sha256 = "0xwbyh1q32xl6xcv8fl49n98b40ma0ycfls21x0l9fjx15wk95ac";
        libraryHaskellDepends = [
          aivika aivika-transformers array base binary containers
          distributed-process exceptions mtl mwc-random random stm time
@@ -23560,6 +23959,8 @@ self: {
        pname = "amazonka";
        version = "1.5.0";
        sha256 = "0g5fb1kwydhhi4pvp4skc0l26gy0kdpbrl3pixmnml5d2fxa86pw";
+       revision = "1";
+       editedCabalFile = "0v4wfwrm0zjzm1g2gw9qi521hlvzg26dm79x03zy8i2aqg8rqgri";
        libraryHaskellDepends = [
          amazonka-core base bytestring conduit conduit-extra directory
          exceptions http-conduit ini mmorph monad-control mtl resourcet
@@ -24088,6 +24489,8 @@ self: {
        pname = "amazonka-core";
        version = "1.5.0";
        sha256 = "173mdmk3p9jqnskjf5g9r1kr568plrmshb6p17cq11n1wnngkxnk";
+       revision = "1";
+       editedCabalFile = "0w04b2cpshrv1r8nkw70y0n70wshzmnl0lp1khpj8qzzj1zxl1i2";
        libraryHaskellDepends = [
          aeson attoparsec base bifunctors bytestring case-insensitive
          conduit conduit-extra cryptonite deepseq exceptions hashable
@@ -25175,8 +25578,8 @@ self: {
      }:
      mkDerivation {
        pname = "amazonka-s3-streaming";
-       version = "0.2.0.3";
-       sha256 = "1pndy65mk3kjl51jr75k1dk182wsbzfd2q9zsvcxpalfs0nsaf30";
+       version = "0.2.0.4";
+       sha256 = "1lz9a4ra6mjk19spm4i014n076f9x557ax6dsjdg8kn868hqcj56";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -25977,8 +26380,8 @@ self: {
      }:
      mkDerivation {
        pname = "animate";
-       version = "0.3.0";
-       sha256 = "040csdyzncfbdf46jy8mkgn2n4hd80na0jm4p3q954zhaqk2bvck";
+       version = "0.4.0";
+       sha256 = "1mzjvnr1q8lj380ijhqpnqpbqfz34bcv4frg1phsr478j55x17v4";
        libraryHaskellDepends = [
          aeson base bytestring containers text vector
        ];
@@ -26137,22 +26540,6 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_6_3_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "ansi-terminal";
-       version = "0.6.3.1";
-       sha256 = "15c0c0vb66y3mr11kcvgjf4h0f7dqg7k1xq7zzq9fy11r7h9i3s5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       homepage = "https://github.com/feuerbach/ansi-terminal";
-       description = "Simple ANSI terminal support, with Windows compatibility";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "ansi-terminal" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
@@ -26168,12 +26555,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_8" = callPackage
+  "ansi-terminal_0_8_0_1" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.8";
-       sha256 = "1gg2xy800vzj2xixx8ifis1z027v34xj1a3792v0y8b7kmypgwlb";
+       version = "0.8.0.1";
+       sha256 = "0na61wyqn686qvzy5xbi3c8i1ba5ps6qlwnkkigzhj3c2xf3bm0v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -26188,14 +26575,11 @@ self: {
     ({ mkDerivation, ansi-terminal, base }:
      mkDerivation {
        pname = "ansi-wl-pprint";
-       version = "0.6.8.1";
-       sha256 = "0qxk0iibbyqk7fmrq5cbkr1269bd6vqbdmj2n8s5bvds0836mnnm";
-       revision = "1";
-       editedCabalFile = "0miriy5zkssjwg8zk1wzg7wx3l5ljzvrhga33m2iz7j4y0sb4fx7";
+       version = "0.6.8.2";
+       sha256 = "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-terminal base ];
-       executableHaskellDepends = [ ansi-terminal base ];
        homepage = "http://github.com/ekmett/ansi-wl-pprint";
        description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
        license = stdenv.lib.licenses.bsd3;
@@ -26510,8 +26894,8 @@ self: {
      }:
      mkDerivation {
        pname = "api-builder";
-       version = "0.12.0.0";
-       sha256 = "16abl6yph5a0kc9rn46ab0564d4xbsvlml45zryhvdswl4jr3jni";
+       version = "0.14.0.0";
+       sha256 = "12pr670c4zw8dhmj5vgsqr44mw2jz5kqdqn3alfqhmkmb13kzc4v";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring HTTP http-client http-client-tls
          http-types text tls transformers
@@ -27418,6 +27802,7 @@ self: {
        ];
        description = "A library and programs for creating hardlinked incremental archives or backups";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {debian-mirror = null; help = null;};
 
@@ -27760,6 +28145,8 @@ self: {
        pname = "arithmoi";
        version = "0.6.0.1";
        sha256 = "0dhr55r5vi10d9wqr054fy8rxp7h9z0kfpwvckaly0j90d6gvkqm";
+       revision = "2";
+       editedCabalFile = "1z16qjjz7qy0jribxzxn394f78b71lddv2sg199s2k8r8ndzkp0c";
        configureFlags = [ "-f-llvm" ];
        libraryHaskellDepends = [
          array base containers exact-pi ghc-prim integer-gmp
@@ -28162,8 +28549,8 @@ self: {
      }:
      mkDerivation {
        pname = "ascii-table";
-       version = "0.3.0.0";
-       sha256 = "13lr4ylrwxyv08qmrb20f5i2gazda18gcx804c8qhxywzjm4irf9";
+       version = "0.3.0.1";
+       sha256 = "01m7rdvjrn0mrqc100d81ji17f1h8lyqyyp5ydv2xzns8cmrcdzp";
        libraryHaskellDepends = [
          aeson base containers dlist hashable text unordered-containers
          vector wl-pprint-extras
@@ -28393,6 +28780,7 @@ self: {
        executableHaskellDepends = [ base containers ghc-binary parsec ];
        description = "Haskell Assembler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghc-binary = null;};
 
@@ -28993,6 +29381,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "atomic-file-ops" = callPackage
+    ({ mkDerivation, base, directory, filelock, filepath
+     , io-string-like
+     }:
+     mkDerivation {
+       pname = "atomic-file-ops";
+       version = "0.3.0.0";
+       sha256 = "15gg5g9wnypj3hk5lhrqln2xcf86g84ivm8c8aflhmal26x86x44";
+       libraryHaskellDepends = [
+         base directory filelock filepath io-string-like
+       ];
+       homepage = "https://github.com/clintonmead/atomic-file-ops#readme";
+       description = "Functions to atomically write to files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "atomic-modify" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -29129,38 +29533,71 @@ self: {
      }) {};
 
   "ats-format" = callPackage
-    ({ mkDerivation, alex, ansi-terminal, ansi-wl-pprint, array, base
-     , Cabal, composition-prelude, criterion, deepseq, directory
-     , file-embed, happy, hspec, hspec-dirstream, htoml-megaparsec, lens
-     , megaparsec, optparse-applicative, process, recursion-schemes
-     , system-filepath, text, unordered-containers
+    ({ mkDerivation, alex, ansi-wl-pprint, base, Cabal, cli-setup
+     , directory, file-embed, happy, htoml-megaparsec, language-ats
+     , optparse-applicative, process, text, unordered-containers
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.1.0.20";
-       sha256 = "116awkzdld7z1vw77pm1v4ldk2iapzarzh4vg02awxwlaj20mpk4";
+       version = "0.2.0.9";
+       sha256 = "07vbqwdlhnbqman07yh53s3fsdvpvphbj6s5cr9cr7pb6l3s3m13";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal directory lens process ];
+       setupHaskellDepends = [ base Cabal cli-setup ];
        libraryHaskellDepends = [
-         ansi-terminal ansi-wl-pprint array base composition-prelude deepseq
-         directory file-embed htoml-megaparsec lens megaparsec
-         optparse-applicative process recursion-schemes text
-         unordered-containers
+         ansi-wl-pprint base directory file-embed htoml-megaparsec
+         language-ats optparse-applicative process text unordered-containers
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base hspec hspec-dirstream system-filepath
-       ];
-       benchmarkHaskellDepends = [ base criterion ];
-       homepage = "https://hub.darcs.net/vmchale/ats-format#readme";
        description = "A source-code formatter for ATS";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ats-pkg" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring, Cabal
+     , cli-setup, composition-prelude, dhall, directory, filemanip
+     , http-client, http-client-tls, lens, optparse-applicative
+     , parallel-io, process, shake, shake-ats, shake-ext, tar, temporary
+     , text, unix, zlib
+     }:
+     mkDerivation {
+       pname = "ats-pkg";
+       version = "2.1.0.8";
+       sha256 = "05ipwj3ihds2q8amvxxj02jzqpbmyjvd55a69z7bmx9vmz8j3pal";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cli-setup ];
+       libraryHaskellDepends = [
+         ansi-wl-pprint base binary bytestring composition-prelude dhall
+         directory filemanip http-client http-client-tls lens
+         optparse-applicative parallel-io process shake shake-ats shake-ext
+         tar temporary text unix zlib
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/vmchale/atspkg#readme";
+       description = "Package manager for ATS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ats-setup" = callPackage
+    ({ mkDerivation, base, Cabal, directory, http-client
+     , http-client-tls, parallel-io, tar, zlib
+     }:
+     mkDerivation {
+       pname = "ats-setup";
+       version = "0.2.0.0";
+       sha256 = "1jkavd5dvsk6nbkik9xcdnlp3ry6jcmvkdk0lhm94f53cwz23xi5";
+       libraryHaskellDepends = [
+         base Cabal directory http-client http-client-tls parallel-io tar
+         zlib
+       ];
+       description = "ATS scripts for Cabal builds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "attempt" = callPackage
     ({ mkDerivation, base, failure }:
      mkDerivation {
@@ -29247,8 +29684,8 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec";
-       version = "0.13.2.0";
-       sha256 = "1wrwj359r0kgrcc2kw1yl9cpvkihhq0qm3i12kw39707s6m2x0pd";
+       version = "0.13.2.2";
+       sha256 = "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx";
        libraryHaskellDepends = [
          array base bytestring containers deepseq scientific text
          transformers
@@ -30089,6 +30526,7 @@ self: {
        homepage = "https://github.com/data61/aviation-cessna172-diagrams";
        description = "Diagrams for the Cessna 172 aircraft in aviation";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {aviation-cessna172-weight-balance = null; 
          aviation-units = null; aviation-weight-balance = null;};
@@ -30806,6 +31244,7 @@ self: {
        ];
        description = "Specify axioms for type classes and quickCheck all available instances";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {control-invariants = null;};
 
@@ -31777,6 +32216,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "basement_0_0_6" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "basement";
+       version = "0.0.6";
+       sha256 = "1xszp4nf55hr6iglqf1dx1yb9pgm3gpw81wwpjkwdn0602a3p8lw";
+       libraryHaskellDepends = [ base ghc-prim ];
+       homepage = "https://github.com/haskell-foundation/foundation";
+       description = "Foundation scrap box of array & string";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "basex-client" = callPackage
     ({ mkDerivation, base, network, pureMD5, utf8-string }:
      mkDerivation {
@@ -31876,6 +32328,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "batch" = callPackage
+    ({ mkDerivation, async, base, hspec, lifted-async, lifted-base
+     , monad-control, mtl, stm, timespan, transformers-base
+     }:
+     mkDerivation {
+       pname = "batch";
+       version = "0.1.0.0";
+       sha256 = "18jphm2dpn5gz4514gk525rhhgwflzb6f913rwf08dqaqlshr39r";
+       libraryHaskellDepends = [
+         async base lifted-async lifted-base monad-control mtl stm timespan
+         transformers-base
+       ];
+       testHaskellDepends = [ base hspec stm timespan ];
+       homepage = "https://github.com/agrafix/batch#readme";
+       description = "Simplify queuing up data and processing it in batch";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "batch-rename" = callPackage
     ({ mkDerivation, base, directory, filepath, Glob }:
      mkDerivation {
@@ -31953,6 +32423,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "battleship-combinatorics" = callPackage
+    ({ mkDerivation, base, combinatorial, containers, deepseq
+     , directory, filepath, non-empty, pooled-io, prelude-compat
+     , QuickCheck, random, set-cover, storable-record, storablevector
+     , temporary, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "battleship-combinatorics";
+       version = "0.0";
+       sha256 = "19yc53w1n2clml8gv6h48235kgjzxmg98d8bkjm33k6hcfbx6897";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base combinatorial containers deepseq directory filepath non-empty
+         pooled-io prelude-compat QuickCheck random set-cover
+         storable-record storablevector temporary transformers utility-ht
+       ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base QuickCheck ];
+       homepage = "http://hub.darcs.net/thielema/battleship-combinatorics/";
+       description = "Compute number of possible arrangements in the battleship game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "battleships" = callPackage
     ({ mkDerivation, aeson, array, attoparsec, base, base64-bytestring
      , blaze-svg, bytestring, cereal, colour, containers, cookie
@@ -32063,8 +32557,8 @@ self: {
      }:
      mkDerivation {
        pname = "bdcs";
-       version = "0.1.0";
-       sha256 = "1z9wfyay1l6d1l86izh31nldg0yidqyzvj3l11k4wrqr5yn07hfs";
+       version = "0.1.1";
+       sha256 = "1sxksvn852glnq181cj8y2pw2gkfg7afvhxx4rshvkxb7y58v8w9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -32094,6 +32588,7 @@ self: {
        homepage = "https://github.com/weldr/bdcs";
        description = "Tools for managing a content store of software packages";
        license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ostree;};
 
   "bdd" = callPackage
@@ -32150,6 +32645,8 @@ self: {
        pname = "beam";
        version = "0.3.2.0";
        sha256 = "0nkbn87i6pk2cmmcmzlcydlqwk95b7znncsyn135nl8r07vsqvqs";
+       revision = "1";
+       editedCabalFile = "1nh4hh7cslr75jwsj3dwfdphqm51bl7v0k1qvbaxkiac7wh3f19p";
        libraryHaskellDepends = [
          base conduit containers convertible HDBC HDBC-sqlite3 microlens mtl
          pretty semigroups tagged text time uniplate
@@ -32160,6 +32657,65 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "beam-core" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, dlist, free
+     , ghc-prim, hashable, microlens, mtl, network-uri, tasty
+     , tasty-hunit, text, time, vector-sized
+     }:
+     mkDerivation {
+       pname = "beam-core";
+       version = "0.6.0.0";
+       sha256 = "1pnxmy5xv84fng0391cckizwdrwzh0p0v3g0vc29z5vpksqr24kg";
+       libraryHaskellDepends = [
+         aeson base bytestring containers dlist free ghc-prim hashable
+         microlens mtl network-uri text time vector-sized
+       ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit text time
+       ];
+       homepage = "http://travis.athougies.net/projects/beam.html";
+       description = "Type-safe, feature-complete SQL query and manipulation interface for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "beam-migrate" = callPackage
+    ({ mkDerivation, aeson, base, beam-core, bytestring, containers
+     , deepseq, dependent-map, dependent-sum, free, ghc-prim, hashable
+     , haskell-src-exts, mtl, parallel, pqueue, pretty, scientific, text
+     , time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "beam-migrate";
+       version = "0.2.0.0";
+       sha256 = "17c1wh2ygbjlr8hrm0vnk2130kmzy795sswp7wyqkjjhfp4rzyzb";
+       libraryHaskellDepends = [
+         aeson base beam-core bytestring containers deepseq dependent-map
+         dependent-sum free ghc-prim hashable haskell-src-exts mtl parallel
+         pqueue pretty scientific text time unordered-containers vector
+       ];
+       homepage = "https://travis.athougies.net/projects/beam.html";
+       description = "SQL DDL support and migrations support library for Beam";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "beam-sqlite" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, beam-core, beam-migrate
+     , bytestring, dlist, free, hashable, mtl, network-uri, scientific
+     , sqlite-simple, text, time
+     }:
+     mkDerivation {
+       pname = "beam-sqlite";
+       version = "0.2.0.0";
+       sha256 = "0a0z5nrgrc3m7c4b81avjnkf2y5i30z5yws0jrsw5gg2b682v0ry";
+       libraryHaskellDepends = [
+         aeson attoparsec base beam-core beam-migrate bytestring dlist free
+         hashable mtl network-uri scientific sqlite-simple text time
+       ];
+       homepage = "http://tathougies.github.io/beam/user-guide/backends/beam-sqlite/";
+       description = "Beam driver for SQLite";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "beam-th" = callPackage
     ({ mkDerivation, base, beam, doctest, doctest-discover, microlens
      , mtl, tasty, tasty-hunit, template-haskell, text, th-expand-syns
@@ -32305,14 +32861,44 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "belka" = callPackage
+    ({ mkDerivation, aeson, aeson-value-parser, attoparsec, base
+     , base-prelude, base64-bytestring, bug, bytestring
+     , case-insensitive, hashable, http-client, http-client-tls
+     , http-media, http-types, iri, json-bytes-builder, mtl, potoki
+     , potoki-core, ptr, QuickCheck, quickcheck-instances, rerebase
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "belka";
+       version = "0.8";
+       sha256 = "1827pjvw13a2zk69rq98sddg70rp9hzjy79jkkc0xa4c6s7y5fny";
+       libraryHaskellDepends = [
+         aeson aeson-value-parser attoparsec base base-prelude
+         base64-bytestring bug bytestring case-insensitive hashable
+         http-client http-client-tls http-media http-types iri
+         json-bytes-builder mtl potoki potoki-core ptr semigroups text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         bug iri potoki QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/nikita-volkov/belka";
+       description = "HTTP client DSL";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bench" = callPackage
     ({ mkDerivation, base, criterion, optparse-applicative, process
      , silently, text, turtle
      }:
      mkDerivation {
        pname = "bench";
-       version = "1.0.7";
-       sha256 = "1mn9lsix5ng9a6k0c26mw6fbqx4gap2c3cqzm30ariisdkh2bdaf";
+       version = "1.0.8";
+       sha256 = "18lyjkyz1yynnln92ihn9g28w2s2xmahaqg1lr1cr2v3kpv8ilvl";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -32602,6 +33188,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bhoogle" = callPackage
+    ({ mkDerivation, base, brick, bytestring, containers, directory
+     , filepath, hoogle, lens, process, protolude, text, time, vector
+     , vty
+     }:
+     mkDerivation {
+       pname = "bhoogle";
+       version = "0.1.2.5";
+       sha256 = "16i5gf8iv0l10zira8wi9lgbz0q1f7lxp35ml9yz4j8cihn7z7ji";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base brick bytestring containers directory filepath hoogle lens
+         process protolude text time vector vty
+       ];
+       homepage = "https://github.com/andrevdm/bhoogle#readme";
+       description = "Simple terminal GUI for local hoogle";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bibdb" = callPackage
     ({ mkDerivation, alex, array, async, base, bibtex, bytestring
      , containers, curl, download-curl, filepath, happy, microlens
@@ -32801,6 +33407,7 @@ self: {
        homepage = "http://www.leksah.org";
        description = "Leksah plugin base";
        license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {leksah-dummy = null; leksah-main = null; 
          leksah-plugin-pane = null;};
@@ -32998,6 +33605,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "binary-conduit_1_3" = callPackage
+    ({ mkDerivation, base, binary, bytestring, conduit, exceptions
+     , hspec, QuickCheck, quickcheck-assertions, resourcet, vector
+     }:
+     mkDerivation {
+       pname = "binary-conduit";
+       version = "1.3";
+       sha256 = "1kfc421r8p0zxn5dkm9kzj4n9pharnl809hkjnr55dbrnr3vvya3";
+       revision = "1";
+       editedCabalFile = "0y08nw3y5jgrw5waa25b75iwsibnd1m9rbpqrvz5j4xq6baqw6kx";
+       libraryHaskellDepends = [
+         base binary bytestring conduit exceptions vector
+       ];
+       testHaskellDepends = [
+         base binary bytestring conduit hspec QuickCheck
+         quickcheck-assertions resourcet
+       ];
+       homepage = "http://github.com/qnikst/binary-conduit/";
+       description = "data serialization/deserialization conduit library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "binary-derive" = callPackage
     ({ mkDerivation, base, binary, ghc-prim }:
      mkDerivation {
@@ -33140,6 +33770,8 @@ self: {
        pname = "binary-orphans";
        version = "0.1.8.0";
        sha256 = "1k6067wn9zki7xvbslvxx8cq1wrmz3kjb3q3x8mxycc9v765fxgi";
+       revision = "1";
+       editedCabalFile = "1zgp08sikp71k9llcplkdrfhh2gn43gk7hx81nslixl5s91a1j9q";
        libraryHaskellDepends = [
          aeson base binary case-insensitive hashable scientific tagged text
          text-binary time unordered-containers vector
@@ -33309,6 +33941,7 @@ self: {
        ];
        description = "Format to store data using the binary transform";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {binary-transform = null;};
 
@@ -34432,15 +35065,15 @@ self: {
      }:
      mkDerivation {
        pname = "biohazard";
-       version = "0.6.16";
-       sha256 = "05w44blv6bawkiw2vyb32swnv6wg92033xz9p03fhrc2yhl33pps";
+       version = "1.0.0";
+       sha256 = "0cc855d3h1fh52ldvqzwf3f834g8singavvpk1ir157fgg8qjz3g";
        libraryHaskellDepends = [
          async attoparsec base base-prelude binary bytestring containers
          directory exceptions filepath hashable primitive random scientific
          stm text transformers unix unordered-containers vector
          vector-algorithms vector-th-unbox zlib
        ];
-       homepage = "http://github.com/udo-stenzel/biohazard";
+       homepage = "https://bitbucket.org/ustenzel/biohazard";
        description = "bioinformatics support library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -34601,6 +35234,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bishbosh" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, data-default
+     , deepseq, directory, extra, factory, filepath, HUnit, hxt
+     , hxt-relaxng, mtl, parallel, polyparse, QuickCheck, random, time
+     , toolshed, unix
+     }:
+     mkDerivation {
+       pname = "bishbosh";
+       version = "0.0.0.2";
+       sha256 = "18smrav39awp25j43c7k9r1laxwf7iix61qb2yi5h2b6djbgxq9h";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base Cabal containers data-default deepseq extra factory
+         filepath hxt mtl parallel polyparse random time toolshed
+       ];
+       executableHaskellDepends = [
+         array base Cabal containers data-default deepseq directory extra
+         factory filepath hxt hxt-relaxng mtl parallel polyparse random time
+         toolshed unix
+       ];
+       testHaskellDepends = [
+         array base Cabal containers data-default extra filepath HUnit hxt
+         mtl polyparse QuickCheck random toolshed
+       ];
+       homepage = "https://functionalley.eu/BishBosh/bishbosh.html";
+       description = "Plays chess";
+       license = "GPL";
+     }) {};
+
   "bit-array" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath, numeric-qq }:
      mkDerivation {
@@ -34800,6 +35464,7 @@ self: {
        homepage = "https://github.com/runeksvendsen/bitcoin-payment-channel";
        description = "Instant, two-party Bitcoin payments";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {blockchain-restful-address-index-api = null;};
 
@@ -35276,12 +35941,14 @@ self: {
      }) {};
 
   "bizzlelude" = callPackage
-    ({ mkDerivation, base, containers, directory, text }:
+    ({ mkDerivation, base-noprelude, containers, directory, text }:
      mkDerivation {
        pname = "bizzlelude";
-       version = "1.0.4";
-       sha256 = "0vaw51cn9lmnd6pxb8kjf9k6lxzxwzv0nmgr7j1h8b6qbchf2i3q";
-       libraryHaskellDepends = [ base containers directory text ];
+       version = "1.1.0";
+       sha256 = "1vpdh9fm4jrl7zkzp8wh8ng3x6glwk3h88fbjmajz6qpqw3z2w4h";
+       libraryHaskellDepends = [
+         base-noprelude containers directory text
+       ];
        homepage = "http://github.com/TheBizzle";
        description = "A lousy Prelude replacement by a lousy dude";
        license = stdenv.lib.licenses.bsd3;
@@ -35461,21 +36128,22 @@ self: {
   "blank-canvas" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, colour, containers, data-default-class, directory
-     , http-types, kansas-comet, mime-types, process, scotty, shake, stm
-     , text, text-show, time, transformers, unix, vector, wai, wai-extra
-     , warp
+     , http-types, kansas-comet, mime-types, process, scotty, semigroups
+     , shake, stm, text, text-show, time, transformers, unix, vector
+     , wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "blank-canvas";
-       version = "0.6.1";
-       sha256 = "06jsbqbd67hyb1k2yv0iqn11rhqhycl1c9afrnmwh05bic9wsdf6";
-       revision = "2";
-       editedCabalFile = "1lb4q70s3xgwzkirgci6b5flq8y9lfj8qspx52hl20zrwvhi6h1n";
+       version = "0.6.2";
+       sha256 = "1qhdvxia8wlnv0ss9dsrxdfw3qsf376ypnpsijz7vxkj9dmzyq84";
+       revision = "1";
+       editedCabalFile = "0zc84pjrmb2xpsvavvf950vrwyd6nlfj3x2hi930wq1kjm7pr4ps";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring bytestring colour
          containers data-default-class http-types kansas-comet mime-types
-         scotty stm text text-show transformers vector wai wai-extra warp
+         scotty semigroups stm text text-show transformers vector wai
+         wai-extra warp
        ];
        testHaskellDepends = [
          base containers directory process shake stm text time unix vector
@@ -35660,8 +36328,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-colonnade";
-       version = "1.1.0";
-       sha256 = "0yxkb5qmlgrkz5fciac9qfrznfg7j1xz77929x5vw7ci7n7d2kqr";
+       version = "1.2.1";
+       sha256 = "0bsax9fw3bmj32a0dsrmp7zrpfp2pgilq3nss6qfa1zh1kdyj1xy";
        libraryHaskellDepends = [
          base blaze-html blaze-markup colonnade text
        ];
@@ -35781,31 +36449,12 @@ self: {
 
   "blaze-markup" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
-     , QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "blaze-markup";
-       version = "0.8.0.0";
-       sha256 = "03sl7xs6vk4zxbjszgyjpsppi1cknswg7z7rswz2f0rq62wwpq8r";
-       libraryHaskellDepends = [ base blaze-builder bytestring text ];
-       testHaskellDepends = [
-         base blaze-builder bytestring containers HUnit QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2 text
-       ];
-       homepage = "http://jaspervdj.be/blaze";
-       description = "A blazingly fast markup combinator library for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "blaze-markup_0_8_1_0" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
      , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "blaze-markup";
-       version = "0.8.1.0";
-       sha256 = "1isb328dh642nxfj7izlmw3amygh94jn1pdycga7wla1v993psx6";
+       version = "0.8.2.0";
+       sha256 = "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4";
        libraryHaskellDepends = [ base blaze-builder bytestring text ];
        testHaskellDepends = [
          base blaze-builder bytestring containers HUnit QuickCheck tasty
@@ -35814,7 +36463,6 @@ self: {
        homepage = "http://jaspervdj.be/blaze";
        description = "A blazingly fast markup combinator library for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "blaze-shields" = callPackage
@@ -36090,8 +36738,37 @@ self: {
      }:
      mkDerivation {
        pname = "bloodhound";
-       version = "0.15.0.0";
-       sha256 = "05q2zxmrxxqmi4vr98dvgfly8gir5h4iaimb3lwiflk0pw8nfn6n";
+       version = "0.15.0.1";
+       sha256 = "0g85fp2vppx6p1zbx506jnsfcik8q7nmc98fwrhcckgvkbdpi2v8";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring containers data-default-class
+         exceptions hashable http-client http-types mtl mtl-compat
+         network-uri scientific semigroups text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers errors exceptions generics-sop
+         hspec http-client http-types mtl network-uri QuickCheck
+         quickcheck-properties semigroups temporary text time unix-compat
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/bitemyapp/bloodhound";
+       description = "ElasticSearch client library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bloodhound_0_15_0_2" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
+     , data-default-class, errors, exceptions, generics-sop, hashable
+     , hspec, http-client, http-types, mtl, mtl-compat, network-uri
+     , QuickCheck, quickcheck-properties, scientific, semigroups
+     , temporary, text, time, transformers, unix-compat
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "bloodhound";
+       version = "0.15.0.2";
+       sha256 = "17xw085k72dmw1q4cbqjs07gvvwwfsijcs9lsb3smxxhri1s229i";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring containers data-default-class
          exceptions hashable http-client http-types mtl mtl-compat
@@ -36107,6 +36784,7 @@ self: {
        homepage = "https://github.com/bitemyapp/bloodhound";
        description = "ElasticSearch client library for Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bloodhound-amazonka-auth" = callPackage
@@ -36611,8 +37289,8 @@ self: {
      }:
      mkDerivation {
        pname = "bookkeeping-jp";
-       version = "0.1.1.0";
-       sha256 = "1hmh8q041p0f4v58ywpwd833v7k0jg900r1la3wh4x1h08bxmbxm";
+       version = "0.1.1.1";
+       sha256 = "1mnjwfdzhp1kbd02g7vdc1x2rrm10hzi96j6ljin17vynh06dmm0";
        libraryHaskellDepends = [
          base bookkeeping mono-traversable text time
        ];
@@ -37263,7 +37941,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_32_1" = callPackage
+  "brick_0_33" = callPackage
     ({ mkDerivation, base, config-ini, containers, contravariant
      , data-clist, deepseq, dlist, microlens, microlens-mtl
      , microlens-th, stm, template-haskell, text, text-zipper
@@ -37271,8 +37949,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.32.1";
-       sha256 = "09lyl9zz8hl6p7w5d34kpwsac66w3pqr4f6k97yb9chpcpfiqmb6";
+       version = "0.33";
+       sha256 = "0052hdwvqrprf5911axikxpigbc1iv3h4kq3zhrnvpy038wjbis1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -37289,6 +37967,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "brick-skylighting" = callPackage
+    ({ mkDerivation, base, brick, containers, skylighting, text, vty }:
+     mkDerivation {
+       pname = "brick-skylighting";
+       version = "0.1";
+       sha256 = "189qpq2cg45binlb9nq43h05g97ch56855xlz2givxw8psb0kb1i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base brick containers skylighting text vty
+       ];
+       executableHaskellDepends = [ base brick skylighting text vty ];
+       homepage = "https://github.com/jtdaugherty/brick-skylighting/";
+       description = "Show syntax-highlighted text in your Brick UI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bricks" = callPackage
     ({ mkDerivation, base, containers, doctest, hedgehog, parsec
      , template-haskell, text
@@ -38066,6 +38762,8 @@ self: {
        pname = "butcher";
        version = "1.2.1.0";
        sha256 = "0vam5lqbp2k8r56d997bcp63lnsc4bbs7yd4lzjvibimr38g032w";
+       revision = "3";
+       editedCabalFile = "1faax0pipbywayjn961id2bc19y109bq0ny2hl1p9mh209iccnza";
        libraryHaskellDepends = [
          base bifunctors containers deque either extra free microlens
          microlens-th mtl multistate pretty transformers unsafe void
@@ -38926,6 +39624,7 @@ self: {
        doHaddock = false;
        description = "placeholder for Cabal package, you want the upper case Cabal";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {youProbablyWantCapitalCabal = null;};
 
@@ -39124,14 +39823,27 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "cabal-doctest";
-       version = "1.0.4";
-       sha256 = "03sawamkp95jycq9sah72iw525pdndb3x4h489zf4s3ir9avds3d";
+       version = "1.0.5";
+       sha256 = "0x3m97q3xjmvf601vzkx4a8sl77x1y8jf0lwbq67181s37jp9asm";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        homepage = "https://github.com/phadej/cabal-doctest";
        description = "A Setup.hs helper for doctests running";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal-doctest_1_0_6" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-doctest";
+       version = "1.0.6";
+       sha256 = "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny";
+       libraryHaskellDepends = [ base Cabal directory filepath ];
+       homepage = "https://github.com/phadej/cabal-doctest";
+       description = "A Setup.hs helper for doctests running";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cabal-file-th" = callPackage
     ({ mkDerivation, base, Cabal, directory, pretty, template-haskell
      }:
@@ -39200,35 +39912,35 @@ self: {
 
   "cabal-helper" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
-     , directory, extra, filepath, ghc-prim, mtl, process
-     , template-haskell, temporary, transformers, unix, utf8-string
+     , directory, exceptions, filepath, ghc, ghc-paths, ghc-prim, mtl
+     , process, semigroupoids, template-haskell, temporary, transformers
+     , unix, unix-compat, utf8-string
      }:
      mkDerivation {
        pname = "cabal-helper";
-       version = "0.7.3.0";
-       sha256 = "194j278109q5wdp0kl85y172n3c8hg0sms9gxfn2kl2x43smah3r";
-       revision = "1";
-       editedCabalFile = "0jhv5hx807zqrsa7fpzmhrhl6l1zjrpm96bvfsq0sq1bmi9y9h0y";
+       version = "0.8.0.0";
+       sha256 = "050g5y74ldpv8haj8grqpk2cw72l3gm0hypza72f556dl9j5hz2m";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [
-         base Cabal containers directory filepath process template-haskell
-         transformers
-       ];
+       setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
-         base Cabal directory filepath ghc-prim mtl process transformers
+         base Cabal directory filepath ghc-prim mtl process semigroupoids
+         transformers unix unix-compat
        ];
        executableHaskellDepends = [
-         base bytestring Cabal directory filepath ghc-prim mtl process
-         template-haskell temporary transformers utf8-string
+         base bytestring Cabal containers directory exceptions filepath
+         ghc-prim mtl process template-haskell temporary transformers unix
+         unix-compat utf8-string
        ];
+       executableToolDepends = [ cabal-install ];
        testHaskellDepends = [
-         base bytestring Cabal directory extra filepath ghc-prim mtl process
-         template-haskell temporary transformers unix utf8-string
+         base bytestring Cabal directory exceptions filepath ghc ghc-paths
+         ghc-prim mtl process template-haskell temporary transformers unix
+         unix-compat utf8-string
        ];
        testToolDepends = [ cabal-install ];
        doCheck = false;
-       description = "Simple interface to some of Cabal's configuration state used by ghc-mod";
+       description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -39463,20 +40175,26 @@ self: {
      }) {};
 
   "cabal-plan" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, base-orphans
-     , base16-bytestring, bytestring, containers, directory, filepath
-     , text, vector
+    ({ mkDerivation, aeson, ansi-terminal, base, base-compat
+     , base-orphans, base16-bytestring, bytestring, containers
+     , directory, filepath, mtl, optparse-applicative, parsec, text
+     , vector
      }:
      mkDerivation {
        pname = "cabal-plan";
        version = "0.3.0.0";
        sha256 = "1axi3a60zq08d760w2x6akmszad599kij0r8zmlq8pin9mmmggls";
+       configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base-compat base-orphans base16-bytestring bytestring
          containers directory filepath text vector
        ];
+       executableHaskellDepends = [
+         ansi-terminal base base-compat bytestring containers mtl
+         optparse-applicative parsec text vector
+       ];
        description = "Library and utiltity for processing cabal's plan.json file";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -39795,19 +40513,19 @@ self: {
 
   "cabal2nix" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
-     , cabal-doctest, containers, deepseq, directory
-     , distribution-nixpkgs, doctest, 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
+     , containers, deepseq, 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
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.7.2";
-       sha256 = "1376a97pmhpxf78lhl4b6glraajjwhk99cvvrz4p7nmdc1qq9zhy";
+       version = "2.8.1";
+       sha256 = "1ahdqyiw76fixk90bi1b87ym5ii09fskpk0q9f9csbdmjif945x7";
+       revision = "1";
+       editedCabalFile = "0pq2cns1q7hbxd7gpyy643vaz8pcc7l96vlw23y30hpdgcnn23d3";
        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 hpack
@@ -39815,17 +40533,9 @@ self: {
          time transformers yaml
        ];
        executableHaskellDepends = [
-         aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         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
-       ];
-       testHaskellDepends = [
-         aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         directory distribution-nixpkgs doctest filepath hackage-db hopenssl
-         hpack language-nix lens optparse-applicative pretty process split
-         text time transformers yaml
+         aeson base bytestring Cabal containers directory
+         distribution-nixpkgs filepath hopenssl language-nix lens monad-par
+         monad-par-extras mtl optparse-applicative pretty utf8-string
        ];
        homepage = "https://github.com/nixos/cabal2nix#readme";
        description = "Convert Cabal files into Nix build instructions";
@@ -39834,23 +40544,24 @@ self: {
      }) {};
 
   "cabal2spec" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , haskell98, old-locale, process, tar, time, unix, Unixutils, zlib
+    ({ mkDerivation, base, Cabal, filepath, optparse-applicative, tasty
+     , tasty-golden, time
      }:
      mkDerivation {
        pname = "cabal2spec";
-       version = "1.0";
-       sha256 = "08y8rwj86n7f3bqfv2ximlx8qas12zspiz6ix8gg01whsry43nsj";
-       isLibrary = false;
+       version = "2.0.0";
+       sha256 = "16xvv9qg1rxxnb9mdymx574kx6awhrn855x59ihl27bzp2q2pa53";
+       isLibrary = true;
        isExecutable = true;
+       libraryHaskellDepends = [ base Cabal filepath time ];
        executableHaskellDepends = [
-         base bytestring Cabal directory filepath haskell98 old-locale
-         process tar time unix Unixutils zlib
+         base Cabal filepath optparse-applicative
        ];
-       homepage = "https://fedorahosted.org/cabal2spec/";
-       description = "Generates RPM Spec files from cabal files";
-       license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
+       testHaskellDepends = [ base Cabal filepath tasty tasty-golden ];
+       homepage = "https://github.com/peti/cabal2spec";
+       description = "Convert Cabal files into rpm spec files";
+       license = stdenv.lib.licenses.gpl3;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "cabalQuery" = callPackage
@@ -40570,8 +41281,8 @@ self: {
      }:
      mkDerivation {
        pname = "canteven-log";
-       version = "2.0.1.0";
-       sha256 = "0w7hzhb13g62l08ggld3rj9aamw1jhjkir1bpzc73bl59ls4gdgy";
+       version = "2.0.2.1";
+       sha256 = "0i4lf46rj4yy8j7xr311kypi1kmmpldh914glzyp2gim08fwy10c";
        libraryHaskellDepends = [
          aeson base bytestring directory fast-logger filepath monad-logger
          template-haskell text time transformers yaml
@@ -40678,27 +41389,29 @@ self: {
      }) {};
 
   "capataz" = callPackage
-    ({ mkDerivation, async, base, bytestring, data-default, pretty-show
-     , protolude, safe-exceptions, stm, tasty, tasty-hunit, tasty-rerun
-     , tasty-smallcheck, teardown, text, time, unordered-containers
-     , uuid, vector
+    ({ mkDerivation, async, base, bytestring, data-default, microlens
+     , pretty-show, protolude, safe-exceptions, stm, tasty, tasty-hunit
+     , tasty-rerun, tasty-smallcheck, teardown, text, time
+     , unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "capataz";
-       version = "0.0.0.1";
-       sha256 = "0bfwciidmp0ijgaq7zbyqw35m702xs9lm382072jwws8y353n29s";
+       version = "0.1.0.0";
+       sha256 = "1bz9yazxwdasbdbr9hrfpvjaqd4lax8kqinlj4rxyiq1517rsqrk";
        libraryHaskellDepends = [
-         async base bytestring data-default protolude safe-exceptions stm
-         teardown text time unordered-containers uuid vector
+         async base bytestring data-default microlens protolude
+         safe-exceptions stm teardown text time unordered-containers uuid
+         vector
        ];
        testHaskellDepends = [
-         async base bytestring data-default pretty-show protolude
+         async base bytestring data-default microlens pretty-show protolude
          safe-exceptions stm tasty tasty-hunit tasty-rerun tasty-smallcheck
          teardown text time unordered-containers uuid vector
        ];
        homepage = "https://github.com/roman/Haskell-capataz#readme";
        description = "OTP-like supervision trees in Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "capped-list" = callPackage
@@ -41066,6 +41779,8 @@ self: {
        pname = "case-insensitive";
        version = "1.2.0.10";
        sha256 = "0v1hclvv0516fnlj5j2izd9xmakl7dshi9cb32iz6dgvzx01qck6";
+       revision = "1";
+       editedCabalFile = "153x2i7gw7lyhydlf0924vfxmkk53r65c40104bbha2bhp1vj7fi";
        libraryHaskellDepends = [ base bytestring deepseq hashable text ];
        testHaskellDepends = [
          base bytestring HUnit test-framework test-framework-hunit text
@@ -41452,6 +42167,8 @@ self: {
        pname = "cassava-megaparsec";
        version = "1.0.0";
        sha256 = "14d1idyw4pm8gq41383sy6cid6v1dr9zc7wviy4vd786406j2n28";
+       revision = "1";
+       editedCabalFile = "0dk6bxyvlg0iq83m81cbyysiydcj3dsvhlishjc119hzpy8g8xd6";
        libraryHaskellDepends = [
          base bytestring cassava containers megaparsec unordered-containers
          vector
@@ -41465,6 +42182,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cassava-records" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cassava, containers
+     , foldl, HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cassava-records";
+       version = "0.1.0.4";
+       sha256 = "13dgcqrlvcqifgisfk80f9siwzzbk96jhhbrnmrpmg95270k5y0i";
+       libraryHaskellDepends = [
+         attoparsec base bytestring cassava foldl template-haskell text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring cassava containers foldl HUnit
+         QuickCheck tasty tasty-hunit tasty-quickcheck template-haskell text
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/gdevanla/cassava-records#readme";
+       description = "Auto-generation of records data type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cassava-streams" = callPackage
     ({ mkDerivation, base, bytestring, cassava, io-streams, QuickCheck
      , tasty, tasty-quickcheck, vector
@@ -41735,8 +42475,8 @@ self: {
      }:
      mkDerivation {
        pname = "cayley-client";
-       version = "0.4.1";
-       sha256 = "11q92jbc4sgvif6akd5vvsdj3ncx0xhwk0mimyc55m4m7srjdplq";
+       version = "0.4.2";
+       sha256 = "1pzsr7jcqsi27mnxgq4y5np4ysig29cmk27iqp0m73xj5fiss6z8";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring exceptions http-client
          http-conduit lens lens-aeson mtl text transformers
@@ -42050,8 +42790,8 @@ self: {
      }:
      mkDerivation {
        pname = "cereal";
-       version = "0.5.4.0";
-       sha256 = "1rzyr8r9pjlgas5pc8n776r22i0ficanq05ypqrs477jxxd6rjns";
+       version = "0.5.5.0";
+       sha256 = "08k8y6nf3n8h8gzw4a44mssy7rhgpmfj28lhczjz4vgszc7k55qb";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim
        ];
@@ -42083,6 +42823,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cereal-conduit_0_8_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, HUnit, mtl
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "cereal-conduit";
+       version = "0.8.0";
+       sha256 = "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r";
+       libraryHaskellDepends = [
+         base bytestring cereal conduit resourcet transformers
+       ];
+       testHaskellDepends = [
+         base bytestring cereal conduit HUnit mtl transformers
+       ];
+       homepage = "https://github.com/snoyberg/conduit";
+       description = "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cereal-derive" = callPackage
     ({ mkDerivation, base, cereal, ghc-prim }:
      mkDerivation {
@@ -42516,8 +43276,8 @@ self: {
     ({ mkDerivation, async, base, stm }:
      mkDerivation {
        pname = "chan";
-       version = "0.0.2";
-       sha256 = "1qig63k7iarmmfjnm3zl32b9268ix9bjmhh2gf99hknr0c5h7dmc";
+       version = "0.0.3";
+       sha256 = "0ci20y0wd232qnh1mql3vjqml13mkrpm9dgv005wcgym7w18isgr";
        libraryHaskellDepends = [ async base stm ];
        testHaskellDepends = [ async base stm ];
        homepage = "https://github.com/athanclark/chan#readme";
@@ -42761,27 +43521,26 @@ self: {
   "chatwork" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, connection
      , data-default-class, hspec, http-api-data, http-client
-     , http-client-tls, http-types, req, retry, servant-server, text
-     , warp
+     , http-client-tls, http-types, req, servant-server, text, warp
      }:
      mkDerivation {
        pname = "chatwork";
-       version = "0.1.2.0";
-       sha256 = "1qgb5b8y99rh243x1mz0n12lv59l73vnhczxzq8s2h5lzcay3bps";
+       version = "0.1.3.0";
+       sha256 = "1b6s5f2v4qc19l2psbpwlx6nyq0285mpfl25gfv4p9xrsdmqcyr4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-casing base bytestring connection data-default-class
-         http-api-data http-client http-client-tls http-types req retry text
+         http-api-data http-client http-client-tls http-types req text
        ];
        executableHaskellDepends = [
          aeson aeson-casing base bytestring connection data-default-class
-         http-api-data http-client http-client-tls http-types req retry text
+         http-api-data http-client http-client-tls http-types req text
        ];
        testHaskellDepends = [
          aeson aeson-casing base bytestring connection data-default-class
          hspec http-api-data http-client http-client-tls http-types req
-         retry servant-server text warp
+         servant-server text warp
        ];
        homepage = "https://github.com/matsubara0507/chatwork#readme";
        description = "The ChatWork API in Haskell";
@@ -43395,12 +44154,12 @@ self: {
      }:
      mkDerivation {
        pname = "chunked-data";
-       version = "0.3.0";
-       sha256 = "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1";
+       version = "0.3.1";
+       sha256 = "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p";
        libraryHaskellDepends = [
          base bytestring containers semigroups text transformers vector
        ];
-       homepage = "https://github.com/snoyberg/mono-traversable";
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "Typeclasses for dealing with various chunked data representations";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -44360,6 +45119,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "classy-prelude_1_4_0" = callPackage
+    ({ mkDerivation, async, base, basic-prelude, bifunctors, bytestring
+     , chunked-data, containers, deepseq, dlist, ghc-prim, hashable
+     , hspec, mono-traversable, mono-traversable-instances, mtl
+     , mutable-containers, primitive, QuickCheck, say, semigroups, stm
+     , stm-chans, text, time, transformers, unliftio
+     , unordered-containers, vector, vector-instances
+     }:
+     mkDerivation {
+       pname = "classy-prelude";
+       version = "1.4.0";
+       sha256 = "1q7r4lnrxjsh7rj5nr0cs22ddp9m6maa7bzbkarxw3xbfrb2afrb";
+       libraryHaskellDepends = [
+         async base basic-prelude bifunctors bytestring chunked-data
+         containers deepseq dlist ghc-prim hashable mono-traversable
+         mono-traversable-instances mtl mutable-containers primitive say
+         semigroups stm stm-chans text time transformers unliftio
+         unordered-containers vector vector-instances
+       ];
+       testHaskellDepends = [
+         base containers hspec QuickCheck transformers unordered-containers
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
+       description = "A typeclass-based Prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-conduit" = callPackage
     ({ mkDerivation, base, bytestring, classy-prelude, conduit
      , conduit-combinators, hspec, monad-control, QuickCheck, resourcet
@@ -44381,6 +45168,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "classy-prelude-conduit_1_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, conduit, hspec
+     , monad-control, QuickCheck, resourcet, transformers, void
+     }:
+     mkDerivation {
+       pname = "classy-prelude-conduit";
+       version = "1.4.0";
+       sha256 = "096466cyyxxmg3jpq705xjjc4r7v9b607hgbys8vybjlldkjbvrr";
+       libraryHaskellDepends = [
+         base bytestring classy-prelude conduit monad-control resourcet
+         transformers void
+       ];
+       testHaskellDepends = [
+         base bytestring conduit hspec QuickCheck transformers
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
+       description = "classy-prelude together with conduit functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-yesod" = callPackage
     ({ mkDerivation, aeson, base, classy-prelude
      , classy-prelude-conduit, data-default, http-conduit, http-types
@@ -44400,6 +45208,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "classy-prelude-yesod_1_4_0" = callPackage
+    ({ mkDerivation, aeson, base, classy-prelude
+     , classy-prelude-conduit, data-default, http-conduit, http-types
+     , persistent, yesod, yesod-newsfeed, yesod-static
+     }:
+     mkDerivation {
+       pname = "classy-prelude-yesod";
+       version = "1.4.0";
+       sha256 = "0a4y9fipcikndzqqna5694f1wcwwin5ir076pjj1nm638a7silhc";
+       libraryHaskellDepends = [
+         aeson base classy-prelude classy-prelude-conduit data-default
+         http-conduit http-types persistent yesod yesod-newsfeed
+         yesod-static
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
+       description = "Provide a classy prelude including common Yesod functionality";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classyplate" = callPackage
     ({ mkDerivation, base, criterion, parallel, template-haskell
      , uniplate
@@ -44441,8 +45269,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.24.0.4";
-       sha256 = "0xpv3qb7w1bzszbnmzriai9dv9qfajnv1pv9y3jdaih4gj73c9ny";
+       version = "0.24.0.6";
+       sha256 = "0yswcldqwrpk7z5ww95nyvsb6qdpl2171zxy4fkpnqscma3sf54r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -44802,6 +45630,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cli-setup" = callPackage
+    ({ mkDerivation, base, bytestring, directory, file-embed, process
+     }:
+     mkDerivation {
+       pname = "cli-setup";
+       version = "0.2.0.1";
+       sha256 = "056y5sphj2zn455wyhjxcr0c6hb502bhrazhd7nij9mg8d8761dk";
+       libraryHaskellDepends = [
+         base bytestring directory file-embed process
+       ];
+       homepage = "https://github.com/vmchale/cli-setup#readme";
+       description = "Helper setup scripts for packaging command-line tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "click-clack" = callPackage
     ({ mkDerivation, base, containers, GLFW, Hipmunk, MonadRandom, mtl
      , OpenGL, random, StateVar, transformers
@@ -45419,20 +46262,20 @@ self: {
 
   "clustering" = callPackage
     ({ mkDerivation, base, binary, containers, criterion
-     , hierarchical-clustering, matrices, mwc-random, parallel
-     , primitive, Rlang-QQ, split, tasty, tasty-hunit, tasty-quickcheck
+     , hierarchical-clustering, inline-r, matrices, mwc-random, parallel
+     , primitive, split, tasty, tasty-hunit, tasty-quickcheck
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "clustering";
-       version = "0.3.1";
-       sha256 = "11kzx27m7r58zq2izg781vyi895530frgw5i6bnzgiylhf028sdw";
+       version = "0.4.0";
+       sha256 = "16zhg2jb4a823gf8pdbm9y9yknpf1w6l3983563vk3wjna3ypfcn";
        libraryHaskellDepends = [
          base binary containers matrices mwc-random parallel primitive
          unordered-containers vector
        ];
        testHaskellDepends = [
-         base binary hierarchical-clustering matrices mwc-random Rlang-QQ
+         base binary hierarchical-clustering inline-r matrices mwc-random
          split tasty tasty-hunit tasty-quickcheck vector
        ];
        benchmarkHaskellDepends = [
@@ -45654,8 +46497,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmdargs";
-       version = "0.10.19";
-       sha256 = "1m1a2zl5ijjkjfrl5zqdqbbdf883y81zlq8qaiy2pww52cai3snf";
+       version = "0.10.20";
+       sha256 = "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45792,8 +46635,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmv";
-       version = "1.0.6";
-       sha256 = "1djqw8szaq8p8mhxp4789gx5mgibdlcwhbkilzc5zcxf619pn3c1";
+       version = "1.0.8";
+       sha256 = "1l113yawclfpvhb5p3j6mhi3nqh8d1ix64k7d2q9slnvs3vdvphb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45863,6 +46706,7 @@ self: {
        ];
        description = "Command-line options and DSV parsing and printing";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "code-builder" = callPackage
@@ -46211,6 +47055,7 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Equivariant CSM classes of coincident root loci";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "colada" = callPackage
@@ -46328,8 +47173,8 @@ self: {
      }:
      mkDerivation {
        pname = "collection-json";
-       version = "1.1.2.0";
-       sha256 = "1i95s4pyijy8rpjlisadvqz152kchxkg00dzbs7q9kw739qw0qwi";
+       version = "1.1.2.1";
+       sha256 = "1x43b1rmlrsv8jmr2mawy2ykwljbbb4h8cfcfd6gxrkzxwvlxhsl";
        libraryHaskellDepends = [
          aeson base network-uri network-uri-json text
        ];
@@ -46342,7 +47187,7 @@ self: {
        homepage = "https://github.com/alunduil/collection-json.hs";
        description = "Collection+JSON—Hypermedia Type Tools";
        license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ alunduil ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "collections" = callPackage
@@ -46408,8 +47253,8 @@ self: {
      }:
      mkDerivation {
        pname = "colonnade";
-       version = "1.1.1";
-       sha256 = "1qivzd143lk68k6dp8flj1265x8gw9zhs76bsvmhx6kq139qldhf";
+       version = "1.2.0";
+       sha256 = "0a9xh1vg64wyby370djsdcvrhg0vx2bdrwdh7csqri9nbxpzj8jn";
        libraryHaskellDepends = [
          base bytestring contravariant profunctors semigroups text vector
        ];
@@ -46689,6 +47534,7 @@ self: {
        ];
        description = "Commonmark (markdown) to HTML renderer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {comark-testutils = null;};
 
@@ -46715,6 +47561,7 @@ self: {
        ];
        description = "Parser for Commonmark (markdown)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {comark-testutils = null;};
 
@@ -46747,6 +47594,7 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Generate and manipulate various combinatorial objects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "combinat-diagrams" = callPackage
@@ -46764,6 +47612,7 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Graphical representations for various combinatorial objects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "combinator-interactive" = callPackage
@@ -46806,6 +47655,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "combinatorial_0_1" = callPackage
+    ({ mkDerivation, array, base, containers, QuickCheck, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "combinatorial";
+       version = "0.1";
+       sha256 = "1a5l4iixjhvqca8dvwkx3zvlaimp6ggr3fcm7vk7r77rv6n6svh9";
+       libraryHaskellDepends = [
+         array base containers transformers utility-ht
+       ];
+       testHaskellDepends = [
+         array base containers QuickCheck transformers utility-ht
+       ];
+       homepage = "http://hub.darcs.net/thielema/combinatorial/";
+       description = "Count, enumerate, rank and unrank combinatorial objects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "combinatorial-problems" = callPackage
     ({ mkDerivation, array, base, bytestring, bytestring-lexing
      , containers, parsec, random
@@ -47028,8 +47897,8 @@ self: {
        pname = "comonad";
        version = "5.0.2";
        sha256 = "115pai560rllsmym76bj787kwz5xx19y8bl6262005nddqwzxc0v";
-       revision = "1";
-       editedCabalFile = "1lnsnx8p3wlfhd1xfc68za3b00vq77z2m6b0vqiw2laqmpj9akcw";
+       revision = "2";
+       editedCabalFile = "1ngks9bym68rw0xdq43n14nay4kxdxv2n7alwfd9wcpismfz009g";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers contravariant distributive semigroups tagged
@@ -47194,10 +48063,10 @@ self: {
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
        pname = "compactable";
-       version = "0.1.0.2";
-       sha256 = "19ra58dz8wcwx3f5znfqqc0dvnfhldkbd8rg9psc7cynf9xcf93m";
+       version = "0.1.0.4";
+       sha256 = "1xf13k0syj8ssjgf2snddkgljwxpb4gpl0di9hsf1iy1wcx6pgh6";
        libraryHaskellDepends = [ base containers transformers vector ];
-       description = "A generalization for containers that can be stripped of Nothings";
+       description = "A typeclass for structures which can be catMaybed, filtered, and partitioned";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -47611,8 +48480,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "composition-prelude";
-       version = "0.1.1.4";
-       sha256 = "1jnynldi9clzz9in9cjpl17z5yh18wcdal875aphdxd72bhb2yk7";
+       version = "1.1.0.2";
+       sha256 = "1r6i0b9kphx8pmmlkna50gdsqwsmsc538nxhax3imxydi2lhxsdd";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/vmchale/composition-prelude#readme";
        description = "Higher-order function combinators";
@@ -48046,14 +48915,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_3_0_0" = callPackage
+  "concurrency_1_4_0_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.3.0.0";
-       sha256 = "1z75m5wgvdp4lx6v18ap60pdqgdhf1132qlamm07m4dlpkd5il98";
+       version = "1.4.0.0";
+       sha256 = "0rpljvcswb1smidvxh7nwb6ms2gr8wf0gzs0kapiqc9g3wlr1r9r";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -48147,8 +49016,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-machines";
-       version = "0.3.1";
-       sha256 = "0n04gnnv323fk1h9mp8krqbl2v6ljjv1vzw5df38cxvj2xd64y94";
+       version = "0.3.1.1";
+       sha256 = "109c202sqhsx6fr8m0zkwgzsy7pnnaps2nhyykp7cd6rw0ak6i28";
        libraryHaskellDepends = [
          async base containers lifted-async machines monad-control
          semigroups time transformers transformers-base
@@ -48168,8 +49037,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.1";
-       sha256 = "17h081vj2sksv9ldpp9jlir2avnzbx92ay321lha8cjm9cpv4996";
+       version = "1.10.2";
+       sha256 = "02kfg61f7lm8796n4pdi7yvscg8n869vhl9i6rd9rpyb4l9myzd1";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -48388,8 +49257,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.2.12.1";
-       sha256 = "0zl6gflh7y36y2vypjhqx13nhkk5y3h12c1zj7kjfclrmwnvnwh0";
+       version = "1.2.13";
+       sha256 = "1b0i6zbmp9j0km150nghmq77rz3iahkib3dd2m9hihabc6n1p793";
        libraryHaskellDepends = [
          base exceptions lifted-base mmorph monad-control mtl primitive
          resourcet transformers transformers-base transformers-compat
@@ -48407,26 +49276,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "conduit_1_2_13" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
-     , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
-     , mwc-random, primitive, QuickCheck, resourcet, safe, split
-     , transformers, transformers-base, transformers-compat, vector
+  "conduit_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , exceptions, filepath, gauge, hspec, kan-extensions
+     , mono-traversable, mtl, mwc-random, primitive, QuickCheck
+     , resourcet, safe, silently, split, text, transformers, unix
+     , unliftio, unliftio-core, vector
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.2.13";
-       sha256 = "1b0i6zbmp9j0km150nghmq77rz3iahkib3dd2m9hihabc6n1p793";
+       version = "1.3.0";
+       sha256 = "1520pdyb8lawcbqapr1v8lj9zzxnm6d20zfgawa6ds0dxskz1kyp";
        libraryHaskellDepends = [
-         base exceptions lifted-base mmorph monad-control mtl primitive
-         resourcet transformers transformers-base transformers-compat
+         base bytestring directory exceptions filepath mono-traversable mtl
+         primitive resourcet text transformers unix unliftio-core vector
        ];
        testHaskellDepends = [
-         base containers exceptions hspec mtl QuickCheck resourcet safe
-         split transformers
+         base bytestring containers directory exceptions filepath hspec
+         mono-traversable mtl QuickCheck resourcet safe silently split text
+         transformers unliftio vector
        ];
        benchmarkHaskellDepends = [
-         base containers criterion deepseq hspec kan-extensions mwc-random
+         base containers deepseq gauge hspec kan-extensions mwc-random
          transformers vector
        ];
        homepage = "http://github.com/snoyberg/conduit";
@@ -48438,25 +49309,26 @@ self: {
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, containers, deepseq
-     , directory, HUnit, mtl, resourcet, stm, stm-conduit
+     , directory, HUnit, lzma-conduit, mtl, resourcet, stm, stm-conduit
      , test-framework, test-framework-hunit, test-framework-th
-     , transformers
+     , transformers, vector
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.6.1";
-       sha256 = "0zs7klxlkirch0j7gasxqalfw9nc4pfslgrg93jwn5vhpxdxhgwk";
+       version = "0.0.7.1";
+       sha256 = "153g4lhd8ah97hbdvjxc1j4cnkdmpy6x2pbdjv2n7wyn80mqh9i7";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq mtl resourcet stm stm-conduit
-         transformers
+         conduit-extra containers deepseq lzma-conduit mtl resourcet stm
+         stm-conduit transformers vector
        ];
        testHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq directory HUnit mtl resourcet stm
-         stm-conduit test-framework test-framework-hunit test-framework-th
-         transformers
+         conduit-extra containers deepseq directory HUnit lzma-conduit mtl
+         resourcet stm stm-conduit test-framework test-framework-hunit
+         test-framework-th transformers vector
        ];
+       homepage = "https://github.com/luispedro/conduit-algorithms#readme";
        description = "Conduit-based algorithms";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -48556,6 +49428,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "conduit-combinators_1_3_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "conduit-combinators";
+       version = "1.3.0";
+       sha256 = "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp";
+       libraryHaskellDepends = [ base ];
+       doHaddock = false;
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
+       description = "DEPRECATED Functionality merged into the conduit package itself";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "conduit-connection" = callPackage
     ({ mkDerivation, base, bytestring, conduit, connection, HUnit
      , network, resourcet, test-framework, test-framework-hunit
@@ -48608,6 +49494,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "conduit-extra_1_3_0" = callPackage
+    ({ mkDerivation, async, attoparsec, base, bytestring
+     , bytestring-builder, conduit, directory, exceptions, filepath
+     , gauge, hspec, network, primitive, process, QuickCheck, resourcet
+     , stm, streaming-commons, text, transformers, transformers-base
+     , typed-process, unliftio-core
+     }:
+     mkDerivation {
+       pname = "conduit-extra";
+       version = "1.3.0";
+       sha256 = "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c";
+       libraryHaskellDepends = [
+         async attoparsec base bytestring conduit directory filepath network
+         primitive process resourcet stm streaming-commons text transformers
+         typed-process unliftio-core
+       ];
+       testHaskellDepends = [
+         async attoparsec base bytestring bytestring-builder conduit
+         directory exceptions hspec process QuickCheck resourcet stm
+         streaming-commons text transformers transformers-base
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring bytestring-builder conduit gauge transformers
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Batteries included conduit: adapters for common libraries";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "conduit-find" = callPackage
     ({ mkDerivation, attoparsec, base, conduit, conduit-combinators
      , conduit-extra, directory, doctest, either, exceptions, filepath
@@ -48838,8 +49754,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.2.1.1";
-       sha256 = "0rhjqbg6f37jmcddad0yiqvn9i4i8k7rcivnqz92swd2bikyrp3n";
+       version = "0.2.2.0";
+       sha256 = "1820w4y8k0qrlilrizkqckwiyli0x4qcdjmagvcngy5bfsw6fk9n";
        libraryHaskellDepends = [
          base containers megaparsec text transformers unordered-containers
        ];
@@ -48875,13 +49791,13 @@ self: {
      }) {};
 
   "config-parser" = callPackage
-    ({ mkDerivation, base, hspec, lens, parsec, text }:
+    ({ mkDerivation, base, extra, hspec, lens, parsec, text }:
      mkDerivation {
        pname = "config-parser";
-       version = "1.0.0.0";
-       sha256 = "0ak3yhlfnw24d8rbv0z8mpkg839048ywp0c64slbxam3sxs8g170";
+       version = "1.2.0.0";
+       sha256 = "1jmb8c2ksxp9gfryymg100hjfn5kfshi95a1533d6h18ypqd5zb3";
        libraryHaskellDepends = [ base parsec text ];
-       testHaskellDepends = [ base hspec lens parsec text ];
+       testHaskellDepends = [ base extra 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;
@@ -48896,6 +49812,8 @@ self: {
        pname = "config-schema";
        version = "0.5.0.0";
        sha256 = "108gjzafzc5hv1vilnxagf65bh2xia2rfwxcjw6axzzhw5lszgli";
+       revision = "1";
+       editedCabalFile = "03py056v8wvabykx95h5z52g0a5sxglmvvk67wvr94ig8161gbjc";
        libraryHaskellDepends = [
          base config-value containers free kan-extensions pretty
          semigroupoids text transformers
@@ -49360,8 +50278,8 @@ self: {
     ({ mkDerivation, base, category }:
      mkDerivation {
        pname = "constraint";
-       version = "0.1.1.0";
-       sha256 = "15kkkbqy6vjhbjl1jdqrsazrhv5k2l2vqymdjjdn3l07cfnf9lzj";
+       version = "0.1.1.1";
+       sha256 = "0iyz3n8qplp892cw2k2z5pp4pv54p5qaqrcjgpiwfm9jkri0v012";
        libraryHaskellDepends = [ base category ];
        description = "Reified constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -49409,6 +50327,27 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "constraints_0_10" = callPackage
+    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
+     , hspec-discover, mtl, semigroups, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "constraints";
+       version = "0.10";
+       sha256 = "1ii6j62xihxwb85akvy8cdd73g9qr7rd5zl37h4925y2acpbh962";
+       libraryHaskellDepends = [
+         base binary deepseq ghc-prim hashable mtl semigroups transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "http://github.com/ekmett/constraints/";
+       description = "Constraint manipulation";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "constructible" = callPackage
     ({ mkDerivation, arithmoi, base, binary-search, complex-generic }:
      mkDerivation {
@@ -49546,15 +50485,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "containers_0_5_10_2" = callPackage
+  "containers_0_5_11_0" = callPackage
     ({ mkDerivation, array, base, ChasingBottoms, criterion, deepseq
      , ghc-prim, HUnit, QuickCheck, random, test-framework
      , test-framework-hunit, test-framework-quickcheck2, transformers
      }:
      mkDerivation {
        pname = "containers";
-       version = "0.5.10.2";
-       sha256 = "08wc6asnyjdvabqyp15lsbccqwbjy77zjdhwrbg2q9xyj3rgwkm0";
+       version = "0.5.11.0";
+       sha256 = "0j29w09kvcn1c0yi4clmrdbgs2gqmpxs2m7q80ib2ix1smm25kaq";
        libraryHaskellDepends = [ array base deepseq ghc-prim ];
        testHaskellDepends = [
          array base ChasingBottoms deepseq ghc-prim HUnit QuickCheck
@@ -49760,15 +50699,14 @@ self: {
      }) {};
 
   "contravariant" = callPackage
-    ({ mkDerivation, base, semigroups, StateVar, transformers
-     , transformers-compat, void
+    ({ mkDerivation, base, StateVar, transformers, transformers-compat
      }:
      mkDerivation {
        pname = "contravariant";
-       version = "1.4";
-       sha256 = "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1";
+       version = "1.4.1";
+       sha256 = "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9";
        libraryHaskellDepends = [
-         base semigroups StateVar transformers transformers-compat void
+         base StateVar transformers transformers-compat
        ];
        homepage = "http://github.com/ekmett/contravariant/";
        description = "Contravariant functors";
@@ -49807,8 +50745,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "control-dotdotdot";
-       version = "0.1.0.0";
-       sha256 = "0wacfs0s0dy2vzj8yxm3zqsjc93fm8m4iiw5x92wpiz2z2lm3k8d";
+       version = "0.1.0.1";
+       sha256 = "0rwi5zwvqn18g7qyp9aw51w3yzkqbff9g7rcqdk1l871fvq8qhha";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/erisco/control-dotdotdot";
        description = "Haskell operator `g ... f = \x1 .. xn -> g (f x1 .. xn)`.";
@@ -51454,8 +52392,8 @@ self: {
      }:
      mkDerivation {
        pname = "crdt";
-       version = "6.1";
-       sha256 = "0mh71svz7d0xpsh0da292sfzyhbd8cja3r0xyddb947k3kd08q3g";
+       version = "6.2";
+       sha256 = "0d88s8wj3679v4hjgh2jzhsp3iscbh8ph8vkc2rv528abkxfrqfv";
        libraryHaskellDepends = [
          base binary bytestring containers mtl network-info safe stm time
        ];
@@ -51703,6 +52641,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "criterion_1_3_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
+     , bytestring, cassava, code-page, containers, deepseq, directory
+     , exceptions, filepath, Glob, HUnit, js-flot, js-jquery
+     , microstache, mtl, mwc-random, optparse-applicative, parsec
+     , QuickCheck, semigroups, statistics, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, transformers-compat
+     , vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "criterion";
+       version = "1.3.0.0";
+       sha256 = "0csgk6njr6a3i895d10pajf7z4r9hx8aj2r0c3rj5li6vrm37f8q";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint base base-compat binary bytestring cassava
+         code-page containers deepseq directory exceptions filepath Glob
+         js-flot js-jquery microstache mtl mwc-random optparse-applicative
+         parsec semigroups statistics text time transformers
+         transformers-compat vector vector-algorithms
+       ];
+       executableHaskellDepends = [
+         base base-compat optparse-applicative semigroups
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring deepseq directory HUnit
+         QuickCheck statistics tasty tasty-hunit tasty-quickcheck vector
+       ];
+       homepage = "http://www.serpentine.com/criterion";
+       description = "Robust, reliable performance measurement and analysis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "criterion-plus" = callPackage
     ({ mkDerivation, base, criterion, deepseq, HTF, HUnit, loch-th
      , monad-control, mtl, optparse-applicative, placeholders
@@ -52487,21 +53461,33 @@ self: {
      }) {};
 
   "cryptoids" = callPackage
-    ({ mkDerivation, base, binary, bytestring, cryptoids-types
-     , cryptonite, directory, exceptions, filepath, memory
+    ({ mkDerivation, base, binary, bytestring, cryptoids-class
+     , cryptoids-types, cryptonite, directory, exceptions, filepath
+     , memory
      }:
      mkDerivation {
        pname = "cryptoids";
-       version = "0.4.0.0";
-       sha256 = "1km63vgckjsxxrkd45w7c5gc3d5hk6dg6f0y4z4c8wajz4ddp1a3";
+       version = "0.5.0.0";
+       sha256 = "05xywzs7waz01c0p3y02qlf4yfhfpmpzpdfs2cmv5rmphf1hzck2";
        libraryHaskellDepends = [
-         base binary bytestring cryptoids-types cryptonite directory
-         exceptions filepath memory
+         base binary bytestring cryptoids-class cryptoids-types cryptonite
+         directory exceptions filepath memory
        ];
        description = "Reversable and secure encoding of object ids as a bytestring";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cryptoids-class" = callPackage
+    ({ mkDerivation, base, cryptoids-types, exceptions }:
+     mkDerivation {
+       pname = "cryptoids-class";
+       version = "0.0.0";
+       sha256 = "0zp0d815r0dv2xqdi6drq846zz2a82gpqp6nvap3b5dnx2q3hbjy";
+       libraryHaskellDepends = [ base cryptoids-types exceptions ];
+       description = "Typeclass-based interface to cryptoids";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cryptoids-types" = callPackage
     ({ mkDerivation, base, binary, http-api-data, path-pieces }:
      mkDerivation {
@@ -53074,8 +54060,8 @@ self: {
      }:
      mkDerivation {
        pname = "cubicbezier";
-       version = "0.6.0.4";
-       sha256 = "1bdrl26fm09vmmwdlg09ihq3b42qbz7dphzq03b983zlzrj1064f";
+       version = "0.6.0.5";
+       sha256 = "0n17nr20skrds3b9gzy0v86jgnqz8zbds796n9cl0z6rh9bq5jf5";
        libraryHaskellDepends = [
          base containers fast-math integration matrices microlens
          microlens-mtl microlens-th mtl vector vector-space
@@ -53206,12 +54192,14 @@ self: {
      }) {};
 
   "curl" = callPackage
-    ({ mkDerivation, base, bytestring, curl }:
+    ({ mkDerivation, base, bytestring, containers, curl }:
      mkDerivation {
        pname = "curl";
        version = "1.3.8";
        sha256 = "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh";
-       libraryHaskellDepends = [ base bytestring ];
+       revision = "1";
+       editedCabalFile = "02sq2bjw5igc2k9f9ssh58k2ivii2xsvk5r00ky3cxh8j61qy86q";
+       libraryHaskellDepends = [ base bytestring containers ];
        librarySystemDepends = [ curl ];
        description = "Haskell binding to libcurl";
        license = stdenv.lib.licenses.bsd3;
@@ -53313,41 +54301,61 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "curry" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "curry";
+       version = "0.0.0.0";
+       sha256 = "09kwv72pww29xhp4sp7czp3pgjdggzs5ggj8cmzng8xzzgsgd1dv";
+       libraryHaskellDepends = [ base ];
+       description = "Curry types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "curry-base" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, mtl
-     , old-time, pretty, syb
+    ({ mkDerivation, base, Cabal, containers, directory, extra
+     , filepath, mtl, parsec, pretty, time, transformers
      }:
      mkDerivation {
        pname = "curry-base";
-       version = "0.2.9";
-       sha256 = "0sdwygsbqmvcbzi7zsr0jd02s2r19pc7zsk4b6hjxv4vzjc9f120";
+       version = "1.0.0";
+       sha256 = "05j0wv2aj5979j5gq13bn317pd9gis96qjp6inqa08aafc4l3yya";
        libraryHaskellDepends = [
-         base containers directory filepath mtl old-time pretty syb
+         base containers directory extra filepath mtl parsec pretty time
+         transformers
        ];
-       homepage = "http://www.curry-language.org";
+       testHaskellDepends = [ base Cabal filepath mtl ];
+       homepage = "http://curry-language.org";
        description = "Functions for manipulating Curry programs";
-       license = "unknown";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "curry-frontend" = callPackage
-    ({ mkDerivation, base, containers, curry-base, filepath, mtl
-     , old-time, pretty, syb
+    ({ mkDerivation, base, Cabal, containers, curry-base, directory
+     , extra, filepath, mtl, network-uri, pretty, process, set-extra
+     , transformers
      }:
      mkDerivation {
        pname = "curry-frontend";
-       version = "0.2.12";
-       sha256 = "1igys4i7wwj1ildkf4is66gq22zsjg158kv3ald5xiilwkmvfc4h";
+       version = "1.0.1";
+       sha256 = "07khd3b5v8ys1vidz3gkxj91k4pwq5hn5zlyr99n0n1rm24vhbf8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ filepath ];
+       libraryHaskellDepends = [
+         base containers curry-base directory extra filepath mtl network-uri
+         pretty process set-extra transformers
+       ];
        executableHaskellDepends = [
-         base containers curry-base mtl old-time pretty syb
+         base containers curry-base directory extra filepath mtl network-uri
+         pretty process set-extra transformers
        ];
-       homepage = "http://www.curry-language.org";
+       testHaskellDepends = [ base Cabal curry-base filepath ];
+       homepage = "http://curry-language.org";
        description = "Compile the functional logic language Curry to several intermediate formats";
-       license = "unknown";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -54335,6 +55343,7 @@ self: {
        homepage = "https://gitlab.com/haskell-hr/basic";
        description = "A database library with a focus on ease of use, type safety and useful error messages";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {basic = null;};
 
@@ -54782,8 +55791,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-dword";
-       version = "0.3.1.1";
-       sha256 = "0dgs30yvs7cpikf6f2x4r7rb1f4fv3xi2rgr579af8nhrb2d6z7p";
+       version = "0.3.1.2";
+       sha256 = "084invjg8zj7ndxnz9clqmq06ch47k1d9lhxwap6xs0x4807crvb";
        libraryHaskellDepends = [
          base data-bword ghc-prim hashable template-haskell
        ];
@@ -55023,8 +56032,8 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "data-foldapp";
-       version = "0.1.0.0";
-       sha256 = "0m2rwai52q712fxkpk4k23cc8x9dx87c8wwwsg9w5y5pxq78csn8";
+       version = "0.1.1.0";
+       sha256 = "1415cf59wkf1599qcqmrpn9m4v9br3d763v1809mwg9bm2310x65";
        libraryHaskellDepends = [ base containers ];
        homepage = "https://github.com/erisco/data-foldapp";
        description = "Fold function applications. Framework for variadic functions.";
@@ -55336,34 +56345,6 @@ self: {
 
   "data-msgpack" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , data-binary-ieee754, deepseq, groom, hashable, hspec, QuickCheck
-     , text, unordered-containers, vector, void
-     }:
-     mkDerivation {
-       pname = "data-msgpack";
-       version = "0.0.10";
-       sha256 = "0vpv4l6phsa9b3l0wxk798w9kzkc454v2kk554rcmz94wq3k6n61";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary bytestring containers data-binary-ieee754 deepseq
-         hashable QuickCheck text unordered-containers vector void
-       ];
-       executableHaskellDepends = [ base bytestring groom ];
-       testHaskellDepends = [
-         base bytestring containers hashable hspec QuickCheck text
-         unordered-containers vector void
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq QuickCheck
-       ];
-       homepage = "http://msgpack.org/";
-       description = "A Haskell implementation of MessagePack";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "data-msgpack_0_0_11" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
      , data-binary-ieee754, data-msgpack-types, deepseq, groom, hashable
      , hspec, QuickCheck, text, unordered-containers, vector, void
      }:
@@ -55387,7 +56368,6 @@ self: {
        homepage = "http://msgpack.org/";
        description = "A Haskell implementation of MessagePack";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-msgpack-types" = callPackage
@@ -56410,8 +57390,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "0.10.14";
-       sha256 = "13x1b3qzgsrksaqmrrlpvn5ivq4s4yzhwa8nl833pcvybzzxjb9n";
+       version = "0.10.15";
+       sha256 = "1a5sjavq8mfzz4zxpkd9b6jxsvy0kl1rjq2hhy40gcz2qjfnamb4";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq libxml-sax network parsec
          random text transformers unix vector xml-types
@@ -57056,17 +58036,23 @@ self: {
      }) {};
 
   "debug-pp" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, aeson, base, debug-hoed, directory, filepath, yaml
+     }:
      mkDerivation {
        pname = "debug-pp";
-       version = "0.1.0.0";
-       sha256 = "05cq6qlp014a9d7zvi7kablswxdf0801ybi29c4m2v9vkqakhwcj";
+       version = "0.1.1";
+       sha256 = "1hja3kgczsr9zr7vf0glsi0czdfgb97kchwwqhi1gr5nfdphncjb";
        isLibrary = false;
        isExecutable = true;
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [
+         aeson base debug-hoed directory filepath yaml
+       ];
        homepage = "https://github.com/pepeiborra/debug-hoed-pp#readme";
+       description = "A preprocessor for the debug package";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {debug-hoed = null;};
 
   "debug-time" = callPackage
     ({ mkDerivation, base, clock, containers }:
@@ -57547,14 +58533,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "dejafu_1_0_0_0" = callPackage
+  "dejafu_1_0_0_1" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
      , leancheck, profunctors, random, ref-fd, transformers
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "1.0.0.0";
-       sha256 = "0d7darip6dkvpn9gqvr8lkid0b19a5sxd31f5rn8b5fpgc368i8v";
+       version = "1.0.0.1";
+       sha256 = "1v2hizvwf4clvqwwaab6ijlmwv7n97h8ag7dw9a63w4lipfl2anf";
        libraryHaskellDepends = [
          base concurrency containers deepseq exceptions leancheck
          profunctors random ref-fd transformers
@@ -58169,8 +59155,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "derulo";
-       version = "0.0.4";
-       sha256 = "0xdz9hfh9wyh5pyn82kapbjiq6hgrdr23krb2940q0hr0rf39ssb";
+       version = "1.0.0";
+       sha256 = "0ylfaj73yv9bzp1sygbhcipji2g9jws2r4alvhns1y7wzl74fgbz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -58413,6 +59399,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall_1_9_1" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring
+     , bytestring, case-insensitive, charset, containers, contravariant
+     , cryptohash, deepseq, exceptions, http-client, http-client-tls
+     , lens-family-core, optparse-generic, parsers, prettyprinter
+     , system-fileio, system-filepath, tasty, tasty-hunit, text
+     , text-format, transformers, trifecta, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dhall";
+       version = "1.9.1";
+       sha256 = "1kwv5mhcabg3bwnp9j7z01xxv1a0xnpc6n0yw02k8xhrhdz60hdq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base base16-bytestring bytestring case-insensitive
+         charset containers contravariant cryptohash exceptions http-client
+         http-client-tls lens-family-core parsers prettyprinter
+         system-fileio system-filepath text text-format transformers
+         trifecta unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         base optparse-generic prettyprinter system-filepath text trifecta
+       ];
+       testHaskellDepends = [
+         base containers deepseq prettyprinter tasty tasty-hunit text vector
+       ];
+       description = "A configuration language guaranteed to terminate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-bash" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
@@ -58435,6 +59453,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-bash_1_0_7" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dhall
+     , neat-interpolation, optparse-generic, shell-escape, text
+     , text-format, trifecta, vector
+     }:
+     mkDerivation {
+       pname = "dhall-bash";
+       version = "1.0.7";
+       sha256 = "1mwxzrr5dmlm1892a4akgs52jl0bwiyf2qpl2mnr91y7fnmn00qs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dhall neat-interpolation shell-escape
+         text text-format vector
+       ];
+       executableHaskellDepends = [
+         base bytestring dhall optparse-generic text trifecta
+       ];
+       description = "Compile Dhall to Bash";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-check" = callPackage
     ({ mkDerivation, base, containers, dhall, directory, filepath
      , fsnotify, text, trifecta
@@ -58473,6 +59514,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-json_1_0_10" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
+     , optparse-generic, text, trifecta, vector, yaml
+     }:
+     mkDerivation {
+       pname = "dhall-json";
+       version = "1.0.10";
+       sha256 = "0zqb5hh3520l75walfnyr1i9dqphjxcawchvm12shjz2vqpi6wpq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ aeson base dhall text vector ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring dhall optparse-generic text
+         trifecta yaml
+       ];
+       description = "Compile Dhall to JSON or YAML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-nix" = callPackage
     ({ mkDerivation, base, containers, data-fix, dhall, hnix
      , neat-interpolation, optparse-generic, text, text-format, trifecta
@@ -58495,6 +59556,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-nix_1_0_10" = callPackage
+    ({ mkDerivation, base, containers, data-fix, dhall, hnix
+     , neat-interpolation, optparse-generic, text, text-format, trifecta
+     , vector
+     }:
+     mkDerivation {
+       pname = "dhall-nix";
+       version = "1.0.10";
+       sha256 = "09iy1a0nc2mwbsly58na9lw4jh7wv7zq0lspdcynhsxj3xv2q23n";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-fix dhall hnix neat-interpolation text
+         text-format vector
+       ];
+       executableHaskellDepends = [
+         base dhall hnix optparse-generic text trifecta
+       ];
+       description = "Dhall to Nix compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-text" = callPackage
     ({ mkDerivation, base, dhall, optparse-generic, text }:
      mkDerivation {
@@ -58508,6 +59592,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-text_1_0_5" = callPackage
+    ({ mkDerivation, base, dhall, optparse-generic, text }:
+     mkDerivation {
+       pname = "dhall-text";
+       version = "1.0.5";
+       sha256 = "195nfflpk787m8jjmspw2x4rb2s7vd0z5wz5s0bzfwdl6c7xgg27";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base dhall optparse-generic text ];
+       description = "Template text using Dhall";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhcp-lease-parser" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
      , tasty-hunit, text
@@ -58615,10 +59713,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-builder";
-       version = "0.8.0.1";
-       sha256 = "072vzskwp20qb768rv87876ngn6gnj959m91vpzri9ls9jx0x6vf";
-       revision = "3";
-       editedCabalFile = "00lpy8ch7zjc2z3ifwg8j1jfsrf4sg1fk9pngykl8bqb79hm5h3i";
+       version = "0.8.0.2";
+       sha256 = "1jr98sza6bhzq9myfb9f2p8lfbs9qcxck67h2hvxisgpvmy0gjn2";
        configureFlags = [ "-fcairo" "-fps" "-frasterific" "-fsvg" ];
        isLibrary = true;
        isExecutable = true;
@@ -58695,6 +59791,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.1";
        sha256 = "1apbgicaq7qaij42hwh5aiy67si2fjd0m4lah1hw4vz0cqfxxs2v";
+       revision = "1";
+       editedCabalFile = "0143vrfnb5qp3m23nvh5h67b2wvkq8y27yn6jjq601cs95f3b41c";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -58753,6 +59851,8 @@ self: {
        pname = "diagrams-gtk";
        version = "1.4";
        sha256 = "1sga2wwkircjgryd4pn9i0wvvcnh3qnhpxas32crpdq939idwsxn";
+       revision = "1";
+       editedCabalFile = "0afpcbgkc897gp0hpqi5frwbzln1qapf36p93v9zxl05my6nj04i";
        libraryHaskellDepends = [
          base cairo diagrams-cairo diagrams-lib gtk
        ];
@@ -58846,6 +59946,8 @@ self: {
        pname = "diagrams-lib";
        version = "1.4.2";
        sha256 = "1rdg8b46hc1ybk1y9dw7w725rag58rkr7hs7z3gvk4isxm11gm79";
+       revision = "1";
+       editedCabalFile = "0vz16br2gn4agi35k92qw84cja2dqj63g7q3ak64jhc8r99bd4a1";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -58977,6 +60079,8 @@ self: {
        pname = "diagrams-rasterific";
        version = "1.4";
        sha256 = "190mc32fjjf3770fjp1bmbh3zc8l5bhqhqy30vv48l0pypfjrsns";
+       revision = "1";
+       editedCabalFile = "0y4hf13l9y4179vhdsak8zq69wyn3rgmwnz9wp0x4rj32gdjjp3j";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
@@ -59115,23 +60219,21 @@ self: {
      }) {};
 
   "dib" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, digest
-     , directory, filepath, mtl, process, text, time
+    ({ mkDerivation, ansi-terminal, base, bytestring, cereal
+     , containers, digest, directory, filepath, mtl, process, text, time
      }:
      mkDerivation {
        pname = "dib";
-       version = "0.7.1";
-       sha256 = "19qk3k39ckjjinsiixapjnslv2y7abnb0vivp33g054lhjv066z3";
-       revision = "1";
-       editedCabalFile = "19kzycbym6q077kwz5xw6gqkzc8bd6ig6pvx0pri4d1r1bkmgy0i";
+       version = "0.7.2";
+       sha256 = "0r1hk45fdyhygmscnphl4n6dcs0rvgavhbg5si0aqsck4wsnql83";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring cereal containers digest directory filepath mtl
-         process text time
+         ansi-terminal base bytestring cereal containers digest directory
+         filepath mtl process text time
        ];
        executableHaskellDepends = [
-         base containers directory filepath mtl time
+         base containers directory filepath mtl process time
        ];
        description = "A simple, forward build system";
        license = stdenv.lib.licenses.mit;
@@ -59208,8 +60310,8 @@ self: {
      }:
      mkDerivation {
        pname = "dictionaries";
-       version = "0.2.0.3";
-       sha256 = "0a8d20vfd5gcxrfhsa0530fnzb9fqh47qsjbyhf7pnh0f0p0qbi6";
+       version = "0.2.0.4";
+       sha256 = "1m581w0fmb9ggwqkyfgxjw6zxfkk6iapmh17sizsqkmg2vbw7qzx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59492,8 +60594,8 @@ self: {
      }:
      mkDerivation {
        pname = "digestive-functors-aeson";
-       version = "1.1.22";
-       sha256 = "1gsvv8kgjjjq7nlpixq3gz6d1j90l83pmh2r3h18019369fcv3ip";
+       version = "1.1.23";
+       sha256 = "14mzv2bc7ndqqkx1nqb3km78h1ysjmry9d6s40nic8r2qgf9y2an";
        libraryHaskellDepends = [
          aeson base containers digestive-functors lens lens-aeson safe text
          vector
@@ -60013,12 +61115,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "directory_1_3_1_5" = callPackage
+  "directory_1_3_2_0" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.3.1.5";
-       sha256 = "0zkqihmdfz7bzv3sxh1p9ijl4vra880kfy3qy9h96flq7d2if0f2";
+       version = "1.3.2.0";
+       sha256 = "0ffhanigxrx5wpin8l0wfp7d24lpgsjwj0hxrfp8bpy2wj1snxny";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -60486,6 +61588,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "distributed-closure_0_3_5" = callPackage
+    ({ mkDerivation, base, binary, bytestring, constraints, hspec
+     , QuickCheck, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "distributed-closure";
+       version = "0.3.5";
+       sha256 = "0mm3w8l63n9lbifrj32kv5xbb79fiwd4swi2kv2lbnc67b6ig43h";
+       libraryHaskellDepends = [
+         base binary bytestring constraints syb template-haskell
+       ];
+       testHaskellDepends = [ base binary hspec QuickCheck ];
+       homepage = "https://github.com/tweag/distributed-closure";
+       description = "Serializable closures for distributed programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "distributed-process" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , data-accessor, deepseq, distributed-static, exceptions, hashable
@@ -61239,17 +62359,13 @@ self: {
      }) {};
 
   "dlist" = callPackage
-    ({ mkDerivation, base, Cabal, deepseq, QuickCheck
-     , quickcheck-instances
-     }:
+    ({ mkDerivation, base, Cabal, deepseq, QuickCheck }:
      mkDerivation {
        pname = "dlist";
-       version = "0.8.0.3";
-       sha256 = "0brgai4vs7xz29p06kd6gzg5bpa8iy3k7yzgcc44izspd74q4rw7";
+       version = "0.8.0.4";
+       sha256 = "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc";
        libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [
-         base Cabal QuickCheck quickcheck-instances
-       ];
+       testHaskellDepends = [ base Cabal QuickCheck ];
        homepage = "https://github.com/spl/dlist";
        description = "Difference lists";
        license = stdenv.lib.licenses.bsd3;
@@ -61387,8 +62503,8 @@ self: {
      }:
      mkDerivation {
        pname = "dns";
-       version = "3.0.0";
-       sha256 = "1i2mdrzvyxclfrpik2rm36ljm3c3z1a73vjy7vivzy6wcmfzyb56";
+       version = "3.0.1";
+       sha256 = "1aq8n0qglvx134fl8ry1liw7kpw7flm631s9qb7is7bw510wgdd6";
        libraryHaskellDepends = [
          async attoparsec auto-update base base64-bytestring binary
          bytestring conduit conduit-extra containers cryptonite iproute mtl
@@ -61545,6 +62661,8 @@ self: {
        pname = "docker";
        version = "0.4.1.1";
        sha256 = "103j8hcabfwrzjmjzxw3ks7b90nnanznck941v956q1h3240npka";
+       revision = "1";
+       editedCabalFile = "1zbi904jaq2mvbxhmw2l181xz0p6q8mia843g5arsz3akckq2z72";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit conduit-combinators
          conduit-extra containers data-default-class directory exceptions
@@ -61564,6 +62682,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "docker_0_5_0_1" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , conduit-combinators, conduit-extra, connection, containers
+     , data-default-class, directory, exceptions, filemanip, filepath
+     , http-client, http-client-tls, http-conduit, http-types, lens
+     , lens-aeson, monad-control, mtl, network, process, QuickCheck
+     , resourcet, scientific, tar, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, time, tls, transformers, transformers-base
+     , unordered-containers, uuid, vector, x509, x509-store, x509-system
+     , zlib
+     }:
+     mkDerivation {
+       pname = "docker";
+       version = "0.5.0.1";
+       sha256 = "0357d9hnrr990ysp87c17a8brnkp1w2w666m5jxhkap53n2dji4v";
+       revision = "1";
+       editedCabalFile = "1rrhgk3g33ppzxp3yqwdsj7l9nrmxl2xssb97slm7l81vypvs5z5";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit conduit-combinators
+         conduit-extra containers data-default-class directory exceptions
+         filemanip filepath http-client http-conduit http-types
+         monad-control mtl network resourcet scientific tar temporary text
+         time tls transformers transformers-base unordered-containers uuid
+         vector x509 x509-store x509-system zlib
+       ];
+       testHaskellDepends = [
+         aeson base bytestring connection containers directory http-client
+         http-client-tls http-types lens lens-aeson process QuickCheck tasty
+         tasty-hunit tasty-quickcheck text transformers unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/denibertovic/docker-hs";
+       description = "An API client for docker written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "docker-build-cacher" = callPackage
     ({ mkDerivation, base, containers, foldl, language-docker
      , system-filepath, text, turtle
@@ -61581,6 +62736,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "docker-build-cacher_1_9_1" = callPackage
+    ({ mkDerivation, base, containers, foldl, language-docker
+     , system-filepath, text, turtle
+     }:
+     mkDerivation {
+       pname = "docker-build-cacher";
+       version = "1.9.1";
+       sha256 = "1d8v9900j9ygx060gahwk208i5f36sdpnlpdaa1qqhcnywvmfzi4";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers foldl language-docker system-filepath text turtle
+       ];
+       homepage = "https://github.com/seatgeek/docker-build-cacher#readme";
+       description = "Builds a services with docker and caches all of its intermediate stages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dockercook" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base16-bytestring, bytestring, conduit, conduit-combinators
@@ -62028,8 +63202,8 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.5.2.1";
-       sha256 = "0nd4d12sj93gs0n7pgdhailrwd56h33xy894n5m6zfi4ay43s62r";
+       version = "0.5.2.3";
+       sha256 = "194cjf641q54b19daldg9nyi9gf8j4fxql6aslqzbgy7bfg5aj5b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -62584,13 +63758,19 @@ self: {
      }) {};
 
   "drinkery" = callPackage
-    ({ mkDerivation, base, criterion, mtl, transformers }:
+    ({ mkDerivation, base, conduit, conduit-combinators, gauge, list-t
+     , ListT, machines, mtl, pipes, transformers
+     }:
      mkDerivation {
        pname = "drinkery";
-       version = "0";
-       sha256 = "06ad33l3xv9paspb5ymr97zzb4dkdfq9sg40b3i62nf52gpjfdly";
+       version = "0.1";
+       sha256 = "0cwv7z7gzbbkxrdfikkbmkhd6asbib1m0j9h98nwhm7i1c498rhi";
+       revision = "1";
+       editedCabalFile = "19zjmmfjkkx3dsy4zwz8f3iciwgvlra9rxp5y11mkb5glg5qy3f9";
        libraryHaskellDepends = [ base mtl transformers ];
-       benchmarkHaskellDepends = [ base criterion ];
+       benchmarkHaskellDepends = [
+         base conduit conduit-combinators gauge list-t ListT machines pipes
+       ];
        homepage = "https://github.com/fumieval/drinkery#readme";
        description = "Boozy streaming library";
        license = stdenv.lib.licenses.bsd3;
@@ -63333,8 +64513,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamic-graph";
-       version = "0.1.0.10";
-       sha256 = "14bgkrd14a62dnkk9h3syzgxqmkjd50br9qxmiqq2b9fnqd7nf34";
+       version = "0.1.0.11";
+       sha256 = "0mgciglcq8cshbcrc0ff858596zlm07z6wcmjpaa3irqbkdn7ma1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base cairo colour either GLFW-b GLUtil OpenGL pango pipes
@@ -64245,10 +65425,10 @@ self: {
     ({ mkDerivation, base, type-level-sets }:
      mkDerivation {
        pname = "effect-monad";
-       version = "0.7.0.0";
-       sha256 = "05jlh86hfxawkbckvw2f2xj8yc36w2hr1w3l6q75359mwa7bp7fy";
+       version = "0.8.1.0";
+       sha256 = "0lrx586ij1c09hv1rj14l2xi3papzdg8496kas6czdld0kfj8kw1";
        libraryHaskellDepends = [ base type-level-sets ];
-       description = "Embeds effect systems into Haskell using graded monads";
+       description = "Embeds effect systems and program logics into Haskell using graded monads and parameterised monads";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -64588,8 +65768,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-bosun";
-       version = "1.0.10";
-       sha256 = "18108haj2gpgbn3lbsgzb1ixbycijjns1h780hllsb3nbcmqv0gw";
+       version = "1.0.11";
+       sha256 = "0663m2riq23dwhsvgqi0mcy6h7hb24fgk315h7mi656bj5lzllx6";
        libraryHaskellDepends = [
          aeson base ekg-core http-client lens network network-uri old-locale
          text time unordered-containers vector wreq
@@ -64605,8 +65785,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-carbon";
-       version = "1.0.8";
-       sha256 = "0n65c6yv43gckxlckl9bmmf0ags3pp055lvxpi5rbq1d95b29xqd";
+       version = "1.0.9";
+       sha256 = "00xdyrvwmd9jp59awh9i1yzbnywndzmjmz8qsn87hrcd2848fdnm";
        libraryHaskellDepends = [
          base ekg-core network network-carbon text time unordered-containers
          vector
@@ -64943,6 +66123,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eliminators_0_4" = callPackage
+    ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats
+     , singletons, template-haskell, th-abstraction, th-desugar
+     }:
+     mkDerivation {
+       pname = "eliminators";
+       version = "0.4";
+       sha256 = "1lsvz498db2vlaj4d9p4bi4pl4cnsl27gmmhw1ipfxw4kxmfdf4z";
+       revision = "1";
+       editedCabalFile = "188dnmw7gwfp4fxyljhb3gv78bj9gai4v2if8d9gcnss6ykp5mn1";
+       libraryHaskellDepends = [
+         base extra singleton-nats singletons template-haskell
+         th-abstraction th-desugar
+       ];
+       testHaskellDepends = [ base hspec singleton-nats singletons ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "https://github.com/RyanGlScott/eliminators";
+       description = "Dependently typed elimination functions using singletons";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "elision" = callPackage
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
@@ -64960,18 +66162,16 @@ self: {
      }) {};
 
   "elm-bridge" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, QuickCheck
-     , template-haskell, text
+    ({ mkDerivation, aeson, base, containers, hspec, hspec-discover
+     , QuickCheck, template-haskell, text
      }:
      mkDerivation {
        pname = "elm-bridge";
-       version = "0.4.1";
-       sha256 = "1wp813l6bdw5x7vpiq098v1gbxzvv3129n2rl4div9mrj53a3i2l";
-       revision = "1";
-       editedCabalFile = "05kk6lsh10ligdgj4dw0iyhvv0blnrcvmk94hn27qq70bpv8xcqz";
+       version = "0.4.2";
+       sha256 = "1mcaic3xdll6bdv4yjp0j0861yapgfgb4wd0ckh7dpcmcnfnarhx";
        libraryHaskellDepends = [ aeson base template-haskell ];
        testHaskellDepends = [
-         aeson base containers hspec QuickCheck text
+         aeson base containers hspec hspec-discover QuickCheck text
        ];
        homepage = "https://github.com/agrafix/elm-bridge";
        description = "Derive Elm types and Json code from Haskell types";
@@ -65461,8 +66661,8 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.2";
-       sha256 = "1h15z89qsp7b08nnjgs2rcwavfhfrkanvh7j8jp0rrx7xh0rz6lv";
+       version = "2.3.2.1";
+       sha256 = "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav";
        libraryHaskellDepends = [
          attoparsec base bytestring template-haskell
        ];
@@ -65779,8 +66979,8 @@ self: {
      }:
      mkDerivation {
        pname = "eng-stemmer";
-       version = "0.1.0.1";
-       sha256 = "0v0k2hqh2270djy5pgj9c5biywfb4amssv3410y9dqgl9jpsjdg8";
+       version = "0.1.0.2";
+       sha256 = "0fz7dwgmhlna906x6m5s5yrk6w5wswsj75irrkc2hrwxrq1f6mqw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers mtl text ];
@@ -65795,15 +66995,15 @@ self: {
 
   "engine-io" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, base64-bytestring
-     , bytestring, either, free, monad-loops, mwc-random, stm, stm-delay
+     , bytestring, errors, free, monad-loops, mwc-random, stm, stm-delay
      , text, transformers, unordered-containers, vector, websockets
      }:
      mkDerivation {
        pname = "engine-io";
-       version = "1.2.17";
-       sha256 = "0m5nr1qk15p332dhmiyrpfdm91cf3al2nah6rja55y6gpc2vvvbv";
+       version = "1.2.19";
+       sha256 = "1z3gnd3cfgp3mlbxlbaqv5m21fv0qqjyzzqi3qkrrggy0y71yq0b";
        libraryHaskellDepends = [
-         aeson async attoparsec base base64-bytestring bytestring either
+         aeson async attoparsec base base64-bytestring bytestring errors
          free monad-loops mwc-random stm stm-delay text transformers
          unordered-containers vector websockets
        ];
@@ -66216,6 +67416,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "envy_1_5_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, mtl
+     , QuickCheck, quickcheck-instances, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "envy";
+       version = "1.5.0.0";
+       sha256 = "1gqzfjgy58833vi9b5dlfwwzx7fj2548wb340xyh0q8cmsrrkh6d";
+       libraryHaskellDepends = [
+         base bytestring containers mtl text time transformers
+       ];
+       testHaskellDepends = [
+         base bytestring hspec mtl QuickCheck quickcheck-instances text time
+         transformers
+       ];
+       description = "An environmentally friendly way to deal with environment variables";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "epanet-haskell" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -66335,8 +67555,8 @@ self: {
      }:
      mkDerivation {
        pname = "epub-tools";
-       version = "2.10";
-       sha256 = "0bahnq1fs31j5bmfm5pi9cn72c64bv5ib29w5qw1lqhp10zr3j17";
+       version = "2.11";
+       sha256 = "18k4aipaw6zlzhpxidl5b7q5hvy51sj030p7mw89flrgd8kd3g2p";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -66348,7 +67568,7 @@ self: {
        ];
        homepage = "https://github.com/dino-/epub-tools.git";
        description = "Command line utilities for working with epub files";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.isc;
      }) {};
 
   "epubname" = callPackage
@@ -66381,6 +67601,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eq_4_1" = callPackage
+    ({ mkDerivation, base, semigroupoids }:
+     mkDerivation {
+       pname = "eq";
+       version = "4.1";
+       sha256 = "10k1xnvga7c6ijmkfq2qd4vc5i2lnkz4xjmba74g0xzhk6gkvp0n";
+       libraryHaskellDepends = [ base semigroupoids ];
+       homepage = "http://github.com/ekmett/eq/";
+       description = "Leibnizian equality";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "equal-files" = callPackage
     ({ mkDerivation, base, bytestring, explicit-exception, filemanip
      , transformers, utility-ht
@@ -66729,23 +67962,23 @@ self: {
   "ersatz" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
      , cabal-doctest, containers, data-default, directory, doctest
-     , filepath, lens, mtl, parsec, process, temporary, transformers
-     , unordered-containers
+     , filepath, lens, mtl, parsec, process, semigroups, temporary
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "ersatz";
-       version = "0.4.1";
-       sha256 = "0na9i2jc5assjis12pfpi08ykf90b79ydsvv1lqsbgsbij9w2w91";
+       version = "0.4.2";
+       sha256 = "1rr46awz0rbzg0i6424rnrykcwkgwxfzgx5d5qmva4y41l62vkxf";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers data-default lens mtl
-         process temporary transformers unordered-containers
+         process semigroups temporary transformers unordered-containers
        ];
        executableHaskellDepends = [
-         array base containers lens mtl parsec
+         array base containers lens mtl parsec semigroups
        ];
        testHaskellDepends = [ array base directory doctest filepath mtl ];
        homepage = "http://github.com/ekmett/ersatz";
@@ -67599,7 +68832,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "eventsource-api_1_2_0" = callPackage
+  "eventsource-api_1_3_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , enclosed-exceptions, lifted-async, lifted-base, monad-control
      , monad-loops, mtl, stm, stm-chans, string-conversions, text
@@ -67607,8 +68840,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventsource-api";
-       version = "1.2.0";
-       sha256 = "1hiigk22f5w1bgnvmpi2gs8s1c80x2ddd44rczj5dfrfawvm8jr2";
+       version = "1.3.0";
+       sha256 = "1xv1j0dyvbl319513ycyl8857jy3gh0dcjvwxfxz4ddsw0sld3bx";
        libraryHaskellDepends = [
          aeson base bytestring containers enclosed-exceptions lifted-async
          lifted-base monad-control monad-loops mtl stm stm-chans
@@ -67642,15 +68875,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "eventsource-geteventstore-store_1_0_6" = callPackage
+  "eventsource-geteventstore-store_1_1_0" = callPackage
     ({ mkDerivation, aeson, base, eventsource-api
      , eventsource-store-specs, eventstore, mtl, protolude
      , string-conversions, tasty, tasty-hspec, transformers-base
      }:
      mkDerivation {
        pname = "eventsource-geteventstore-store";
-       version = "1.0.6";
-       sha256 = "0fy1sgc43a6d4hrwyc3kawcnvpm4zlmwnznw27zd40hrbzkkkzw2";
+       version = "1.1.0";
+       sha256 = "00siad63vciymkdql9b3bszb2qfcylb9y32x04ndd19mvpixhdi3";
        libraryHaskellDepends = [
          aeson base eventsource-api eventstore mtl string-conversions
          transformers-base
@@ -67681,14 +68914,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "eventsource-store-specs_1_1_0" = callPackage
+  "eventsource-store-specs_1_1_1" = callPackage
     ({ mkDerivation, aeson, async, base, eventsource-api, mtl, tasty
      , tasty-hspec, text, transformers-base, uuid
      }:
      mkDerivation {
        pname = "eventsource-store-specs";
-       version = "1.1.0";
-       sha256 = "0z4c6p8f0w72kz682i7f0zjy3qqz7n2pkgjfb258w7xx642434g0";
+       version = "1.1.1";
+       sha256 = "1pa4s9y9cgvaadzyp186snhvrgp4jw1xgzxy2w58hxfa2mcxqn4i";
        libraryHaskellDepends = [
          aeson async base eventsource-api mtl tasty tasty-hspec text
          transformers-base uuid
@@ -67799,7 +69032,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "eventstore_1_0_0" = callPackage
+  "eventstore_1_1_1" = callPackage
     ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
      , cereal, clock, connection, containers, dns, dotnet-timespan
      , ekg-core, exceptions, fast-logger, hashable, http-client
@@ -67811,8 +69044,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "1.0.0";
-       sha256 = "1mhgvh1mm6fkibjd9p8k2wjhi064b22knwkjdk4i396zya6210f0";
+       version = "1.1.1";
+       sha256 = "1cvn53nf6igcg3a2sdvihd857vdrhrkcj1bzrbzaixkrxqcyhn9y";
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring cereal clock connection
          containers dns dotnet-timespan ekg-core exceptions fast-logger
@@ -67940,6 +69173,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "exact-pi_0_4_1_3" = callPackage
+    ({ mkDerivation, base, numtype-dk, semigroups }:
+     mkDerivation {
+       pname = "exact-pi";
+       version = "0.4.1.3";
+       sha256 = "1r1cjyz6aqbq8ydn3gq4107n3hnd6zbygj7pw299nqdaag38g7jf";
+       libraryHaskellDepends = [ base numtype-dk semigroups ];
+       homepage = "https://github.com/dmcclean/exact-pi/";
+       description = "Exact rational multiples of pi (and integer powers of pi)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "exact-real" = callPackage
     ({ mkDerivation, base, checkers, criterion, directory, doctest
      , filepath, groups, integer-gmp, memoize, QuickCheck, random, tasty
@@ -68086,8 +69332,8 @@ self: {
        pname = "exceptions";
        version = "0.8.3";
        sha256 = "1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd";
-       revision = "2";
-       editedCabalFile = "1vl59j0l7m53hkzlcfmdbqbab8dk4lp9gzwryn7nsr6ylg94wayw";
+       revision = "4";
+       editedCabalFile = "18iip6wffnrp1jgnf09gxg4v17ymjank50kjshxvcy9s9l9g13ln";
        libraryHaskellDepends = [
          base mtl stm template-haskell transformers transformers-compat
        ];
@@ -68354,6 +69600,7 @@ self: {
        ];
        description = "Existential types with lens-like accessors";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {control-invariants = null;};
 
@@ -68691,6 +69938,7 @@ self: {
        ];
        description = "Encode and Decode expressions from Z3 ASTs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extcore" = callPackage
@@ -68778,8 +70026,8 @@ self: {
      }:
      mkDerivation {
        pname = "extensible";
-       version = "0.4.7";
-       sha256 = "0a0xmixyhfxlkrqr0nk1nvi8177i4432xamg91y5971mgail7kgv";
+       version = "0.4.7.1";
+       sha256 = "04gb1havami26mkwdr9vbqs28r1rc9ggd9xxcaf6zw9s5z2hvr5a";
        libraryHaskellDepends = [
          base comonad constraints deepseq ghc-prim hashable monad-skeleton
          mtl primitive profunctors QuickCheck semigroups StateVar tagged
@@ -68895,8 +70143,8 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.6.2";
-       sha256 = "1l8l8724g3kd3f01pq429y7czr1bnhbrq2y0lii1hi767sjxgnz4";
+       version = "1.6.3";
+       sha256 = "06ds0jlx6sljwdf63l154qbzia9mnsri79i9qm3xikky3nj9ia1m";
        libraryHaskellDepends = [
          base clock directory filepath process time unix
        ];
@@ -68981,8 +70229,8 @@ self: {
     ({ mkDerivation, base, leancheck, speculate, template-haskell }:
      mkDerivation {
        pname = "extrapolate";
-       version = "0.3.0";
-       sha256 = "1mqhn515mq730frzcadw4m0zsizk1vkhcygazy6y03533mai0z2g";
+       version = "0.3.1";
+       sha256 = "1hz03mdascy4jvqhyrqqmb1py3pb03g4z3if05z2cbdxgbgsbbn4";
        libraryHaskellDepends = [
          base leancheck speculate template-haskell
        ];
@@ -69036,8 +70284,8 @@ self: {
      }:
      mkDerivation {
        pname = "factory";
-       version = "0.3.0.0";
-       sha256 = "0izhwb0plxhlsr4ghk2rybm367n83d598s3nk8ss0mnnv7gv5wpm";
+       version = "0.3.1.4";
+       sha256 = "0k5bb0imp001f1sj785qqy9k67wvb91mr4fpdcg5riykiv8j9l1x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69311,26 +70559,24 @@ self: {
      }) {};
 
   "fast-arithmetic" = callPackage
-    ({ mkDerivation, base, Cabal, composition-prelude, criterion
-     , directory, hspec, http-client, http-client-tls, parallel-io
-     , QuickCheck, recursion-schemes, tar, zlib
+    ({ mkDerivation, arithmoi, ats-setup, base, Cabal, combinat
+     , composition-prelude, criterion, hspec, QuickCheck
+     , recursion-schemes
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.1.1.5";
-       sha256 = "1pp9wdzzjfsjdbf8vnbpf1a29x6xzigzrjivrdpw7l6cwkhs9gff";
-       setupHaskellDepends = [
-         base Cabal directory http-client http-client-tls parallel-io tar
-         zlib
-       ];
+       version = "0.3.2.4";
+       sha256 = "0dvrwlcpfsrrw8la5brvhjc78k48s2kaz08cg6xqx82vkrzipm63";
+       setupHaskellDepends = [ ats-setup base Cabal ];
        libraryHaskellDepends = [
          base composition-prelude recursion-schemes
        ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base criterion ];
+       testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
+       benchmarkHaskellDepends = [ arithmoi base combinat criterion ];
        homepage = "https://github.com/vmchale/fast-arithmetic#readme";
        description = "Fast functions on integers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-builder" = callPackage
@@ -69371,6 +70617,7 @@ self: {
        homepage = "https://github.com//fast-combinatorics#readme";
        description = "Fast combinatorics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-digits" = callPackage
@@ -70417,6 +71664,7 @@ self: {
        homepage = "https://github.com/markus-git/feldspar-signal";
        description = "Signal Processing extension for Feldspar";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {feldspar-compiler-shim = null; monadic-edsl-priv = null;};
 
@@ -71035,12 +72283,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "filepath_1_4_1_2" = callPackage
+  "filepath_1_4_2" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "filepath";
-       version = "1.4.1.2";
-       sha256 = "1hrbi7ckrkqzw73ziqiyh00xp28c79pk0jrj1vqiq5nwfs3hryvv";
+       version = "1.4.2";
+       sha256 = "0bnryq00xbcsswxmahl42x85bfh23mxsap0gq8q0dm1v67ij7a0q";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "https://github.com/haskell/filepath#readme";
@@ -71051,16 +72299,16 @@ self: {
 
   "filepath-crypto" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
-     , cryptoids, cryptoids-types, encoding, exceptions, filepath, sandi
-     , template-haskell
+     , cryptoids, cryptoids-class, cryptoids-types, exceptions, filepath
+     , sandi, template-haskell
      }:
      mkDerivation {
        pname = "filepath-crypto";
-       version = "0.0.0.2";
-       sha256 = "1i6y0bpyndghkfip2l0ijk9mnhia0fjmd6skzl1a3dbh5pibf7fd";
+       version = "0.1.0.0";
+       sha256 = "1bj9haa4ignmk6c6gdiqb4rnwy395pwqdyfy4kgg0z16w0l39mw0";
        libraryHaskellDepends = [
-         base binary bytestring case-insensitive cryptoids cryptoids-types
-         encoding exceptions filepath sandi template-haskell
+         base binary bytestring case-insensitive cryptoids cryptoids-class
+         cryptoids-types exceptions filepath sandi template-haskell
        ];
        description = "Reversable and secure encoding of object ids as filepaths";
        license = stdenv.lib.licenses.bsd3;
@@ -71524,8 +72772,8 @@ self: {
      }:
      mkDerivation {
        pname = "fishfood";
-       version = "0.0.1.7";
-       sha256 = "1b2nabliv1xqi42q2bknri85gizb1xbh7j5729dxv3sybzq50wd8";
+       version = "0.0.1.8";
+       sha256 = "04wqj8s8b97i6448f66ljv5wk6nhcjs80vapg96vwmlslxwcmhnc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -71849,6 +73097,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "fixer" = callPackage
+    ({ mkDerivation, aeson, base, containers, directory, genvalidity
+     , genvalidity-containers, genvalidity-hspec
+     , genvalidity-hspec-aeson, genvalidity-text, genvalidity-time
+     , hspec, http-api-data, http-client, mtl, QuickCheck, servant
+     , servant-client, stm, text, time, validity, validity-containers
+     , validity-time, yaml
+     }:
+     mkDerivation {
+       pname = "fixer";
+       version = "0.0.0.0";
+       sha256 = "044l199r91gsxplahilsh6ims8bxlqdi6srprdvdygqhxzhpvanf";
+       libraryHaskellDepends = [
+         aeson base containers directory http-api-data http-client mtl
+         servant servant-client stm text time validity validity-containers
+         validity-time yaml
+       ];
+       testHaskellDepends = [
+         aeson base containers directory genvalidity genvalidity-containers
+         genvalidity-hspec genvalidity-hspec-aeson genvalidity-text
+         genvalidity-time hspec http-api-data http-client mtl QuickCheck
+         servant servant-client stm text time validity validity-containers
+         validity-time yaml
+       ];
+       homepage = "https://github.com/NorfairKing/fixer#readme";
+       description = "A Haskell client for http://fixer.io/";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fixfile" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , directory, exceptions, filepath, hashable, hashtables, lens, mtl
@@ -72140,6 +73417,8 @@ self: {
        pname = "flat-mcmc";
        version = "1.5.0";
        sha256 = "1zgi69vgwss7hhv893n5z3av0byb5hiblha7k3ck4bbfmkgakkl7";
+       revision = "1";
+       editedCabalFile = "1pjkyvs4c6yx6jva08zw2b1qfhhv9q71sy806f5lddjsknnym2fn";
        libraryHaskellDepends = [
          base formatting mcmc-types monad-par monad-par-extras
          mwc-probability pipes primitive text transformers vector
@@ -72590,18 +73869,20 @@ self: {
 
   "fltkhs" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, directory, filepath
-     , mtl, parsec, text
+     , mtl, OpenGLRaw, parsec, text
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.4.3";
-       sha256 = "1cn98f0lzzgyrjcw2xr68xm5129wl9zr3jy4la8hw4fwbvcjphnv";
+       version = "0.5.4.4";
+       sha256 = "1bv7djak2ilirk7ajm8w6100bk6vx14znf3699blih72kyql6rgh";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base bytestring text ];
        libraryToolDepends = [ c2hs ];
-       executableHaskellDepends = [ base directory filepath mtl parsec ];
+       executableHaskellDepends = [
+         base directory filepath mtl OpenGLRaw parsec text
+       ];
        homepage = "http://github.com/deech/fltkhs";
        description = "FLTK bindings";
        license = stdenv.lib.licenses.mit;
@@ -72833,25 +74114,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "fmlist";
-       version = "0.9.1";
-       sha256 = "0v83rxr4889c6m5djfp3vx450kzsj1wi5d0qmd7myvh7i0r4afqv";
-       libraryHaskellDepends = [ base ];
-       homepage = "https://github.com/sjoerdvisscher/fmlist";
-       description = "FoldMap lists";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "fmlist_0_9_2" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "fmlist";
        version = "0.9.2";
        sha256 = "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/sjoerdvisscher/fmlist";
        description = "FoldMap lists";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fmt" = callPackage
@@ -72972,6 +74240,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fold-debounce-conduit_0_2_0_0" = callPackage
+    ({ mkDerivation, base, conduit, fold-debounce, hspec, resourcet
+     , stm, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "fold-debounce-conduit";
+       version = "0.2.0.0";
+       sha256 = "0ba42cxcjr7llsx42qmzg6kc497c35rkm4ndm114p0nf1mijn8nr";
+       libraryHaskellDepends = [
+         base conduit fold-debounce resourcet stm transformers
+         transformers-base
+       ];
+       testHaskellDepends = [
+         base conduit hspec resourcet stm transformers
+       ];
+       homepage = "https://github.com/debug-ito/fold-debounce-conduit";
+       description = "Regulate input traffic from conduit Source with Control.FoldDebounce";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foldl" = callPackage
     ({ mkDerivation, base, bytestring, comonad, containers
      , contravariant, criterion, hashable, mwc-random, primitive
@@ -72992,6 +74281,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "foldl_1_3_7" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers
+     , contravariant, criterion, hashable, mwc-random, primitive
+     , profunctors, semigroups, text, transformers, unordered-containers
+     , vector, vector-builder
+     }:
+     mkDerivation {
+       pname = "foldl";
+       version = "1.3.7";
+       sha256 = "113966zyk1jj8l1k1izfix8bc1hmpr9w1zahkz592f56wmvmy8kn";
+       libraryHaskellDepends = [
+         base bytestring comonad containers contravariant hashable
+         mwc-random primitive profunctors semigroups text transformers
+         unordered-containers vector vector-builder
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Composable, streaming, and efficient left folds";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foldl-incremental" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , foldl, histogram-fill, mwc-random, pipes, QuickCheck, tasty
@@ -73016,15 +74326,18 @@ self: {
      }) {};
 
   "foldl-statistics" = callPackage
-    ({ mkDerivation, base, criterion, foldl, math-functions, mwc-random
-     , profunctors, quickcheck-instances, statistics, tasty
-     , tasty-quickcheck, vector
+    ({ mkDerivation, base, containers, criterion, foldl, hashable
+     , math-functions, mwc-random, profunctors, quickcheck-instances
+     , statistics, tasty, tasty-quickcheck, unordered-containers, vector
      }:
      mkDerivation {
        pname = "foldl-statistics";
-       version = "0.1.4.6";
-       sha256 = "05ibj8gw86n5jspn5qnvvqyihb1fanmk86xxrm04sghxbfc9szzy";
-       libraryHaskellDepends = [ base foldl math-functions profunctors ];
+       version = "0.1.5.0";
+       sha256 = "1z9qx7kiaidl3icz6g3rd6pyycwnvyv7xyw8g6p1n7rpvz60633b";
+       libraryHaskellDepends = [
+         base containers foldl hashable math-functions profunctors
+         unordered-containers
+       ];
        testHaskellDepends = [
          base foldl profunctors quickcheck-instances statistics tasty
          tasty-quickcheck vector
@@ -73126,16 +74439,20 @@ self: {
      }) {};
 
   "folgerhs" = callPackage
-    ({ mkDerivation, base, xml }:
+    ({ mkDerivation, array, base, containers, gloss
+     , optparse-applicative, xml
+     }:
      mkDerivation {
        pname = "folgerhs";
-       version = "0.1.0.1";
-       sha256 = "0kn89abvbk7faynhsyg177rayxddvwnkgsjb5cng8044n9glw9sb";
+       version = "0.3.0.2";
+       sha256 = "0dxig93mf29778sq71wz913d405g07dzkpbjp8cm4xsz1p86xryh";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base xml ];
-       executableHaskellDepends = [ base xml ];
-       homepage = "https://github.com/SU-LOSP/tools#readme";
+       libraryHaskellDepends = [ array base containers gloss xml ];
+       executableHaskellDepends = [
+         array base containers gloss optparse-applicative xml
+       ];
+       homepage = "https://github.com/SU-LOSP/folgerhs#readme";
        description = "Toolset for Folger Shakespeare Library's XML annotated plays";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -73303,8 +74620,8 @@ self: {
        pname = "force-layout";
        version = "0.4.0.6";
        sha256 = "17956k3mab2xhrmfy7fj5gh08h43yjlsryi5acjhnkmin5arhwpp";
-       revision = "1";
-       editedCabalFile = "1ydj5ng7wsi9jg6xw9bg8c7wrsg2jpnvjkjvzxaf6n8sjs0gxhvw";
+       revision = "2";
+       editedCabalFile = "1dj785ih5bla68yzxkpsilwj1p1xv6a8rh76rz799aap5injda0z";
        libraryHaskellDepends = [
          base containers data-default-class lens linear
        ];
@@ -73670,6 +74987,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "forsyde-shallow" = callPackage
+    ({ mkDerivation, base, directory, hspec, old-time, process, random
+     }:
+     mkDerivation {
+       pname = "forsyde-shallow";
+       version = "3.3.2.0";
+       sha256 = "1cfqv2mn1ccbp2j7vnjj123ys2n5s414dqid4ywy1l749pzf7w1j";
+       libraryHaskellDepends = [ base directory old-time process random ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "http://forsyde.ict.kth.se/";
+       description = "ForSyDe's Haskell-embedded Domain Specific Language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "forth-hll" = callPackage
     ({ mkDerivation, array-forth, base, free, mtl }:
      mkDerivation {
@@ -73827,6 +75158,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "foundation_0_0_19" = callPackage
+    ({ mkDerivation, base, basement, gauge, ghc-prim }:
+     mkDerivation {
+       pname = "foundation";
+       version = "0.0.19";
+       sha256 = "053g5fdg9p74irvdh3g19hkb6g28h0sngkh2zqwplbxwy59dhfxq";
+       libraryHaskellDepends = [ base basement ghc-prim ];
+       testHaskellDepends = [ base basement ];
+       benchmarkHaskellDepends = [ base basement gauge ];
+       homepage = "https://github.com/haskell-foundation/foundation";
+       description = "Alternative prelude with batteries and no dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foundation-edge" = callPackage
     ({ mkDerivation, bytestring, foundation, text }:
      mkDerivation {
@@ -74055,6 +75401,7 @@ self: {
        executableHaskellDepends = [ pretty ];
        description = "A simple web framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghc-binary = null;};
 
@@ -74143,6 +75490,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "free_5" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, containers
+     , distributive, exceptions, mtl, profunctors, semigroupoids
+     , semigroups, template-haskell, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "5";
+       sha256 = "1s4avwm4lnscmxv3fy0zws3vbg61sczgxm1m3cdnqxp95bd6p4c7";
+       libraryHaskellDepends = [
+         base bifunctors comonad containers distributive exceptions mtl
+         profunctors semigroupoids semigroups template-haskell transformers
+         transformers-base transformers-compat
+       ];
+       homepage = "http://github.com/ekmett/free/";
+       description = "Monads for free";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "free-concurrent" = callPackage
     ({ mkDerivation, base, type-aligned }:
      mkDerivation {
@@ -74395,18 +75763,19 @@ self: {
      }) {};
 
   "freelude" = callPackage
-    ({ mkDerivation, array, base, containers, doctest, indextype
-     , transformers
+    ({ mkDerivation, array, base, bytestring, containers, doctest
+     , indextype, text, transformers
      }:
      mkDerivation {
        pname = "freelude";
-       version = "0.1.0.1";
-       sha256 = "0a16vbm17dvvfk9wp8y9df8qypy14vld4yq20hh273p2cdxx5p2n";
+       version = "0.3.2.0";
+       sha256 = "1gwgzdpnwjyihmrbq3zx24a9nlcn78g1gjsc091gffszszzf1mxk";
        libraryHaskellDepends = [
-         array base containers indextype transformers
+         array base bytestring containers indextype text transformers
        ];
        testHaskellDepends = [
-         array base containers doctest indextype transformers
+         array base bytestring containers doctest indextype text
+         transformers
        ];
        homepage = "https://github.com/clintonmead/freelude#readme";
        description = "A generalisation of the Category->Functor->Applicative->Monad hierarchy and more";
@@ -74516,6 +75885,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "freer-simple_1_0_1_1" = callPackage
+    ({ mkDerivation, base, criterion, extensible-effects, free, mtl
+     , natural-transformation, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, transformers-base
+     }:
+     mkDerivation {
+       pname = "freer-simple";
+       version = "1.0.1.1";
+       sha256 = "1fdxj1iyh8jl2nghrm51r7gvlk1qwzrjjhj13f0akwrm2s0la1jb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base natural-transformation transformers-base
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base criterion extensible-effects free mtl
+       ];
+       homepage = "https://github.com/lexi-lambda/freer-simple#readme";
+       description = "Implementation of a friendly effect system for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "freesect" = callPackage
     ({ mkDerivation, array, base, cpphs, directory, mtl, parallel
      , pretty, random, syb
@@ -75103,6 +76499,7 @@ self: {
        homepage = "https://github.com/mr/ftp-client";
        description = "Transfer file with FTP and FTPS with Conduit";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ftp-clientconduit = null;};
 
@@ -75326,14 +76723,31 @@ self: {
        pname = "funcmp";
        version = "1.8";
        sha256 = "09kmfgl15d71fr5h66j2b0ngw69y8dp41d55lz35nrjxq3l3gz1k";
+       revision = "1";
+       editedCabalFile = "1fkjmx4mmfmf2y08w7mgw1rp6q6w9zxdj95zfydgxgkmvk9b37c4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base filepath process ];
-       homepage = "http://savannah.nongnu.org/projects/funcmp/";
+       homepage = "https://github.com/peti/funcmp";
        description = "Functional MetaPost";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "funcmp_1_9" = callPackage
+    ({ mkDerivation, base, filepath, pretty, process }:
+     mkDerivation {
+       pname = "funcmp";
+       version = "1.9";
+       sha256 = "1d5appkjhajb9ndv2gwnfz8lw2w53v8baajzmrhg26ihzj1bkch8";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base filepath pretty process ];
+       homepage = "https://github.com/peti/funcmp";
+       description = "Functional MetaPost is a Haskell frontend to the MetaPost language";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "funcons-tools" = callPackage
     ({ mkDerivation, base, bv, containers, directory, mtl, multiset
      , parsec, split, text, vector
@@ -75725,8 +77139,8 @@ self: {
      }:
      mkDerivation {
        pname = "fuzzyset";
-       version = "0.1.0.3";
-       sha256 = "11sbdqmcvmqzb9xhvs4bgjj8wb1i2ls5gm1pgiy757h4clcyl4k1";
+       version = "0.1.0.4";
+       sha256 = "1nk3qrjcg5q4mnv2lzbw08ikgibix0ns6910z9xixcfq5kgij6my";
        libraryHaskellDepends = [
          base base-unicode-symbols data-default lens text text-metrics
          unordered-containers vector
@@ -75740,14 +77154,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fuzzyset_0_1_0_4" = callPackage
+  "fuzzyset_0_1_0_5" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, data-default, hspec
      , ieee754, lens, text, text-metrics, unordered-containers, vector
      }:
      mkDerivation {
        pname = "fuzzyset";
-       version = "0.1.0.4";
-       sha256 = "1nk3qrjcg5q4mnv2lzbw08ikgibix0ns6910z9xixcfq5kgij6my";
+       version = "0.1.0.5";
+       sha256 = "12cl135ph7qjnfm0x36yw3mvjilsw4pm509yvh7i5whsafs3kakq";
        libraryHaskellDepends = [
          base base-unicode-symbols data-default lens text text-metrics
          unordered-containers vector
@@ -75834,8 +77248,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "fx";
-       version = "0.10";
-       sha256 = "0nki5nb55qahjf3f2dqrfvrx77i3kba6aqiv1pwwkinnlv3k7n7i";
+       version = "0.10.1";
+       sha256 = "1awscv2y8ywcyyn08hdmlh3qdjs33akr7grfdfls59rmhidg4fhd";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/nikita-volkov/fx";
        description = "Horizontally composable effects";
@@ -76080,18 +77494,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "gauge_0_2_0" = callPackage
+  "gauge_0_2_1" = callPackage
     ({ mkDerivation, base, basement, bytestring, deepseq, directory
-     , HUnit, math-functions, mwc-random, process, tasty, tasty-hunit
-     , vector
+     , HUnit, process, tasty, tasty-hunit, vector
      }:
      mkDerivation {
        pname = "gauge";
-       version = "0.2.0";
-       sha256 = "05sq8lgg7a7y5wpvsvx847whwdznsarxf41vndjx264v8x61jv86";
+       version = "0.2.1";
+       sha256 = "0401b5jzfib4wxwicqynhkn79q98hnxrpiqk1b353a6wix55hy1d";
        libraryHaskellDepends = [
-         base basement deepseq directory math-functions mwc-random process
-         vector
+         base basement deepseq directory process vector
        ];
        testHaskellDepends = [
          base bytestring deepseq directory HUnit tasty tasty-hunit
@@ -76544,6 +77956,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gen-imports" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, filepath
+     , hackage-db, pretty
+     }:
+     mkDerivation {
+       pname = "gen-imports";
+       version = "0.1.0.2";
+       sha256 = "1qm01lnvicg59cnj659famd7f9z1z6l9r4jsl7gakrq0ylw7mkqd";
+       libraryHaskellDepends = [
+         base bytestring Cabal containers filepath hackage-db pretty
+       ];
+       homepage = "https://github.com/clintonmead/gen-imports#readme";
+       description = "Code to generate instances for the package \"ghc-instances\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gen-passwd" = callPackage
     ({ mkDerivation, base, bytestring, optparse-applicative, random
      , vector
@@ -76694,8 +78123,8 @@ self: {
      }:
      mkDerivation {
        pname = "generic-accessors";
-       version = "0.6.0.1";
-       sha256 = "1jgl1kklix3y6cdr1776pwc2ip12w532f4v0zyx6h8qs48mgvx66";
+       version = "0.6.2.0";
+       sha256 = "1id0zc617wskz5p8mbawqin03f73vvqy3d8jm6ywzyw3in5y82hs";
        libraryHaskellDepends = [
          base binary cereal lens linear spatial-math TypeCompose
        ];
@@ -76792,17 +78221,20 @@ self: {
      }) {};
 
   "generic-deriving" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, hspec
+    ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
      , template-haskell
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.12";
-       sha256 = "09nl2c2b54ngqv4rgv3avvallyvfnv5jfld0wk2v90srl3x6p5vk";
+       version = "1.12.1";
+       sha256 = "0wwl29f5mlxmrigh0kp35q7aj10ymknnjabmdrdfxpi079rkzzgm";
+       revision = "1";
+       editedCabalFile = "1vr9lyvcrdiar6ndqnspwvhvrbnc1fvsjyx458ivpcr6j75j0l5j";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
        testHaskellDepends = [ base hspec template-haskell ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/dreixel/generic-deriving";
        description = "Generic programming library for generalised deriving";
        license = stdenv.lib.licenses.bsd3;
@@ -76839,6 +78271,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generic-lens-labels" = callPackage
+    ({ mkDerivation, base, generic-lens }:
+     mkDerivation {
+       pname = "generic-lens-labels";
+       version = "0.1.0.2";
+       sha256 = "0lhzxknz8117zc28d7l9wfvln5lp7alxfx8f6q4b986i93dzkl09";
+       libraryHaskellDepends = [ base generic-lens ];
+       homepage = "https://github.com/duog/generic-lens-labels";
+       description = "GHC.OverloadedLabels.IsLabel instance for lenses from ghc-generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-lucid-scaffold" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
@@ -76908,12 +78352,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "generic-random_1_1_0_1" = callPackage
+  "generic-random_1_1_0_2" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "generic-random";
-       version = "1.1.0.1";
-       sha256 = "0axbsrxcczhlci4zm4brq2lmd7cjgmixl9hk6jnd86w4v107xiph";
+       version = "1.1.0.2";
+       sha256 = "0zslrz4cizw8c76q5szgmpc58f25hx4qf01lavxshynn771cx271";
        libraryHaskellDepends = [ base QuickCheck ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "http://github.com/lysxia/generic-random";
@@ -77005,8 +78449,8 @@ self: {
        pname = "generic-xmlpickler";
        version = "0.1.0.5";
        sha256 = "1brnlgnbys811qy64aps2j03ks2p0rkihaqzaszfwl80cpsn05ym";
-       revision = "5";
-       editedCabalFile = "18hs5adb6wfasazdlv2wf92xszyjw94i3v20w8058hl7q1ax9dv0";
+       revision = "6";
+       editedCabalFile = "0jc2rnh8kyzay8ny59ahqb9q6vmp7si4aps1a42la79735078x51";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
        testHaskellDepends = [
          base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
@@ -77038,25 +78482,12 @@ self: {
     ({ mkDerivation, base, deepseq, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "generics-sop";
-       version = "0.3.1.0";
-       sha256 = "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7";
-       libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
-       testHaskellDepends = [ base ];
-       description = "Generic Programming using True Sums of Products";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "generics-sop_0_3_2_0" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim, template-haskell }:
-     mkDerivation {
-       pname = "generics-sop";
        version = "0.3.2.0";
        sha256 = "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h";
        libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
        testHaskellDepends = [ base ];
        description = "Generic Programming using True Sums of Products";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "generics-sop-lens" = callPackage
@@ -77065,8 +78496,8 @@ self: {
        pname = "generics-sop-lens";
        version = "0.1.2.1";
        sha256 = "0p2ji955hy9r6c1wmiziga9pbbli24my3vmx19gf4i8db36d8jaf";
-       revision = "2";
-       editedCabalFile = "1zavix9vzj6qnr6izfmq1ggsdzsqzz41dlmh228lpvfm2mddx6w2";
+       revision = "3";
+       editedCabalFile = "1phq0hjpgxfvb8ay9v4ix6axk07mbd266javss9nmqmqmn3vnb51";
        libraryHaskellDepends = [ base generics-sop lens ];
        homepage = "https://github.com/phadej/generics-sop-lens#readme";
        description = "Lenses for types in generics-sop";
@@ -77315,8 +78746,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.4.0.2";
-       sha256 = "1kmbjx57212v7v1b7b7585m0i9sd5qh32ln83pc63m6jdpw161a1";
+       version = "0.4.0.4";
+       sha256 = "0gfndjss4j2dmyk46r9ab3ahw8pmc6bry7nzzx7qpgim6zz5597w";
        libraryHaskellDepends = [ base QuickCheck validity ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/NorfairKing/validity#readme";
@@ -77570,8 +79001,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-time";
-       version = "0.1.0.0";
-       sha256 = "0jgfrrspyawvymp2p55ba56pxggqkg352c1n2bmyyi9hs99fp0jf";
+       version = "0.1.0.1";
+       sha256 = "1d9j6scv83kzxk4jngmad4i0843lm2bkr7yq4qsdbxpsj6akkdrg";
        libraryHaskellDepends = [
          base genvalidity QuickCheck time validity-time
        ];
@@ -77844,6 +79275,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "geos" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, geos_c, hspec, mtl
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "geos";
+       version = "0.1.0.0";
+       sha256 = "02r9c063kkqalyadfqwhhwfb42kky7nkfp5k968l1qidyx6aha5j";
+       libraryHaskellDepends = [
+         base bytestring cassava mtl transformers vector
+       ];
+       librarySystemDepends = [ geos_c ];
+       testHaskellDepends = [ base bytestring cassava hspec mtl vector ];
+       testSystemDepends = [ geos_c ];
+       description = "Bindings for GEOS";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {geos_c = null;};
+
   "getemx" = callPackage
     ({ mkDerivation, base, curl, directory, filepath, haskell98, hxt
      , mtl, old-locale, process, time
@@ -78094,6 +79544,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-dump-core" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, ghc, serialise, text
+     }:
+     mkDerivation {
+       pname = "ghc-dump-core";
+       version = "0.1.0.0";
+       sha256 = "036hpykq1ibnnb4sm0k4ljcqj2m7qf8kdycdmids9qfhz3kldms2";
+       libraryHaskellDepends = [
+         base bytestring filepath ghc serialise text
+       ];
+       description = "An AST and compiler plugin for dumping GHC's Core representation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ghc-dump-tree" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ghc, optparse-applicative
      , pretty, pretty-show, process, unordered-containers, vector
@@ -78120,6 +79584,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-dump-util" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, ghc-dump-core
+     , hashable, optparse-applicative, regex-tdfa, regex-tdfa-text
+     , serialise, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ghc-dump-util";
+       version = "0.1.0.0";
+       sha256 = "0d8d5nc9nnfk0qnxjg7mdfc1cfalycwi1bb8x3m1f9ndy29hzrb1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base bytestring ghc-dump-core hashable serialise
+         text unordered-containers
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base ghc-dump-core optparse-applicative regex-tdfa
+         regex-tdfa-text
+       ];
+       description = "Handy tools for working with @ghc-dump@ dumps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ghc-dup" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -78222,6 +79709,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-exactprint_0_5_6_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Diff, directory
+     , filemanip, filepath, free, ghc, ghc-boot, ghc-paths, HUnit, mtl
+     , silently, syb
+     }:
+     mkDerivation {
+       pname = "ghc-exactprint";
+       version = "0.5.6.0";
+       sha256 = "0fbq7p2kykqq2pzf0mld0brj3pdrgxb1zvpa05pqxsfs66czlbsg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers directory filepath free ghc ghc-boot
+         ghc-paths mtl syb
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff directory filemanip filepath ghc
+         ghc-boot ghc-paths HUnit mtl silently syb
+       ];
+       description = "ExactPrint for GHC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-gc-tune" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -78304,6 +79815,41 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-instances" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
+     , deepseq, directory, filepath, ghc, ghc-boot, ghc-compact
+     , ghc-prim, hoopl, hpc, integer-gmp, process, template-haskell
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "ghc-instances";
+       version = "0.1.0.1";
+       sha256 = "0vfqwd2w95lwqa4sbxaz9yl0mk8qj2v28zgzqhmlfg4xg25l76qs";
+       revision = "1";
+       editedCabalFile = "0rkg9mmxad74fqa1k8np8yj3p0agicpj8cy2983397ibzhyrsjwc";
+       libraryHaskellDepends = [
+         array base binary bytestring Cabal containers deepseq directory
+         filepath ghc ghc-boot ghc-compact ghc-prim hoopl hpc integer-gmp
+         process template-haskell time unix
+       ];
+       homepage = "https://github.com/clintonmead/ghc-instances#readme";
+       description = "Easily import all instances contained in GHC distributed libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-justdoit" = callPackage
+    ({ mkDerivation, base, ghc, hashable, inspection-testing }:
+     mkDerivation {
+       pname = "ghc-justdoit";
+       version = "0.1";
+       sha256 = "0qr6ipsq7g1275svdgqcppcb37r387fvap5fyyn6fn4h84dhvkby";
+       libraryHaskellDepends = [ base ghc hashable ];
+       testHaskellDepends = [ base inspection-testing ];
+       homepage = "https://github.com/nomeata/ghc-justdoit";
+       description = "A magic typeclass that just does it";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ghc-make" = callPackage
     ({ mkDerivation, base, process, shake, unordered-containers }:
      mkDerivation {
@@ -78420,6 +79966,7 @@ self: {
        homepage = "https://github.com/ranjitjhala/ghc-options.git";
        description = "Utilities for extracting GHC options needed to compile a given Haskell target";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {bin-package-db = null;};
 
@@ -78941,12 +80488,12 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.6.8";
-       sha256 = "1ca8962sh41jkz82lx1snx8fzp8s2v5dsq0mczgzc7aqjgclb35g";
+       version = "0.6.9";
+       sha256 = "0bkhbzjjp4n97dsf8q4ggphsfh0rxwgdn4kmg8l87zbrih41gdpc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base cmdargs directory extra filepath process time unix
+         base cmdargs directory extra filepath process time
        ];
        executableHaskellDepends = [
          ansi-terminal base cmdargs containers directory extra filepath
@@ -79162,6 +80709,7 @@ self: {
        ];
        description = "Virtual-dom bindings for GHCJS";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghcjs-ffiqq = null; ghcjs-prim = null;};
 
@@ -79296,6 +80844,28 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) atk;};
 
+  "gi-atk_2_0_15" = callPackage
+    ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-atk";
+       version = "2.0.15";
+       sha256 = "1vmzby12nvbrka6f44pr1pjwccl0p6s984pxvibajzp72x2knxc9";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ atk ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "Atk bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) atk;};
+
   "gi-cairo" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cairo, containers
      , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
@@ -79321,6 +80891,32 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) cairo;};
 
+  "gi-cairo_1_0_15" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
+     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gi-cairo";
+       version = "1.0.15";
+       sha256 = "1hm8bcd6j11dimb3ksfjkcqf9wqa9frq1jyjpbr2j5s8srrf7031";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers haskell-gi haskell-gi-base
+         haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ cairo ];
+       doHaddock = false;
+       preCompileBuildDriver = ''
+         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
+         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
+       '';
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "Cairo bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) cairo;};
+
   "gi-gdk" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
      , gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, gtk3
@@ -79329,8 +80925,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdk";
-       version = "3.0.14";
-       sha256 = "0ds8h0sjl4jf8y5vjfl18gsbarhy6pxl6if7nd4lqaznbribw4jl";
+       version = "3.0.15";
+       sha256 = "17cjg6m69xlmlnwlwa6s23f1j28bfrwkg08v3n5xmz56zvzsgykg";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-gdkpixbuf gi-gio gi-glib
@@ -79352,8 +80948,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdkpixbuf";
-       version = "2.0.14";
-       sha256 = "1p8sksyg9jrva2mm0ipqxv10df0hnmzmiv2rs05ayl1ris366h2q";
+       version = "2.0.15";
+       sha256 = "0j2bqphjfhgm9nk8pyfpd6zp7i3q4b11s4vlgas9xdwwi9p1md8r";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -79374,8 +80970,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdkx11";
-       version = "3.0.1";
-       sha256 = "0y9dkiwrx6d7r94ihczc250c2wzg2l4jsz9i198r4kysjdgm7q7v";
+       version = "3.0.2";
+       sha256 = "0s3iry866p6v2hm4d841fcimrhjsk9miskkqf9js8as7mwlk7jac";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gdk gi-gio gi-gobject gi-xlib
@@ -79396,8 +80992,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-ggit";
-       version = "1.0.1";
-       sha256 = "08jfsfjvdbyd1m1si2r50frc4s3x5x9710r2np6wl1p0y3pk20cf";
+       version = "1.0.2";
+       sha256 = "17449xz5v5n1i6c7vgrszq395v78q2hp2zjlnc85zxj5qlnkwz64";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -79418,8 +81014,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gio";
-       version = "2.0.14";
-       sha256 = "0dwy8zd66b04jbn0g7c5n511nl2xxjvchzf56bmw8cfcm384r66d";
+       version = "2.0.15";
+       sha256 = "1mxiwwm6dnbxxnqm05bh73qnb27dbfsyz3pr2bvgwvhp4f2m0nn3";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -79440,8 +81036,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-girepository";
-       version = "1.0.14";
-       sha256 = "1pains4g8a4yxacggx6jama3d1rdky684kcm758m6kiigsplkfkp";
+       version = "1.0.15";
+       sha256 = "1g9bvf850zsbqi4dw8i1nbclqwi599zvwny4fsl0hp8lqb9w7ps6";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gobject haskell-gi haskell-gi-base
@@ -79452,6 +81048,7 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "GIRepository (gobject-introspection) bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gobjectIntrospection;};
 
   "gi-glib" = callPackage
@@ -79475,6 +81072,28 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib;};
 
+  "gi-glib_2_0_16" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, glib
+     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gi-glib";
+       version = "2.0.16";
+       sha256 = "03hl5szq0cyzg37kxh4kyxzciibs4grsypf78ihfsa6nvj4n5fqw";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers haskell-gi haskell-gi-base
+         haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ glib ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "GLib bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) glib;};
+
   "gi-gobject" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib
      , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
@@ -79496,6 +81115,28 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib;};
 
+  "gi-gobject_2_0_16" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib
+     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gi-gobject";
+       version = "2.0.16";
+       sha256 = "1bgn4ywx94py0v213iv7mbjjvvy3y7gvpgw4wpn38s2np7al8y65";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib haskell-gi haskell-gi-base
+         haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ glib ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "GObject bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) glib;};
+
   "gi-gst" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
      , gi-gobject, gstreamer, haskell-gi, haskell-gi-base
@@ -79503,8 +81144,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gst";
-       version = "1.0.14";
-       sha256 = "1yjimqcaqq9ah9nkyd1rq0bvs2sp4vbicfw6d5d0s6pcavqzxhpg";
+       version = "1.0.15";
+       sha256 = "09h4ilyg85d9b20chqf6fp6zqvxcclqn9i8s02bqw86cq7s19cq4";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -79525,8 +81166,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstaudio";
-       version = "1.0.14";
-       sha256 = "1l3cldq3i5anb8cmwya33gfpwj9njbhk3f40nz0772sa29j4311h";
+       version = "1.0.15";
+       sha256 = "0yw6z11d0wgfa19446s34hr260mfasbsd1h7mzfyd690nzicyh8p";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
@@ -79547,8 +81188,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstbase";
-       version = "1.0.15";
-       sha256 = "1gb7q5gxdrpblc8xfbrvv4072vfz910v3fg0h38ixda8p30fh30j";
+       version = "1.0.16";
+       sha256 = "1pqkiqlhvwjkw9b9i36md7nhi8205940d4jbcvaqywa82hv7k2aa";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst haskell-gi
@@ -79570,8 +81211,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstpbutils";
-       version = "1.0.14";
-       sha256 = "0pjjxqsfrl06v88mz3aacwy5812i752m4h979gw1qn8h431kgg4y";
+       version = "1.0.15";
+       sha256 = "161wh4rn4f6lsnk8x12fwzn016fv4pymfb3vg6zlfijyj3avhdh9";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstaudio
@@ -79593,8 +81234,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gsttag";
-       version = "1.0.14";
-       sha256 = "056wbkkjds3gk2x0wm4abskpqqw5f8gyhwscl3ih5j90w78d0a28";
+       version = "1.0.15";
+       sha256 = "1i5wqrhipyagsv94yfjfg6wmdbgnjg03mjxbfq5mx09g61iznl2r";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
@@ -79615,8 +81256,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstvideo";
-       version = "1.0.14";
-       sha256 = "1hr20yf43zgcmpmygca5vdn1qb2fhhqqbh8s24kwjfy7bwl8zly1";
+       version = "1.0.15";
+       sha256 = "1k35x6cc1kiyhwq978dlckib2sfz7k3w2gxfqsha591a0661k10d";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
@@ -79638,8 +81279,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk";
-       version = "3.0.18";
-       sha256 = "1fp84dba8hg6pvkdy0mip2pz9npx0kwp492gx8p1bgf119rqqfl1";
+       version = "3.0.19";
+       sha256 = "1qcivdbwa3g05dzgzd3jnzha33j5jm06gp2ml9fma0d1160dqa2g";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
@@ -79680,8 +81321,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtkosxapplication";
-       version = "2.0.14";
-       sha256 = "1hx01rr99kw8ja1py7s8fzzxy7psaarsyk9g773rijf25xq4b53f";
+       version = "2.0.15";
+       sha256 = "1znsrbzin2fxdb7gkip0qhr335f9pinaszn2r320j05sz6k8qdfw";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gdkpixbuf gi-gobject gi-gtk
@@ -79703,8 +81344,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtksource";
-       version = "3.0.15";
-       sha256 = "09vfxh75wbg3012mbzy39bczlvwyxndiy9wqmhwvhgh3iq0yk2fd";
+       version = "3.0.16";
+       sha256 = "0fm5bnyq4f9icyhxkyxf42mmanmc2klbdgin75dcdq5r92gipfcp";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
@@ -79741,6 +81382,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.gnome3) webkitgtk;};
 
+  "gi-javascriptcore_4_0_15" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi
+     , haskell-gi-base, haskell-gi-overloading, text, transformers
+     , webkitgtk
+     }:
+     mkDerivation {
+       pname = "gi-javascriptcore";
+       version = "4.0.15";
+       sha256 = "07dz5kisis93x0ywb207w8nv54bfdgsahq325dyvbfvlgkqrxsh3";
+       setupHaskellDepends = [ base Cabal haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers haskell-gi haskell-gi-base
+         haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ webkitgtk ];
+       doHaddock = false;
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "JavaScriptCore bindings";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.gnome3) webkitgtk;};
+
   "gi-notify" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-gdkpixbuf
      , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
@@ -79748,8 +81411,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-notify";
-       version = "0.7.14";
-       sha256 = "12ahyx3pn2pf63n22pa8qkwgh36yrdza2hw3n6khqws814g2f0ay";
+       version = "0.7.15";
+       sha256 = "1lk27dw7kyiikknmj858g4hv9p48161ixs3qq8pb08jkjlzcwfw8";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gdkpixbuf gi-glib gi-gobject
@@ -79770,8 +81433,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-ostree";
-       version = "1.0.5";
-       sha256 = "1w9x0jn2k8wny7925zw2lsmvs18i6j15ijizr515brqff3gyi5fs";
+       version = "1.0.6";
+       sha256 = "04pq0vz2dcyyq03l2gr0mms1l0dvh4ci17kcla6h1nw1lq5f1l6m";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -79792,8 +81455,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-pango";
-       version = "1.0.15";
-       sha256 = "0ymwbbm5ga31fj6i2mc75743ndqfb7p900576yv5y2p9d8cgp5j1";
+       version = "1.0.16";
+       sha256 = "1x3q1q4ww1v6v42p1wcaghxsja8cigqaqvklkfg4gxyp2f2cdg57";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -79819,8 +81482,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-pangocairo";
-       version = "1.0.15";
-       sha256 = "0vy5fg2867dda19myyjbkxnrrbwgp3n7yqnfwqc67m5n8ziha2sb";
+       version = "1.0.16";
+       sha256 = "0hp90rx33xbi3w2y3iacf19p9mhkz6s4q8q6hcsrh5jnbavbpjwy";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-glib gi-gobject gi-pango
@@ -79845,8 +81508,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-poppler";
-       version = "0.18.14";
-       sha256 = "03dgkaqiy7y808x7g1xmmns1m19xc94f4kg0vjhyb1f1xr7k7hzj";
+       version = "0.18.15";
+       sha256 = "1qbsmgx0nfn3pm6ffkhaq1wy26jdwnq5zjsxs32cf8ipdzlhg3cv";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-cairo gi-gio gi-glib gi-gobject
@@ -79867,8 +81530,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-secret";
-       version = "0.0.4";
-       sha256 = "12kvdnxvsaj4mljkjhnma7n0d6qav6k9a4laca881ww50hdbwid2";
+       version = "0.0.5";
+       sha256 = "0jwdv8fmc7wbwbh3nc1may4ij078xz9xc55rkr62x1szxi6ihdq5";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -79889,8 +81552,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-soup";
-       version = "2.4.14";
-       sha256 = "1z0cxhyadampjdibsrvqi6rw3kmcvq0q3mf4gk33ss2xb0f86m75";
+       version = "2.4.15";
+       sha256 = "1imgkbqfkdf7vbx4x170qnnyivy7jdn4hcj428wv3996ff5pjqa6";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
@@ -79911,8 +81574,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-vte";
-       version = "2.91.16";
-       sha256 = "0gv1ab2an6gfk83d5ryjpfz92rwrll2jyl41i48ql6fagbxx0n18";
+       version = "2.91.17";
+       sha256 = "1pslywq1mkcvrvbb3d5a4nc6vrmr9hvbgmg8dcsjq061fcg6b2aw";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject
@@ -79935,8 +81598,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit";
-       version = "3.0.14";
-       sha256 = "006jja6hr7bsqff2yxgzjrdnhbccym32fcr9vd7dscyj4wqw1ng1";
+       version = "3.0.15";
+       sha256 = "1bd2db34bfza9s84fwqd073wpf8cjp9rrjrlgi2q2hb6y6rn26w3";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
@@ -79959,8 +81622,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2";
-       version = "4.0.14";
-       sha256 = "15r5kq0vq5gc4rsi0icw2f5zbqjw7kgdwpa3fbzn6jx7xmbl39kp";
+       version = "4.0.15";
+       sha256 = "1mwd5jyis7rfqpigyk1yp3rx2hkdb2gwg4m1l41dggdb8svv1jhp";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib
@@ -79983,8 +81646,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2webextension";
-       version = "4.0.15";
-       sha256 = "100m6m13gcyz1wgwj20gh2mybmfpzq9fvqn44a9as37680srx2bi";
+       version = "4.0.16";
+       sha256 = "010svwg3p3sdd209l8cnwhsm2dp9n6qf0shzqjdx5l1pkjv32zqm";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-gio gi-gobject gi-gtk
@@ -80005,8 +81668,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-xlib";
-       version = "2.0.1";
-       sha256 = "1f1f3jnrvqisdalsad9k9wjr92c4ykw2i1gngsygainflk3hzgia";
+       version = "2.0.2";
+       sha256 = "0w9dwnd7a9hh1qn3swa48i8hp4gx9kznc92zjf198lrmrbkamp22";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers haskell-gi haskell-gi-base
@@ -80017,6 +81680,7 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "xlib bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) x11;};
 
   "giak" = callPackage
@@ -80245,7 +81909,7 @@ self: {
 
   "git-annex" = callPackage
     ({ mkDerivation, aeson, async, aws, base, blaze-builder
-     , bloomfilter, bup, byteable, bytestring, case-insensitive
+     , bloomfilter, bup, byteable, bytestring, Cabal, case-insensitive
      , clientsession, concurrent-output, conduit, conduit-extra
      , containers, crypto-api, cryptonite, curl, data-default, DAV, dbus
      , directory, disk-free-space, dlist, dns, edit-distance, esqueleto
@@ -80265,8 +81929,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20171214";
-       sha256 = "06nmsibpb1ng058gkfdspwkmv8psgd144qrxchwf3d8lfdphpkih";
+       version = "6.20180112";
+       sha256 = "0662780hzv2afajphjmgglm01d5w5vs4rp7xa1px1bznk67yjdxw";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -80275,6 +81939,10 @@ self: {
        ];
        isLibrary = false;
        isExecutable = true;
+       setupHaskellDepends = [
+         base bytestring Cabal data-default directory exceptions filepath
+         hslogger IfElse process split unix-compat utf8-string
+       ];
        executableHaskellDepends = [
          aeson async aws base blaze-builder bloomfilter byteable bytestring
          case-insensitive clientsession concurrent-output conduit
@@ -80307,7 +81975,6 @@ self: {
        homepage = "http://git-annex.branchable.com/";
        description = "manage files with git, without checking their contents into git";
        license = stdenv.lib.licenses.gpl3;
-       platforms = [ "i686-linux" "x86_64-linux" ];
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git; 
          inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh; 
@@ -80672,8 +82339,8 @@ self: {
        pname = "github";
        version = "0.18";
        sha256 = "0i4cs6d95ik5c8zs2508nmhjh2v30a0qjyxfqyxhjsz48p9h5p1i";
-       revision = "1";
-       editedCabalFile = "1krz0plxhm1q1k7bb0wzl969zd5fqkgqcgfr6rmqw60njpwrdsrp";
+       revision = "2";
+       editedCabalFile = "1rywfb78acwh81mdnxb4q35n374k1wbxg0562biis0i0jjxfp211";
        libraryHaskellDepends = [
          aeson aeson-compat base base-compat base16-bytestring binary
          binary-orphans byteable bytestring containers cryptohash deepseq
@@ -80720,6 +82387,30 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {inherit (pkgs) git;};
 
+  "github-data" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, base, base-compat
+     , base16-bytestring, binary, binary-orphans, bytestring, containers
+     , deepseq, deepseq-generics, exceptions, hashable, http-client
+     , http-types, iso8601-time, network-uri, text, time, tls
+     , transformers, transformers-compat, unordered-containers, vector
+     , vector-instances
+     }:
+     mkDerivation {
+       pname = "github-data";
+       version = "0.18";
+       sha256 = "1rqnjw8cz4xby1gbc9w8wpk1z0vg8wsm8jq7qz0ncjrm8manii5p";
+       libraryHaskellDepends = [
+         aeson aeson-compat base base-compat base16-bytestring binary
+         binary-orphans bytestring containers deepseq deepseq-generics
+         exceptions hashable http-client http-types iso8601-time network-uri
+         text time tls transformers transformers-compat unordered-containers
+         vector vector-instances
+       ];
+       homepage = "https://github.com/strake/github.hs";
+       description = "Access to the GitHub API, v3";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "github-post-receive" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , email-validate, http-types, text, wai, wai-logger, warp
@@ -80758,6 +82449,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-release_1_1_3" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client
+     , http-client-tls, http-types, mime-types, optparse-generic, text
+     , unordered-containers, uri-templater
+     }:
+     mkDerivation {
+       pname = "github-release";
+       version = "1.1.3";
+       sha256 = "040yd8npjv54xfh4fv4i1p9x6qsa5qj1m5wblr7xjf0w090sblf0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/tfausak/github-release#readme";
+       description = "Upload files to GitHub releases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -81536,10 +83249,8 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.24";
-       sha256 = "1fhpwr7v2ad49j9699f5za1ww2m1ln39cvnm82z57cngjghpnngs";
-       revision = "2";
-       editedCabalFile = "0fz8vr8kiny3jhh2jr3c5pv2283zm6nkfi93pj34v7xs62zcpg59";
+       version = "2.25";
+       sha256 = "1hh6zqkk1cm50n7d17i2490q2xh7hzy63krpj58rwhgpmn3ps5sb";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -82131,8 +83842,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.3.25";
-       sha256 = "1ps3jjlf9igqmllyapqznzxjkf7291i7zv8w86p2fnm6wxsd73q9";
+       version = "0.3.30";
+       sha256 = "1cjfhpza7mhfywx09rf2qzglqwyss3ndk9sqn0vwvpv4c2wvglaq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -82182,8 +83893,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnuplot";
-       version = "0.5.4.2";
-       sha256 = "0s7z8a7cqnmfrs551wyqaj557hslhkw401z35nfb7shx6wrdvpq5";
+       version = "0.5.5";
+       sha256 = "1ka756zvc6q5hkjhi8zknb7d5whizmyl7ff0qzclx1n8qbx4jv98";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -82361,7 +84072,6 @@ self: {
        homepage = "http://khumba.net/projects/goatee";
        description = "A monadic take on a 2,500-year-old board game - GTK+ UI";
        license = stdenv.lib.licenses.agpl3;
-       platforms = [ "i686-linux" "x86_64-linux" ];
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -85703,6 +87413,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "groupBy" = callPackage
+    ({ mkDerivation, base, code-page, criterion, doctest
+     , optparse-applicative, QuickCheck, random, utility-ht
+     }:
+     mkDerivation {
+       pname = "groupBy";
+       version = "0.1.0.0";
+       sha256 = "1w8spv6fhwhfdr6azlfgnjs8dqcyk8sn27hnk2wyi7gpy9zzhxw0";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base doctest QuickCheck ];
+       benchmarkHaskellDepends = [
+         base code-page criterion optparse-applicative random utility-ht
+       ];
+       homepage = "https://github.com/oisdk/groupBy#readme";
+       description = "Replacement definition of Data.List.GroupBy";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "grouped-list" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, pointed
      , QuickCheck, tasty, tasty-quickcheck
@@ -85923,6 +87651,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gstorable" = callPackage
+    ({ mkDerivation, base, generic-storable, ghc-prim, hspec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "gstorable";
+       version = "0.1.0.3";
+       sha256 = "0qs18la2w9x44faw9yl6pabcsj7fdrcsapsfhrbhjmbqrdh22rm4";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base generic-storable ghc-prim hspec QuickCheck
+       ];
+       description = "Generic implementation of Storable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "gstreamer" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal, directory, glib
      , gst-plugins-base, gstreamer, gtk2hs-buildtools, mtl
@@ -86783,6 +88527,7 @@ self: {
        ];
        description = "A library for analyzing and transforming LLVM (3.5) assembly codes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {hooplext = null;};
 
@@ -86884,6 +88629,58 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hOpenPGP_2_6" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
+     , base16-bytestring, base64-bytestring, bifunctors, binary
+     , binary-conduit, bytestring, bzlib, conduit, conduit-extra
+     , containers, criterion, crypto-cipher-types, cryptonite
+     , data-default-class, errors, hashable, incremental-parser
+     , ixset-typed, lens, memory, monad-loops, nettle, network
+     , network-uri, newtype, openpgp-asciiarmor, QuickCheck
+     , quickcheck-instances, resourcet, semigroups, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, time-locale-compat
+     , transformers, unliftio-core, unordered-containers
+     , wl-pprint-extras, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.6";
+       sha256 = "0vsrgyzh7zlx9z27fvpjzk4s4gv1zpxwb68n529hvilsphyz35kf";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring
+         base64-bytestring bifunctors binary binary-conduit bytestring bzlib
+         conduit conduit-extra containers crypto-cipher-types cryptonite
+         data-default-class errors hashable incremental-parser ixset-typed
+         lens memory monad-loops nettle network-uri newtype
+         openpgp-asciiarmor resourcet semigroups split text time
+         time-locale-compat transformers unliftio-core unordered-containers
+         wl-pprint-extras zlib
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite data-default-class errors
+         hashable incremental-parser ixset-typed lens memory monad-loops
+         nettle network network-uri newtype QuickCheck quickcheck-instances
+         resourcet semigroups split tasty tasty-hunit tasty-quickcheck text
+         time time-locale-compat transformers unliftio-core
+         unordered-containers wl-pprint-extras zlib
+       ];
+       benchmarkHaskellDepends = [
+         aeson base base16-bytestring base64-bytestring bifunctors binary
+         binary-conduit bytestring bzlib conduit conduit-extra containers
+         criterion crypto-cipher-types cryptonite data-default-class errors
+         hashable incremental-parser ixset-typed lens memory monad-loops
+         nettle network network-uri newtype openpgp-asciiarmor resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers wl-pprint-extras zlib
+       ];
+       homepage = "https://salsa.debian.org/clint/hOpenPGP";
+       description = "native Haskell implementation of OpenPGP (RFC4880)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hPDB" = callPackage
     ({ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
      , directory, ghc-prim, iterable, mmap, mtl, Octree, parallel
@@ -88105,6 +89902,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haddock_2_17_5" = callPackage
+    ({ mkDerivation, base, filepath, haddock-api, hspec }:
+     mkDerivation {
+       pname = "haddock";
+       version = "2.17.5";
+       sha256 = "1qxy6yxpxgpqpwcs76ydpal45cz4a3hyq3rq07cwma1cs4p034ql";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base haddock-api ];
+       testHaskellDepends = [ base filepath hspec ];
+       doCheck = false;
+       preCheck = "unset GHC_PACKAGE_PATH";
+       homepage = "http://www.haskell.org/haddock/";
+       description = "A documentation-generation tool for Haskell libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haddock" = callPackage
     ({ mkDerivation, base, filepath, haddock-api, hspec }:
      mkDerivation {
@@ -88345,20 +90160,22 @@ self: {
      }) {};
 
   "hadolint" = callPackage
-    ({ mkDerivation, base, bytestring, gitrev, hspec, HUnit
-     , language-docker, optparse-applicative, parsec, ShellCheck, split
+    ({ mkDerivation, base, bytestring, directory, filepath, gitrev
+     , hspec, HUnit, language-docker, optparse-applicative, parsec
+     , ShellCheck, split, yaml
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.2.5";
-       sha256 = "1rnbxkzqj493yn41ln9hxpmbdvgynb1mm86kl4l522is96smqp7v";
+       version = "1.3.0";
+       sha256 = "13z78q36x28h7yn282k03568hj0lvava678d7hhhp5hrbk6ni8xv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring language-docker parsec ShellCheck split
        ];
        executableHaskellDepends = [
-         base gitrev language-docker optparse-applicative parsec
+         base directory filepath gitrev language-docker optparse-applicative
+         parsec yaml
        ];
        testHaskellDepends = [
          base bytestring hspec HUnit language-docker parsec ShellCheck split
@@ -88366,6 +90183,7 @@ self: {
        homepage = "https://github.com/hadolint/hadolint";
        description = "Dockerfile Linter JavaScript API";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hadoop-formats" = callPackage
@@ -88650,6 +90468,7 @@ self: {
        ];
        description = "Multi-app web platform framework";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {quickcheck-lio-instances = null;};
 
@@ -88838,6 +90657,51 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) utillinux;};
 
+  "hakyll_4_11_0_0" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
+     , containers, cryptohash, data-default, deepseq, directory
+     , file-embed, filepath, fsnotify, http-conduit, http-types
+     , lrucache, mtl, network, network-uri, optparse-applicative, pandoc
+     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
+     , regex-tdfa, resourcet, scientific, tagsoup, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, time-locale-compat
+     , unordered-containers, utillinux, vector, wai, wai-app-static
+     , warp, yaml
+     }:
+     mkDerivation {
+       pname = "hakyll";
+       version = "4.11.0.0";
+       sha256 = "08930cs783krsjqzlswz4fplppdlmw5b29nry5i7kan7d4f4lfb8";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base binary blaze-html blaze-markup bytestring containers
+         cryptohash data-default deepseq directory file-embed filepath
+         fsnotify http-conduit http-types lrucache mtl network network-uri
+         optparse-applicative pandoc pandoc-citeproc parsec process random
+         regex-base regex-tdfa resourcet scientific tagsoup text time
+         time-locale-compat unordered-containers vector wai wai-app-static
+         warp yaml
+       ];
+       executableHaskellDepends = [ base directory filepath pandoc ];
+       testHaskellDepends = [
+         base binary blaze-html blaze-markup bytestring containers
+         cryptohash data-default deepseq directory filepath fsnotify
+         http-conduit http-types lrucache mtl network network-uri
+         optparse-applicative pandoc pandoc-citeproc parsec process
+         QuickCheck random regex-base regex-tdfa resourcet scientific
+         tagsoup tasty tasty-hunit tasty-quickcheck text time
+         time-locale-compat unordered-containers vector wai wai-app-static
+         warp yaml
+       ];
+       testToolDepends = [ utillinux ];
+       homepage = "http://jaspervdj.be/hakyll";
+       description = "A static website compiler library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) utillinux;};
+
   "hakyll-R" = callPackage
     ({ mkDerivation, base, directory, filepath, hakyll, pandoc, process
      }:
@@ -89328,6 +91192,7 @@ self: {
        homepage = "http://halvm.org";
        description = "A simple, static HaLVM web server";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {HALVMCore = null; XenDevice = null;};
 
@@ -89349,8 +91214,8 @@ self: {
      }:
      mkDerivation {
        pname = "hamilton";
-       version = "0.1.0.1";
-       sha256 = "12wp6z2dhcpyijvf1bqcx1bamw19crm23wvzgbpbjw3azyi72sn3";
+       version = "0.1.0.2";
+       sha256 = "1fhwvimqim9jj33wps42wsbwjz28h3waqn7wrwhqci307xbcib0m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89446,8 +91311,8 @@ self: {
      }:
      mkDerivation {
        pname = "hamtsolo";
-       version = "1.0.0";
-       sha256 = "0lpac24fayd9s40b39l46aak9d51vv3bjslg0drgj2xlp1d9w60y";
+       version = "1.0.2";
+       sha256 = "0756ffnh1fxwagwkj3zy8axnwkwhnn8m37583sr0ymwyp9vwi3sx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -89702,6 +91567,7 @@ self: {
        homepage = "https://github.com/tolysz/hans-pfq";
        description = "Driver for real ethernet devices for HaNS";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {pfq = null;};
 
@@ -89906,8 +91772,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.3.4.8";
-       sha256 = "006prds4bgqmj54j0syyf1y1yyqwfcj2a6mdxpcjj6qj3g3976l1";
+       version = "2.3.4.10";
+       sha256 = "057mihkspxp78q2gwgyqmqgiy5pzimkzvsj8rk9psmzci09l68qd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -90328,6 +92194,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) openssl;};
 
+  "happstack-server-tls_7_1_6_5" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions
+     , happstack-server, hslogger, HsOpenSSL, network, openssl, sendfile
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "happstack-server-tls";
+       version = "7.1.6.5";
+       sha256 = "0hp13wxaghs6ldqpbpyf8agph7b1y488fc516z1n6bvbpzcbhbvq";
+       libraryHaskellDepends = [
+         base bytestring extensible-exceptions happstack-server hslogger
+         HsOpenSSL network sendfile time unix
+       ];
+       librarySystemDepends = [ openssl ];
+       homepage = "http://www.happstack.com/";
+       description = "extend happstack-server with https:// support (TLS/SSL)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "happstack-server-tls-cryptonite" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite, data-default-class
      , extensible-exceptions, happstack-server, hslogger, network
@@ -90851,8 +92737,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascar";
-       version = "0.2.1.2";
-       sha256 = "1x04yddy74vj7sxwsmq411z4s02n5asb17vc5290ha7s257fr81j";
+       version = "0.2.2.1";
+       sha256 = "1vz24mi0l9fjj2isgzrh4zjjk9srlcshrc3cwz0kz4fcbv44r9nz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90860,8 +92746,8 @@ self: {
          text time
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base binary bytestring directory filepath gitrev
-         optparse-applicative path text transformers unix
+         ansi-wl-pprint base binary bytestring conduit directory exceptions
+         filepath gitrev optparse-applicative path text transformers unix
        ];
        testHaskellDepends = [
          base bytestring conduit cryptohash hex path
@@ -91204,6 +93090,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hashrename" = callPackage
+    ({ mkDerivation, base, bytestring, cryptohash, directory, filepath
+     }:
+     mkDerivation {
+       pname = "hashrename";
+       version = "0.1.1.0";
+       sha256 = "19w35cdwxzmyw65l4zwhj67w5s741ayca7dm250wz6w2xlc37f5v";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring cryptohash directory filepath
+       ];
+       homepage = "https://gist.github.com/rnhmjoj/20ea1b366d45b1c4c0e8";
+       description = "Rename every file in a directory with his SHA1 hash";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "hashring" = callPackage
     ({ mkDerivation, base, containers, hashable, QuickCheck
      , test-framework, test-framework-quickcheck2
@@ -91760,19 +93663,19 @@ self: {
 
   "haskell-dap" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , directory, filepath, ghc, ghc-boot, ghci, haskeline, process
-     , time, transformers, unix
+     , directory, filepath, ghc, ghc-boot, ghc-paths, ghci, haskeline
+     , process, time, transformers, unix
      }:
      mkDerivation {
        pname = "haskell-dap";
-       version = "0.0.1.0";
-       sha256 = "1wny1ab0x1wdaa8xhza478abyv1sd2pq4clc08bz3b2aa0qd13y8";
+       version = "0.0.2.0";
+       sha256 = "1wxidyga0abxyxwiy9qxjl8qj456rlcflav18jz3227yc6y4ziwz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
          array base bytestring containers deepseq directory filepath ghc
-         ghc-boot ghci haskeline process time transformers unix
+         ghc-boot ghc-paths ghci haskeline process time transformers unix
        ];
        homepage = "https://github.com/phoityne/haskell-dap";
        description = "haskell-dap is a GHCi having DAP interface";
@@ -91983,6 +93886,34 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
 
+  "haskell-gi_0_21_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, Cabal, containers
+     , directory, doctest, filepath, glib, gobjectIntrospection
+     , haskell-gi-base, mtl, pretty-show, process, regex-tdfa, safe
+     , text, transformers, xdg-basedir, xml-conduit
+     }:
+     mkDerivation {
+       pname = "haskell-gi";
+       version = "0.21.0";
+       sha256 = "109jgixxrb9xjlkqnwkch9zgb2rj79knd8ivgfi1cc4v30299vwi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring Cabal containers directory filepath
+         haskell-gi-base mtl pretty-show process regex-tdfa safe text
+         transformers xdg-basedir xml-conduit
+       ];
+       libraryPkgconfigDepends = [ glib gobjectIntrospection ];
+       executableHaskellDepends = [
+         base containers directory filepath haskell-gi-base pretty-show text
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/haskell-gi/haskell-gi";
+       description = "Generate Haskell bindings for GObject Introspection capable libraries";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) glib; inherit (pkgs) gobjectIntrospection;};
+
   "haskell-gi-base" = callPackage
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
@@ -91996,6 +93927,20 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib;};
 
+  "haskell-gi-base_0_21_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, glib, text }:
+     mkDerivation {
+       pname = "haskell-gi-base";
+       version = "0.21.0";
+       sha256 = "1vrz2vrmvsbahzsp1c06x4qmny5qhbrnz5ybzh5p8z1g3ji9z166";
+       libraryHaskellDepends = [ base bytestring containers text ];
+       libraryPkgconfigDepends = [ glib ];
+       homepage = "https://github.com/haskell-gi/haskell-gi-base";
+       description = "Foundation for libraries generated by haskell-gi";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) glib;};
+
   "haskell-gi-overloading_0_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -92221,6 +94166,25 @@ self: {
        license = stdenv.lib.licenses.lgpl3;
      }) {};
 
+  "haskell-ml" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, hmatrix, MonadRandom
+     , random-shuffle, singletons, text, vector
+     }:
+     mkDerivation {
+       pname = "haskell-ml";
+       version = "0.4.2";
+       sha256 = "0843akac5j1nhq6nknshblx33mg8b5h1lykpmgp627zzlbvzc3d3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base binary hmatrix MonadRandom singletons text vector
+       ];
+       executableHaskellDepends = [ base hmatrix random-shuffle ];
+       testHaskellDepends = [ base MonadRandom ];
+       description = "Machine learning in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-modbus" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, hspec }:
      mkDerivation {
@@ -92293,6 +94257,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-names_0_9_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , data-lens-light, filemanip, filepath, haskell-src-exts, mtl
+     , pretty-show, tasty, tasty-golden, transformers
+     , traverse-with-class, uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-names";
+       version = "0.9.1";
+       sha256 = "1ybcdxz6y0l5qsq3vd0ii6m1ifysc2k8852lzw0nfs9i4q9pnwhh";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-lens-light filepath
+         haskell-src-exts mtl transformers traverse-with-class uniplate
+       ];
+       testHaskellDepends = [
+         base containers filemanip filepath haskell-src-exts mtl pretty-show
+         tasty tasty-golden traverse-with-class
+       ];
+       homepage = "http://documentup.com/haskell-suite/haskell-names";
+       description = "Name resolution library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-neo4j-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , data-default, hashable, HTTP, http-client, http-client-tls
@@ -92647,6 +94636,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-src-exts-sc" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "haskell-src-exts-sc";
+       version = "0.1.0.5";
+       sha256 = "15ja2h0flp73f017r1ylr8fmksd3v76v68x8whv37bgy3mrqznx9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base haskell-src-exts ];
+       executableHaskellDepends = [ base haskell-src-exts ];
+       homepage = "https://github.com/achirkin/haskell-src-exts-sc#readme";
+       description = "Pretty print haskell code with comments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-src-exts-simple" = callPackage
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
@@ -92674,14 +94678,15 @@ self: {
 
   "haskell-src-exts-util" = callPackage
     ({ mkDerivation, base, containers, data-default, haskell-src-exts
-     , transformers, uniplate
+     , semigroups, transformers, uniplate
      }:
      mkDerivation {
        pname = "haskell-src-exts-util";
-       version = "0.2.1.2";
-       sha256 = "1a5y6fvzpjdi6az580rb1aq3gjxlcm6gn5dfd9mixyn5dv32aysv";
+       version = "0.2.2";
+       sha256 = "14rhwcrdz3kfb69c64qn8kybl7wnpajrjlfz5p95ca4bva4mwclg";
        libraryHaskellDepends = [
-         base containers data-default haskell-src-exts transformers uniplate
+         base containers data-default haskell-src-exts semigroups
+         transformers uniplate
        ];
        homepage = "https://github.com/pepeiborra/haskell-src-exts-util";
        description = "Helper functions for working with haskell-src-exts trees";
@@ -92695,8 +94700,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.0.1";
-       sha256 = "1i5f21mx061k50nl3pvvffjqsbvvldl50y8d4b9b31g63l0jg5q9";
+       version = "0.8.0.2";
+       sha256 = "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -92769,8 +94774,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-ast";
-       version = "1.0.0.3";
-       sha256 = "1zfcwm6na7ivl4xy6yfdbgncklxp70g5llzl7i754sqvacbp7ygv";
+       version = "1.0.0.4";
+       sha256 = "000dazz2qmc46pyfxskimz02xllf7fs6nl18ki6pvvahp0ammgd9";
        libraryHaskellDepends = [
          base ghc mtl references template-haskell uniplate
        ];
@@ -92840,8 +94845,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-backend-ghc";
-       version = "1.0.0.3";
-       sha256 = "1k8ykgasq621dndazb99834l6c0gz3qp40r81ja5mjwfqnihy2wk";
+       version = "1.0.0.4";
+       sha256 = "0c909xknb4q28cqm4cckx5girygz1jjg0nwj9v31dj7yhwgm6y2g";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot-th haskell-tools-ast mtl
          references safe split template-haskell transformers uniplate
@@ -92861,8 +94866,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-builtin-refactorings";
-       version = "1.0.0.3";
-       sha256 = "0m6wwx3z5gbh9pak7r6lirk66clyb6yzryhbzcqhnwlnaawrpnh4";
+       version = "1.0.0.4";
+       sha256 = "1hxl8j8nkn3f59wxbzfyhjbshjypi4bv7v2vrqlpfygnb1n1jhci";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -92892,8 +94897,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-cli";
-       version = "1.0.0.3";
-       sha256 = "1cbp5n2b4q3kjacj4adnblb5znwi9waqx0pg14khk6nhdpqbp4l7";
+       version = "1.0.0.4";
+       sha256 = "121q9ydi0jlj9bs6zyy2h6vkmaajwf1pcnnq4s21yw99ah4xhy6q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92930,8 +94935,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-daemon";
-       version = "1.0.0.3";
-       sha256 = "1g25i9ilsrk0201cnnm2r5xbcnlmknpvw3h99vl087i3d913wln7";
+       version = "1.0.0.4";
+       sha256 = "1gqx9nn87mq2n722lzl0slpw54dg6asc2s77zjs0sywvcpck4b4v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92963,8 +94968,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-debug";
-       version = "1.0.0.3";
-       sha256 = "1f2m1ggjjbdwl23v558dlyqzcl00dg2almhppf8m3xg5vzgjzlpj";
+       version = "1.0.0.4";
+       sha256 = "0lh48bfjicpjsk2vazl91n6xw0ahff89rw9iiizpla92rz1fcb20";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92990,8 +94995,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-demo";
-       version = "1.0.0.3";
-       sha256 = "17cqnchan6qm9hhrrzk8m9v3qqzr3rfb1q8iyf8daa50qj9s836p";
+       version = "1.0.0.4";
+       sha256 = "0vqjs4wrgjacj3i6hykfvafhnyik6nn9p8miyb1plmhm9w6g0ynq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93022,8 +95027,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-experimental-refactorings";
-       version = "1.0.0.3";
-       sha256 = "0y8dzrxv62ad164nikzhlny55im4ys16nkiak041yqygzg9qzshz";
+       version = "1.0.0.4";
+       sha256 = "0mzwvs33snv3a3dvhkd1mnidkifip21rj2y44k9dcwdhfzcz6xbl";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -93049,8 +95054,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-prettyprint";
-       version = "1.0.0.3";
-       sha256 = "0gm48sikbm3dzv687wy7qn7j6159jf6j2gq0yhrhvxqhss4r03md";
+       version = "1.0.0.4";
+       sha256 = "001mk8fdxl06il8s3w1i4901s85kb99nyhp3yk7jg6ghh4iaf1c9";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast mtl references split text
          uniplate
@@ -93068,8 +95073,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-refactor";
-       version = "1.0.0.3";
-       sha256 = "1gfy04fj3rg900ii32msyqrhzzwfcj6sl9z3ldjfm0c0jpdx4bm3";
+       version = "1.0.0.4";
+       sha256 = "192najfy3r05vhxl21bg6lqy8m5081sdxp5yfvw9nyjlarfcb2b9";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -93088,8 +95093,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-rewrite";
-       version = "1.0.0.3";
-       sha256 = "15i25crjz50i9kxj2r2dsvmckfq8c0hkwypqrivy7c39cmqhv504";
+       version = "1.0.0.4";
+       sha256 = "1jjg6w2ajlnjz7hl74znm2gaylmlixvp65m2ns7p4iryycsr5fjg";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
          references
@@ -93559,6 +95564,7 @@ self: {
        homepage = "https://github.com/m4dc4p/haskelldb";
        description = "HaskellDB support for the HSQL Oracle driver";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {hsql-oracle = null;};
 
@@ -93597,6 +95603,7 @@ self: {
        homepage = "https://github.com/m4dc4p/haskelldb";
        description = "HaskellDB support for the HSQL SQLite driver";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {hsql-sqlite = null;};
 
@@ -93747,8 +95754,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.2.0.0";
-       sha256 = "1c0snqs740gqwfzlpyhr8zggaplmba6mzj8cnl8r47sgn006q95i";
+       version = "0.2.0.1";
+       sha256 = "07q7kp07ipq20v3ag49j3ca116p48yn3pn5im5p101l8372hj58n";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
          focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
@@ -93773,8 +95780,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskey-btree";
-       version = "0.2.0.0";
-       sha256 = "00gp5fh64b26bqrchdrpdl8s46fdzglsqi07xf0cfrfcm867az23";
+       version = "0.2.0.1";
+       sha256 = "025g1sa41fa29v69hpbghabq2irkb498a6b48bgp0nb8m3cmz2ls";
        libraryHaskellDepends = [
          base binary bytestring containers hashable mtl semigroups text
          transformers vector
@@ -94407,8 +96414,8 @@ self: {
        pname = "hasmin";
        version = "1.0.1";
        sha256 = "1h5ygl9qmzmbhqfb58hhm2zw850dqfkp4b8cp3bhsnangg4lgbjk";
-       revision = "1";
-       editedCabalFile = "18qpp71nkf0sayzwxwfn2nz1g8fklsa55h2jrazqilhrdq82gq7d";
+       revision = "2";
+       editedCabalFile = "0hav8khv14k41rf4lmh79w6ym4basrmmsjwfc5bww2qya7889d5k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94874,6 +96881,7 @@ self: {
        homepage = "http://haste-lang.org/";
        description = "Haskell To ECMAScript compiler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {bin-package-db = null;};
 
@@ -95516,18 +97524,16 @@ self: {
      }) {inherit (pkgs) SDL_mixer;};
 
   "hblas" = callPackage
-    ({ mkDerivation, base, blas, HUnit, liblapack, primitive
-     , storable-complex, tasty, tasty-hunit, vector
+    ({ mkDerivation, base, blas, hspec, liblapack, primitive
+     , storable-complex, vector
      }:
      mkDerivation {
        pname = "hblas";
-       version = "0.3.2.1";
-       sha256 = "05c2mqhwjq0r8jyaj0cncaxn4n5x27dd8z6lv8g8cdc7r749q59y";
-       revision = "2";
-       editedCabalFile = "02cxp6nxr2x1ka8bq8zjlx6kjy54lzsc9bdw1zf981f3i8yz9cj8";
+       version = "0.4.0.1";
+       sha256 = "1jclawfvykdsd5b5wmqyz6fb0kx6yr626w4g86w9q1127k8l102k";
        libraryHaskellDepends = [ base primitive storable-complex vector ];
        librarySystemDepends = [ blas liblapack ];
-       testHaskellDepends = [ base HUnit tasty tasty-hunit vector ];
+       testHaskellDepends = [ base hspec primitive vector ];
        homepage = "http://github.com/wellposed/hblas/";
        description = "Human friendly BLAS and Lapack bindings for Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -96319,10 +98325,8 @@ self: {
      }:
      mkDerivation {
        pname = "heaps";
-       version = "0.3.5";
-       sha256 = "1p1nsglsf8hric63cn3n1iw1nlbiv3lgk3n5gq0znajj7j7s64qv";
-       revision = "1";
-       editedCabalFile = "05avm1b16gj3rlm9sjqkxb0flq055r6gqhnacp7yzw4j1bghm5j7";
+       version = "0.3.6";
+       sha256 = "1cnxgmxxvl053yv93vcz5fnla4iir5g9wr697n88ysdyybbkq70q";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base directory doctest filepath ];
@@ -96519,6 +98523,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedgehog-corpus" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hedgehog-corpus";
+       version = "0.1.0";
+       sha256 = "1whrszkd03d9a86vqnp38sq8gs2hfdc39wxcf5c12w3767c9qmn3";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/tmcgilchrist/hedgehog-corpus";
+       description = "hedgehog-corpus";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hedgehog-gen-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , hedgehog, lens, protolude, regex-genex, regex-posix, scientific
@@ -96540,6 +98556,7 @@ self: {
        homepage = "https://github.com/githubuser/haskell-hedgehog-gen-json#readme";
        description = "JSON generators for Hedgehog";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedgehog-quickcheck" = callPackage
@@ -96578,6 +98595,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedis_0_10_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, bytestring-lexing
+     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
+     , resource-pool, scanner, slave-thread, stm, test-framework
+     , test-framework-hunit, text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hedis";
+       version = "0.10.0";
+       sha256 = "02f095461v812csrncf4bdhvgpn1a3wqpd66gpb72pxij4mrh5zy";
+       libraryHaskellDepends = [
+         async base bytestring bytestring-lexing deepseq errors HTTP mtl
+         network network-uri resource-pool scanner stm text time
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         async base bytestring doctest HUnit mtl slave-thread stm
+         test-framework test-framework-hunit text time
+       ];
+       benchmarkHaskellDepends = [ base mtl time ];
+       homepage = "https://github.com/informatikr/hedis";
+       description = "Client library for the Redis datastore: supports full command set, pipelining";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hedis-config" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hedis, scientific, text
      , time
@@ -98008,25 +100051,26 @@ self: {
      }) {};
 
   "hfmt" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, Cabal, Diff
-     , directory, exceptions, filepath, haskell-src-exts, hindent, hlint
-     , HUnit, optparse-applicative, path, path-io, pipes, pretty
-     , stylish-haskell, test-framework, test-framework-hunit, text
-     , transformers, yaml
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, Cabal
+     , conduit-combinators, Diff, directory, exceptions, filepath
+     , haskell-src-exts, hindent, hlint, HUnit, optparse-applicative
+     , path, path-io, pretty, stylish-haskell, test-framework
+     , test-framework-hunit, text, transformers, yaml
      }:
      mkDerivation {
        pname = "hfmt";
-       version = "0.1.1";
-       sha256 = "0cg5vaihyrdsigpvj82a2xdmq6wj1vbqg10ldcp4c2pxwsgz97mh";
+       version = "0.2.0";
+       sha256 = "1d62kby9mzld7lnfvrvhkri8lf2wgijb972wzrarbcbnkahhjnps";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Cabal directory exceptions filepath
-         haskell-src-exts hindent hlint HUnit path path-io pipes
+         base bytestring Cabal conduit-combinators Diff directory exceptions
+         filepath haskell-src-exts hindent hlint HUnit path path-io pretty
          stylish-haskell text transformers yaml
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base Diff optparse-applicative pipes pretty
+         ansi-wl-pprint base conduit-combinators directory
+         optparse-applicative
        ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
@@ -98384,6 +100428,7 @@ self: {
        homepage = "http://code.haskell.org/~thielema/hgl-example/";
        description = "Various animations generated using HGL";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {HTam = null;};
 
@@ -98799,6 +100844,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "higher-leveldb_0_5_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, data-default, exceptions
+     , hspec, leveldb-haskell, mtl, process, resourcet, transformers
+     , transformers-base, unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "higher-leveldb";
+       version = "0.5.0.1";
+       sha256 = "0p7rsawd4d5cbsxlj8ddgx5blg2yw853zjfqcy78gdqn6kk8vz24";
+       libraryHaskellDepends = [
+         base bytestring cereal data-default exceptions leveldb-haskell mtl
+         resourcet transformers transformers-base unliftio-core
+       ];
+       testHaskellDepends = [
+         base bytestring cereal hspec leveldb-haskell mtl process resourcet
+         transformers transformers-base unliftio
+       ];
+       homepage = "https://github.com/jeremyjh/higher-leveldb";
+       description = "A rich monadic API for working with leveldb databases";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "higherorder" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -99023,6 +101091,7 @@ self: {
        homepage = "http://www.haskell.org/himerge";
        description = "Haskell Graphical User Interface for Emerge";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {mozembed = null;};
 
@@ -99858,8 +101927,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjsonschema";
-       version = "1.7.1";
-       sha256 = "0x9w33scdnbfdmadxpx2c4fgkmpvny9ipsl2y7fq56zr6fa0ybfz";
+       version = "1.7.2";
+       sha256 = "1czxfwfhl7zxx8385x8qskiym8qb1fpjdxmbywl8p4p102cb9083";
        libraryHaskellDepends = [
          aeson base bytestring containers file-embed filepath hashable
          hjsonpointer http-client http-types pcre-heavy profunctors
@@ -100117,6 +102186,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.1";
        sha256 = "0z7f9bm7xkq8a9kbhf3bd6fxhfaab08ddgghpbg5z460l4lhcczv";
+       revision = "1";
+       editedCabalFile = "1kwncys0n2xbvbq6a5rgfxg955726xk8av6v9221qx8zpndf2di4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100383,34 +102454,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.0.11";
-       sha256 = "040p4rr7jjr40i6239vwkr2qqva7r9ccksg5n9k9r7ljbh8rf66b";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring cmdargs containers cpphs
-         data-default directory extra filepath haskell-src-exts
-         haskell-src-exts-util hscolour process refact text transformers
-         uniplate unordered-containers vector yaml
-       ];
-       executableHaskellDepends = [ base ];
-       homepage = "https://github.com/ndmitchell/hlint#readme";
-       description = "Source code suggestions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hlint_2_0_12" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
-     , containers, cpphs, data-default, directory, extra, filepath
-     , haskell-src-exts, haskell-src-exts-util, hscolour, process
-     , refact, text, transformers, uniplate, unordered-containers
-     , vector, yaml
-     }:
-     mkDerivation {
-       pname = "hlint";
-       version = "2.0.12";
-       sha256 = "1cfq4g1h5c47nxqn7433jd40hajv5pq30p5rb132fc5sp68vx0by";
+       version = "2.0.15";
+       sha256 = "0k9y9dj9sq8rwkjnca4s6wv0ncba536lmcpq10vpyvy47x5dzs2d";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -100424,7 +102469,6 @@ self: {
        homepage = "https://github.com/ndmitchell/hlint#readme";
        description = "Source code suggestions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hlint-test" = callPackage
@@ -100442,6 +102486,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hlist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hlist";
+       version = "0.0.0.0";
+       sha256 = "128y1l4bjyrsvx188mx58x8a98j7jk931h0nv5bprpxjkc71c32k";
+       libraryHaskellDepends = [ base ];
+       description = "Heterogeneous list";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hlogger" = callPackage
     ({ mkDerivation, base, old-locale, time }:
      mkDerivation {
@@ -100557,19 +102613,19 @@ self: {
 
   "hmatrix" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, deepseq
-     , openblasCompat, random, split, storable-complex, vector
+     , openblasCompat, random, semigroups, split, storable-complex
+     , vector
      }:
      mkDerivation {
        pname = "hmatrix";
-       version = "0.18.1.0";
-       sha256 = "07zkwvg872hfk6jyn4s54ws8mvclynazaxf7fsbqi16dmf9dn61c";
-       configureFlags = [ "-fopenblas" ];
+       version = "0.18.2.0";
+       sha256 = "0q452gpmyxb0qp7pnwyrvvw3nc650qm68z3g0cd88s1x2j0xq34n";
+       configureFlags = [ "-fdisable-default-paths" "-fopenblas" ];
        libraryHaskellDepends = [
-         array base binary bytestring deepseq random split storable-complex
-         vector
+         array base binary bytestring deepseq random semigroups split
+         storable-complex vector
        ];
        librarySystemDepends = [ openblasCompat ];
-       preConfigure = "sed -i hmatrix.cabal -e '/\\/usr\\//D'";
        homepage = "https://github.com/albertoruiz/hmatrix";
        description = "Numeric Linear Algebra";
        license = stdenv.lib.licenses.bsd3;
@@ -100701,8 +102757,8 @@ self: {
     ({ mkDerivation, base, doctest, hmatrix, nlopt-haskell, vector }:
      mkDerivation {
        pname = "hmatrix-nlopt";
-       version = "0.1.0.0";
-       sha256 = "12h2svm2x3bc9ivii90f8cr4npwpagchazlmgj36x381aqradsf2";
+       version = "0.1.1.0";
+       sha256 = "1fgicpzi811ifdyrc8gzd8dgb0f14lw92rdidmbps3yisczysz29";
        libraryHaskellDepends = [ base hmatrix nlopt-haskell vector ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/peddie/hmatrix-nlopt";
@@ -100955,17 +103011,17 @@ self: {
      }) {};
 
   "hmm-hmatrix" = callPackage
-    ({ mkDerivation, array, base, containers, explicit-exception
-     , hmatrix, lazy-csv, non-empty, random, semigroups, transformers
-     , utility-ht
+    ({ mkDerivation, array, base, containers, deepseq
+     , explicit-exception, hmatrix, lazy-csv, non-empty, random
+     , semigroups, transformers, utility-ht
      }:
      mkDerivation {
        pname = "hmm-hmatrix";
-       version = "0.0.1";
-       sha256 = "1kkikv3spnvqms59980p8aappw3wh26y9qs2c8ykia5fpz9zag4h";
+       version = "0.1";
+       sha256 = "1ww2hxy9s9d2mywf5v5ka5fac9105ir3frm9vafgw2ydq64rdivx";
        libraryHaskellDepends = [
-         array base containers explicit-exception hmatrix lazy-csv non-empty
-         random semigroups transformers utility-ht
+         array base containers deepseq explicit-exception hmatrix lazy-csv
+         non-empty random semigroups transformers utility-ht
        ];
        homepage = "http://hub.darcs.net/thielema/hmm-hmatrix";
        description = "Hidden Markov Models using HMatrix primitives";
@@ -100999,8 +103055,8 @@ self: {
     ({ mkDerivation, base, integer-gmp, mpfr }:
      mkDerivation {
        pname = "hmpfr";
-       version = "0.4.3";
-       sha256 = "09q4gmj2gr3krh7vpkc8xwiy874d7mr6v57hv2i3n481yhky0yir";
+       version = "0.4.4";
+       sha256 = "1x8n5245rm0brjl7vhcabazh1k69dcjdas70pnrnlkx26bqfpb9b";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base integer-gmp ];
        librarySystemDepends = [ mpfr ];
@@ -101130,6 +103186,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hnix_0_4_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, containers, criterion
+     , data-fix, deepseq, deriving-compat, parsers, regex-tdfa
+     , regex-tdfa-text, semigroups, tasty, tasty-hunit, tasty-th, text
+     , transformers, trifecta, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hnix";
+       version = "0.4.0";
+       sha256 = "0rgx97ckv5zvly6x76h7nncswfw0ik4bhnlj8n5bpl4rqzd7d4fd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base containers data-fix deepseq deriving-compat
+         parsers regex-tdfa regex-tdfa-text semigroups text transformers
+         trifecta unordered-containers
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base containers data-fix deepseq
+       ];
+       testHaskellDepends = [
+         base containers data-fix tasty tasty-hunit tasty-th text
+       ];
+       benchmarkHaskellDepends = [ base containers criterion text ];
+       homepage = "http://github.com/jwiegley/hnix";
+       description = "Haskell implementation of the Nix language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hnn" = callPackage
     ({ mkDerivation, base, binary, bytestring, hmatrix, mwc-random
      , random, vector, vector-binary-instances, zlib
@@ -101157,6 +103243,7 @@ self: {
        isExecutable = true;
        executableHaskellDepends = [ base ];
        license = stdenv.lib.licenses.unfree;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hnormalise" = callPackage
@@ -101263,15 +103350,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_1_6_1" = callPackage
+  "hoauth2_1_6_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , http-conduit, http-types, microlens, text, unordered-containers
      , uri-bytestring, uri-bytestring-aeson, wai, warp
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.6.1";
-       sha256 = "0rmb3f4ci75fpzzqcq4qrjnqpnpmpr6i9j69z7cf8m2ji1vnvlw7";
+       version = "1.6.2";
+       sha256 = "185yia9mdjhmhian83rrd0hm3wjpja7hawnyvzq25rnhh2g4l2ay";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101827,11 +103914,10 @@ self: {
     ({ mkDerivation, array, base, FPretty, ghc-prim }:
      mkDerivation {
        pname = "hood";
-       version = "0.3";
-       sha256 = "08k15fvrqjnh3fab90ck3b3mb5wr15js6bw76m9k86nh0pxjv5pi";
-       revision = "1";
-       editedCabalFile = "0r2awfxb2xfvfr725g7a6a0s5d850fqglxv4z6j1syvlgyfdzfgr";
+       version = "0.3.1";
+       sha256 = "0bi1knfp6h6x7rrw5gggiip0h7ynhw2ds7k2q2fynrhsg9jdp5qv";
        libraryHaskellDepends = [ array base FPretty ghc-prim ];
+       testHaskellDepends = [ base ghc-prim ];
        homepage = "http://ku-fpg.github.io/software/hood";
        description = "Debugging by observing in place";
        license = stdenv.lib.licenses.bsd3;
@@ -102074,6 +104160,8 @@ self: {
        pname = "hoogle";
        version = "5.0.14";
        sha256 = "1y5vjwp60s35h13bnhjh4ga731m3vz004dbg8w5s7mwnfk5akkz7";
+       revision = "3";
+       editedCabalFile = "14973295rif9gsyaxfrw7y5p59sxnz4znki3jm3bk73y0b3j1l5d";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102105,8 +104193,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.16";
-       sha256 = "0fkq0mgf48rkyscs5ca11dcz47wr9f2sayl2607rcj4v897kx1a5";
+       version = "5.0.17.1";
+       sha256 = "0678kdssjmb8k08jmazg1w9lglz27ni2p3b5031likk2dp9gvf2h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102165,8 +104253,8 @@ self: {
      }:
      mkDerivation {
        pname = "hookup";
-       version = "0.1.1.0";
-       sha256 = "11gbk92wqcakmqqrvggjypxxpgdccacqbrrzicwy8113hd6kiw75";
+       version = "0.2";
+       sha256 = "17sj62b78a22alq9hpsrjcri5yxz7yzxdar521yd6x7jv3xxpix2";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL HsOpenSSL-x509-system network socks
        ];
@@ -102293,6 +104381,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hopenpgp-tools_0_20_1" = callPackage
+    ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, attoparsec
+     , base, base16-bytestring, binary, binary-conduit, bytestring
+     , conduit, conduit-extra, containers, crypto-pubkey, cryptohash
+     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
+     , http-client-tls, http-types, ixset-typed, lens, monad-loops
+     , openpgp-asciiarmor, optparse-applicative, resourcet, text, time
+     , time-locale-compat, transformers, unordered-containers
+     , wl-pprint-extras, wl-pprint-terminfo, yaml
+     }:
+     mkDerivation {
+       pname = "hopenpgp-tools";
+       version = "0.20.1";
+       sha256 = "1nidlipz0isj65vg6zhi79ln14i9kxvnn164s0haf086vm81kw32";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson ansi-wl-pprint array attoparsec base base16-bytestring binary
+         binary-conduit bytestring conduit conduit-extra containers
+         crypto-pubkey cryptohash directory errors fgl graphviz hOpenPGP
+         http-client http-client-tls http-types ixset-typed lens monad-loops
+         openpgp-asciiarmor optparse-applicative resourcet text time
+         time-locale-compat transformers unordered-containers
+         wl-pprint-extras wl-pprint-terminfo yaml
+       ];
+       executableToolDepends = [ alex happy ];
+       homepage = "https://salsa.debian.org/clint/hOpenPGP";
+       description = "hOpenPGP-based command-line tools";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hopenssl" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, doctest
      , HUnit, openssl
@@ -102373,6 +104493,8 @@ self: {
        pname = "hopfli";
        version = "0.2.2.1";
        sha256 = "061as7aa806xzcpch35isrkqbgqhwdy48fs049f491wwb47xqwad";
+       revision = "1";
+       editedCabalFile = "116jns5im51sb9xiwpx308wz3pr67335633anrf8f704pz8vwjka";
        libraryHaskellDepends = [ base bytestring zlib ];
        testHaskellDepends = [ base bytestring hspec QuickCheck zlib ];
        homepage = "https://github.com/ananthakumaran/hopfli";
@@ -102385,8 +104507,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.3.2";
-       sha256 = "04ah438igxykyspzlhpa5y50z1accrb9sxhv2sn8riqfhdz2sych";
+       version = "0.4.0";
+       sha256 = "186pb32mqwvb5n1a9v2p0cs3g01lrdw5j3p3ddjqdkss7mq6sacz";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -102402,8 +104524,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.3.4";
-       sha256 = "09vc23id1f30270c6q3wadckzvbqj4hvaxzy3wfbmhsqbrmmrfwh";
+       version = "0.4.0";
+       sha256 = "0dk5xhxiw697pb1df544yixsfhiivpp8irllvvjbij7hfbivi409";
        libraryHaskellDepends = [
          base containers directory filepath haskell-src mtl
        ];
@@ -102417,8 +104539,8 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.3.2";
-       sha256 = "0ax4aqbnxc80dbj8f7hykgj5agn59nwv4icfwmb4knxj2qw35kg3";
+       version = "0.4.0";
+       sha256 = "0vi1i2wa64gdxsc3705vpmimkajf3dz6dakxils1alyxp5ih8f4z";
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
@@ -102432,8 +104554,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.3.0";
-       sha256 = "0rgvqkslhj6d9craiwb5g75217jh7s34980rpcbjbjba8pscpxjb";
+       version = "0.4.0";
+       sha256 = "0kb9myfnradifyihigjw08navl5fwcfqznqrp9xjmkwkp8k2h0p5";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
@@ -102608,6 +104730,7 @@ self: {
        homepage = "http://rd.slavepianos.org/?t=hosc-utils";
        description = "Haskell Open Sound Control Utilities";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {www-minus = null;};
 
@@ -102862,70 +104985,75 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hpack_0_20_0" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring, Cabal
+  "hpack" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
-     , HUnit, interpolate, mockery, pretty, QuickCheck, temporary, text
-     , unordered-containers, yaml
+     , HUnit, interpolate, mockery, pretty, QuickCheck, scientific
+     , temporary, text, transformers, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.20.0";
-       sha256 = "0n8dhxk0h45lhc436xmdbmf0pva26dyg6p9vcksfl3dfp0nvf2mi";
+       version = "0.21.2";
+       sha256 = "1grsr2418z42bcvqnr788n3lpfbscqvvfcnglba9v95nl8lpfm0c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty text unordered-containers
-         yaml
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob pretty scientific text transformers
+         unordered-containers yaml
        ];
        executableHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty text unordered-containers
-         yaml
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob pretty scientific text transformers
+         unordered-containers yaml
        ];
        testHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers cryptonite
+         aeson base bifunctors bytestring Cabal containers cryptonite
          deepseq directory filepath Glob hspec HUnit interpolate mockery
-         pretty QuickCheck temporary text unordered-containers yaml
+         pretty QuickCheck scientific temporary text transformers
+         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" = callPackage
+  "hpack_0_24_0" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
-     , HUnit, interpolate, mockery, pretty, QuickCheck, scientific
-     , temporary, text, transformers, unordered-containers, yaml
+     , http-client, http-client-tls, http-types, HUnit, interpolate
+     , mockery, pretty, QuickCheck, scientific, template-haskell
+     , temporary, text, transformers, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.21.2";
-       sha256 = "1grsr2418z42bcvqnr788n3lpfbscqvvfcnglba9v95nl8lpfm0c";
+       version = "0.24.0";
+       sha256 = "074pzminhv59br5w2xy3d8mhi2cwj5m10lwlqkq990w0gfcfhy46";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty scientific text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types pretty scientific text transformers unordered-containers
+         vector yaml
        ];
        executableHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob pretty scientific text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types pretty scientific text transformers unordered-containers
+         vector yaml
        ];
        testHaskellDepends = [
          aeson base bifunctors bytestring Cabal containers cryptonite
-         deepseq directory filepath Glob hspec HUnit interpolate mockery
-         pretty QuickCheck scientific temporary text transformers
-         unordered-containers yaml
+         deepseq directory filepath Glob hspec http-client http-client-tls
+         http-types HUnit interpolate mockery pretty QuickCheck scientific
+         template-haskell temporary text transformers unordered-containers
+         vector 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
@@ -102961,6 +105089,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hpack-dhall" = callPackage
+    ({ mkDerivation, aeson, base, dhall, dhall-json, hpack, hspec
+     , interpolate, mockery, text, transformers, trifecta
+     }:
+     mkDerivation {
+       pname = "hpack-dhall";
+       version = "0.1.0";
+       sha256 = "1yz1ypq88lmxdz9728w8q0ag1whwzlkwcdvx8dhyav5k3ifgp2x0";
+       revision = "1";
+       editedCabalFile = "1432yrvrd0dlnn4lzyb4s5akvb85mx0anbxd1j9b4l1zl37d2bmn";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base dhall dhall-json hpack text transformers trifecta
+       ];
+       testHaskellDepends = [
+         aeson base dhall dhall-json hpack hspec interpolate mockery text
+         transformers trifecta
+       ];
+       homepage = "https://github.com/sol/hpack-dhall#readme";
+       description = "Dhall support for Hpack";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "hpaco" = callPackage
     ({ mkDerivation, aeson, base, cmdargs, filepath, hpaco-lib, strict
      , utf8-string, yaml
@@ -103220,8 +105372,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpio";
-       version = "0.9.0.2";
-       sha256 = "0jxmmch6y897rk02rql4rs82qmdj3r3xpbsrv75sgc2mb09cx2zy";
+       version = "0.9.0.3";
+       sha256 = "0cz7dxxxxfr142gr3hrq1k1x8axdgvyw7bsjsd1v9spka2i03rcd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103240,6 +105392,38 @@ self: {
        homepage = "https://github.com/quixoftic/hpio#readme";
        description = "Monads for GPIO in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpio_0_9_0_4" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , doctest, exceptions, filepath, hspec, monad-control, monad-logger
+     , mtl, optparse-applicative, protolude, QuickCheck, text
+     , transformers, transformers-base, unix, unix-bytestring
+     }:
+     mkDerivation {
+       pname = "hpio";
+       version = "0.9.0.4";
+       sha256 = "18j60xiwh18s01bbapi95h8g6ixr9brqh375qlhg600cgf0yzirx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers directory exceptions filepath
+         monad-control monad-logger mtl protolude QuickCheck text
+         transformers transformers-base unix unix-bytestring
+       ];
+       executableHaskellDepends = [
+         async base exceptions mtl optparse-applicative protolude text
+         transformers
+       ];
+       testHaskellDepends = [
+         base containers directory doctest exceptions filepath hspec
+         protolude QuickCheck
+       ];
+       homepage = "https://github.com/quixoftic/hpio#readme";
+       description = "Monads for GPIO in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hplayground" = callPackage
@@ -103356,8 +105540,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.5.0.0";
-       sha256 = "1hp9nn49a8kg58y8cywsiwcy64zq65c1hnsn2xi5ajk71hag8b8c";
+       version = "1.5.0.1";
+       sha256 = "022732jsji79a1bb805gh6pcif9ismivs2dwgwks0fb5i9hviilm";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          fields-json hpqtypes lifted-base log-base monad-control mtl safe
@@ -103675,27 +105859,6 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hruby_0_3_4_4" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
-     , ruby, scientific, stm, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hruby";
-       version = "0.3.4.4";
-       sha256 = "08997g32rnmwznzywf1k0bmki0kbcwss9s4lka6s501l54gp1ij9";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring scientific stm text
-         unordered-containers vector
-       ];
-       librarySystemDepends = [ ruby ];
-       testHaskellDepends = [
-         aeson attoparsec base QuickCheck text vector
-       ];
-       description = "Embed a Ruby intepreter in your Haskell program !";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) ruby;};
-
   "hruby" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
      , ruby, scientific, stm, text, unordered-containers, vector
@@ -103783,6 +105946,7 @@ self: {
        homepage = "https://github.com/iand675/brotli#readme";
        description = "Compression and decompression in the brotli format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {brotli = null; brotlidec = null; brotlienc = null; 
          libbrotlidec = null; libbrotlienc = null;};
@@ -104392,6 +106556,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hs2ats" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, cases, composition-prelude
+     , criterion, deepseq, haskell-src-exts, hspec, hspec-dirstream
+     , language-ats, lens, optparse-generic, system-filepath, text
+     }:
+     mkDerivation {
+       pname = "hs2ats";
+       version = "0.2.0.4";
+       sha256 = "0yji8np53qgwfhmamfkmc4bbvkivwhrkjrwr9aqly9gyadbsw89m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base cases composition-prelude deepseq
+         haskell-src-exts language-ats lens optparse-generic text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hspec hspec-dirstream language-ats system-filepath
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/vmchale/hs2ats#readme";
+       description = "Create ATS types from Haskell types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hs2bf" = callPackage
     ({ mkDerivation, array, base, containers, directory, filepath
      , haskell-src, mtl
@@ -105240,36 +107429,36 @@ self: {
   "hsdev" = callPackage
     ({ mkDerivation, aeson, aeson-lens, aeson-pretty, array, async
      , attoparsec, base, bytestring, Cabal, containers, cpphs
-     , data-default, deepseq, directory, exceptions, filepath, fsnotify
-     , ghc, ghc-boot, ghc-paths, ghc-syb-utils, haddock-api
-     , haskell-src-exts, hdocs, hformat, hlint, hspec, HTTP, lens
-     , lifted-base, mmorph, monad-control, monad-loops, mtl, network
-     , optparse-applicative, process, regex-pcre-builtin, scientific
-     , simple-log, syb, template-haskell, text, text-region, time
-     , transformers, transformers-base, uniplate, unix
-     , unordered-containers, vector
+     , data-default, deepseq, direct-sqlite, directory, exceptions
+     , filepath, fsnotify, ghc, ghc-boot, ghc-paths, ghc-syb-utils
+     , haddock-api, haskell-names, haskell-src-exts, hdocs, hformat
+     , hlint, hspec, HTTP, lens, lifted-base, mmorph, monad-control
+     , monad-loops, mtl, network, optparse-applicative, process
+     , regex-pcre-builtin, scientific, simple-log, sqlite-simple, stm
+     , syb, template-haskell, text, text-region, time, transformers
+     , transformers-base, uniplate, unix, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.2.5.1";
-       sha256 = "15rr12mric0gm4xfskwsqh89kdiqxzvg47nkddbyr7hah1rjmcn4";
+       version = "0.3.1.1";
+       sha256 = "1bj9zhkikspf73xha8vcx3ads5fp33f1ail0fns9iyra5zl0g612";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array async attoparsec base bytestring Cabal
-         containers cpphs data-default deepseq directory exceptions filepath
-         fsnotify ghc ghc-boot ghc-paths ghc-syb-utils haddock-api
-         haskell-src-exts hdocs hformat hlint HTTP lens lifted-base mmorph
-         monad-control monad-loops mtl network optparse-applicative process
-         regex-pcre-builtin scientific simple-log syb template-haskell text
-         text-region time transformers transformers-base uniplate unix
+         containers cpphs data-default deepseq direct-sqlite directory
+         exceptions filepath fsnotify ghc ghc-boot ghc-paths ghc-syb-utils
+         haddock-api haskell-names haskell-src-exts hdocs hformat hlint HTTP
+         lens lifted-base mmorph monad-control monad-loops mtl network
+         optparse-applicative process regex-pcre-builtin scientific
+         simple-log sqlite-simple stm syb template-haskell text text-region
+         time transformers transformers-base uniplate unix
          unordered-containers vector
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring containers data-default deepseq
-         directory exceptions filepath haskell-src-exts lens monad-loops mtl
-         network optparse-applicative process text transformers
-         unordered-containers vector
+         aeson aeson-pretty base bytestring containers deepseq directory
+         exceptions filepath monad-loops mtl network optparse-applicative
+         process text transformers unordered-containers
        ];
        testHaskellDepends = [
          aeson aeson-lens async base containers data-default deepseq
@@ -105328,6 +107517,23 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {inherit (pkgs) adns;};
 
+  "hsdns_1_7_1" = callPackage
+    ({ mkDerivation, adns, base, containers, network }:
+     mkDerivation {
+       pname = "hsdns";
+       version = "1.7.1";
+       sha256 = "0i50p31zxsrkx9hv3mqcl2042lf922b1fsswmd99d66ybkl01kag";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers network ];
+       librarySystemDepends = [ adns ];
+       homepage = "http://github.com/peti/hsdns";
+       description = "Asynchronous DNS Resolver";
+       license = stdenv.lib.licenses.lgpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {inherit (pkgs) adns;};
+
   "hsdns-cache" = callPackage
     ({ mkDerivation, base, hsdns, network, SafeSemaphore, text, time
      , unordered-containers
@@ -105882,6 +108088,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hsluv-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, colour, containers }:
+     mkDerivation {
+       pname = "hsluv-haskell";
+       version = "0.1.0.0";
+       sha256 = "1pdp1qfhqjv33mfgayay2by7bf5p1acw5791kgay20a8r5wvalab";
+       libraryHaskellDepends = [ base colour ];
+       testHaskellDepends = [ aeson base bytestring colour containers ];
+       description = "HSLuv conversion utility";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "hsmagick" = callPackage
     ({ mkDerivation, base, bytestring, bzip2, directory, filepath
      , freetype2, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
@@ -106232,15 +108450,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec_2_4_6" = callPackage
+  "hspec_2_4_7" = callPackage
     ({ mkDerivation, base, call-stack, directory, hspec-core
      , hspec-discover, hspec-expectations, hspec-meta, HUnit, QuickCheck
      , stringbuilder, transformers
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.4.6";
-       sha256 = "1lq24aszswn103l801vggmmd0sp75zrkjzskifz47p3njl1lb1pj";
+       version = "2.4.7";
+       sha256 = "1jvf7x43gkch4b8nxqdascqlh4rh2d1qvl44skwqkz0gw154ldan";
        libraryHaskellDepends = [
          base call-stack hspec-core hspec-discover hspec-expectations HUnit
          QuickCheck transformers
@@ -106312,6 +108530,8 @@ self: {
        pname = "hspec-core";
        version = "2.4.4";
        sha256 = "1pxzr3l8b9640mh904n51nwlr2338wak23781s48a9kzvwf347b0";
+       revision = "1";
+       editedCabalFile = "0m4bmclgs7as957wdnq1y4zh49hrwpslgz5m9430myl4dc14r81l";
        libraryHaskellDepends = [
          ansi-terminal array async base call-stack deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -106329,7 +108549,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-core_2_4_6" = callPackage
+  "hspec-core_2_4_7" = callPackage
     ({ mkDerivation, ansi-terminal, array, async, base, call-stack
      , deepseq, directory, filepath, hspec-expectations, hspec-meta
      , HUnit, process, QuickCheck, quickcheck-io, random, setenv
@@ -106337,8 +108557,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.4.6";
-       sha256 = "048bql9v6skxxjyapknpby0iisk2g2d8m6caxpkyd91cyrdvq4j6";
+       version = "2.4.7";
+       sha256 = "0syjbx3s62shwddp75qj0nfwmfjn0yflja4bh23x161xpx1g0igx";
        libraryHaskellDepends = [
          ansi-terminal array async base call-stack deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
@@ -106363,8 +108583,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-dirstream";
-       version = "0.1.0.1";
-       sha256 = "0dkxk45wlx051m1g36kxam22lvdzhmzcvls3268wc4m3r0clxjli";
+       version = "0.3.0.0";
+       sha256 = "1gg17qx95v0widjng6sf0mf589vckixnwjl8n0kh08wpvbriqz60";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base dirstream filepath hspec hspec-core pipes pipes-safe
@@ -106392,13 +108612,13 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-discover_2_4_6" = callPackage
+  "hspec-discover_2_4_7" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.4.6";
-       sha256 = "1qh07b5by9ry62l7f700zxlnbdsjnhr5s1ja8ws0ifx6xqsyl719";
+       version = "2.4.7";
+       sha256 = "1cgj6c6f5vpn36jg2j7v80nr87x1dsf7qyvxvjw8qimjdxrcx0ba";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
@@ -106642,8 +108862,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-meta";
-       version = "2.4.4";
-       sha256 = "117n4j56wfh48xj02mv0wkp10bkr2xkyvwg7n7r2ynp03wrf9ykm";
+       version = "2.4.6";
+       sha256 = "0qmvk01n79j6skn79r6zalg2pd0x0nqqn9qn8mhg0pgyzcdnfc9b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106792,6 +109012,8 @@ self: {
        pname = "hspec-smallcheck";
        version = "0.4.2";
        sha256 = "1lsy71ri0lfvs6w1drwa4p69bcy0nrpb62dah3bg4vqwxfrd82ds";
+       revision = "1";
+       editedCabalFile = "19fp4xandn3jn1hzs1bkjbncyv74908wzcqkvk7xf0dfmm0wpmqw";
        libraryHaskellDepends = [ base hspec-core smallcheck ];
        testHaskellDepends = [
          base hspec hspec-core QuickCheck smallcheck
@@ -106801,6 +109023,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-smallcheck_0_5_0" = callPackage
+    ({ mkDerivation, base, call-stack, hspec, hspec-core, HUnit
+     , QuickCheck, smallcheck
+     }:
+     mkDerivation {
+       pname = "hspec-smallcheck";
+       version = "0.5.0";
+       sha256 = "0lff095qm855y7dd055c4h5ip8lcx1i6pady2b81fby4wgf78g1m";
+       libraryHaskellDepends = [
+         base call-stack hspec-core HUnit smallcheck
+       ];
+       testHaskellDepends = [
+         base call-stack hspec hspec-core HUnit QuickCheck smallcheck
+       ];
+       homepage = "http://hspec.github.io/";
+       description = "SmallCheck support for the Hspec testing framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-snap" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
@@ -106971,8 +109213,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheckVariant }:
      mkDerivation {
        pname = "hspecVariant";
-       version = "0.1.0.1";
-       sha256 = "0vl6l8mkx3lmkr12340v3zh64nxs3i07jrcf10r8fw9wahgcqkym";
+       version = "1.0.0.0";
+       sha256 = "0y45jizkf2kfj3yjjkq96kavkfp74vf5dyyjvi9pj3kshf8sx8il";
        libraryHaskellDepends = [ base hspec QuickCheckVariant ];
        homepage = "https://github.com/sanjorgek/hspecVariant";
        description = "Spec for testing properties for variant types";
@@ -107753,6 +109995,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hsx2hs_0_14_1_2" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-exts
+     , haskell-src-meta, mtl, template-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "hsx2hs";
+       version = "0.14.1.2";
+       sha256 = "06j2nc2yg8a8pp3c2ayxrm76fj2w2w5d2ilq91hvwwb1ikrklg5b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring haskell-src-exts haskell-src-meta mtl
+         template-haskell utf8-string
+       ];
+       homepage = "https://github.com/seereason/hsx2hs";
+       description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsyscall" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -107999,6 +110261,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "html-conduit_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, hspec
+     , HUnit, resourcet, tagstream-conduit, text, transformers
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "html-conduit";
+       version = "1.3.0";
+       sha256 = "15pf15w55g39h2fwl4wlq1f0jbfknajb6qyk1l7xv6q7fphhkgvq";
+       libraryHaskellDepends = [
+         base bytestring conduit containers resourcet tagstream-conduit text
+         transformers xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec HUnit xml-conduit
+       ];
+       homepage = "https://github.com/snoyberg/xml";
+       description = "Parse HTML documents using xml-conduit datatypes";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "html-email-validate" = callPackage
     ({ mkDerivation, attoparsec, base, criterion, hspec, QuickCheck
      , regex-pcre-builtin, text
@@ -108017,21 +110301,16 @@ self: {
      }) {};
 
   "html-entities" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, Cabal
-     , cabal-doctest, directory, doctest, filepath, text
+    ({ mkDerivation, attoparsec, base, base-prelude, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "html-entities";
-       version = "1.1.4.1";
-       sha256 = "1x6z5fv1sdhdmhwd10kwahvjjkhrza3dm7xzk9ypfkkmyi1piwpi";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "1.1.4.2";
+       sha256 = "1ryfslp60s0d0ygmnxfgw9p8s7l2xq1i5kmj86g2ghdljf8hq6hn";
        libraryHaskellDepends = [
          attoparsec base base-prelude text unordered-containers
        ];
-       testHaskellDepends = [
-         base base-prelude directory doctest filepath
-       ];
        homepage = "https://github.com/nikita-volkov/html-entities";
        description = "A codec library for HTML-escaped text and HTML-entities";
        license = stdenv.lib.licenses.mit;
@@ -108043,6 +110322,8 @@ self: {
        pname = "html-entity-map";
        version = "0.1.0.0";
        sha256 = "0k1l1pbmrfmh44v9cc9ka01bx9xm1x4jabbl675fc5c57v1h0dlq";
+       revision = "1";
+       editedCabalFile = "1y2w3jmdxwa8lfj1gr4ln98v1474bw1cjsdfpmbaphcjj9bjg0sg";
        libraryHaskellDepends = [ base text unordered-containers ];
        benchmarkHaskellDepends = [
          base criterion text unordered-containers
@@ -108246,8 +110527,8 @@ self: {
      }:
      mkDerivation {
        pname = "htoml-megaparsec";
-       version = "1.0.1.12";
-       sha256 = "1yzkhbsbxfpmy70nb52715gsppmlsnzr50vfmv0w0fqmw76abd8i";
+       version = "1.1.0.1";
+       sha256 = "10bgm0dqi2hni9sxjri2i7imfwqfi750pwwrpbghdvyfxrivfcpy";
        libraryHaskellDepends = [
          base composition-prelude containers deepseq megaparsec mtl
          old-locale text time unordered-containers vector
@@ -108393,6 +110674,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-api-data_0_3_7_2" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-iso8601, base, bytestring
+     , Cabal, cabal-doctest, containers, directory, doctest, filepath
+     , hashable, hspec, hspec-discover, http-types, HUnit, QuickCheck
+     , quickcheck-instances, text, time, time-locale-compat
+     , unordered-containers, uri-bytestring, uuid, uuid-types
+     }:
+     mkDerivation {
+       pname = "http-api-data";
+       version = "0.3.7.2";
+       sha256 = "10kcpxl9m1q2dl4z2ig6ysrhrdmdg35skfh8kwx0h7f0n7d6wlb8";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         attoparsec attoparsec-iso8601 base bytestring containers hashable
+         http-types text time time-locale-compat unordered-containers
+         uri-bytestring uuid-types
+       ];
+       testHaskellDepends = [
+         base bytestring directory doctest filepath hspec HUnit QuickCheck
+         quickcheck-instances text time unordered-containers uuid
+       ];
+       testToolDepends = [ hspec-discover ];
+       homepage = "http://github.com/fizruk/http-api-data";
+       description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-attoparsec" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, http-types }:
      mkDerivation {
@@ -108411,16 +110720,16 @@ self: {
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
      , http-types, mime-types, monad-control, network, network-uri
-     , random, streaming-commons, text, time, transformers, zlib
+     , random, stm, streaming-commons, text, time, transformers, zlib
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.5.7.1";
-       sha256 = "19cvnnfcjj2m3pgs6ivyjs21rw9wx5ynarh6hvb27a76cscai2fy";
+       version = "0.5.9";
+       sha256 = "0bccpvinzc7z5v83grjzvd3g3kdz2q5h2206l7x9jh4bvz9prblf";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
-         ghc-prim http-types mime-types network network-uri random
+         ghc-prim http-types mime-types network network-uri random stm
          streaming-commons text time transformers
        ];
        testHaskellDepends = [
@@ -108435,6 +110744,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client_0_5_10" = callPackage
+    ({ mkDerivation, array, async, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, containers, cookie
+     , deepseq, directory, exceptions, filepath, ghc-prim, hspec
+     , http-types, mime-types, monad-control, network, network-uri
+     , random, stm, streaming-commons, text, time, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "http-client";
+       version = "0.5.10";
+       sha256 = "1hmshs97smigqy334rfkgv3vri5fas3cj8zz2gqlby9jsrp6kygm";
+       libraryHaskellDepends = [
+         array base base64-bytestring blaze-builder bytestring
+         case-insensitive containers cookie deepseq exceptions filepath
+         ghc-prim http-types mime-types network network-uri random stm
+         streaming-commons text time transformers
+       ];
+       testHaskellDepends = [
+         async base base64-bytestring blaze-builder bytestring
+         case-insensitive containers deepseq directory hspec http-types
+         monad-control network network-uri streaming-commons text time
+         transformers zlib
+       ];
+       doCheck = false;
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "An HTTP client engine";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-client-auth" = callPackage
     ({ mkDerivation, base, base64-string, blaze-builder, bytestring
      , case-insensitive, conduit, crypto-conduit, http-client
@@ -108608,6 +110947,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client-tls_0_3_5_2" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, connection
+     , containers, cryptonite, data-default-class, exceptions, gauge
+     , hspec, http-client, http-types, memory, network, network-uri
+     , text, tls, transformers
+     }:
+     mkDerivation {
+       pname = "http-client-tls";
+       version = "0.3.5.2";
+       sha256 = "1ynkwm77sb7djfflnz7v6gfli8zh1sdw4yjqpnb74slrh112ngh9";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive connection containers cryptonite
+         data-default-class exceptions http-client http-types memory network
+         network-uri text tls transformers
+       ];
+       testHaskellDepends = [
+         base connection hspec http-client http-types
+       ];
+       benchmarkHaskellDepends = [ base gauge http-client ];
+       doCheck = false;
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "http-client backend using the connection package and tls library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-common" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , case-insensitive, directory, mtl, network, text, transformers
@@ -108656,6 +111021,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-conduit_2_3_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , case-insensitive, conduit, conduit-extra, connection, cookie
+     , data-default-class, hspec, http-client, http-client-tls
+     , http-types, HUnit, mtl, network, resourcet, streaming-commons
+     , temporary, text, time, transformers, unliftio, unliftio-core
+     , utf8-string, wai, wai-conduit, warp, warp-tls
+     }:
+     mkDerivation {
+       pname = "http-conduit";
+       version = "2.3.0";
+       sha256 = "0z9158a27g6kg7vbhkiw6icb2wgzb3lhsifgg5yh6wph5cd40fx4";
+       libraryHaskellDepends = [
+         aeson base bytestring conduit conduit-extra http-client
+         http-client-tls http-types mtl resourcet transformers unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder bytestring case-insensitive conduit
+         conduit-extra connection cookie data-default-class hspec
+         http-client http-types HUnit network resourcet streaming-commons
+         temporary text time transformers unliftio utf8-string wai
+         wai-conduit warp warp-tls
+       ];
+       doCheck = false;
+       homepage = "http://www.yesodweb.com/book/http-conduit";
+       description = "HTTP client package with conduit interface and HTTPS support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-conduit-browser" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , case-insensitive, conduit, containers, cookie, data-default
@@ -109246,14 +111641,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "http-types_0_11" = callPackage
+  "http-types_0_12_1" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive, doctest
      , hspec, QuickCheck, quickcheck-instances, text
      }:
      mkDerivation {
        pname = "http-types";
-       version = "0.11";
-       sha256 = "08w30rf1i7kbh2j1iajqmj6yhhmglnb8kjggc8kdni3xahhrgcss";
+       version = "0.12.1";
+       sha256 = "1wv9k6nlvkdsxwlr7gaynphvzmvi5211gvwq96mbcxgk51a739rz";
        libraryHaskellDepends = [
          array base bytestring case-insensitive text
        ];
@@ -109867,6 +112262,7 @@ self: {
        homepage = "http://github.com/hunt-framework";
        description = "A Command line Interface for the Hunt server";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {hunt-client = null;};
 
@@ -110173,6 +112569,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-fingertree" = callPackage
+    ({ mkDerivation, base, deepseq, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hw-fingertree";
+       version = "0.1.0.0";
+       sha256 = "0hh1f9m92s53254a2bk3h4i77girf8nni8rmyrd0ljramn4hiz55";
+       libraryHaskellDepends = [ base deepseq ];
+       testHaskellDepends = [
+         base deepseq HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "Generic finger-tree structure, with example instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hw-fingertree-strict" = callPackage
+    ({ mkDerivation, base, hedgehog, hspec, HUnit, hw-hspec-hedgehog
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hw-fingertree-strict";
+       version = "0.1.0.0";
+       sha256 = "02bgqcjjhxpzd5nql50abbbjlg5pan2wy1dhdwc2br87n3jhx90x";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog hspec HUnit hw-hspec-hedgehog QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/githubuser/hw-fingertree-strict#readme";
+       description = "Generic strict finger-tree structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hw-hedgehog" = callPackage
     ({ mkDerivation, base, hedgehog, vector }:
      mkDerivation {
@@ -110327,8 +112759,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "2.3.0";
-       sha256 = "0nrymgfp2kgfhizi5niaa08n56b1zsypy1vk9in9i0k39kxfkd3n";
+       version = "2.3.1";
+       sha256 = "0sjr3xqpx47lwzm6kk1rjinc9k39i9zjm74160ly9i68gnjgx69i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110642,6 +113074,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hwhile" = callPackage
+    ({ mkDerivation, alex, array, base, Cabal, containers, filepath
+     , happy, haskeline, mtl, repline
+     }:
+     mkDerivation {
+       pname = "hwhile";
+       version = "0.1.1.2";
+       sha256 = "1zilz8fdy90dpq6rzj98d70jw5j668fqpx28jhkpj50k72xlrpkb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers filepath haskeline mtl repline
+       ];
+       executableHaskellDepends = [ array base containers filepath mtl ];
+       executableToolDepends = [ alex happy ];
+       testHaskellDepends = [ array base Cabal containers mtl ];
+       description = "An implementation of Neil D. Jones' While language";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hworker" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, hedis, hspec
      , hspec-contrib, HUnit, text, time, uuid
@@ -111150,14 +113603,14 @@ self: {
      }) {};
 
   "hybrid-vectors" = callPackage
-    ({ mkDerivation, base, deepseq, primitive, vector }:
+    ({ mkDerivation, base, deepseq, primitive, semigroups, vector }:
      mkDerivation {
        pname = "hybrid-vectors";
-       version = "0.2.1";
-       sha256 = "18nc6qw7f9rxi0h6qk28yq6i0x19gwjzq2v9mi2ajxnwzvydip1f";
-       revision = "1";
-       editedCabalFile = "1i73cfi226l8nivqw9dxnxajkdsgxkh89h00mgsrplf60kdh4wzh";
-       libraryHaskellDepends = [ base deepseq primitive vector ];
+       version = "0.2.2";
+       sha256 = "1mw69xjdncj6kqa2mvag8xc79y4jijnh2qg6ahrhifb4vxqw7ij1";
+       libraryHaskellDepends = [
+         base deepseq primitive semigroups vector
+       ];
        homepage = "http://github.com/ekmett/hybrid-vectors";
        description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors";
        license = stdenv.lib.licenses.bsd3;
@@ -111678,10 +114131,8 @@ self: {
      }:
      mkDerivation {
        pname = "hyphenation";
-       version = "0.7";
-       sha256 = "0l1yvfdkkgba91pzncy399hv65pdipb9p78v2j9g0sdkmb1anq9s";
-       revision = "2";
-       editedCabalFile = "0bf147dfnp8lw4kmscgkmd4pnawzv0yc63hhjr7sjvk5xyyvb5mq";
+       version = "0.7.1";
+       sha256 = "1h5i07v2zlka29dj4zysc47p747j88x6z4zm3zwcr5i8yirm0p52";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
@@ -111692,7 +114143,7 @@ self: {
        ];
        homepage = "http://github.com/ekmett/hyphenation";
        description = "Configurable Knuth-Liang hyphenation";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "hypher" = callPackage
@@ -112150,8 +114601,8 @@ self: {
        pname = "identicon";
        version = "0.2.2";
        sha256 = "0qzj2063sh7phbqyxqxf96avz1zcwd1ry06jdqxwkg55q3yb8y9n";
-       revision = "1";
-       editedCabalFile = "0jlm9cmw0ycbyifab7bzkmykj8w7vn2wyc6pfadfjrhb76zyvcxr";
+       revision = "2";
+       editedCabalFile = "0shj211pvba5cfgs1vy9f8jd84by8j4mprk4yvhv4ia1kl6dq4mr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base bytestring JuicyPixels ];
        testHaskellDepends = [
@@ -113421,6 +115872,7 @@ self: {
        homepage = "http://www.nomyx.net";
        description = "Reactive programming language based on a DSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {Imprevu = null;};
 
@@ -113452,6 +115904,8 @@ self: {
        pname = "imprint";
        version = "0.0.1.0";
        sha256 = "0f56zy6ay6wvcvqfplvc3gckngxngxm9r62h1w36lxm74xy8544v";
+       revision = "1";
+       editedCabalFile = "13418pfcsanj7cl651v4qqbypgjkrpld2gs560kpw3k2lj6w4wa0";
        libraryHaskellDepends = [ base binary bytestring constraints ];
        testHaskellDepends = [ base binary constraints hspec ];
        homepage = "https://github.com/mrkkrp/imprint";
@@ -113480,8 +115934,8 @@ self: {
      }:
      mkDerivation {
        pname = "impure-containers";
-       version = "0.4.1";
-       sha256 = "06z74yxa3pxwa0ad1464riqjzylnsldzkzfpw1di7n4a8a0g0n0x";
+       version = "0.4.3";
+       sha256 = "003r3ppwdwndg8q84bnh299f04b88bhnxxl65nbrz9xl77lfz2y0";
        libraryHaskellDepends = [
          base containers ghc-prim hashable primitive vector
        ];
@@ -113614,8 +116068,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental-parser";
-       version = "0.2.5.2";
-       sha256 = "0qlawnlghp8cz96sc6kjzhp0dlinmnyh38gjcp6i1wfn2qy8qy7d";
+       version = "0.2.5.3";
+       sha256 = "0646hxjd25hpmffabbdp6bxa5720gd99hgg31ifcx8nprlm8sl7a";
        libraryHaskellDepends = [ base monoid-subclasses ];
        testHaskellDepends = [
          base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
@@ -113980,8 +116434,8 @@ self: {
      }:
      mkDerivation {
        pname = "inflections";
-       version = "0.4.0.0";
-       sha256 = "1m42sigx621yzd6sznaas6917skyw8lf5ynfcjd87jybhv2r9g2k";
+       version = "0.4.0.1";
+       sha256 = "1vc04afp5lvh5drs4pf6djmkn80513h4phkw5gs4g4d37h3d3jg2";
        libraryHaskellDepends = [
          base exceptions megaparsec text unordered-containers
        ];
@@ -114038,6 +116492,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "influxdb_1_2_2_3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, clock
+     , containers, foldl, http-client, http-types, HUnit, lens, mtl
+     , mwc-random, network, optional-args, scientific, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-th, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "influxdb";
+       version = "1.2.2.3";
+       sha256 = "14454644vlkyd27ywhsvkczxdxdwqkl917zcb51ay68gdnrrwm1i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring clock containers foldl http-client
+         http-types lens network optional-args scientific text time
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers foldl http-client lens mwc-random
+         network optional-args text time vector
+       ];
+       testHaskellDepends = [
+         base http-client HUnit mtl tasty tasty-hunit tasty-quickcheck
+         tasty-th text vector
+       ];
+       homepage = "https://github.com/maoe/influxdb-haskell";
+       description = "Haskell client library for InfluxDB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "informative" = callPackage
     ({ mkDerivation, base, containers, csv, highlighting-kate
      , http-conduit, monad-logger, pandoc, persistent
@@ -114267,9 +116753,9 @@ self: {
      }) {};
 
   "inline-r" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, c2hs, containers
-     , criterion, data-default-class, deepseq, directory, exceptions
-     , filepath, ieee754, mtl, pretty, primitive, process
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , data-default-class, deepseq, directory, exceptions, filepath
+     , ieee754, inline-c, mtl, pretty, primitive, process
      , quickcheck-assertions, R, reflection, setenv, silently
      , singletons, strict, tasty, tasty-expected-failure, tasty-golden
      , tasty-hunit, tasty-quickcheck, template-haskell, temporary, text
@@ -114277,16 +116763,15 @@ self: {
      }:
      mkDerivation {
        pname = "inline-r";
-       version = "0.9.0.2";
-       sha256 = "1swxdilr1l7h3pk313fyjgpg58g20v6560j9g4cxz0gakqqhb3jc";
+       version = "0.9.1";
+       sha256 = "1wpvyagc56yjkxvaw7a64gl2i4qfn4cgb47nx53pc6wcph7cyras";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default-class deepseq
-         exceptions mtl pretty primitive process reflection setenv
+         exceptions inline-c mtl pretty primitive process reflection setenv
          singletons template-haskell text th-lift th-orphans transformers
          unix vector
        ];
        libraryPkgconfigDepends = [ R ];
-       libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
          base bytestring directory filepath ieee754 mtl process
          quickcheck-assertions silently singletons strict tasty
@@ -114334,6 +116819,7 @@ self: {
        executableHaskellDepends = [ aether base text ];
        description = "Console client for encyclopedias";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {aether = null;};
 
@@ -114346,8 +116832,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.1.0";
        sha256 = "1612f455dw37da9g7bsd1s5kyi84mnr1ifnjw69892amyimi47fp";
-       revision = "3";
-       editedCabalFile = "0ik4n32rvamxvlp80ixjrbhskivynli7b89s4hk6401bcy3ykp3g";
+       revision = "4";
+       editedCabalFile = "0ls5rm5hg2lqp2m6bfssa30y72x8xyyl7izvwr3w804dpa9fvwrm";
        libraryHaskellDepends = [
          aeson base base-compat hashable lens semigroupoids semigroups text
          transformers unordered-containers
@@ -114358,7 +116844,7 @@ self: {
          unordered-containers
        ];
        homepage = "https://github.com/phadej/insert-ordered-containers#readme";
-       description = "Associative containers retating insertion order for traversals";
+       description = "Associative containers retaining insertion order for traversals";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -114409,6 +116895,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inspection-testing_0_2_0_1" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.2.0.1";
+       sha256 = "1551dvk63xb4lr2zsyg3ri8v1nsjs050k2jsf8v0vfasx7w9ns8z";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/nomeata/inspection-testing";
+       description = "GHC plugin to do inspection testing";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -114622,6 +117126,8 @@ self: {
        pname = "integer-logarithms";
        version = "1.0.2";
        sha256 = "0w5mhak181zi6qr5h2zbcs9ymaqacisp9jwk99naz6s8zz5rq1ii";
+       revision = "1";
+       editedCabalFile = "0sccd0d6qrcm3a7nni5lqv40g5m5knf965z4skkgbyyhb3z6qsq8";
        libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
        testHaskellDepends = [
          base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
@@ -115010,8 +117516,8 @@ self: {
      }:
      mkDerivation {
        pname = "intricacy";
-       version = "0.7.1";
-       sha256 = "1byc6k4d5wcwls96zg12xq6kz4fzp9zmr0wcsk92iv2qpg0ra6ji";
+       version = "0.7.1.1";
+       sha256 = "1s947b71r0m3f81w8sid2cwgh9j16bxsmlpi498rzxajq32cd5yk";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -115032,13 +117538,13 @@ self: {
      }:
      mkDerivation {
        pname = "intrinsic-superclasses";
-       version = "0.2.0.0";
-       sha256 = "0bx8igqwpyhs1q8rhyxhc5389nx49ynfq08bis30x9gdq209dqih";
+       version = "0.3.0.0";
+       sha256 = "18xvpdip1zdgylqcngvk8hz6dsnl3bp681pc31nb562vg2crqzz6";
        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";
+       description = "A quasiquoter for better instance deriving and default methods";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -115049,8 +117555,8 @@ self: {
      }:
      mkDerivation {
        pname = "intro";
-       version = "0.3.0.1";
-       sha256 = "0yc163r255w7df0hjly30bh5dqgx38f1z5lk3x3i7jh93j97cpn0";
+       version = "0.3.1.0";
+       sha256 = "14kl6nx62qkm19fjn593m62iy4myjwg94yyr38kkbna438n5wpns";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq dlist extra hashable mtl
          safe text transformers unordered-containers writer-cps-mtl
@@ -115177,10 +117683,8 @@ self: {
      }:
      mkDerivation {
        pname = "invertible";
-       version = "0.2.0.2";
-       sha256 = "1a45hgsz46rqx2bfi0cgnf443pr28ik2rqi2f745q2qr41pvdqgf";
-       revision = "1";
-       editedCabalFile = "1jbk0mcn66j2931yka1923j7k45jgv6174q8rr3plidyn8fgm2hg";
+       version = "0.2.0.3";
+       sha256 = "0pckhl1nv6w66k3ll9q1bwbmzl2rpbwk6c3xkm7dscxzjzw43qwf";
        libraryHaskellDepends = [
          base haskell-src-meta invariant lens partial-isomorphisms
          semigroupoids template-haskell transformers TypeCompose
@@ -115407,6 +117911,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "io-string-like" = callPackage
+    ({ mkDerivation, base, binary, bytestring, text }:
+     mkDerivation {
+       pname = "io-string-like";
+       version = "0.1.0.1";
+       sha256 = "0p8p4xp9qj7h1xa9dyizqpr85j8qjiccj3y9kplbskaqazl9pyqp";
+       revision = "1";
+       editedCabalFile = "1q10d2pjhy3k549pw3lid2lda5z4790x0vmg1qajwyapm7q5cma6";
+       libraryHaskellDepends = [ base binary bytestring text ];
+       homepage = "https://github.com/clintonmead/io-string-like#readme";
+       description = "Classes to handle Prelude style IO functions for different datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "io-throttle" = callPackage
     ({ mkDerivation, base, SafeSemaphore, threads }:
      mkDerivation {
@@ -115514,8 +118032,8 @@ self: {
      }:
      mkDerivation {
        pname = "ip";
-       version = "1.1.1";
-       sha256 = "150gbl7589w1a1imqn8qh5g9ar68bkkx0ifiab5zf0gvxgkiz4jd";
+       version = "1.1.2";
+       sha256 = "16vjbcrjpvs4wh89r4k3d5hpkklvcvrk50qjnx67bsi2jjhcn0aj";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring hashable primitive text vector
        ];
@@ -115784,8 +118302,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "1.0.0.1";
-       sha256 = "0qg4bvl82wwm7jlrxsmc4aw51rfdygq8qzm6x7j4121av5wbk095";
+       version = "1.0.1.0";
+       sha256 = "0c0vzmzpryjfv22kxinnqjf7rkj51dz7shi1gn8ivgcmnhf9hl57";
        libraryHaskellDepends = [
          base bytestring conduit connection containers contravariant
          exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
@@ -115797,6 +118315,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "irc-client_1_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, connection, containers
+     , contravariant, exceptions, irc-conduit, irc-ctcp, mtl
+     , network-conduit-tls, old-locale, profunctors, stm, stm-chans
+     , text, time, tls, transformers, x509, x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "irc-client";
+       version = "1.1.0.0";
+       sha256 = "0xg4carlcrzjh8igvnqwmxp64ha7x2wjp5d5lvadbml36zvq189y";
+       libraryHaskellDepends = [
+         base bytestring conduit connection containers contravariant
+         exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
+         profunctors stm stm-chans text time tls transformers x509
+         x509-store x509-validation
+       ];
+       homepage = "https://github.com/barrucadu/irc-client";
+       description = "An IRC client library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "irc-colors" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -115827,6 +118367,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "irc-conduit_0_3_0_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
+     , connection, irc, irc-ctcp, network-conduit-tls, profunctors, text
+     , time, tls, transformers, x509-validation
+     }:
+     mkDerivation {
+       pname = "irc-conduit";
+       version = "0.3.0.0";
+       sha256 = "166p6a3kxrr2cgkdw39pdkc9myzn60411bpg2v23bs01np0336j4";
+       libraryHaskellDepends = [
+         async base bytestring conduit conduit-extra connection irc irc-ctcp
+         network-conduit-tls profunctors text time tls transformers
+         x509-validation
+       ];
+       homepage = "https://github.com/barrucadu/irc-conduit";
+       description = "Streaming IRC message library using conduits";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "irc-core" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
      , hashable, HUnit, primitive, text, time, vector
@@ -115974,8 +118534,8 @@ self: {
      }:
      mkDerivation {
        pname = "ircbot";
-       version = "0.6.5.1";
-       sha256 = "1cam9f7ppxj7yh1am0qjkh8b19haggrqdmkd26xik1ymn7nq9iyd";
+       version = "0.6.5.2";
+       sha256 = "06is6hbk1992brbjrrjsqbv221h9c3syq0v1bah953sczg3a99jk";
        libraryHaskellDepends = [
          base bytestring containers directory filepath irc mtl network
          parsec random SafeSemaphore stm time unix
@@ -116017,8 +118577,8 @@ self: {
      }:
      mkDerivation {
        pname = "iri";
-       version = "0.2";
-       sha256 = "0rldjjfdrg5sv96aig5y4yb13633yy3dcxq659i2drmipyll8iw0";
+       version = "0.3";
+       sha256 = "008ydrls1gyh0jvcjc51zlgzbkq7ajd8pvyfc4zqgprv9naym9zm";
        libraryHaskellDepends = [
          attoparsec base base-prelude bug bytestring contravariant ip
          profunctors ptr punycode semigroups template-haskell text
@@ -116032,6 +118592,7 @@ self: {
        homepage = "https://github.com/nikita-volkov/iri";
        description = "RFC-based International Resource Identifier library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "iridium" = callPackage
@@ -116796,6 +119357,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "iwlib" = callPackage
+    ({ mkDerivation, base, wirelesstools }:
+     mkDerivation {
+       pname = "iwlib";
+       version = "0.1.0";
+       sha256 = "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ wirelesstools ];
+       homepage = "https://github.com/jaor/iwlib";
+       description = "Bindings for the iw C library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) wirelesstools;};
+
   "ix-shapable" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
@@ -117554,6 +120128,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jml-web-service" = callPackage
+    ({ mkDerivation, base, bytestring, clock, data-default, http-types
+     , monad-logger, optparse-applicative, prometheus-client
+     , prometheus-metrics-ghc, protolude, tasty, text, wai, wai-extra
+     , warp
+     }:
+     mkDerivation {
+       pname = "jml-web-service";
+       version = "0.1.0";
+       sha256 = "1gs3qmcx87wh7372a4sa3g5f4w1lbyvd8iwr1w5pay21f0kcgnxk";
+       libraryHaskellDepends = [
+         base bytestring clock data-default http-types monad-logger
+         optparse-applicative prometheus-client prometheus-metrics-ghc
+         protolude text wai wai-extra warp
+       ];
+       testHaskellDepends = [ base protolude tasty ];
+       homepage = "https://github.com/jml/jml-web-service#readme";
+       description = "Common utilities for running a web service";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "jni" = callPackage
     ({ mkDerivation, base, bytestring, choice, constraints, containers
      , cpphs, deepseq, inline-c, jdk, singletons
@@ -117782,6 +120377,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "js-jquery_3_3_1" = callPackage
+    ({ mkDerivation, base, HTTP }:
+     mkDerivation {
+       pname = "js-jquery";
+       version = "3.3.1";
+       sha256 = "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base HTTP ];
+       doCheck = false;
+       homepage = "https://github.com/ndmitchell/js-jquery#readme";
+       description = "Obtain minified jQuery code";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "jsaddle" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , bytestring, containers, deepseq, filepath, ghc-prim, http-types
@@ -118006,8 +120617,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-assertions";
-       version = "1.0.9";
-       sha256 = "02wq1xxcvg8yf2sjdvn1wh0yyfiykjlqn7ghvcm913b3b4snw12s";
+       version = "1.0.10";
+       sha256 = "1rhg6hrk0pzy9xx6hhy39xmnpz931a6wq93sjgpvlzlm3hyfwq0x";
        libraryHaskellDepends = [
          aeson base indexed indexed-free lens lens-aeson text
        ];
@@ -118221,8 +120832,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "0.0.6";
-       sha256 = "1mmxwhdrvxx5y0s8d7lxggjd396g3ga69zj6c2s020kdakhplnam";
+       version = "1.0.0";
+       sha256 = "06h9qji4cnzqw4nmxs6dka7ywhz8jr56v5pcb3dlvganjg3s0gdx";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -118416,8 +121027,8 @@ self: {
        pname = "json-rpc-client";
        version = "0.2.5.0";
        sha256 = "177lrw5m9dxdk6mcay0f92rwyih8q7znwb8m6da6r3zsn30gajak";
-       revision = "2";
-       editedCabalFile = "0d070nv5kyplqpch98cfbcd5nxa24q3hrfjzpwkkvngqn6j0g6pi";
+       revision = "3";
+       editedCabalFile = "0hi2im3k7hpz3rasap90fvik3x5ibb7dd38sr1zsy7wsjkhk7zs4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118490,8 +121101,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "15kwgpkryd865nls9zm6ya6jzmiygsb537ij7ps39dzasqbnl3an";
-       revision = "11";
-       editedCabalFile = "0jnlgkr1dikkcy4ln942c14lmpj49287b74dqcc5rd6sgxcm7xq2";
+       revision = "12";
+       editedCabalFile = "0x3cvndfshy4sd66m2xilyp876kvmgw5flagawamwis6hs8pfdi2";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -118512,6 +121123,8 @@ self: {
        pname = "json-sop";
        version = "0.2.0.3";
        sha256 = "0ay2cymy4aar23cixcyqam91bs9x4z0vqiw2k0nvgy9nyqfz2r9h";
+       revision = "1";
+       editedCabalFile = "1bvmfl6fqdr8fklv8zai5jgzlnv1jf9xy8i656lfz1ys95q9yr48";
        libraryHaskellDepends = [
          aeson base generics-sop lens-sop tagged text time transformers
          unordered-containers vector
@@ -119371,6 +121984,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "kan-extensions_5_1" = callPackage
+    ({ mkDerivation, adjunctions, array, base, comonad, containers
+     , contravariant, distributive, fail, free, mtl, profunctors
+     , semigroupoids, tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "kan-extensions";
+       version = "5.1";
+       sha256 = "019jyrilk97i5bj8v044ig03m66h02q4b073m1fksrk7y9c8wgqr";
+       libraryHaskellDepends = [
+         adjunctions array base comonad containers contravariant
+         distributive fail free mtl profunctors semigroupoids tagged
+         transformers transformers-compat
+       ];
+       homepage = "http://github.com/ekmett/kan-extensions/";
+       description = "Kan extensions, Kan lifts, the Yoneda lemma, and (co)density (co)monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "kangaroo" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
@@ -119630,6 +122263,39 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "katip-elasticsearch_0_4_0_4" = callPackage
+    ({ mkDerivation, aeson, async, base, bloodhound, bytestring
+     , containers, criterion, deepseq, enclosed-exceptions, exceptions
+     , http-client, http-types, katip, lens, lens-aeson
+     , quickcheck-instances, random, retry, scientific, stm, stm-chans
+     , tagged, tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "katip-elasticsearch";
+       version = "0.4.0.4";
+       sha256 = "0zg0f5czqff9zd0rnkj68bmxmizrl01q4wbvz43hj5j8mj0jzybj";
+       libraryHaskellDepends = [
+         aeson async base bloodhound bytestring enclosed-exceptions
+         exceptions http-client http-types katip retry scientific stm
+         stm-chans text time transformers unordered-containers uuid
+       ];
+       testHaskellDepends = [
+         aeson base bloodhound bytestring containers http-client http-types
+         katip lens lens-aeson quickcheck-instances scientific stm tagged
+         tasty tasty-hunit tasty-quickcheck text time transformers
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson base bloodhound criterion deepseq random text
+         unordered-containers uuid
+       ];
+       homepage = "https://github.com/Soostone/katip";
+       description = "ElasticSearch scribe for the Katip logging framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "katip-syslog" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hsyslog, katip
      , string-conv, text
@@ -119694,6 +122360,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "kawa" = callPackage
+    ({ mkDerivation, attoparsec, base, directory, hashable, hedgehog
+     , optparse-applicative, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "kawa";
+       version = "0.1.0.0";
+       sha256 = "1rd5k12my1693sjnkqr6jn7p7byrycpcszf98z5s9pxaxblz4gdk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base hashable text unordered-containers
+       ];
+       executableHaskellDepends = [
+         base directory optparse-applicative text unordered-containers
+       ];
+       testHaskellDepends = [ base hedgehog text unordered-containers ];
+       homepage = "https://github.com/thoferon/kawa#readme";
+       description = "Key-value store in single files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "kawaii" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default, hakyll
      , hspec, lens, lifted-base, monad-control, monad-logger, mtl
@@ -119798,6 +122486,7 @@ self: {
        homepage = "https://github.com/marcelbuesing/kcd";
        description = "Kayak .kcd parsing library.";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {kcd-parser = null;};
 
@@ -120284,6 +122973,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "key-state" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "key-state";
+       version = "0.0.0";
+       sha256 = "182j5kmaxwvnhaa98bkiwb62ga8ylrdyyjs9vkvh2rvm4vjildrp";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/jxv/key-state#readme";
+       description = "Manage key and button states and statuses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "keycode" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
@@ -120349,6 +123051,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "keys_3_12" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, free, hashable
+     , semigroupoids, semigroups, tagged, transformers
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "keys";
+       version = "3.12";
+       sha256 = "0may9nrlfji2mmypl9q47lcpg4r793hmm4i22x7j4l6zz67sggyl";
+       revision = "1";
+       editedCabalFile = "1lbl62y3alhpgkf2knh4q5pcby54kblb68cbx2i77fbdwz8jbka7";
+       libraryHaskellDepends = [
+         array base comonad containers free hashable semigroupoids
+         semigroups tagged transformers transformers-compat
+         unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/keys/";
+       description = "Keyed functors and containers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "keysafe" = callPackage
     ({ mkDerivation, aeson, argon2, async, base, bloomfilter
      , bytestring, containers, deepseq, directory, disk-free-space
@@ -120778,6 +123502,7 @@ self: {
        ];
        description = "Utilities for working with many HStringTemplate templates from files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {string-templates = null;};
 
@@ -121135,6 +123860,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "lackey_1_0_0" = callPackage
+    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
+     mkDerivation {
+       pname = "lackey";
+       version = "1.0.0";
+       sha256 = "0spgcfg2py1ff1zak211xsgmccpg56c9bbv14xsgjdig9k6cfyz0";
+       libraryHaskellDepends = [ base servant servant-foreign text ];
+       testHaskellDepends = [ base hspec servant servant-foreign text ];
+       homepage = "https://github.com/tfausak/lackey#readme";
+       description = "Generate Ruby clients from Servant APIs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lagrangian" = callPackage
     ({ mkDerivation, ad, base, hmatrix, HUnit, nonlinear-optimization
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -121403,7 +124142,7 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "Lambdabot is a development tool and advanced IRC bot";
        license = "GPL";
-       maintainers = with stdenv.lib.maintainers; [ abbradar ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-core" = callPackage
@@ -121430,6 +124169,7 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "Lambdabot core functionality";
        license = "GPL";
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "lambdabot-haskell-plugins" = callPackage
@@ -121456,6 +124196,7 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "Lambdabot Haskell plugins";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-irc-plugins" = callPackage
@@ -121474,6 +124215,7 @@ self: {
        homepage = "https://wiki.haskell.org/Lambdabot";
        description = "IRC plugins for lambdabot";
        license = "GPL";
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "lambdabot-misc-plugins" = callPackage
@@ -121984,6 +124726,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-ats" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, ansi-wl-pprint, array, base
+     , composition-prelude, criterion, deepseq, happy, hspec
+     , hspec-dirstream, lens, recursion-schemes, system-filepath
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "language-ats";
+       version = "0.1.1.18";
+       sha256 = "0ahby04g56wgz73r8k51v8afrvwn898crdbx9scbklh0by5cjfpj";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         ansi-terminal ansi-wl-pprint array base composition-prelude deepseq
+         lens recursion-schemes unordered-containers
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [
+         base hspec hspec-dirstream system-filepath
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Parser and pretty-printer for ATS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "language-bash" = callPackage
     ({ mkDerivation, base, parsec, pretty, process, QuickCheck, tasty
      , tasty-expected-failure, tasty-hunit, tasty-quickcheck
@@ -122537,6 +125303,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-js" = callPackage
+    ({ mkDerivation, base, hspec, parsec }:
+     mkDerivation {
+       pname = "language-js";
+       version = "0.2.0";
+       sha256 = "0j87w6sqyl67ad9qar2q240kbzksds3a301cdykjfa3n6a0r81z1";
+       libraryHaskellDepends = [ base parsec ];
+       testHaskellDepends = [ base hspec parsec ];
+       homepage = "https://github.com/diasbruno/language-js#readme";
+       description = "javascript parser for es6 and es7";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "language-kort" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, QuickCheck
      , random, razom-text-util, regex-applicative, smaoin, text
@@ -123293,6 +126072,8 @@ self: {
        pname = "lattices";
        version = "1.7";
        sha256 = "1p5bqr3a8haib4wsdzy08z61jv8cq91n7rzj7wanh1nwp3r2n1nc";
+       revision = "1";
+       editedCabalFile = "1nsc77nnh8cvfw8f58g0w5mjamy4iivkadyyaj3yzawfr8jbxi53";
        libraryHaskellDepends = [
          base base-compat containers deepseq hashable semigroupoids tagged
          universe-base universe-reverse-instances unordered-containers
@@ -123307,6 +126088,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lattices_1_7_1" = callPackage
+    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
+     , QuickCheck, quickcheck-instances, semigroupoids, tagged, tasty
+     , tasty-quickcheck, transformers, universe-base
+     , universe-instances-base, universe-reverse-instances
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "lattices";
+       version = "1.7.1";
+       sha256 = "0bcv28dazaz0n166jbd579vim0hr4c20rmg0s34284fdr6p50m3x";
+       libraryHaskellDepends = [
+         base base-compat containers deepseq hashable semigroupoids tagged
+         universe-base universe-reverse-instances unordered-containers
+       ];
+       testHaskellDepends = [
+         base base-compat containers QuickCheck quickcheck-instances tasty
+         tasty-quickcheck transformers universe-instances-base
+         unordered-containers
+       ];
+       homepage = "http://github.com/phadej/lattices/";
+       description = "Fine-grained library for constructing and manipulating lattices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "launchpad-control" = callPackage
     ({ mkDerivation, array, base, containers, hmidi, mtl, transformers
      }:
@@ -124119,6 +126926,50 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "lens_4_16" = callPackage
+    ({ mkDerivation, array, base, base-orphans, bifunctors, bytestring
+     , Cabal, cabal-doctest, call-stack, comonad, containers
+     , contravariant, criterion, deepseq, directory, distributive
+     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
+     , hashable, HUnit, kan-extensions, mtl, nats, parallel, profunctors
+     , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
+     , tagged, template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text
+     , th-abstraction, transformers, transformers-compat
+     , unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "lens";
+       version = "4.16";
+       sha256 = "16wz3s62zmnmis7xs9jahyc7b75090b96ayk98c3gvzmpg7bx54z";
+       revision = "1";
+       editedCabalFile = "0pgjpixph8idgf2wp8z25cbq6jf2bddigfs7r7nbln2a1v8yli1y";
+       setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
+       libraryHaskellDepends = [
+         array base base-orphans bifunctors bytestring call-stack comonad
+         containers contravariant distributive exceptions filepath free
+         ghc-prim hashable kan-extensions mtl parallel profunctors
+         reflection semigroupoids semigroups tagged template-haskell text
+         th-abstraction transformers transformers-compat
+         unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq directory doctest filepath
+         generic-deriving HUnit mtl nats parallel QuickCheck semigroups
+         simple-reflect test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text transformers
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring comonad containers criterion deepseq
+         generic-deriving transformers unordered-containers vector
+       ];
+       homepage = "http://github.com/ekmett/lens/";
+       description = "Lenses, Folds and Traversals";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lens-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, lens }:
      mkDerivation {
@@ -124140,8 +126991,8 @@ self: {
      }:
      mkDerivation {
        pname = "lens-action";
-       version = "0.2.2";
-       sha256 = "1skhczbl774sb0202b8allm96b67wqsl5fd7jdr9i6a20hyx1gqr";
+       version = "0.2.3";
+       sha256 = "1q4q190lv6gh3bvdz9n177hwrckkkbfbwcw64b9ksz11gxn8m106";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base comonad contravariant lens mtl profunctors semigroupoids
@@ -124242,6 +127093,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lens-named" = callPackage
+    ({ mkDerivation, base, lens, template-haskell }:
+     mkDerivation {
+       pname = "lens-named";
+       version = "0.1.0.2";
+       sha256 = "1w6y1caah0yr7gilwsv7ji7pp3mz1m9wlx5zpq0n0z1q2wbdsmfp";
+       libraryHaskellDepends = [ base lens template-haskell ];
+       homepage = "https://github.com/vmchale/lens-named#readme";
+       description = "Helper for use with lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lens-prelude" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, contravariant
      , either, hashable, lens, mtl, text, time, transformers
@@ -124265,8 +127128,10 @@ self: {
     ({ mkDerivation, base, lens, QuickCheck, transformers }:
      mkDerivation {
        pname = "lens-properties";
-       version = "4.11";
-       sha256 = "0cg0n75ss5ayy31igwyz9yz2sh0smcaiidbbm1wkrk1krzbws31w";
+       version = "4.11.1";
+       sha256 = "1caciyn75na3f25q9qxjl7ibjam22xlhl5k2pqfiak10lxsmnz2g";
+       revision = "1";
+       editedCabalFile = "1b9db7dbfq46q63y6w1471nffj77rb363rk4b1l3l23g15cq6a5i";
        libraryHaskellDepends = [ base lens QuickCheck transformers ];
        homepage = "http://github.com/ekmett/lens/";
        description = "QuickCheck properties for lens";
@@ -124461,6 +127326,34 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "lentil_1_0_10_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, csv, directory, filemanip
+     , filepath, hspec, natural-sort, optparse-applicative, parsec
+     , pipes, regex-tdfa, semigroups, terminal-progress-bar, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "lentil";
+       version = "1.0.10.0";
+       sha256 = "0s7qxd65bjw0h709q9igb5q4jls80wc9jzh5s8ic7ww11f0m5hm7";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ansi-wl-pprint base csv directory filemanip filepath natural-sort
+         optparse-applicative parsec pipes regex-tdfa semigroups
+         terminal-progress-bar text transformers
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base csv directory filemanip filepath hspec
+         natural-sort optparse-applicative parsec pipes regex-tdfa
+         semigroups terminal-progress-bar text transformers
+       ];
+       homepage = "http://www.ariis.it/static/articles/lentil/page.html";
+       description = "frugal issue tracker";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lenz" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, hs-functors
      , transformers
@@ -125321,18 +128214,16 @@ self: {
      }) {};
 
   "libssh2" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, libssh2, network, select
-     , syb, time
+    ({ mkDerivation, base, bytestring, c2hs, libssh2, network, syb
+     , time, unix
      }:
      mkDerivation {
        pname = "libssh2";
-       version = "0.2.0.5";
-       sha256 = "0l224pd8bb9d29043qdy40dbknnhmwnjc95r3yyc93lhwd5fsqma";
+       version = "0.2.0.6";
+       sha256 = "17v006ixkn9wblhnq1nyx1xi7sc9lshyh1ma2y82483w18n849s1";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring network select syb time
-       ];
+       libraryHaskellDepends = [ base bytestring network syb time unix ];
        librarySystemDepends = [ libssh2 ];
        libraryPkgconfigDepends = [ libssh2 ];
        libraryToolDepends = [ c2hs ];
@@ -125475,6 +128366,9 @@ self: {
        pname = "libxml";
        version = "0.1.1";
        sha256 = "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi";
+       configureFlags = [
+         "--extra-include-dir=${libxml2.dev}/include/libxml2"
+       ];
        libraryHaskellDepends = [ base bytestring mtl ];
        librarySystemDepends = [ libxml2 ];
        description = "Binding to libxml2";
@@ -125548,8 +128442,8 @@ self: {
      }:
      mkDerivation {
        pname = "licensor";
-       version = "0.2.1";
-       sha256 = "1is281xsrfdh2vsank07j1gw634iadz0sp8ssabpfqgnb3a98rvz";
+       version = "0.2.2";
+       sha256 = "0kxcsw1ds9q8apsmhbnwcz76kxfhabv08b8myadbflwm4wj0szlz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125604,8 +128498,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.9.3.2";
-       sha256 = "0c8y6m1kpkviq2zi1d2889hbzh7k46rly4mvmfkrzam45fqggrcj";
+       version = "0.9.3.3";
+       sha256 = "1gqd4ih72mky1s97120yx9gmabaxb1l54b3jwijsl8fxng5djdxf";
        libraryHaskellDepends = [
          async base constraints lifted-base monad-control transformers-base
        ];
@@ -125628,6 +128522,8 @@ self: {
        pname = "lifted-base";
        version = "0.2.3.11";
        sha256 = "1ass00wfa91z5xp2xmm97xrvwm7j5hdkxid5cqvr3xbwrsgpmi4f";
+       revision = "1";
+       editedCabalFile = "0vrik0j1xv2yp759ffa7jb7q838z4wglnbgsrja97mx0dwsbavnx";
        libraryHaskellDepends = [ base monad-control transformers-base ];
        testHaskellDepends = [
          base HUnit monad-control test-framework test-framework-hunit
@@ -127068,8 +129964,8 @@ self: {
      }:
      mkDerivation {
        pname = "listenbrainz-client";
-       version = "1.0.1";
-       sha256 = "0xrya35nwfkcx0dd5pislm8kw0pxfsh2azjk0yd7yn1668y2zrxd";
+       version = "1.1.1";
+       sha256 = "0lp72jg1ndahc4jxzg2wk1amb3mbbbgs1w7sirangw864j477q4m";
        libraryHaskellDepends = [
          aeson base free freer-effects http-client kan-extensions mtl
          servant servant-client text time transformers
@@ -127152,26 +130048,25 @@ self: {
   "live-sequencer" = callPackage
     ({ mkDerivation, alsa-core, alsa-seq, base, bytestring, cgi
      , concurrent-split, containers, data-accessor
-     , data-accessor-transformers, directory, event-list
-     , explicit-exception, filepath, html, httpd-shed, midi, midi-alsa
-     , network, network-uri, non-empty, non-negative, parsec, pretty
-     , process, stm, stm-split, strict, transformers, unix, utility-ht
-     , wx, wxcore
+     , data-accessor-transformers, event-list, explicit-exception, html
+     , httpd-shed, midi, midi-alsa, network, network-uri, non-empty
+     , non-negative, parsec, pathtype, pretty, process, stm, stm-split
+     , strict, transformers, unix, utility-ht, wx, wxcore
      }:
      mkDerivation {
        pname = "live-sequencer";
-       version = "0.0.6";
-       sha256 = "0gsbixz0cmy9cajqj4s8iaf8mjk42162sd39bpcdp4xqyxfj5g63";
+       version = "0.0.6.1";
+       sha256 = "0g099sm4q7n0aiqc8qznqfcqvlnc25kzvz31qf49xblah89dzx0n";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base event-list non-negative ];
        executableHaskellDepends = [
          alsa-core alsa-seq base bytestring cgi concurrent-split containers
-         data-accessor data-accessor-transformers directory
-         explicit-exception filepath html httpd-shed midi midi-alsa network
-         network-uri non-empty parsec pretty process stm stm-split strict
-         transformers unix utility-ht wx wxcore
+         data-accessor data-accessor-transformers explicit-exception html
+         httpd-shed midi midi-alsa network network-uri non-empty parsec
+         pathtype pretty process stm stm-split strict transformers unix
+         utility-ht wx wxcore
        ];
        homepage = "http://www.haskell.org/haskellwiki/Live-Sequencer";
        description = "Live coding of MIDI music";
@@ -127199,6 +130094,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Liveplotting";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {andromeda = null;};
 
@@ -127523,8 +130419,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-hs-pretty";
-       version = "0.1.0.0";
-       sha256 = "1p16vhxx7w1hdb130c9mls45rwyq8hix1grnwdj92rbrqbjwk7l3";
+       version = "0.2.0.0";
+       sha256 = "133kyksbp88q0wavp3wdjg69h9fpwi7nq626nvikdy46cf7lgklh";
        libraryHaskellDepends = [
          array base bytestring llvm-hs-pure text wl-pprint-text
        ];
@@ -127781,8 +130677,8 @@ self: {
     ({ mkDerivation, base, containers, hslogger, PSQueue, stm }:
      mkDerivation {
        pname = "load-balancing";
-       version = "1.0.1.0";
-       sha256 = "17xrgq7ww56dx1jy1ksqgx0c0zgzapc7ikdy2cwv65cigd1pqaik";
+       version = "1.0.1.1";
+       sha256 = "1vszir1b79fdn545k3k86mgqhivyg8s5vv5v24y4cp4cc47aiwmi";
        libraryHaskellDepends = [ base containers hslogger PSQueue stm ];
        homepage = "https://github.com/SumAll/haskell-load-balancing";
        description = "Client-side load balancing utilities";
@@ -128228,28 +131124,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "log-warper_1_8_5" = callPackage
+  "log-warper_1_8_7" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, containers
      , data-default, deepseq, directory, filepath, fmt, hspec
-     , hspec-discover, HUnit, markdown-unlit, microlens, microlens-mtl
-     , microlens-platform, mmorph, monad-control, monad-loops, mtl
-     , QuickCheck, text, time, transformers, transformers-base
-     , universum, unix, unordered-containers, vector, yaml
+     , hspec-discover, HUnit, lifted-async, markdown-unlit, microlens
+     , microlens-mtl, microlens-platform, mmorph, monad-control
+     , monad-loops, mtl, o-clock, QuickCheck, text, time, transformers
+     , transformers-base, universum, unix, unordered-containers, vector
+     , yaml
      }:
      mkDerivation {
        pname = "log-warper";
-       version = "1.8.5";
-       sha256 = "11yai7siw1jkyk5v1kprkv7j13npwkp16za366ihqf5lg6hhw63l";
+       version = "1.8.7";
+       sha256 = "0bwk9wg2dhc56h7hwbnlxmw22pwswdlcf2bpjx62f9135q2cs7d8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-terminal base containers deepseq directory filepath fmt
-         microlens-platform mmorph monad-control monad-loops mtl text time
-         transformers transformers-base universum unix unordered-containers
-         vector yaml
+         lifted-async microlens-platform mmorph monad-control monad-loops
+         mtl o-clock text time transformers transformers-base universum unix
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [
-         base markdown-unlit microlens mtl text universum yaml
+         base markdown-unlit microlens monad-control mtl o-clock text
+         universum yaml
        ];
        testHaskellDepends = [
          async base data-default directory filepath hspec HUnit
@@ -128355,8 +131253,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging";
-       version = "3.0.4";
-       sha256 = "0qkv19bmkh7gak6rzzcy0mgdz835gpc59iq1l10wjj7gb8vv0kd0";
+       version = "3.0.5";
+       sha256 = "0cd00pjxjdq69n6hxa01x31s2vdfd39kkvj0d0ssqj3n6ahssbxi";
        libraryHaskellDepends = [
          base binary bytestring fast-logger lifted-base monad-control
          old-locale regex-compat text time time-locale-compat transformers
@@ -128389,6 +131287,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "logging-effect_1_2_2" = callPackage
+    ({ mkDerivation, async, base, bytestring, criterion, exceptions
+     , fast-logger, free, lifted-async, monad-control, monad-logger, mtl
+     , semigroups, stm, stm-delay, text, time, transformers
+     , transformers-base, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect";
+       version = "1.2.2";
+       sha256 = "1p0czcwph777dncidsrn0nbrmhhv7f8c5ic86mnrkxj7hzym0dfw";
+       libraryHaskellDepends = [
+         async base exceptions free monad-control mtl semigroups stm
+         stm-delay text time transformers transformers-base wl-pprint-text
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion fast-logger lifted-async monad-logger
+         text time wl-pprint-text
+       ];
+       homepage = "https://github.com/ocharles/logging-effect";
+       description = "A mtl-style monad transformer for general purpose & compositional logging";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "logging-effect-extra" = callPackage
     ({ mkDerivation, base, logging-effect, logging-effect-extra-file
      , logging-effect-extra-handler, wl-pprint-text
@@ -128409,6 +131331,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "logging-effect-extra_1_2_2" = callPackage
+    ({ mkDerivation, base, logging-effect, logging-effect-extra-file
+     , logging-effect-extra-handler, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra";
+       version = "1.2.2";
+       sha256 = "0jra1fxz3880ds8pip1mlibiss8ihd1a9dpi3mv1py7lnc6ikjzw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base logging-effect logging-effect-extra-file
+         logging-effect-extra-handler wl-pprint-text
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "Supplemental packages for `logging-effect`";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "logging-effect-extra-file" = callPackage
     ({ mkDerivation, base, logging-effect, template-haskell
      , wl-pprint-text
@@ -128428,6 +131371,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "logging-effect-extra-file_1_1_2" = callPackage
+    ({ mkDerivation, base, logging-effect, template-haskell
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra-file";
+       version = "1.1.2";
+       sha256 = "1dxi4rq734zmjf2ljlh771ivr45i2cwz94vym3gw38ji4s0k8cym";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base logging-effect template-haskell wl-pprint-text
+       ];
+       executableHaskellDepends = [ base logging-effect wl-pprint-text ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "TH splices to augment log messages with file info";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "logging-effect-extra-handler" = callPackage
     ({ mkDerivation, base, exceptions, logging-effect, time
      , wl-pprint-text
@@ -128447,6 +131410,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "logging-effect-extra-handler_1_1_2" = callPackage
+    ({ mkDerivation, base, exceptions, logging-effect, time
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra-handler";
+       version = "1.1.2";
+       sha256 = "1688vdlzyy8ikz2r96czyk0ganpv6h37x02sp930fmrj2qlwbvql";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base exceptions logging-effect time wl-pprint-text
+       ];
+       executableHaskellDepends = [ base logging-effect wl-pprint-text ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "Handy logging handler combinators";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "logging-facade" = callPackage
     ({ mkDerivation, base, call-stack, hspec, transformers }:
      mkDerivation {
@@ -128872,6 +131855,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "longboi" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "longboi";
+       version = "1.0.0";
+       sha256 = "0jm231i9mnbkn8ffdv6w2mhd95i8lwlbxi5h9nywvqbclgf95977";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/chessai/longboi";
+       description = "Dependently-typed linked list implementation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "lookup-tables" = callPackage
     ({ mkDerivation, base, primitive, tasty, tasty-hunit
      , template-haskell
@@ -129172,8 +132167,8 @@ self: {
      }:
      mkDerivation {
        pname = "lrucaching";
-       version = "0.3.2";
-       sha256 = "1vg6ip77vlqixj2ghvwm036yb4qhkif175k8gfd27nmr4w5rv2ns";
+       version = "0.3.3";
+       sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -129243,6 +132238,7 @@ self: {
        homepage = "https://github.com/dbp/lss";
        description = "Lexical Style Sheets - a language for writing styles that is focused around lexical (ie, static) scoping and re-use of large components";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {language-css-attoparsec = null;};
 
@@ -129331,6 +132327,7 @@ self: {
        homepage = "http://www.leksah.org";
        description = "Leksah tool kit";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {gtk3 = pkgs.gnome3.gtk;};
 
   "ltl" = callPackage
@@ -129456,6 +132453,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lucid-colonnade" = callPackage
+    ({ mkDerivation, base, colonnade, lucid, text }:
+     mkDerivation {
+       pname = "lucid-colonnade";
+       version = "1.0";
+       sha256 = "13jb1vh2pxz1w2ycswdmyhr05c00i0x30agcwf93i359rwzcmbmc";
+       revision = "1";
+       editedCabalFile = "08zcksc8pd7sh4z78i80rinlmr3mghhclhcqn8kdkgv4p7ynldlv";
+       libraryHaskellDepends = [ base colonnade lucid text ];
+       homepage = "https://github.com/andrewthad/colonnade#readme";
+       description = "Helper functions for using lucid with colonnade";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lucid-extras" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, directory, lucid
      , text
@@ -130058,8 +133070,8 @@ self: {
        pname = "machines";
        version = "0.6.3";
        sha256 = "1kxypm26xxd30979yrg94pnaaj3yfn180ri3y4z2xsm2m5iyiliz";
-       revision = "1";
-       editedCabalFile = "045qh0qwjiyrwcfsfw9galhqr6w7c96zpg7fnib3jaw8509d53x5";
+       revision = "3";
+       editedCabalFile = "0cpy7gpli4xzlzmxfi2rpmlpb39x88zrsxrp6597lxb1cmvrixkh";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base comonad containers distributive mtl pointed
@@ -130267,20 +133279,20 @@ self: {
      }) {};
 
   "madlang" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, binary, Cabal
+    ({ mkDerivation, ansi-wl-pprint, base, binary, Cabal, cli-setup
      , composition-prelude, containers, criterion, directory, file-embed
      , hspec, hspec-megaparsec, http-client, http-client-tls, megaparsec
-     , MonadRandom, mtl, optparse-applicative, process, random-shuffle
+     , MonadRandom, mtl, optparse-applicative, random-shuffle
      , recursion-schemes, recursion-schemes-ext, tar, template-haskell
      , text, th-lift-instances, titlecase, zip-archive, zlib
      }:
      mkDerivation {
        pname = "madlang";
-       version = "4.0.0.0";
-       sha256 = "1dg13q8sq6ha5hpjx16cm1ny32kjd7l9mwdmi0x756yh675835xi";
+       version = "4.0.0.4";
+       sha256 = "1rfax7s4sc63943izc1r0gk848ji0kxsjgsb81i2f6dc5860xkz9";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal directory process ];
+       setupHaskellDepends = [ base Cabal cli-setup ];
        libraryHaskellDepends = [
          ansi-wl-pprint base binary composition-prelude containers directory
          file-embed http-client http-client-tls megaparsec MonadRandom mtl
@@ -130326,6 +133338,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) file;};
 
+  "magic-wormhole" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
+     , hashable, hedgehog, memory, network, network-uri
+     , optparse-applicative, pqueue, process, protolude, saltine, spake2
+     , stm, tasty, tasty-hedgehog, tasty-hspec, text
+     , unordered-containers, websockets
+     }:
+     mkDerivation {
+       pname = "magic-wormhole";
+       version = "0.1.0";
+       sha256 = "0lkwnbr76chiakc7j51pm23q15q26l3xqglg1rj5blwybkymg29x";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers cryptonite hashable memory network
+         network-uri pqueue protolude saltine spake2 stm
+         unordered-containers websockets
+       ];
+       executableHaskellDepends = [
+         aeson base optparse-applicative protolude spake2 text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hedgehog memory process protolude saltine
+         spake2 stm tasty tasty-hedgehog tasty-hspec
+       ];
+       homepage = "https://github.com/LeastAuthority/haskell-magic-wormhole#readme";
+       description = "Interact with Magic Wormhole";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "magicbane" = callPackage
     ({ mkDerivation, aeson, aeson-qq, attoparsec, base, classy-prelude
      , conduit, conduit-combinators, data-default, data-has, ekg-core
@@ -130357,6 +133401,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "magicbane_0_2_0" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, async, attoparsec, base
+     , bytestring, conduit, conduit-combinators, data-default, data-has
+     , ekg-core, ekg-wai, envy, errors, fast-logger, http-api-data
+     , http-client, http-client-tls, http-conduit, http-link-header
+     , http-types, lifted-async, lifted-base, monad-control
+     , monad-logger, monad-metrics, mono-traversable, mtl, network-uri
+     , raw-strings-qq, refined, safe-exceptions, servant-server, split
+     , string-conversions, text, transformers, transformers-base
+     , unordered-containers, wai, wai-cli, wai-middleware-metrics
+     }:
+     mkDerivation {
+       pname = "magicbane";
+       version = "0.2.0";
+       sha256 = "0v67mycp7mgawcwnkw68pivyicp9p2nj0f9isrdb14x5smm1f1zd";
+       libraryHaskellDepends = [
+         aeson aeson-qq async attoparsec base bytestring conduit
+         conduit-combinators data-default data-has ekg-core ekg-wai envy
+         errors fast-logger http-api-data http-client http-client-tls
+         http-conduit http-link-header http-types lifted-async lifted-base
+         monad-control monad-logger monad-metrics mono-traversable mtl
+         network-uri raw-strings-qq refined safe-exceptions servant-server
+         split string-conversions text transformers transformers-base
+         unordered-containers wai wai-cli wai-middleware-metrics
+       ];
+       homepage = "https://github.com/myfreeweb/magicbane#readme";
+       description = "A web framework that integrates Servant, EKG, fast-logger, wai-cli…";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "magico" = callPackage
     ({ mkDerivation, base, hmatrix, transformers, utility-ht }:
      mkDerivation {
@@ -131217,13 +134292,13 @@ self: {
     ({ mkDerivation, base, bytestring, cassava, containers }:
      mkDerivation {
        pname = "map-exts";
-       version = "0.1.0.1";
-       sha256 = "0zkcwxdvl4m4lw9yjjxk7mx22hr0kp9hn3vzry2s8n489i0r4sw3";
+       version = "0.2.0.0";
+       sha256 = "038k2d5vir65n2xi4gv5jvd3ya877iazjkinyg20wn4aj317b8bq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers ];
        executableHaskellDepends = [ base bytestring cassava containers ];
-       homepage = "http://github.com/elsen-trading/map-extensions#readme";
+       homepage = "http://github.com/charles-cooper/map-exts#readme";
        description = "Extensions to Data.Map";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -132033,35 +135108,38 @@ self: {
      }) {};
 
   "matterhorn" = callPackage
-    ({ mkDerivation, aspell-pipe, base, base-compat, brick, bytestring
-     , cheapskate, checkers, config-ini, connection, containers
-     , directory, filepath, gitrev, hashable, Hclip, mattermost-api
-     , mattermost-api-qc, microlens-platform, mtl, process
-     , quickcheck-text, skylighting, stm, stm-delay, strict
-     , string-conversions, tasty, tasty-hunit, tasty-quickcheck
-     , temporary, text, text-zipper, time, transformers, Unique, unix
-     , unordered-containers, utf8-string, vector, vty, xdg-basedir
+    ({ mkDerivation, aeson, aspell-pipe, async, base, base-compat
+     , brick, bytestring, cheapskate, checkers, config-ini, connection
+     , containers, directory, filepath, gitrev, hashable, Hclip
+     , mattermost-api, mattermost-api-qc, microlens-platform, mtl
+     , process, quickcheck-text, semigroups, skylighting, stm, stm-delay
+     , strict, string-conversions, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, text-zipper, time, timezone-olson
+     , timezone-series, transformers, Unique, unix, unordered-containers
+     , utf8-string, vector, vty, word-wrap, xdg-basedir
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "40400.0.0";
-       sha256 = "1qp2d18lhf6j4gq67w1sd5alwhz5zlbmjp26apsvxbvcary0mb0a";
+       version = "40600.0.0";
+       sha256 = "0niha43l1p00af3qjkz5j43ksdl0a0sgagra584c8j34cl1f9akv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aspell-pipe base base-compat brick bytestring cheapskate config-ini
-         connection containers directory filepath gitrev hashable Hclip
-         mattermost-api microlens-platform mtl process skylighting stm
-         stm-delay strict temporary text text-zipper time transformers unix
-         unordered-containers utf8-string vector vty xdg-basedir
+         aeson aspell-pipe async base base-compat brick bytestring
+         cheapskate config-ini connection containers directory filepath
+         gitrev hashable Hclip mattermost-api microlens-platform mtl process
+         semigroups skylighting stm stm-delay strict temporary text
+         text-zipper time timezone-olson timezone-series transformers unix
+         unordered-containers utf8-string vector vty word-wrap xdg-basedir
        ];
        testHaskellDepends = [
          base base-compat brick bytestring cheapskate checkers config-ini
          connection containers directory filepath hashable Hclip
          mattermost-api mattermost-api-qc microlens-platform mtl process
          quickcheck-text stm strict string-conversions tasty tasty-hunit
-         tasty-quickcheck text text-zipper time transformers Unique
-         unordered-containers vector vty xdg-basedir
+         tasty-quickcheck text text-zipper time timezone-olson
+         timezone-series transformers Unique unordered-containers vector vty
+         xdg-basedir
        ];
        description = "Terminal client for the Mattermost chat system";
        license = stdenv.lib.licenses.bsd3;
@@ -132077,8 +135155,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "40400.0.0";
-       sha256 = "1n5mv56srq171ql9n7gvpfma8mx9jb61w88ab72v99xhiid3ahdi";
+       version = "40600.0.0";
+       sha256 = "0s27n9a7s6bgbara2rzh689234ykl3vfpm84yg1nvc61wsrxbkql";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132104,8 +135182,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "40400.0.0";
-       sha256 = "0kp36m2vf3zzfgibzs6kgai1bfsghxpzx7hpw0bywg1jpwqr95ka";
+       version = "40600.0.0";
+       sha256 = "0pfmf4ja4a7vc9bnr4kc604j0b8dmcm1ggddg4m64jf355mw6nxm";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -132273,6 +135351,8 @@ self: {
        pname = "mbox";
        version = "0.3.4";
        sha256 = "1pkiagxb013an71d3si3kldgn7rl9l5zi2s3s6hjhfg0pcwbbr6w";
+       revision = "1";
+       editedCabalFile = "11jikczq21fnhsvr6n33qbb5q6ixbhab4s0js8n39zwgmglighz5";
        libraryHaskellDepends = [ base safe text time time-locale-compat ];
        description = "Read and write standard mailbox files";
        license = stdenv.lib.licenses.bsd3;
@@ -132850,6 +135930,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mega-sdist_0_3_1" = 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.1";
+       sha256 = "06sgnkia5fwlsmy6m88mdklsabqv8vixgjbfzmyfln3aqhvwqk23";
+       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, case-insensitive, containers
      , criterion, deepseq, hspec, hspec-expectations, mtl
@@ -132860,8 +135962,8 @@ self: {
        pname = "megaparsec";
        version = "6.3.0";
        sha256 = "15bhghiszm18acn1igmq6vgdlcvsvsx4dlkl2vg2ghy5qgyrqxsv";
-       revision = "1";
-       editedCabalFile = "0glp2vgbkgzaci5maa01fnpcp79kk32iskvkhm19p5612zjr87ad";
+       revision = "2";
+       editedCabalFile = "1npxvydar8l68vfp3g0ir9cvq5vglf1z2a9q1h1mj438y0084f7v";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -132886,6 +135988,8 @@ self: {
        pname = "megaparsec";
        version = "6.4.0";
        sha256 = "0h9azhs0dfrc359vrbd1jljrg3yfdbwd4p62cxqkn7mnh8913jpd";
+       revision = "1";
+       editedCabalFile = "1jzj3gb96skggngv69wibyx27bgng78dmlgv9i3lvz46z6bx8qzd";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -132920,14 +136024,14 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-core";
-       version = "0.8.0.2";
-       sha256 = "0fl9pwh67diibj2ki75xcwylbhvw0nqn0b0azla4ndr3fxdgnh30";
+       version = "0.8.0.4";
+       sha256 = "03gh3ks6k3y11sga15bnknqw7j29kfhgw8zvfz87vgw5xlsva3j2";
        libraryHaskellDepends = [ async base mtl time transformers ];
        testHaskellDepends = [
          async base doctest hlint hspec mtl QuickCheck quickcheck-instances
          time transformers
        ];
-       homepage = "https://github.com/quixoftic/mellon/";
+       homepage = "https://github.com/quixoftic/mellon#readme";
        description = "Control physical access devices";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -132937,11 +136041,11 @@ self: {
     ({ mkDerivation, base, hlint, hpio, mellon-core }:
      mkDerivation {
        pname = "mellon-gpio";
-       version = "0.8.0.2";
-       sha256 = "1dx31nyyi4gar2wlmmgfnqi48x4pzwh53q87xg8rrbghc9vfqygj";
+       version = "0.8.0.4";
+       sha256 = "0b12wvv11ny3rdrd8wg236zn8yy3szm85n7qjdyiiznx2jf33rm7";
        libraryHaskellDepends = [ base hpio mellon-core ];
        testHaskellDepends = [ base hlint ];
-       homepage = "https://github.com/quixoftic/mellon/";
+       homepage = "https://github.com/quixoftic/mellon#readme";
        description = "GPIO support for mellon";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -132959,8 +136063,8 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-web";
-       version = "0.8.0.2";
-       sha256 = "03awn8qcqn5iz5cd082cr6ap15zlbidp5l2aacz24m0fn5vdgjlf";
+       version = "0.8.0.4";
+       sha256 = "1fyd8vkdym9rm54dbcnn9821jdmbvdyl942339m6prnc2188hkcc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132981,7 +136085,7 @@ self: {
          servant-lucid servant-server servant-swagger servant-swagger-ui
          swagger2 text time transformers wai wai-extra warp
        ];
-       homepage = "https://github.com/quixoftic/mellon/";
+       homepage = "https://github.com/quixoftic/mellon#readme";
        description = "A REST web service for Mellon controllers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -133274,6 +136378,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "memory_0_14_14" = callPackage
+    ({ mkDerivation, base, basement, bytestring, deepseq, foundation
+     , ghc-prim, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "memory";
+       version = "0.14.14";
+       sha256 = "03lnb7nqshddiwqbz1vpba7mb6l80nav896rr77vlp8m41b9h6qx";
+       libraryHaskellDepends = [
+         base basement bytestring deepseq foundation ghc-prim
+       ];
+       testHaskellDepends = [
+         base basement bytestring foundation tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/vincenthz/hs-memory";
+       description = "memory and related abstraction stuff";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "memorypool" = callPackage
     ({ mkDerivation, base, containers, transformers, unsafe, vector }:
      mkDerivation {
@@ -133313,8 +136438,8 @@ self: {
        pname = "mercury-api";
        version = "0.1.0.1";
        sha256 = "0h5v08k27nqksl3x8r5d4p26zgb4s7k2shgrjkg6bc2n0bn9iqzr";
-       revision = "1";
-       editedCabalFile = "0k8k9lcvpwkvz4w0ydrxzzmfgch8885h6vdybvqi7ra4kvhf4gzs";
+       revision = "2";
+       editedCabalFile = "093c8afmcrnbfliz1ykpyc4w40dli2wig0qi0xcwg8445idwp2kg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133816,8 +136941,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "microlens";
-       version = "0.4.8.1";
-       sha256 = "0iqagqc3c6b6ihydhc6s7dlibwwf7pr1k9gixls3jikj6hfxzf0p";
+       version = "0.4.8.3";
+       sha256 = "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k";
        libraryHaskellDepends = [ base ];
        homepage = "http://github.com/aelve/microlens";
        description = "A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.";
@@ -133893,8 +137018,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-mtl";
-       version = "0.1.11.0";
-       sha256 = "1885kc8sgcrv05q2sya4q562gph7hgp1hd66mgy7r1vnnz43zfjf";
+       version = "0.1.11.1";
+       sha256 = "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk";
        libraryHaskellDepends = [
          base microlens mtl transformers transformers-compat
        ];
@@ -133924,8 +137049,8 @@ self: {
     ({ mkDerivation, base, containers, microlens, template-haskell }:
      mkDerivation {
        pname = "microlens-th";
-       version = "0.4.1.1";
-       sha256 = "0yvaabxs80fbmbg0yc1q7c147ks15bpn6fdq1zc0ay2pp06l06jv";
+       version = "0.4.1.3";
+       sha256 = "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f";
        libraryHaskellDepends = [
          base containers microlens template-haskell
        ];
@@ -134368,6 +137493,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "milena_0_5_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, digest, lens
+     , lifted-base, monad-control, mtl, murmur-hash, network, QuickCheck
+     , random, resource-pool, semigroups, tasty, tasty-hspec
+     , tasty-quickcheck, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "milena";
+       version = "0.5.2.1";
+       sha256 = "1mylkqp8vha9gq7li5cir5h3i27zb573alxgxnvr1y938z2nimf2";
+       libraryHaskellDepends = [
+         base bytestring cereal containers digest lens lifted-base
+         monad-control mtl murmur-hash network random resource-pool
+         semigroups transformers zlib
+       ];
+       testHaskellDepends = [
+         base bytestring lens mtl network QuickCheck semigroups tasty
+         tasty-hspec tasty-quickcheck
+       ];
+       homepage = "https://github.com/adamflott/milena.git#readme";
+       description = "A Kafka client for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mime" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -134908,15 +138058,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "miso_0_11_0_0" = callPackage
+  "miso_0_12_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-api-data
      , http-types, lucid, network-uri, servant, servant-lucid, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "miso";
-       version = "0.11.0.0";
-       sha256 = "1hca50w1h3xby1mkbgv65miha7zg899c5ygvfqs4i49gjzq3hd61";
+       version = "0.12.0.0";
+       sha256 = "08d50apwcyym4crdnly97j1vwl85p9a5fr606x1mj8729pd0pwjb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -135114,8 +138264,8 @@ self: {
        pname = "mmark";
        version = "0.0.4.0";
        sha256 = "05dslarsdfcp2im9w80ks52wzqcqq8ma23b69wdl8nyfbkmaj5ch";
-       revision = "1";
-       editedCabalFile = "1syr3bynam607wj4nkz9cijkdkz9szpk3x9pnxm76mv0sxk7iq2f";
+       revision = "2";
+       editedCabalFile = "1l2xljnasvgj3icc8dynsakyskd65c114gm4f94la3pv8ghcc3rg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers data-default-class deepseq
@@ -135133,7 +138283,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "mmark_0_0_4_3" = callPackage
+  "mmark_0_0_5_4" = callPackage
     ({ mkDerivation, aeson, base, case-insensitive, containers
      , criterion, data-default-class, deepseq, dlist, email-validate
      , foldl, hashable, hspec, hspec-megaparsec, html-entity-map, lucid
@@ -135143,8 +138293,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmark";
-       version = "0.0.4.3";
-       sha256 = "0xl88vry05050i1pxmakb625x98wmq90h4jz44h0nc7jrqzvqxa0";
+       version = "0.0.5.4";
+       sha256 = "0qzw37cj7481vpix8wfgv3ljv10jinfymjpcbzxi4m67fxxjmsf7";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers data-default-class deepseq
@@ -135157,12 +138307,33 @@ self: {
          QuickCheck text
        ];
        benchmarkHaskellDepends = [ base criterion text weigh ];
-       homepage = "https://github.com/mrkkrp/mmark";
+       homepage = "https://github.com/mmark-md/mmark";
        description = "Strict markdown processor for writers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mmark-cli" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, gitrev, lucid
+     , megaparsec, mmark, mmark-ext, optparse-applicative, stache, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "mmark-cli";
+       version = "0.0.3.0";
+       sha256 = "0nb17k23bs21qi7a888qp81w682ax2qvih9fbvdkdh6c2n6yklrp";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring directory gitrev lucid megaparsec mmark
+         mmark-ext optparse-applicative stache text unordered-containers
+       ];
+       homepage = "https://github.com/mmark-md/mmark-cli";
+       description = "Command line interface to MMark markdown processor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmark-ext" = callPackage
     ({ mkDerivation, base, data-default-class, foldl, hspec, lucid
      , microlens, mmark, modern-uri, text
@@ -135183,6 +138354,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmark-ext_0_2_0_0" = callPackage
+    ({ mkDerivation, base, foldl, hspec, lucid, microlens, mmark
+     , modern-uri, skylighting, text
+     }:
+     mkDerivation {
+       pname = "mmark-ext";
+       version = "0.2.0.0";
+       sha256 = "1ccfdjsn8z80x2m5p9q17r2hf14zj63nkxkrg9s7knwr1j08gj1k";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base foldl lucid microlens mmark modern-uri skylighting text
+       ];
+       testHaskellDepends = [ base hspec lucid mmark text ];
+       homepage = "https://github.com/mmark-md/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 {
@@ -135354,6 +138544,8 @@ self: {
        pname = "modern-uri";
        version = "0.1.2.1";
        sha256 = "10y3ppcd4d987khk9jxaa0clkjssmvip2kpq63z8xcigvdiil91h";
+       revision = "1";
+       editedCabalFile = "1kgwf0y5p5imrkjga53yna4sy6jqk5x3v0zks24c4vb52mi2a19n";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec profunctors QuickCheck template-haskell text
@@ -135379,6 +138571,8 @@ self: {
        pname = "modern-uri";
        version = "0.2.0.0";
        sha256 = "01wq2w2kfy9zlpsh8pwcs61xjy3xdwbz6nd0skb6g3bigrqs2w8z";
+       revision = "1";
+       editedCabalFile = "1svq0ndnv5jfz3nhxwdx4vxim5sahfcryj5ik4l4x704jsjbl4bm";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -136095,8 +139289,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.26";
-       sha256 = "0p7mdiv0n4wizcam2lw143szs584yzs0bq9lfrn90pgvz0q7k1ia";
+       version = "0.3.28.1";
+       sha256 = "15gpr6wgyqfiz780p8l4lfxmxnanpviyvkba20hdsx92czq64cgr";
        libraryHaskellDepends = [
          base blaze-builder bytestring conduit conduit-extra exceptions
          fast-logger lifted-base monad-control monad-loops mtl resourcet stm
@@ -137128,6 +140322,38 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "mongoDB_2_3_0_2" = callPackage
+    ({ mkDerivation, array, base, base16-bytestring, base64-bytestring
+     , binary, bson, bytestring, conduit, conduit-extra, containers
+     , criterion, cryptohash, data-default-class, hashtables, hspec
+     , lifted-base, monad-control, mtl, network, nonce, old-locale
+     , parsec, pureMD5, random, random-shuffle, resourcet, tagged, text
+     , time, tls, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "mongoDB";
+       version = "2.3.0.2";
+       sha256 = "10gl9116hkjvm12ysgr1pi1vlk4d9jbkxgrcql6qhyvpsgv7s7bd";
+       libraryHaskellDepends = [
+         array base base16-bytestring base64-bytestring binary bson
+         bytestring conduit conduit-extra containers cryptohash
+         data-default-class hashtables lifted-base monad-control mtl network
+         nonce parsec pureMD5 random random-shuffle resourcet tagged text
+         time tls transformers transformers-base
+       ];
+       testHaskellDepends = [ base hspec mtl old-locale text time ];
+       benchmarkHaskellDepends = [
+         array base base16-bytestring base64-bytestring binary bson
+         bytestring containers criterion cryptohash hashtables lifted-base
+         monad-control mtl network nonce parsec random random-shuffle text
+         transformers-base
+       ];
+       homepage = "https://github.com/mongodb-haskell/mongodb";
+       description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mongodb-queue" = callPackage
     ({ mkDerivation, base, data-default, hspec, lifted-base
      , monad-control, mongoDB, network, text, transformers
@@ -137219,15 +140445,15 @@ self: {
      }) {};
 
   "mono-traversable" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, foldl
+    ({ mkDerivation, base, bytestring, containers, foldl, gauge
      , hashable, hspec, HUnit, mwc-random, QuickCheck, semigroups, split
      , text, transformers, unordered-containers, vector
      , vector-algorithms
      }:
      mkDerivation {
        pname = "mono-traversable";
-       version = "1.0.7.0";
-       sha256 = "0jfcw8xfizsva1w4h7546fryzqc1gnl1w3ki42nl41s1fdqfxibq";
+       version = "1.0.8.1";
+       sha256 = "0d9r6z3a8gkhl1j5yq8hjg5wcndi5yixxm9xwbrf4z6pgdwr04lr";
        libraryHaskellDepends = [
          base bytestring containers hashable split text transformers
          unordered-containers vector vector-algorithms
@@ -137236,7 +140462,7 @@ self: {
          base bytestring containers foldl hspec HUnit QuickCheck semigroups
          text transformers unordered-containers vector
        ];
-       benchmarkHaskellDepends = [ base criterion mwc-random vector ];
+       benchmarkHaskellDepends = [ base gauge mwc-random vector ];
        homepage = "https://github.com/snoyberg/mono-traversable#readme";
        description = "Type classes for mapping, folding, and traversing monomorphic containers";
        license = stdenv.lib.licenses.mit;
@@ -137452,6 +140678,7 @@ self: {
        homepage = "http://github.com/bumptech/montage";
        description = "Riak Resolution Proxy";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {riak-bump = null; stats-web = null;};
 
@@ -137475,6 +140702,7 @@ self: {
        homepage = "http://github.com/bumptech/montage-haskell-client";
        description = "Riak Resolution Proxy Client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {riak-bump = null; stats-web = null;};
 
@@ -137659,8 +140887,8 @@ self: {
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.6.13";
-       sha256 = "03vjkp3ngbdhv5ib7jwdwx23bklm32m3gmvq63r2cxagydl1267m";
+       version = "1.6.14";
+       sha256 = "1wrm982gxm8hg2x8srm5ibp2s8752apsz2ljlldway2n49cf2bsm";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -138384,13 +141612,13 @@ self: {
      }) {};
 
   "mtl-tf" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "mtl-tf";
-       version = "0.1";
-       sha256 = "0qfmswdkj95bh6wkic8hh002wsxqlrylw45k6w9iyzv4saqnl22f";
-       libraryHaskellDepends = [ base ];
-       description = "Monad transformer library using type families";
+       version = "0.2.1.0";
+       sha256 = "0z9vinxhbbg4lpf8mxi0h3jbz4kv6x3ih05q44kjh4z8mpm9szzy";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Monad Transformer Library with Type Families";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -139543,6 +142771,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mutable-containers_0_3_4" = callPackage
+    ({ mkDerivation, base, containers, gauge, ghc-prim, hspec
+     , mono-traversable, primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "mutable-containers";
+       version = "0.3.4";
+       sha256 = "0zhkhlvg9yw45fg3srvzx7j81547djpkfw7higdvlj7fmph6c6b4";
+       libraryHaskellDepends = [
+         base containers ghc-prim mono-traversable primitive vector
+       ];
+       testHaskellDepends = [
+         base containers hspec primitive QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [ base containers gauge vector ];
+       homepage = "https://github.com/snoyberg/mono-traversable#readme";
+       description = "Abstactions and concrete implementations of mutable containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mutable-iter" = callPackage
     ({ mkDerivation, base, iteratee, MonadCatchIO-transformers
      , transformers, vector
@@ -139655,6 +142904,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mwc-probability_2_0_2" = callPackage
+    ({ mkDerivation, base, mwc-random, primitive, transformers }:
+     mkDerivation {
+       pname = "mwc-probability";
+       version = "2.0.2";
+       sha256 = "1v2k0vpz33xmf58dhidwnjjvhkczfqizlcgwalf1vk19sw1ls3x5";
+       libraryHaskellDepends = [ base mwc-random primitive transformers ];
+       homepage = "http://github.com/jtobin/mwc-probability";
+       description = "Sampling function-based probability distributions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mwc-random" = callPackage
     ({ mkDerivation, base, HUnit, math-functions, primitive, QuickCheck
      , statistics, test-framework, test-framework-hunit
@@ -140225,7 +143487,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "nakadi-client_0_4_0_0" = callPackage
+  "nakadi-client_0_4_1_0" = callPackage
     ({ mkDerivation, aeson, aeson-casing, async, base, bytestring
      , classy-prelude, conduit, conduit-combinators, conduit-extra
      , containers, hashable, http-client, http-client-tls, http-conduit
@@ -140236,8 +143498,8 @@ self: {
      }:
      mkDerivation {
        pname = "nakadi-client";
-       version = "0.4.0.0";
-       sha256 = "0aixamqvlm7as8cfgp8b36smh139kwp5qny51dgzsczg6sr7gdk0";
+       version = "0.4.1.0";
+       sha256 = "08f2gp9fvc6dlsqb6z50rpfb8rjnlwv2001q5aixlkslhhh0jhr7";
        libraryHaskellDepends = [
          aeson aeson-casing base bytestring conduit conduit-combinators
          conduit-extra containers hashable http-client http-client-tls
@@ -140263,8 +143525,8 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, lens, text, wreq }:
      mkDerivation {
        pname = "namecoin-update";
-       version = "0.2.1.0";
-       sha256 = "1vz4n57xk8zbyqiwsm69mls31f36ng0bh9av5axi3rq7car2jlxz";
+       version = "0.2.2.0";
+       sha256 = "09g3mjvmfgynlna17nvynh1gwzkski0kg07d82zvdmd7j8qvdrvg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ aeson attoparsec base lens text wreq ];
@@ -140508,10 +143770,11 @@ self: {
     ({ mkDerivation, base, hspec, silently }:
      mkDerivation {
        pname = "nanospec";
-       version = "0.2.1";
-       sha256 = "0jq2l1lmy4hcl6r975xcg86xr1y7jfxr3qn27ibsmjbzlnxdkjyv";
+       version = "0.2.2";
+       sha256 = "1rcmhl9bhyfvanalnf1r86wkx6rq6wdvagnw1h011jcnnb1cq56g";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec silently ];
+       homepage = "https://github.com/hspec/nanospec#readme";
        description = "A lightweight implementation of a subset of Hspec's API";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -140758,8 +144021,8 @@ self: {
        pname = "natural-transformation";
        version = "0.4";
        sha256 = "1by8xwjc23l6pa9l4iv7zp82dykpll3vc3hgxk0pgva724n8xhma";
-       revision = "2";
-       editedCabalFile = "1j90pd1zznr18966axskad5w0kx4dvqg62r65rmw1ihqwxm1ndix";
+       revision = "3";
+       editedCabalFile = "0z6vmdgz9r2fbgzh2xvrw6cy5h7m1jv911jah615s6xgr52smhrf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base containers quickcheck-instances tasty tasty-quickcheck
@@ -140817,8 +144080,8 @@ self: {
      }:
      mkDerivation {
        pname = "nbt";
-       version = "0.6";
-       sha256 = "0lcnxlj0cfrw840saay3lxyjmc00rxhksqa6ccyhg8119y20gcjd";
+       version = "0.7";
+       sha256 = "10iby4sg50la1k635ygdqf5h50rvidl0k871brdjs8b9hi1vlv5r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ array base bytestring cereal text ];
        testHaskellDepends = [
@@ -141052,8 +144315,8 @@ self: {
      }:
      mkDerivation {
        pname = "nemesis";
-       version = "2016.3.19";
-       sha256 = "0dc62gnpf0brcl8dxxnhmmagd95xf61mq5bij5vgr8jwiisq69d7";
+       version = "2018.1.27";
+       sha256 = "197ajy30wxhfccn0h0crwkgbl7zhlb3w37h4zxplyxz2az1s1bvr";
        libraryHaskellDepends = [
          base containers directory dlist Glob lens mtl process time
        ];
@@ -141156,6 +144419,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "nest" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hedgehog, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "nest";
+       version = "0.0.1";
+       sha256 = "1ndd93z9yqa1slhb8wq3j5fr3rc2fna0cb5xqh9s3dynb966zqqk";
+       libraryHaskellDepends = [
+         base bytestring containers text transformers unix
+       ];
+       testHaskellDepends = [ base bytestring containers hedgehog text ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "nested-routes" = callPackage
     ({ mkDerivation, attoparsec, base, bifunctors, bytestring
      , composition-extra, errors, exceptions, extractable-singleton
@@ -141257,6 +144536,7 @@ self: {
        homepage = "http://phaul.hobby-site.org/node/4123";
        description = "Concurrent over the network execution library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghc-binary = null;};
 
@@ -141464,6 +144744,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "netrium" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, HaXml
+     , pretty, process, time
+     }:
+     mkDerivation {
+       pname = "netrium";
+       version = "0.6.0";
+       sha256 = "1cs6fxg0cpd2d1vhkzaazpzxya6n6cxlsnnwy3lnvqbaz68sipc0";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base containers HaXml process time ];
+       executableHaskellDepends = [
+         base containers directory filepath HaXml pretty process
+       ];
+       description = "Contract normaliser and simulator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "netspec" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, mtl, network
      , template-haskell, text, transformers
@@ -141688,10 +144987,10 @@ self: {
      }:
      mkDerivation {
        pname = "network";
-       version = "2.6.3.2";
-       sha256 = "1dn092zfqmxfbzln6d0khka4gizzjivf2yja9w9hwb5g9q3pfi1m";
+       version = "2.6.3.3";
+       sha256 = "1xa0jif154i26a465bp2wpvsm891zhy98y5zp9zdbl39m6q6hrkp";
        revision = "1";
-       editedCabalFile = "17234sy0vqic8g9wg8gmfmc0by50scjwbdk8bkcl9kjf3fvs4nyx";
+       editedCabalFile = "0nh9sbbyj3jdm2ybffsxa3c4mdywy3wq48sg8d5ylkr2s6cmbbpz";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [
          base bytestring doctest HUnit test-framework test-framework-hunit
@@ -141915,6 +145214,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-carbon_1_0_11" = callPackage
+    ({ mkDerivation, base, bytestring, network, text, time, vector }:
+     mkDerivation {
+       pname = "network-carbon";
+       version = "1.0.11";
+       sha256 = "1nkyj9114k2b6gwdd93yfrmf9zbziymbnbh3wxnz0vnk1hl2j5yq";
+       libraryHaskellDepends = [
+         base bytestring network text time vector
+       ];
+       homepage = "http://github.com/ocharles/network-carbon";
+       description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-conduit" = callPackage
     ({ mkDerivation, base, conduit }:
      mkDerivation {
@@ -141950,6 +145264,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "network-conduit-tls_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , connection, data-default-class, HUnit, mtl, network
+     , streaming-commons, tls, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "network-conduit-tls";
+       version = "1.3.0";
+       sha256 = "11a9s8spqccnv2x41846pqgkwvb554lrq7qdas78p7biw1d28vbl";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-extra connection data-default-class
+         network streaming-commons tls transformers unliftio-core
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-extra connection HUnit mtl
+       ];
+       homepage = "https://github.com/snoyberg/conduit";
+       description = "Create TLS-aware network code with conduits";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-connection" = callPackage
     ({ mkDerivation, base, bytestring, containers, network
      , network-bytestring, stm
@@ -142166,26 +145502,6 @@ self: {
 
   "network-msgpack-rpc" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, data-default-class, data-msgpack
-     , exceptions, hspec, MissingH, monad-control, mtl, network, tagged
-     }:
-     mkDerivation {
-       pname = "network-msgpack-rpc";
-       version = "0.0.3";
-       sha256 = "02r0qciia05sv3rkdfh4akl10m5w2ay2rc7hxfh2cvhj5789rgvl";
-       libraryHaskellDepends = [
-         base binary binary-conduit bytestring conduit conduit-extra
-         data-default-class data-msgpack exceptions MissingH monad-control
-         mtl network tagged
-       ];
-       testHaskellDepends = [ async base bytestring hspec mtl network ];
-       homepage = "http://msgpack.org/";
-       description = "A MessagePack-RPC Implementation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "network-msgpack-rpc_0_0_4" = callPackage
-    ({ mkDerivation, async, base, binary, binary-conduit, bytestring
      , conduit, conduit-extra, data-default-class
      , data-default-instances-base, data-msgpack, data-msgpack-types
      , exceptions, hspec, MissingH, monad-control, mtl, network, tagged
@@ -142205,7 +145521,6 @@ self: {
        homepage = "http://msgpack.org/";
        description = "A MessagePack-RPC Implementation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-multicast" = callPackage
@@ -142611,8 +145926,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-uri-json";
-       version = "0.1.2.0";
-       sha256 = "0prk3qb1d9f6hgxyqgapyci5kqqnqlfnbxlqn5xw4l2nxsgsvh48";
+       version = "0.1.2.1";
+       sha256 = "1xnlyghpyrbllzzr8bdmzgm12lsa1sg4miynh6d4awdppai9y433";
        libraryHaskellDepends = [ aeson base network-uri text ];
        testHaskellDepends = [
          aeson base hspec network-arbitrary network-uri QuickCheck
@@ -142996,15 +146311,16 @@ self: {
      }) {};
 
   "ngx-export" = callPackage
-    ({ mkDerivation, async, base, binary, bytestring, monad-loops
-     , template-haskell, unix
+    ({ mkDerivation, async, base, binary, bytestring, deepseq
+     , monad-loops, template-haskell, unix
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "0.9.1.2";
-       sha256 = "1428pkzj7kam7ya21fb3qchq95lvp6dp9dnh5qj41nkw9x5dz517";
+       version = "1.1.0";
+       sha256 = "1d3xz1jsvnr0rg5y0rpkrlwzng589abq8w5ylg7d5pmr75ih2a0n";
        libraryHaskellDepends = [
-         async base binary bytestring monad-loops template-haskell unix
+         async base binary bytestring deepseq monad-loops template-haskell
+         unix
        ];
        homepage = "http://github.com/lyokha/nginx-haskell-module";
        description = "Helper module for Nginx haskell module";
@@ -143052,21 +146368,22 @@ self: {
 
   "nice-html" = callPackage
     ({ mkDerivation, base, bifunctors, blaze-html, blaze-markup
-     , bytestring, criterion, data-default-class, deepseq, free, lucid
-     , pretty-show, recursion-schemes, template-haskell, text
-     , transformers, vector, weigh
+     , bytestring, containers, criterion, data-default-class, deepseq
+     , free, lens, lucid, pretty-show, recursion-schemes, shakespeare
+     , template-haskell, text, transformers, type-of-html, vector, weigh
      }:
      mkDerivation {
        pname = "nice-html";
-       version = "0.3.0";
-       sha256 = "1ns6qrzm9lwbgjcr7mw58g0qivbqac4yxisvbfy9j2cq3dqzm6d3";
+       version = "0.4.1";
+       sha256 = "117wrpg4fgh69bqgdr9jmj68izd4jk28lx91pvsj2425ajhdfsma";
        libraryHaskellDepends = [
-         base bifunctors blaze-markup bytestring data-default-class deepseq
-         free recursion-schemes template-haskell text transformers vector
+         base bifunctors blaze-markup bytestring containers
+         data-default-class deepseq free lens recursion-schemes
+         template-haskell text transformers vector
        ];
        benchmarkHaskellDepends = [
          base blaze-html blaze-markup bytestring criterion lucid pretty-show
-         text weigh
+         shakespeare text transformers type-of-html weigh
        ];
        homepage = "https://github.com/mikeplus64/nice-html#readme";
        description = "A fast and nice HTML templating library with distinct compilation/rendering phases";
@@ -143209,8 +146526,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-deploy";
-       version = "1.0.1";
-       sha256 = "04wknx8yy4s7b3qx5rg26znrfl0932nvrcx17zcfiggrh4lcw33x";
+       version = "1.0.2";
+       sha256 = "07cirn4gaaarw5va128f63jp2q7jlghmg4kclya4fvapx963qbya";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -143284,17 +146601,17 @@ self: {
      }) {};
 
   "nix-paths" = callPackage
-    ({ mkDerivation, base, nix, nix-hash, process }:
+    ({ mkDerivation, base, nix, process }:
      mkDerivation {
        pname = "nix-paths";
        version = "1.0.1";
        sha256 = "1y09wl1ihxmc9p926g595f70pdcsx78r3q5n5rna23lpq8xicdxb";
        libraryHaskellDepends = [ base process ];
-       libraryToolDepends = [ nix nix-hash ];
+       libraryToolDepends = [ nix ];
        homepage = "https://github.com/peti/nix-paths";
        description = "Knowledge of Nix's installation directories";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) nix; nix-hash = null;};
+     }) {inherit (pkgs) nix;};
 
   "nixfromnpm" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring
@@ -143359,8 +146676,8 @@ self: {
     ({ mkDerivation, base, nlopt, vector }:
      mkDerivation {
        pname = "nlopt-haskell";
-       version = "0.1.0.0";
-       sha256 = "0skh0bsms2nsw3dwi4ibjs579bbpc8ya158nrhyn3yxgdx79qgnj";
+       version = "0.1.1.0";
+       sha256 = "1jgszhkr6xc94rjasrhbfm618yz5l37zkibaxycn50fzvsilgfgg";
        libraryHaskellDepends = [ base vector ];
        librarySystemDepends = [ nlopt ];
        testHaskellDepends = [ base vector ];
@@ -143441,6 +146758,7 @@ self: {
        homepage = "https://github.com/v0d1ch/nmis-parser#readme";
        description = "NMIS file parser";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {Nmis = null;};
 
@@ -143704,6 +147022,7 @@ self: {
        homepage = "http://www.nomyx.net";
        description = "Web gui for Nomyx";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {nomyx-auth = null;};
 
@@ -143882,6 +147201,8 @@ self: {
        pname = "normalization-insensitive";
        version = "2.0.1";
        sha256 = "00nbha984yg4lxnpkyd3q0gbywf7xn5z5ixy3cr9ksn05w6blm1v";
+       revision = "1";
+       editedCabalFile = "1zaqbgrfy33y2d9ix178mhyysyffsia0hbmg77gcjmvv32b44m6j";
        libraryHaskellDepends = [
          base bytestring deepseq hashable text unicode-transforms
        ];
@@ -144172,6 +147493,7 @@ self: {
        homepage = "https://github.com/zjhmale/ntha";
        description = "A tiny statically typed functional programming language";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nthable" = callPackage
@@ -144573,20 +147895,25 @@ self: {
      }) {};
 
   "numhask-array" = callPackage
-    ({ mkDerivation, adjunctions, base, deepseq, distributive, doctest
-     , ghc-typelits-natnormalise, numhask, protolude, singletons
+    ({ mkDerivation, accelerate, accelerate-llvm
+     , accelerate-llvm-native, adjunctions, base, deepseq, dimensions
+     , distributive, doctest, ghc-typelits-natnormalise, numhask
+     , protolude, QuickCheck, singletons, tasty, tasty-quickcheck
      , typelits-witnesses, vector
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.0.2";
-       sha256 = "0gbmwkpxdp1flzyndsqc5zgm2nlrpc8q4s0d2z8pws8g2gyymyj9";
+       version = "0.1.0.0";
+       sha256 = "0m8xgdizpw80dxhbdx45bhn8m71a4lk2zy6ckczrly02g272mqxv";
        libraryHaskellDepends = [
-         adjunctions base deepseq distributive ghc-typelits-natnormalise
-         numhask protolude singletons typelits-witnesses vector
+         accelerate accelerate-llvm accelerate-llvm-native adjunctions base
+         deepseq dimensions distributive ghc-typelits-natnormalise numhask
+         protolude QuickCheck singletons typelits-witnesses vector
        ];
-       testHaskellDepends = [ base doctest numhask ];
-       homepage = "https://github.com/tonyday567/numhask-array";
+       testHaskellDepends = [
+         base doctest numhask QuickCheck tasty tasty-quickcheck
+       ];
+       homepage = "https://github.com/tonyday567/numhask-array#readme";
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -144611,6 +147938,7 @@ self: {
        homepage = "https://github.com/tonyday567/numhask-histogram#readme";
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "numhask-range" = callPackage
@@ -144888,6 +148216,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "o-clock" = callPackage
+    ({ mkDerivation, base, deepseq, gauge, ghc-prim, hedgehog
+     , markdown-unlit, tasty, tasty-hedgehog, tasty-hspec, tiempo
+     , time-units, transformers, type-spec
+     }:
+     mkDerivation {
+       pname = "o-clock";
+       version = "0.0.0";
+       sha256 = "0nswlj9anwmhl6vgw5gpdd924niiw15plwb46wwmzrv7jsmbaiyj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ghc-prim transformers ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog markdown-unlit tasty tasty-hedgehog tasty-hspec
+         type-spec
+       ];
+       benchmarkHaskellDepends = [ base deepseq gauge tiempo time-units ];
+       homepage = "https://github.com/serokell/o-clock";
+       description = "Type-safe time library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "oanda-rest-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , Decimal, hlint, hspec, http-client, http-conduit, HUnit, lens
@@ -145076,6 +148428,8 @@ self: {
        pname = "objective";
        version = "1.1.2";
        sha256 = "0i36r3ygwpzb57ga0jjkp9rzikpsp15l777dclp7yi1zvqz2ikrg";
+       revision = "1";
+       editedCabalFile = "039j3xac9ish0yk4w04bmip6g9p6ndfd9ngh46ya125ms4nhmyj4";
        libraryHaskellDepends = [
          base containers exceptions free hashable monad-skeleton mtl
          profunctors template-haskell transformers transformers-compat
@@ -145108,8 +148462,8 @@ self: {
      }:
      mkDerivation {
        pname = "ocaml-export";
-       version = "0.3.0.0";
-       sha256 = "1hxi2dij5qgpa0njvvgda0zvz5xjl16jba3aw8y0ma5bqvhl7hp4";
+       version = "0.5.0.0";
+       sha256 = "0xp4aiqn5p1c3frl83axjchbs5dwh4ibqqyiixvi0i1wpbi9fqka";
        libraryHaskellDepends = [
          aeson base bytestring containers directory file-embed filepath
          formatting hspec-golden-aeson mtl QuickCheck
@@ -145240,6 +148594,17 @@ self: {
      }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXinerama; 
          inherit (pkgs) mesa; ovr = null; systemd = null;};
 
+  "odbc" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "odbc";
+       version = "0.0.0";
+       sha256 = "1yyp21j0kmq7mc80z3vpmra16kbqb35pzblir1gppiz0wh1wmgpb";
+       doHaddock = false;
+       description = "TBA";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "oden-go-packages" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, text
      , unordered-containers
@@ -145257,6 +148622,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "odpic-raw" = callPackage
+    ({ mkDerivation, base, c2hs, hspec, odpic, QuickCheck, text }:
+     mkDerivation {
+       pname = "odpic-raw";
+       version = "0.1.10";
+       sha256 = "0kbrlbnav9drmmm8h4228cgrml981cqmxf3dhkbiax3g0rh4gsv0";
+       libraryHaskellDepends = [ base text ];
+       librarySystemDepends = [ odpic ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/leptonyu/odpic-raw#readme";
+       description = "Oracle Database Bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {odpic = null;};
+
   "oeis" = callPackage
     ({ mkDerivation, base, HTTP, HUnit, network, network-uri
      , test-framework, test-framework-hunit
@@ -145658,6 +149039,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "one-liner-instances" = callPackage
+    ({ mkDerivation, base, one-liner }:
+     mkDerivation {
+       pname = "one-liner-instances";
+       version = "0.1.0.0";
+       sha256 = "1v5a4szk3497razn7r2d3664w7bxbdcw9bacsc4y7vj3kim4nhca";
+       libraryHaskellDepends = [ base one-liner ];
+       homepage = "https://github.com/mstksg/one-liner-instances#readme";
+       description = "Generics-based implementations for common typeclasses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "one-time-password" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cryptonite, memory
      , tasty, tasty-hunit, time
@@ -145719,6 +149112,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "online_0_2_1_0" = callPackage
+    ({ mkDerivation, base, doctest, foldl, formatting, numhask
+     , optparse-generic, perf, protolude, scientific, tasty, tdigest
+     , text, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "online";
+       version = "0.2.1.0";
+       sha256 = "16s1hcf2jk8lzs3z0v2xp4jn2q6idzhqaksy97r64hcgnys7sylx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base foldl numhask protolude tdigest vector vector-algorithms
+       ];
+       executableHaskellDepends = [
+         base foldl formatting numhask optparse-generic perf protolude
+         scientific text
+       ];
+       testHaskellDepends = [ base doctest protolude tasty ];
+       homepage = "https://github.com/tonyday567/online#readme";
+       description = "online statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "only" = callPackage
     ({ mkDerivation, base, parsec, regex-compat }:
      mkDerivation {
@@ -145780,6 +149198,8 @@ self: {
        pname = "opaleye";
        version = "0.6.0.0";
        sha256 = "0prwlxp96qpnhdm34slwhp3j8hj961xl99xkl6fbrxgxxjngfg1q";
+       revision = "1";
+       editedCabalFile = "0hkgrksap5hn0xq86bq9rsm3h9a6vamh6la77z10fdxv7m3xjxf3";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -146837,8 +150257,8 @@ self: {
      }:
      mkDerivation {
        pname = "optimization";
-       version = "0.1.7";
-       sha256 = "1y490h96qvn9w3z360adbxmbcvw3zpirgfs02hbjkarxi13z4shn";
+       version = "0.1.9";
+       sha256 = "0v1bi97jvdnn4jfknsnayaqdawckh7xxcnkr5nwvxqnpckg89yyf";
        libraryHaskellDepends = [
          ad base distributive linear semigroupoids vector
        ];
@@ -147606,6 +151026,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "overhang" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "overhang";
+       version = "1.0.0";
+       sha256 = "07iafybg45130jhwin6jj2fnkgcwra367f5df91xn34kaj9zas0x";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/jship/overhang#readme";
+       description = "Hang loose with your lambdas!";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "overload" = callPackage
     ({ mkDerivation, base, simple-effects, template-haskell
      , th-expand-syns
@@ -147730,8 +151162,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "packcheck";
-       version = "0.1.0";
-       sha256 = "03asx4j9bj2fka6ydgc8qh3j8kzk7mdi7420rcj7n5g4ma4hhhb3";
+       version = "0.1.1";
+       sha256 = "10c822mx6vjf42d0lzi950s61s8hcw6451ckxq5g7wg4pavyr7zp";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base ];
@@ -147865,8 +151297,8 @@ self: {
      }:
      mkDerivation {
        pname = "packman";
-       version = "0.3.0";
-       sha256 = "07raaqqf9vz2mc3nasqzf2bz8370diy0j0lj60pqz2cg89y0q4cq";
+       version = "0.5.0";
+       sha256 = "1xnh1jl33a84pi0cyz62wxwrgfx3amdwc3f906a1wa9bwy7xkcih";
        libraryHaskellDepends = [
          array base binary bytestring ghc-prim primitive
        ];
@@ -148154,23 +151586,23 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_1" = callPackage
+  "pandoc_2_1_1" = 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, 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
+     , deepseq, Diff, directory, doctemplates, exceptions
+     , executable-path, filepath, 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.1";
-       sha256 = "192ab8b8376fr7aj60zlk5jbb18r0kh1kmrznr9n6w8m7b5zmfy2";
+       version = "2.1.1";
+       sha256 = "1dg97d74bqmq11bkh1ni92g4imcq45nh8y9ixwpk8pcafv401z7a";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -148179,8 +151611,8 @@ self: {
        libraryHaskellDepends = [
          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 hslua-module-text HTTP http-client
+         data-default deepseq directory doctemplates exceptions filepath
+         Glob 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
@@ -148240,6 +151672,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-citeproc_0_14_1_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , Cabal, containers, data-default, directory, filepath, hs-bibutils
+     , mtl, old-locale, pandoc, pandoc-types, parsec, process, rfc5051
+     , setenv, split, syb, tagsoup, temporary, text, time
+     , unordered-containers, vector, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-citeproc";
+       version = "0.14.1.3";
+       sha256 = "17cwa8h3jwfxrah496vlabz6mxkjys6pjl51iigllqbwj7cm34mp";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051
+         setenv split syb tagsoup text time unordered-containers vector
+         xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring containers directory
+         filepath mtl pandoc pandoc-types process syb temporary text vector
+         yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath mtl pandoc
+         pandoc-types process temporary text yaml
+       ];
+       doCheck = false;
+       homepage = "https://github.com/jgm/pandoc-citeproc";
+       description = "Supports using pandoc with citeproc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
      }:
@@ -148266,8 +151735,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.0.0";
-       sha256 = "0fgds8i9fwxmfprbp4giv7qi4gzx373p07smfm7arpbimv239d6n";
+       version = "0.3.0.1";
+       sha256 = "0lhjbkgmd9hshi3lxvciwviknbbj8lyrzinzfxbwssgqrdzcaayn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -148519,8 +151988,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-types";
-       version = "1.17.3";
-       sha256 = "0k6z5ixgpi7gm4wlpvy2j7zzv68xsqak7fhajrf0fb60dpn4ac0n";
+       version = "1.17.3.1";
+       sha256 = "0dhp5bcjl6605n2chiab5rp51zir3671gxkmwy34znh0s3vp85jb";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          transformers
@@ -148608,6 +152077,23 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs.gnome2) pango;};
 
+  "pangraph" = callPackage
+    ({ mkDerivation, algebraic-graphs, base, bytestring, containers
+     , hexml, HUnit
+     }:
+     mkDerivation {
+       pname = "pangraph";
+       version = "0.1.1.5";
+       sha256 = "0p03sm5sna88h1j7gxkwdq0j5zhak38spqyhjlwc2vsrxjc4vjiy";
+       libraryHaskellDepends = [
+         algebraic-graphs base bytestring containers hexml
+       ];
+       testHaskellDepends = [ base bytestring containers HUnit ];
+       homepage = "https://github.com/tuura/pangraph#readme";
+       description = "A set of parsers for graph languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "panhandle" = callPackage
     ({ mkDerivation, aeson, base, containers, derive
      , lazysmallcheck2012, pandoc, pandoc-types, QuickCheck, syb, tagged
@@ -148628,6 +152114,7 @@ self: {
        homepage = "http://chriswarbo.net/projects/activecode";
        description = "Pandoc filter to unwrap nested blocks";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {lazysmallcheck2012 = null;};
 
@@ -149485,6 +152972,8 @@ self: {
        pname = "parsec";
        version = "3.1.11";
        sha256 = "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg";
+       revision = "1";
+       editedCabalFile = "0prqjj2gxlwh2qhpcck5k6cgk4har9xqxc67yzjqd44mr2xgl7ir";
        libraryHaskellDepends = [ base bytestring mtl text ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
@@ -149494,6 +152983,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "parsec_3_1_12_0" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, mtl, test-framework
+     , test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "parsec";
+       version = "3.1.12.0";
+       sha256 = "0jav9a1hb156qd29n3sclxrb7bk477n89jshqpmlym2z2h880bc2";
+       libraryHaskellDepends = [ base bytestring mtl text ];
+       testHaskellDepends = [
+         base HUnit mtl test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/haskell/parsec";
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "parsec-extra" = callPackage
     ({ mkDerivation, base, monads-tf, parsec }:
      mkDerivation {
@@ -150073,7 +153580,7 @@ self: {
        homepage = "https://github.com/PasswordManager/passman-core#readme";
        description = "Deterministic password generator core";
        license = stdenv.lib.licenses.gpl3;
-       broken = true;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "passwords" = callPackage
@@ -150140,8 +153647,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.6.0.0";
-       sha256 = "0pf5baidncam2c2xjm5w4kd48210ng36xsj7wr81v2pwdxp18r7h";
+       version = "0.6.1.0";
+       sha256 = "1i6vql76j5439bwdd1z7haphgm4x82rh08s22fc70hmfzkrln733";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -150848,6 +154355,7 @@ self: {
        homepage = "https://github.com/NCrashed/pdf-slave-server#readme";
        description = "Web service for pdf-slave tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {pdf-slave-server-api = null;};
 
@@ -151203,6 +154711,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pencil" = callPackage
+    ({ mkDerivation, base, data-default, directory, doctest
+     , edit-distance, feed, filepath, hashable, hsass, mtl, pandoc
+     , parsec, semigroups, text, time, unordered-containers, vector, xml
+     , yaml
+     }:
+     mkDerivation {
+       pname = "pencil";
+       version = "0.1.1";
+       sha256 = "0k1lcmllfcqnlyidla6icvzx41q0wsykwc7ak68m9lbri1d7g5ry";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base data-default directory edit-distance feed filepath hashable
+         hsass mtl pandoc parsec semigroups text time unordered-containers
+         vector xml yaml
+       ];
+       executableHaskellDepends = [ base text unordered-containers ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/elben/pencil";
+       description = "Static site generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "penn-treebank" = callPackage
     ({ mkDerivation, base, containers, parsec }:
      mkDerivation {
@@ -151648,32 +155180,31 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_7_3" = callPackage
+  "persistent_2_8_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, blaze-markup, bytestring, conduit, containers
-     , exceptions, fast-logger, haskell-src-meta, hspec, http-api-data
-     , lifted-base, monad-control, monad-logger, mtl, old-locale
-     , path-pieces, resource-pool, resourcet, scientific, silently
-     , tagged, template-haskell, text, time, transformers
-     , transformers-base, unordered-containers, vector
+     , fast-logger, haskell-src-meta, hspec, http-api-data
+     , monad-control, monad-logger, mtl, old-locale, path-pieces
+     , resource-pool, resourcet, scientific, silently, tagged
+     , template-haskell, text, time, transformers, unliftio-core
+     , unordered-containers, vector, void
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.7.3";
-       sha256 = "16by2ip2gljz1xsyp6j3k04jab0l0as9ynfwxdsbbcv4qd8l1sxk";
+       version = "2.8.0";
+       sha256 = "07x73s1icxj3wbw197f7qbj1pk9gg30vk4f7yz1hxs27lzximjfh";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html blaze-markup
-         bytestring conduit containers exceptions fast-logger
-         haskell-src-meta http-api-data lifted-base monad-control
-         monad-logger mtl old-locale path-pieces resource-pool resourcet
-         scientific silently tagged template-haskell text time transformers
-         transformers-base unordered-containers vector
+         bytestring conduit containers fast-logger haskell-src-meta
+         http-api-data monad-logger mtl old-locale path-pieces resource-pool
+         resourcet scientific silently tagged template-haskell text time
+         transformers unliftio-core unordered-containers vector void
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
-         conduit containers fast-logger hspec http-api-data lifted-base
-         monad-control monad-logger mtl old-locale path-pieces resource-pool
-         resourcet scientific tagged template-haskell text time transformers
+         conduit containers fast-logger hspec http-api-data monad-control
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific tagged template-haskell text time transformers
          unordered-containers vector
        ];
        homepage = "http://www.yesodweb.com/book/persistent";
@@ -151840,6 +155371,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "persistent-mongoDB_2_8_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal
+     , conduit, containers, http-api-data, mongoDB, network, path-pieces
+     , persistent, resource-pool, resourcet, text, time, transformers
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "persistent-mongoDB";
+       version = "2.8.0";
+       sha256 = "12hp7cqdz672r5rhad6xvjpxhrs8v1swiz0d9n7xbn41g11a247l";
+       libraryHaskellDepends = [
+         aeson attoparsec base bson bytestring cereal conduit containers
+         http-api-data mongoDB network path-pieces persistent resource-pool
+         resourcet text time transformers unliftio-core
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using mongoDB";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-mysql" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, monad-control, monad-logger, mysql, mysql-simple
@@ -151859,6 +155411,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "persistent-mysql_2_8_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-logger, mysql, mysql-simple, persistent
+     , resource-pool, resourcet, text, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "persistent-mysql";
+       version = "2.8.0";
+       sha256 = "0sy9gl2604f3qargvgkqnhdfbnwrq81y2hrhmx4fsknpfkkypya4";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit containers monad-logger
+         mysql mysql-simple persistent resource-pool resourcet text
+         transformers unliftio-core
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using MySQL database server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-mysql-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , io-streams, monad-control, monad-logger, mysql-haskell, network
@@ -151927,8 +155499,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.6.2.2";
-       sha256 = "057x064kvmnj1z0a726wphzdqf49ms0pxjq3bmp3h36kqg4zcwm9";
+       version = "2.6.3";
+       sha256 = "0yr384b77mp8z7k8mjmdbsqrrqplymcy9rfy6lm1v3ff81g52vli";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers
          monad-control monad-logger persistent postgresql-libpq
@@ -151940,6 +155512,28 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-postgresql_2_8_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-logger, persistent, postgresql-libpq
+     , postgresql-simple, resource-pool, resourcet, text, time
+     , transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "persistent-postgresql";
+       version = "2.8.0";
+       sha256 = "0dqdgw4sayq76hdib7sf27nzwcg1lbgr4l50kdyq8xlvi8yb5mk8";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit containers monad-logger
+         persistent postgresql-libpq postgresql-simple resource-pool
+         resourcet text time transformers unliftio-core
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using postgresql";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-protobuf" = callPackage
     ({ mkDerivation, base, bytestring, persistent, protocol-buffers
      , protocol-buffers-descriptor, template-haskell, text
@@ -152061,6 +155655,35 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-sqlite_2_8_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , hspec, microlens-th, monad-logger, old-locale, persistent
+     , persistent-template, resource-pool, resourcet, temporary, text
+     , time, transformers, unliftio-core, unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-sqlite";
+       version = "2.8.0";
+       sha256 = "1vdsb271d17b0ip7z6mkbcw4iggafpaaimz6zzknjc4l409yswnb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers microlens-th monad-logger
+         old-locale persistent resource-pool resourcet text time
+         transformers unliftio-core unordered-containers
+       ];
+       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
@@ -152085,6 +155708,70 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-template_2_5_3_1" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
+     , ghc-prim, hspec, http-api-data, monad-control, monad-logger
+     , path-pieces, persistent, QuickCheck, tagged, template-haskell
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-template";
+       version = "2.5.3.1";
+       sha256 = "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd";
+       libraryHaskellDepends = [
+         aeson aeson-compat base bytestring containers ghc-prim
+         http-api-data monad-control monad-logger path-pieces persistent
+         tagged template-haskell text transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec persistent QuickCheck text transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Type-safe, non-relational, multi-backend persistence";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
+  "persistent-test" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, attoparsec, base
+     , base64-bytestring, blaze-builder, blaze-html, blaze-markup
+     , bytestring, cereal, conduit, containers, exceptions, fast-logger
+     , hashable, hspec, hspec-expectations, http-api-data, HUnit
+     , lifted-base, monad-logger, mtl, network, old-locale, path-pieces
+     , persistent, persistent-sqlite, persistent-template, QuickCheck
+     , quickcheck-instances, random, resource-pool, resourcet
+     , scientific, semigroups, silently, system-fileio, system-filepath
+     , tagged, template-haskell, text, time, transformers
+     , transformers-base, unliftio, unliftio-core, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "persistent-test";
+       version = "2.0.0.3";
+       sha256 = "1xjjbr780ipzxkbnj8cly0xl8wxbvqjvm293aqm0rnkyqwndhbn3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-compat attoparsec base base64-bytestring blaze-builder
+         blaze-html blaze-markup bytestring cereal conduit containers
+         exceptions fast-logger hashable hspec hspec-expectations
+         http-api-data HUnit lifted-base monad-logger mtl network old-locale
+         path-pieces persistent persistent-sqlite persistent-template
+         QuickCheck quickcheck-instances random resource-pool resourcet
+         scientific semigroups silently tagged template-haskell text time
+         transformers transformers-base unliftio unliftio-core
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         base hspec persistent resourcet scientific system-fileio
+         system-filepath
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Tests for Persistent";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "persistent-vector" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, QuickCheck
      , test-framework, test-framework-quickcheck2
@@ -152392,10 +156079,8 @@ self: {
      }:
      mkDerivation {
        pname = "pgdl";
-       version = "10.9";
-       sha256 = "0hwky1331bv1zbjq9nbfnvx8gkbfhs5sjawxjccz9l484xsrbb5z";
-       revision = "9";
-       editedCabalFile = "1r1sjcnaawwklr8lx98zf79qmd9cxkmj83kahdn71q4rvfxm29fv";
+       version = "10.10";
+       sha256 = "0wqj7i4shdcy80aiib0dkp3y6ccilqq4g3p8bvndh4vl3cyd2pwv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -153033,8 +156718,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.6";
-       sha256 = "0z5sfgvbckd636hi1girlfpfz2v21xydzi3d1py3q6hyq34b67iq";
+       version = "0.9.12.8";
+       sha256 = "0k9lyk3h108y3zyvqz1krr08cqf4fahg4lh4f5fn1spgz46q3dwk";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random
@@ -153695,6 +157380,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-group_1_0_9" = callPackage
+    ({ mkDerivation, base, doctest, free, lens-family-core, pipes
+     , pipes-parse, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-group";
+       version = "1.0.9";
+       sha256 = "16yczij987r6j7gzp3nvgl1c5x2b7skvqsq38ns7p9z34kvy8sby";
+       libraryHaskellDepends = [
+         base free pipes pipes-parse transformers
+       ];
+       testHaskellDepends = [ base doctest lens-family-core ];
+       description = "Group streams into substreams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-http" = callPackage
     ({ mkDerivation, base, bytestring, http-client, http-client-tls
      , pipes
@@ -154753,17 +158455,19 @@ self: {
 
   "plot-light" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-time, base, blaze-svg
-     , colour, hspec, mtl, palette, QuickCheck, scientific, text, time
+     , colour, containers, data-default, hspec, mtl, palette, QuickCheck
+     , scientific, text, time
      }:
      mkDerivation {
        pname = "plot-light";
-       version = "0.2.7";
-       sha256 = "0w1mbhws7fs0kld61fd9f9xyvfpzsjhh6ic6ny89gka4421p002s";
+       version = "0.2.9";
+       sha256 = "0sz69a8q6r67s9d75vgb3x7iyp8vgrd2q85w2pykzpnpbdi56q5m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         attoparsec base blaze-svg colour mtl palette scientific text time
+         attoparsec base blaze-svg colour containers data-default hspec mtl
+         palette QuickCheck scientific text time
        ];
        executableHaskellDepends = [
          attoparsec attoparsec-time base blaze-svg colour palette scientific
@@ -154869,15 +158573,13 @@ self: {
      }:
      mkDerivation {
        pname = "plugins";
-       version = "1.5.6.0";
-       sha256 = "1l40i9n4iqsj2pw5kv7p8mkfg9vninplasz27zdgfs4hxd9pxl8q";
-       revision = "1";
-       editedCabalFile = "0l4sx1d9lgs6yr23dq4ccz1la9i94cz4nfvpdkpr5wni40mzl2m3";
+       version = "1.5.7";
+       sha256 = "1l9ymnsxvgjp7p2j5mvyygrsg7qf2yam1k4y3gz8s2l6kl78ri5f";
        libraryHaskellDepends = [
          array base Cabal containers directory filepath ghc ghc-paths
          ghc-prim haskell-src process random
        ];
-       homepage = "http://hub.darcs.net/stepcut/plugins";
+       homepage = "https://github.com/stepcut/plugins";
        description = "Dynamic linking for Haskell and C objects";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -154923,8 +158625,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "plumbers";
-       version = "0.0.3";
-       sha256 = "1grw827jhxwka1zl0n5ycgrpc4ljw8bxg3psms8lsxfiiz6mwmq9";
+       version = "0.0.4";
+       sha256 = "1lih19zjz5yrrjvrgk8zv5xrvld57ykdxxhdrvhwh6bqyzzarqjj";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Pointless plumbing combinators";
        license = stdenv.lib.licenses.bsd3;
@@ -155087,10 +158789,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointed";
-       version = "5";
-       sha256 = "05sxac90xv4j8glmf2mxs0smmv6vhia0qaaag5v37ar5a6pvh1l9";
-       revision = "1";
-       editedCabalFile = "170gqax34qch77zzqwq95z2lzq9da8gmfxg1vcll4aphhafwgzzp";
+       version = "5.0.1";
+       sha256 = "1p91a762xglckscnhpflxzav8byf49a02mli3983i4kpr2jkaimr";
        libraryHaskellDepends = [
          base comonad containers data-default-class hashable kan-extensions
          semigroupoids semigroups stm tagged transformers
@@ -155609,8 +159309,8 @@ self: {
      }:
      mkDerivation {
        pname = "pomaps";
-       version = "0.0.0.2";
-       sha256 = "1lsiwpyg5bl5si5ral8lin4hbgbczbf8b4jwd8v1nh2s9293rpb9";
+       version = "0.0.0.3";
+       sha256 = "1gxfaqcg6d9wkm67d8rrjvigy9kvvh9403v3jk790x9pfydcjvym";
        libraryHaskellDepends = [
          base containers deepseq ghc-prim lattices
        ];
@@ -156400,14 +160100,14 @@ self: {
      }) {};
 
   "postgresql-libpq" = callPackage
-    ({ mkDerivation, base, bytestring, postgresql }:
+    ({ mkDerivation, base, bytestring, postgresql, unix }:
      mkDerivation {
        pname = "postgresql-libpq";
-       version = "0.9.3.1";
-       sha256 = "0x0bjnwqhdlxba345yjkf978wfsy8g5xsjdbrckrnb2dvsfscqih";
-       libraryHaskellDepends = [ base bytestring ];
+       version = "0.9.4.0";
+       sha256 = "15laa8m6i4girhr0i3xscgsl30iqj61mx5vbl67wasb8rwx0pi82";
+       libraryHaskellDepends = [ base bytestring unix ];
        librarySystemDepends = [ postgresql ];
-       homepage = "http://github.com/lpsmith/postgresql-libpq";
+       homepage = "https://github.com/lpsmith/postgresql-libpq";
        description = "low-level binding to libpq";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) postgresql;};
@@ -156761,9 +160461,9 @@ self: {
   "postgrest" = callPackage
     ({ mkDerivation, aeson, aeson-qq, ansi-wl-pprint, async, base
      , base64-bytestring, bytestring, case-insensitive, cassava
-     , configurator-ng, containers, contravariant, cookie, either, hasql
-     , hasql-pool, hasql-transaction, heredoc, hjsonpointer, hjsonschema
-     , hspec, hspec-wai, hspec-wai-json, HTTP, http-types
+     , configurator-ng, containers, contravariant, cookie, either
+     , gitrev, hasql, hasql-pool, hasql-transaction, heredoc
+     , hjsonschema, hspec, hspec-wai, hspec-wai-json, HTTP, http-types
      , insert-ordered-containers, interpolatedstring-perl6, jose, lens
      , lens-aeson, monad-control, network-uri, optparse-applicative
      , parsec, process, protolude, Ranged-sets, regex-tdfa, retry, safe
@@ -156773,17 +160473,17 @@ self: {
      }:
      mkDerivation {
        pname = "postgrest";
-       version = "0.4.3.0";
-       sha256 = "1a0l5j755h6nlnv3xww0l88pz6ny5y40d1as9vfn1i1ybk4jx5gq";
+       version = "0.4.4.0";
+       sha256 = "1dj0gzwjq5psxqmjx0jhbvwa0jlf52dvsbdmbx6ry0yqhsa0yvjr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base base64-bytestring bytestring
          case-insensitive cassava configurator-ng containers contravariant
-         cookie either hasql hasql-pool hasql-transaction heredoc HTTP
-         http-types insert-ordered-containers interpolatedstring-perl6 jose
-         lens lens-aeson network-uri optparse-applicative parsec protolude
-         Ranged-sets regex-tdfa safe scientific swagger2 text
+         cookie either gitrev hasql hasql-pool hasql-transaction heredoc
+         HTTP http-types insert-ordered-containers interpolatedstring-perl6
+         jose lens lens-aeson network-uri optparse-applicative parsec
+         protolude Ranged-sets regex-tdfa safe scientific swagger2 text
          unordered-containers vector wai wai-cors wai-extra
          wai-middleware-static
        ];
@@ -156794,9 +160494,9 @@ self: {
        testHaskellDepends = [
          aeson aeson-qq async base base64-bytestring bytestring
          case-insensitive cassava containers contravariant hasql hasql-pool
-         heredoc hjsonpointer hjsonschema hspec hspec-wai hspec-wai-json
-         http-types lens lens-aeson monad-control process protolude
-         regex-tdfa transformers-base wai wai-extra
+         heredoc hjsonschema hspec hspec-wai hspec-wai-json http-types lens
+         lens-aeson monad-control process protolude regex-tdfa
+         transformers-base wai wai-extra
        ];
        homepage = "https://github.com/begriffs/postgrest";
        description = "REST API for any Postgres database";
@@ -156870,8 +160570,8 @@ self: {
      }:
      mkDerivation {
        pname = "postmark";
-       version = "0.2.2";
-       sha256 = "043q69v629r6y8ljij8nmfjz4qs3181278wrnlfgagfahh98pg0b";
+       version = "0.2.3";
+       sha256 = "140z6r01byld665471dbk5zdqaf6lrcxwqp0wvbs5fbpjq37mfmp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -157437,6 +161137,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "prefix-expression" = callPackage
+    ({ mkDerivation, base, hspec, regex-pcre-builtin }:
+     mkDerivation {
+       pname = "prefix-expression";
+       version = "1.2.3";
+       sha256 = "0hcp7wfgqcbqlkg60zy5c1b9gyvzkr678m4qpjxsv07x33h0xgnr";
+       libraryHaskellDepends = [ base regex-pcre-builtin ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/VonFry/prefix-expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "prefix-units" = callPackage
     ({ mkDerivation, base, Cabal, HUnit, QuickCheck, test-framework
      , test-framework-hunit, test-framework-quickcheck2
@@ -157745,14 +161457,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pretty_1_1_3_5" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck }:
+  "pretty_1_1_3_6" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, ghc-prim, QuickCheck }:
      mkDerivation {
        pname = "pretty";
-       version = "1.1.3.5";
-       sha256 = "0ibgg8hrizf8dqbpznk85w612nyn349l26c5pwg9b9qmg56rs05h";
+       version = "1.1.3.6";
+       sha256 = "1s363nax6zxqs4bnciddsfc2sanv1lp4x02y58z3yzdgrciwq4pb";
        libraryHaskellDepends = [ base deepseq ghc-prim ];
        testHaskellDepends = [ base deepseq ghc-prim QuickCheck ];
+       benchmarkHaskellDepends = [ base criterion ];
        homepage = "http://github.com/haskell/pretty";
        description = "Pretty-printing library";
        license = stdenv.lib.licenses.bsd3;
@@ -157846,27 +161559,6 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-show";
-       version = "1.6.15";
-       sha256 = "16ik7dhagyr3is5dmkihw109l4d0500vi55z46p8lhigmfwqpn2n";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array base filepath ghc-prim haskell-lexer pretty
-       ];
-       libraryToolDepends = [ happy ];
-       executableHaskellDepends = [ base ];
-       homepage = "http://wiki.github.com/yav/pretty-show";
-       description = "Tools for working with derived `Show` instances and generic inspection of values";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "pretty-show_1_6_16" = callPackage
-    ({ mkDerivation, array, base, filepath, ghc-prim, happy
-     , haskell-lexer, pretty
-     }:
-     mkDerivation {
-       pname = "pretty-show";
        version = "1.6.16";
        sha256 = "0l03mhbdnf0sj6kw2s3cf2xhfbl0809jr9fhj7cmpkhjpxv89vnv";
        isLibrary = true;
@@ -157880,7 +161572,6 @@ self: {
        homepage = "http://wiki.github.com/yav/pretty-show";
        description = "Tools for working with derived `Show` instances and generic inspection of values";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pretty-simple" = callPackage
@@ -157889,8 +161580,8 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "2.0.1.0";
-       sha256 = "0a72kns4ydh22q1kwbljknrbgcpvh9l4jx16fm2s3hkkw9fivl27";
+       version = "2.0.2.0";
+       sha256 = "1rzc9sfrw0m4aqp19zpzllkrrr6966byc06m9qcy77fbv1icsr44";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -157915,6 +161606,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-terminal" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "pretty-terminal";
+       version = "0.1.0.0";
+       sha256 = "0rr5mwg4j2zw0k1p2y042z5769l53vlxn5c9bf23jw7whi6gfxlf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base text ];
+       executableHaskellDepends = [ base text ];
+       homepage = "https://github.com/loganmac/pretty-terminal#readme";
+       description = "Styling and coloring terminal output with ANSI escape sequences";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pretty-tree" = callPackage
     ({ mkDerivation, base, boxes, containers }:
      mkDerivation {
@@ -158198,10 +161904,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, transformers }:
      mkDerivation {
        pname = "primitive";
-       version = "0.6.2.0";
-       sha256 = "1q9a537av81c0lvcdzc8i5hqjx3209f5448d1smkyaz22c1dgs5q";
-       revision = "1";
-       editedCabalFile = "0d61g8ppsdajdqykl2kc46kq00aamsf12v60ilgrf58dbji9sz56";
+       version = "0.6.3.0";
+       sha256 = "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd";
        libraryHaskellDepends = [ base ghc-prim transformers ];
        testHaskellDepends = [ base ghc-prim ];
        homepage = "https://github.com/haskell/primitive";
@@ -158510,14 +162214,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_6_2_0" = callPackage
+  "process_1_6_3_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.2.0";
-       sha256 = "0gsyzwvid2w1z5m0w492sqb8q8c86q9wa7iqjadcdhbv8ag9z6xm";
+       version = "1.6.3.0";
+       sha256 = "0lxkl0gmyy2sn3r9c7dyz8vz1cm6nvygmgrizilliir5bp42m8cc";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -158552,8 +162256,26 @@ self: {
      }:
      mkDerivation {
        pname = "process-extras";
-       version = "0.7.2";
-       sha256 = "0n79m1kj59w4s2a86m1hm98019452mhh06szn0jwsvb9xhqi0v77";
+       version = "0.7.3";
+       sha256 = "0hyrqz2dinvql6r9ldd2q35zkavjwqadw13zqzcwrdhq8myhawzb";
+       libraryHaskellDepends = [
+         base bytestring data-default deepseq generic-deriving ListLike mtl
+         process text
+       ];
+       testHaskellDepends = [ base HUnit ];
+       homepage = "https://github.com/seereason/process-extras";
+       description = "Process extras";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "process-extras_0_7_4" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, deepseq
+     , generic-deriving, HUnit, ListLike, mtl, process, text
+     }:
+     mkDerivation {
+       pname = "process-extras";
+       version = "0.7.4";
+       sha256 = "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9";
        libraryHaskellDepends = [
          base bytestring data-default deepseq generic-deriving ListLike mtl
          process text
@@ -158562,6 +162284,7 @@ self: {
        homepage = "https://github.com/seereason/process-extras";
        description = "Process extras";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "process-iterio" = callPackage
@@ -158851,6 +162574,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "product-profunctors_0_9_0_0" = callPackage
+    ({ mkDerivation, base, bifunctors, contravariant, criterion
+     , deepseq, profunctors, tagged, template-haskell
+     }:
+     mkDerivation {
+       pname = "product-profunctors";
+       version = "0.9.0.0";
+       sha256 = "1kzadxbhqyhhihp3m38pckbkyflhgianpvf08ybvry1ng73577jn";
+       libraryHaskellDepends = [
+         base bifunctors contravariant profunctors tagged template-haskell
+       ];
+       testHaskellDepends = [ base profunctors ];
+       benchmarkHaskellDepends = [ base criterion deepseq ];
+       homepage = "https://github.com/tomjaguarpaw/product-profunctors";
+       description = "product-profunctors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "prof2dot" = callPackage
     ({ mkDerivation, base, containers, filepath, haskell98, parsec }:
      mkDerivation {
@@ -158943,15 +162685,15 @@ self: {
 
   "profunctors" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
-     , contravariant, distributive, tagged, transformers
+     , contravariant, distributive, semigroups, tagged, transformers
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.2.1";
-       sha256 = "0pcwjp813d3mrzb7qf7dzkspf85xnfj1m2snhjgnvwx6vw07w877";
+       version = "5.2.2";
+       sha256 = "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
-         tagged transformers
+         semigroups tagged transformers
        ];
        homepage = "http://github.com/ekmett/profunctors/";
        description = "Profunctors";
@@ -159136,8 +162878,8 @@ self: {
      }:
      mkDerivation {
        pname = "project-template";
-       version = "0.2.0";
-       sha256 = "0433a2cmximz2jbg0m97h80pvmb7vafjvw3qzjpsncavg38xgaxf";
+       version = "0.2.0.1";
+       sha256 = "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb";
        libraryHaskellDepends = [
          base base64-bytestring bytestring conduit conduit-extra containers
          directory filepath mtl resourcet text transformers
@@ -159420,8 +163162,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.2.0";
-       sha256 = "06h1q1kx2ifbfpicb0ivp4x8pv1fn15x0v5wn1dygnbf862h9brh";
+       version = "5.3.0";
+       sha256 = "09qkh6d2jbn8f5miaqh5mlxh36146wpfm61k4xdz3kdxmg78s140";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159842,15 +163584,15 @@ self: {
   "protolude" = callPackage
     ({ mkDerivation, array, async, base, bytestring, containers
      , deepseq, ghc-prim, hashable, mtl, mtl-compat, safe, stm, text
-     , transformers
+     , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "protolude";
-       version = "0.2";
-       sha256 = "1ky72pv1icrcj9s3al23nwylyv7l60s2h0m2hs85wdb3kn1c042n";
+       version = "0.2.1";
+       sha256 = "1r2baxx6q4z75sswirlqsnyynk4i7amfmpzajggh31fbz13hxgxx";
        libraryHaskellDepends = [
          array async base bytestring containers deepseq ghc-prim hashable
-         mtl mtl-compat safe stm text transformers
+         mtl mtl-compat safe stm text transformers transformers-compat
        ];
        homepage = "https://github.com/sdiehl/protolude";
        description = "A small prelude";
@@ -160074,8 +163816,8 @@ self: {
      }:
      mkDerivation {
        pname = "psqueues";
-       version = "0.2.4.0";
-       sha256 = "1lbjm6mnw91qg1ik73mwh48cq79k4kkaj4l380ilqp0p05a386j9";
+       version = "0.2.5.0";
+       sha256 = "1fy2rflmk2g5qkrbdz53wcxbr2nzxlnvkwwf4xf56yhm1ciffgqn";
        libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
        testHaskellDepends = [
          array base deepseq ghc-prim hashable HUnit QuickCheck tagged
@@ -160910,6 +164652,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pusher-http-haskell_1_5_1_1" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , cryptonite, hashable, hspec, http-client, http-types, memory
+     , QuickCheck, scientific, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "pusher-http-haskell";
+       version = "1.5.1.1";
+       sha256 = "0j8gsarczvdidri63s162flzdkb6w0sysawairlxmmgcdbybfci5";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring cryptonite hashable
+         http-client http-types memory text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base base16-bytestring bytestring cryptonite hspec
+         http-client http-types QuickCheck scientific text time transformers
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/pusher-community/pusher-http-haskell";
+       description = "Haskell client library for the Pusher HTTP API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pusher-ws" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , hashable, http-conduit, lens, lens-aeson, network, scientific
@@ -161221,21 +164989,23 @@ self: {
      }) {};
 
   "q4c12-twofinger" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest, lens
-     , semigroupoids, streams, tasty, tasty-quickcheck
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers, deepseq
+     , doctest, lens, lens-properties, semigroupoids, tasty
+     , tasty-quickcheck
      }:
      mkDerivation {
        pname = "q4c12-twofinger";
-       version = "0.1";
-       sha256 = "01rj89w3q0k24f0w179yl3pssixhlrh83nni5wm2hambz8ls0aqr";
+       version = "0.2";
+       sha256 = "0c4fm6pdl1mlh4xnp8syjifknyvbdqwdyiika9pkww4xmf12lv7z";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base deepseq semigroupoids streams ];
+       libraryHaskellDepends = [ base containers deepseq semigroupoids ];
        testHaskellDepends = [
-         base doctest lens streams tasty tasty-quickcheck
+         base doctest lens lens-properties tasty tasty-quickcheck
        ];
        homepage = "https://github.com/quasicomputational/mega/tree/master/packages/twofinger";
        description = "Efficient alternating finger trees";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "qc-oi-testgenerator" = callPackage
@@ -161379,17 +165149,17 @@ self: {
   "qr-imager" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
      , either, haskell-qrencode, hspec, jose-jwt, JuicyPixels
-     , libqrencode, microlens, MissingH, optparse-applicative, process
+     , libqrencode, microlens, optparse-applicative, process, split
      , vector
      }:
      mkDerivation {
        pname = "qr-imager";
-       version = "1.0.1.3";
-       sha256 = "0n2y4z6s00b31dj5qwyykncxfi4yyiqvpxq1r7ls2xvv9pa4bhgc";
+       version = "1.0.1.5";
+       sha256 = "1csgghcv093g8hmkaxyj2vm0ym28yw37d7crj4rgk8fs8qhr5ib4";
        libraryHaskellDepends = [
          aeson base bytestring cryptonite directory either haskell-qrencode
-         jose-jwt JuicyPixels microlens MissingH optparse-applicative
-         process vector
+         jose-jwt JuicyPixels microlens optparse-applicative process split
+         vector
        ];
        libraryPkgconfigDepends = [ libqrencode ];
        testHaskellDepends = [ base hspec ];
@@ -161452,11 +165222,14 @@ self: {
          qtc_opengl = null; qtc_script = null; qtc_tools = null;};
 
   "qtah-cpp-qt5" = callPackage
-    ({ mkDerivation, base, process, qtah-generator, qtbase }:
+    ({ mkDerivation, base, Cabal, directory, filepath, process
+     , qtah-generator, qtbase
+     }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.3.1";
-       sha256 = "0yy6q10lsjhjnvirs2d8pdivs9d0kdilwsm4j7s59jz5xhwzbqzl";
+       version = "0.4.0";
+       sha256 = "03m45jc5jpkjfcx0dr1lb2nsajbhkfb5phsx7v909hj8d7j7swvz";
+       setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
        homepage = "http://khumba.net/projects/qtah";
@@ -161471,8 +165244,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.3.0";
-       sha256 = "0scb00dilgbiqzp1jq0jknx76qb0fc9l9wsv214k9x741q7cv71b";
+       version = "0.4.0";
+       sha256 = "0q8k2diyrxpvsnhlw484lxy3j6qbk07hkqj0hg2cxv8whhi02bp9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -161485,15 +165258,17 @@ self: {
      }) {};
 
   "qtah-generator" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, haskell-src
-     , hoppy-generator, hoppy-std, mtl, process, transformers
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , haskell-src, hoppy-generator, hoppy-std, mtl, process
+     , transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.3.0";
-       sha256 = "0zyhpb70lcp9r8skq6lzw4xqpa3fndbq4vxk098diqivknl064ff";
+       version = "0.4.0";
+       sha256 = "1fxv8g3rrhf9q7g90phqji4q5yb2l0sfi0qm81zp9ya91wmcfsg5";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
          base containers directory filepath haskell-src hoppy-generator
@@ -161507,13 +165282,15 @@ self: {
      }) {};
 
   "qtah-qt5" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hoppy-runtime, HUnit
-     , qtah, qtah-cpp-qt5, qtah-generator, qtbase
+    ({ mkDerivation, base, binary, bytestring, Cabal, directory
+     , filepath, hoppy-runtime, HUnit, qtah, qtah-cpp-qt5
+     , qtah-generator, qtbase
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.3.0";
-       sha256 = "0rrg0ymkhvgdhwcabr4n4alrqkzyyzyggdclygmjp7l2lq4md1ad";
+       version = "0.4.0";
+       sha256 = "1b20wrbyldxx6vsxax3kdfxikv0v79m3qcbwhjwgyp586gk9pl63";
+       setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
@@ -161736,6 +165513,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Analysis and parsing library for SQL queries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {predicate-class = null;};
 
@@ -161756,6 +165534,7 @@ self: {
        ];
        description = "Parsing for Hive SQL queries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {predicate-class = null;};
 
@@ -161776,6 +165555,7 @@ self: {
        ];
        description = "Parsing for Presto SQL queries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {predicate-class = null;};
 
@@ -161796,6 +165576,7 @@ self: {
        ];
        description = "Parsing for Vertica SQL queries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {predicate-class = null;};
 
@@ -161998,6 +165779,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-classes_0_3_2" = callPackage
+    ({ mkDerivation, aeson, base, prim-array, primitive, QuickCheck
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "quickcheck-classes";
+       version = "0.3.2";
+       sha256 = "10z65dxm0jply0zbx1kpxpiir3z85c9133hkiqnra6sqz13njdz4";
+       libraryHaskellDepends = [
+         aeson base prim-array primitive QuickCheck transformers
+       ];
+       testHaskellDepends = [ aeson base primitive QuickCheck vector ];
+       homepage = "https://github.com/andrewthad/quickcheck-classes#readme";
+       description = "QuickCheck common typeclasses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "quickcheck-combinators" = callPackage
     ({ mkDerivation, base, QuickCheck, unfoldable-restricted }:
      mkDerivation {
@@ -162017,10 +165816,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-instances";
-       version = "0.3.16";
-       sha256 = "07xqbjb3rb5hzhjak3qpvj4hl91gc0z2272n60hv67zmv3w8kcf1";
-       revision = "1";
-       editedCabalFile = "1sfqjhk7z185l0gxrvn5pi3s8mvnqv1d1yzrx0k0mi48y5421jcm";
+       version = "0.3.16.1";
+       sha256 = "01v5bs7r9yvhkvb4yc9bqnacy8r6cy2gr9lnmwx40n5apgi0gcbz";
        libraryHaskellDepends = [
          array base base-compat bytestring case-insensitive containers
          hashable old-time QuickCheck scientific tagged text time
@@ -162201,6 +165998,8 @@ self: {
        pname = "quickcheck-special";
        version = "0.1.0.6";
        sha256 = "1dhwgy1jwglp4y3nbysr1i182415aibqlcsrvwxn2c5x162qjwwm";
+       revision = "1";
+       editedCabalFile = "1whwmij115vw0qwkzlkc4z4yhj7iwwqjhf5aaxn5np0gh2gzihb3";
        libraryHaskellDepends = [ base QuickCheck special-values ];
        homepage = "https://github.com/minad/quickcheck-special#readme";
        description = "Edge cases and special values for QuickCheck Arbitrary instances";
@@ -162215,8 +166014,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-state-machine";
-       version = "0.3.0";
-       sha256 = "0rcfc6yk5x99jk2zppfnzkkhc3k2wkvz6jh1h80l0zdpdhbd191a";
+       version = "0.3.1";
+       sha256 = "141rs0m67p830n2v30jkpvbqpygqc7i8cka9c9bbycxnwdax5jj4";
        libraryHaskellDepends = [
          ansi-wl-pprint async base containers lifted-async lifted-base
          monad-control mtl QuickCheck quickcheck-with-counterexamples random
@@ -162234,8 +166033,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-string-random";
-       version = "0.1.0.0";
-       sha256 = "04pbv5s3j0v9kv9sjhfkh892n9w210fb20k5j9innkxwvaj1bh6y";
+       version = "0.1.0.1";
+       sha256 = "1yx1kyd6p58b7s10v0lkq1v162vnz90p6m9jlwbr4s6qxa0sm31r";
        libraryHaskellDepends = [ base QuickCheck string-random text ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-quickcheck text
@@ -163080,8 +166879,8 @@ self: {
      }:
      mkDerivation {
        pname = "rakuten";
-       version = "0.1.0.4";
-       sha256 = "0nxnw5b0qhjzb0zwak74x84f081p1giyzbvpinhx527ph4j96aqf";
+       version = "0.1.0.5";
+       sha256 = "1197vkml0pvrdqvh55bvsb52rzqfj6p6vrpihr5ci7flp4h9wkp1";
        libraryHaskellDepends = [
          aeson base bytestring connection constraints data-default-class
          extensible http-api-data http-client http-client-tls http-types
@@ -163189,6 +166988,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rando" = callPackage
+    ({ mkDerivation, base, tf-random }:
+     mkDerivation {
+       pname = "rando";
+       version = "0.0.0.1";
+       sha256 = "09pra2w97jhayzwws8133xvjnrsb0iqzl3cx676pawnlknc1dkkg";
+       libraryHaskellDepends = [ base tf-random ];
+       description = "Easy-to-use randomness for livecoding";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "random" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -163920,23 +167730,43 @@ self: {
 
   "ratel" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, http-client, http-client-tls, http-types
-     , tasty, tasty-hspec, text, uuid
+     , containers, filepath, hspec, http-client, http-client-tls
+     , http-types, text, uuid
      }:
      mkDerivation {
        pname = "ratel";
-       version = "0.3.8";
-       sha256 = "1zd5dc21y60yjzbwgr8vf099y0rqmdirn1mq6s03jpiyar33lv3b";
+       version = "0.3.10";
+       sha256 = "10cqg2rrr8fx57r0vhw37wrv92243lzi2mp7ghsl3kkl1n73qz8n";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
        ];
-       testHaskellDepends = [ base filepath tasty tasty-hspec ];
+       testHaskellDepends = [ base filepath hspec ];
        homepage = "https://github.com/tfausak/ratel#readme";
        description = "Notify Honeybadger about exceptions";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ratel_1_0_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, hspec, http-client, http-client-tls
+     , http-types, text, uuid
+     }:
+     mkDerivation {
+       pname = "ratel";
+       version = "1.0.1";
+       sha256 = "1cspvwnq7v0ngxlc0w0f2fv14m3ndi8nkvcglygbac454nlka12s";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-client-tls http-types text uuid
+       ];
+       testHaskellDepends = [ base filepath hspec ];
+       homepage = "https://github.com/tfausak/ratel#readme";
+       description = "Notify Honeybadger about exceptions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ratel-wai" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , http-client, ratel, wai
@@ -163953,6 +167783,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ratel-wai_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , http-client, ratel, wai
+     }:
+     mkDerivation {
+       pname = "ratel-wai";
+       version = "1.0.1";
+       sha256 = "190kgqhvda3r5gqk0j8pzr6d123fl77dv3i1csglq22yzrwynkv3";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers http-client ratel wai
+       ];
+       homepage = "https://github.com/tfausak/ratel-wai#readme";
+       description = "Notify Honeybadger about exceptions via a WAI middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rating-systems" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -164009,15 +167856,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rattletrap_4_0_1" = callPackage
+  "rattletrap_4_0_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits
      , bytestring, containers, filepath, http-client, http-client-tls
      , HUnit, template-haskell, temporary, text, transformers
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "4.0.1";
-       sha256 = "01dvidlby3k6i7nnh0az3xmmdpvrx594jy6zq6ccf14cjb0m95kv";
+       version = "4.0.5";
+       sha256 = "0yxmym79xrs35lz8qyrkyqa9vihng4p3448085ybwbfqmaqk6pl5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164220,6 +168067,7 @@ self: {
        homepage = "http://paychandoc.runeks.me/";
        description = "RESTful Bitcoin Payment Channel Protocol Servant API description";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {bitcoin-payment-protocol = null;};
 
@@ -164383,17 +168231,18 @@ self: {
      }) {};
 
   "re2" = callPackage
-    ({ mkDerivation, base, bytestring, chell, vector }:
+    ({ mkDerivation, base, bytestring, HUnit, re2, vector }:
      mkDerivation {
        pname = "re2";
-       version = "0.1";
-       sha256 = "08mmbxj9dpnb56b6vh0lz7nimp3w3v9g2c6ypxgz8ahvlia0a4f5";
+       version = "0.2";
+       sha256 = "0qfmiwy4kc87a736fpzh4cscvldiywq641gb9kvn4hc3sq7dh1k9";
        libraryHaskellDepends = [ base bytestring vector ];
-       testHaskellDepends = [ base bytestring chell vector ];
-       homepage = "https://john-millikin.com/software/haskell-re2/";
+       librarySystemDepends = [ re2 ];
+       testHaskellDepends = [ base bytestring HUnit vector ];
+       homepage = "https://github.com/rblaze/haskell-re2#readme";
        description = "Bindings to the re2 regular expression library";
        license = stdenv.lib.licenses.mit;
-     }) {};
+     }) {inherit (pkgs) re2;};
 
   "react-flux" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, mtl
@@ -165046,7 +168895,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rebase_1_2_2" = callPackage
+  "rebase_1_2_3" = callPackage
     ({ mkDerivation, base, base-prelude, bifunctors, bytestring
      , containers, contravariant, contravariant-extras, deepseq, dlist
      , either, fail, hashable, mtl, profunctors, scientific
@@ -165055,8 +168904,8 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.2.2";
-       sha256 = "11p4wg2xissj4xzw80dww2srj2ylgw3wlnapykizy2fwjl1az9k4";
+       version = "1.2.3";
+       sha256 = "1glnxvgf79qm2iz4xxdn6zygjff42cyakk1nah2wrzkkrr11axqk";
        libraryHaskellDepends = [
          base base-prelude bifunctors bytestring containers contravariant
          contravariant-extras deepseq dlist either fail hashable mtl
@@ -165256,6 +169105,8 @@ self: {
        pname = "recursion-schemes";
        version = "5.0.2";
        sha256 = "1lmayskniljw3lxk64apvshn9h90gwfpflgxilfivsqhrjxnaj9s";
+       revision = "1";
+       editedCabalFile = "1mmq9dx0dgws4dbmij76snj91dv6czigs1kchi0vy01hplsb0wks";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad free semigroups
          template-haskell transformers transformers-compat
@@ -165272,8 +169123,8 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes-ext";
-       version = "1.0.0.0";
-       sha256 = "154ypcjn15z3g9rbl257csz8zfalkw7xf6pawfyi9w69jw2sz381";
+       version = "1.0.0.1";
+       sha256 = "1jd3dsns2ahsbkrzcp955bbq4xyhr0rmip3y6dvsgs4qjs0jlvbi";
        libraryHaskellDepends = [
          base composition-prelude lens recursion-schemes
        ];
@@ -165358,16 +169209,16 @@ self: {
      }:
      mkDerivation {
        pname = "reddit";
-       version = "0.2.1.0";
-       sha256 = "0874swpm11l33p27dpsik8qj0by40cxjp864v6zbf2jfl0aavra9";
+       version = "0.2.2.2";
+       sha256 = "0k94rsnrnanjc7bwqfjzlk8l005gc3141mm8iqq680d8pdcgf8m8";
        libraryHaskellDepends = [
          aeson api-builder base bytestring data-default-class free
          http-client http-client-tls http-types network text time
          transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson api-builder base bytestring Cabal hspec http-client
-         http-client-tls text time transformers
+         aeson api-builder base bytestring Cabal data-default-class hspec
+         http-client http-client-tls text time transformers
        ];
        homepage = "https://github.com/intolerable/reddit";
        description = "Library for interfacing with Reddit's API";
@@ -165741,8 +169592,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "reflection";
-       version = "2.1.2";
-       sha256 = "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9";
+       version = "2.1.3";
+       sha256 = "01g4ilgj073vvn6dx4y1fkiq81xk01ccswbhvr8iw8fpmciiky48";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "http://github.com/ekmett/reflection";
        description = "Reifies arbitrary terms into types that can be reflected back into terms";
@@ -166668,8 +170519,8 @@ self: {
      }:
      mkDerivation {
        pname = "regexchar";
-       version = "0.9.0.15";
-       sha256 = "05p3m9phi84lj94vw2l1jdzcxpq96rch64q85jc0wvcb22y6rfm7";
+       version = "0.9.0.16";
+       sha256 = "01bn4vazmnqvng8a989l50v7vy9bd7g57x9v44d6cn78q773vfzh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -166688,15 +170539,15 @@ self: {
      }) {};
 
   "regexdot" = callPackage
-    ({ mkDerivation, base, data-default, deepseq, parallel, parsec
-     , toolshed
+    ({ mkDerivation, base, data-default, deepseq, extra, parallel
+     , parsec, toolshed
      }:
      mkDerivation {
        pname = "regexdot";
-       version = "0.12.0.1";
-       sha256 = "0r30lrgbklymc9vkl6bcrmjrxbpqi5g4ngm4c2sjhw7bc4466vdr";
+       version = "0.12.1.0";
+       sha256 = "11hv0mc48y42dz0bjfcvjxjxcbag33kvdc2gxbx0lsgyb4lm0q8j";
        libraryHaskellDepends = [
-         base data-default deepseq parallel parsec toolshed
+         base data-default deepseq extra parallel parsec toolshed
        ];
        homepage = "http://functionalley.eu/RegExDot/regExDot.html";
        description = "A polymorphic, POSIX, extended regex-engine";
@@ -168059,6 +171910,8 @@ self: {
        pname = "req-conduit";
        version = "1.0.0";
        sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
+       revision = "1";
+       editedCabalFile = "14m20b2i0kygminqw35y3wi1na7bfpkyg1yc03a48qy6rrdqgnc2";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -168081,8 +171934,8 @@ self: {
      }:
      mkDerivation {
        pname = "reqcatcher";
-       version = "0.1.0.0";
-       sha256 = "0lcismi3aj6h2s2snv80w2pdk389zffd0cjrbd2y9285vw401mvm";
+       version = "0.1.0.1";
+       sha256 = "1ywh83ydy48mlix7mglnkhsjj3b13jqs2gs52by6q1g438nb31in";
        libraryHaskellDepends = [ base http-types network text wai warp ];
        testHaskellDepends = [
          base http-client http-types HUnit lens tasty tasty-hunit wai wreq
@@ -168365,8 +172218,8 @@ self: {
      }:
      mkDerivation {
        pname = "resourcet";
-       version = "1.1.10";
-       sha256 = "1hhw9w85nj8i2azzj5sxixffdvciq96b0jhl0zz24038bij66cyl";
+       version = "1.1.11";
+       sha256 = "1n94m2c7rxk2bgm8wywrkp9pmqlnv2dl35yaylninzm8xk1xavil";
        libraryHaskellDepends = [
          base containers exceptions lifted-base mmorph monad-control mtl
          transformers transformers-base transformers-compat unliftio-core
@@ -168377,6 +172230,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "resourcet_1_2_0" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, mtl
+     , primitive, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.2.0";
+       sha256 = "09pscvkfr4cnicipdmx156xbxshg9aqgy0z3h0lcvxbhl5qwjp89";
+       libraryHaskellDepends = [
+         base containers exceptions mtl primitive transformers unliftio-core
+       ];
+       testHaskellDepends = [ base hspec transformers ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Deterministic allocation and freeing of scarce resources";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "respond" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
      , data-default-class, exceptions, fast-logger, formatting, HList
@@ -168430,6 +172301,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rest-client_0_5_2_1" = callPackage
+    ({ mkDerivation, aeson-utils, base, bytestring, case-insensitive
+     , data-default, exceptions, http-client, http-conduit, http-types
+     , hxt, hxt-pickle-utils, monad-control, mtl, resourcet, rest-types
+     , tostring, transformers, transformers-base, transformers-compat
+     , uri-encode, utf8-string
+     }:
+     mkDerivation {
+       pname = "rest-client";
+       version = "0.5.2.1";
+       sha256 = "0axilkrqjbq1l30cnm05fl0mm3ngnijnxgl6idi6mcydyrdgl14n";
+       libraryHaskellDepends = [
+         aeson-utils base bytestring case-insensitive data-default
+         exceptions http-client http-conduit http-types hxt hxt-pickle-utils
+         monad-control mtl resourcet rest-types tostring transformers
+         transformers-base transformers-compat uri-encode utf8-string
+       ];
+       description = "Utility library for use in generated API client libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rest-core" = callPackage
     ({ mkDerivation, aeson, aeson-utils, base, base-compat, bytestring
      , case-insensitive, errors, fclabels, HUnit, hxt, hxt-pickle-utils
@@ -168975,31 +172868,34 @@ self: {
      }) {};
 
   "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, aeson, aeson-diff, async, base, bifunctors, binary
+     , 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-client
+     , 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.4";
-       sha256 = "1zsbgq8f2a0sr575lkz6r5n0vq8jyn32q1sjxkw7d1zqkmzx1f0b";
-       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
+       version = "0.0.0.17";
+       sha256 = "0aqw2b2ivk16h156baj21jg5x5via9dn645500zl53zn05py6bng";
+       libraryHaskellDepends = [
+         aeson aeson-diff async base bifunctors binary 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-client 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";
+       description = "Robert Fischer's Common library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rfc1413-server" = callPackage
@@ -169321,15 +173217,17 @@ self: {
      }:
      mkDerivation {
        pname = "rio";
-       version = "0.0.0.0";
-       sha256 = "168v27a9m98qcychn4rwrb67sfqs4s1brg79q1fqanpjjqslh8id";
+       version = "0.0.1.0";
+       sha256 = "006avzlv6ghwang3dhllxj7absa32sxw2qss2wdf3hxqbij6fy0b";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory exceptions filepath
          hashable microlens mtl text time typed-process unix unliftio
          unordered-containers vector
        ];
+       homepage = "https://github.com/commercialhaskell/rio#readme";
        description = "A standard library for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "riot" = callPackage
@@ -170227,8 +174125,8 @@ self: {
      }:
      mkDerivation {
        pname = "rotating-log";
-       version = "0.4.2";
-       sha256 = "1v2lyyapsbyrnswggy8lfn5qq2xrzdrw3vc881xkhc4yrdzaxw3f";
+       version = "0.4.3";
+       sha256 = "1xpfm07kd6mz13zwzmrwcp2cmc0dr0j94nhy1gzw1064jmd7b482";
        libraryHaskellDepends = [
          base bytestring directory filepath old-locale time
          time-locale-compat
@@ -170625,8 +174523,8 @@ self: {
      }:
      mkDerivation {
        pname = "rtcm";
-       version = "0.2.11";
-       sha256 = "01vlj8ilxzyv6rqffpj3il7dcmcyy4vg6ab3mprdgcy6f0rpsv8b";
+       version = "0.2.14";
+       sha256 = "1ypwxlfmlhx3zjmgi24y5mriprk9wjnc14l0lry38j4ml11glcsd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170847,17 +174745,18 @@ self: {
      }) {};
 
   "ruler" = callPackage
-    ({ mkDerivation, base, containers, mtl, shuffle, uhc-util, uuagc
-     , uuagc-cabal, uulib
+    ({ mkDerivation, base, Cabal, containers, mtl, shuffle, uhc-util
+     , uuagc, uuagc-cabal, uulib
      }:
      mkDerivation {
        pname = "ruler";
-       version = "0.4.0.2";
-       sha256 = "1kcca2h3gvp63s9frnq4dmhaiw5pxhk5ji86bar0cwyrc9all8v5";
+       version = "0.4.1.0";
+       sha256 = "1qa0d2jaws5wn2npjcsc66m59d64dxbm074h7lkysawdgq9hzdy1";
        isLibrary = false;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal shuffle uuagc uuagc-cabal ];
        executableHaskellDepends = [
-         base containers mtl shuffle uhc-util uuagc uuagc-cabal uulib
+         base Cabal containers mtl shuffle uhc-util uuagc uuagc-cabal uulib
        ];
        homepage = "https://github.com/UU-ComputerScience/ruler";
        description = "Ruler tool for UHC";
@@ -171111,6 +175010,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "safe-exceptions_0_1_7_0" = callPackage
+    ({ mkDerivation, base, deepseq, exceptions, hspec, transformers
+     , void
+     }:
+     mkDerivation {
+       pname = "safe-exceptions";
+       version = "0.1.7.0";
+       sha256 = "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q";
+       libraryHaskellDepends = [ base deepseq exceptions transformers ];
+       testHaskellDepends = [ base hspec void ];
+       homepage = "https://github.com/fpco/safe-exceptions#readme";
+       description = "Safe, consistent, and easy exception handling";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "safe-exceptions-checked" = callPackage
     ({ mkDerivation, base, deepseq, hspec, safe-exceptions
      , transformers
@@ -171119,8 +175034,8 @@ self: {
        pname = "safe-exceptions-checked";
        version = "0.1.0";
        sha256 = "0gyaq2pf87dqn0l6n3mi0qamf99y3zj5xxh513c0iqwdh8mma1yq";
-       revision = "2";
-       editedCabalFile = "18fwk5yr8zm4y215vbsl149jkn9pxyv3m8mgq3979pvs1c4kqivz";
+       revision = "3";
+       editedCabalFile = "004id0k46j545zvkldfcv5qjgxzl35brm9h6fq72y43b9hl2y55f";
        libraryHaskellDepends = [
          base deepseq safe-exceptions transformers
        ];
@@ -171359,22 +175274,23 @@ self: {
 
   "safeio" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-combinators
-     , directory, filepath, HUnit, resourcet, test-framework
+     , directory, exceptions, filepath, HUnit, resourcet, test-framework
      , test-framework-hunit, test-framework-th, unix
      }:
      mkDerivation {
        pname = "safeio";
-       version = "0.0.4.0";
-       sha256 = "1abbg6nxpz4va54r2005swlyw8k4y61xjhcz4s3rshc09cmrrn6l";
+       version = "0.0.5.0";
+       sha256 = "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm";
        libraryHaskellDepends = [
-         base bytestring conduit conduit-combinators directory filepath
-         resourcet unix
+         base bytestring conduit conduit-combinators directory exceptions
+         filepath resourcet unix
        ];
        testHaskellDepends = [
-         base bytestring conduit conduit-combinators directory filepath
-         HUnit resourcet test-framework test-framework-hunit
+         base bytestring conduit conduit-combinators directory exceptions
+         filepath HUnit resourcet test-framework test-framework-hunit
          test-framework-th unix
        ];
+       homepage = "https://github.com/luispedro/safeio#readme";
        description = "Write output to disk atomically";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -171542,8 +175458,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "salve";
-       version = "0.0.10";
-       sha256 = "0d31pza3i06bs95ngspkabqrlfqjqmarmfjbpqir2xd1bz3xybjr";
+       version = "1.0.0";
+       sha256 = "0s7np2xdzc7sbhyh0hwfx6bznjxji5cg4ymvqncjdcdkb8w31gdk";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/tfausak/salve#readme";
@@ -172086,8 +176002,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.3.2";
-       sha256 = "19r6a5sh2shaxzkvcysjk2ibfx85w0s1yvg2zjznka4wpzihfs91";
+       version = "2.3.6";
+       sha256 = "05n81l73r1w39cwrjyapwddhq9fcgj22cpn2y5ccjk7mj72jknhk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -172153,6 +176069,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) z3;};
 
+  "sbv_7_5" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , crackNum, data-binary-ieee754, deepseq, directory, doctest
+     , filepath, generic-deriving, ghc, Glob, hlint, mtl, pretty
+     , process, QuickCheck, random, syb, tasty, tasty-golden
+     , tasty-hunit, template-haskell, time, z3
+     }:
+     mkDerivation {
+       pname = "sbv";
+       version = "7.5";
+       sha256 = "1c5drbqz0qld54v0k29zkra1zj09izkzf0rrmgcmgvzz7dfac4ik";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array async base containers crackNum data-binary-ieee754 deepseq
+         directory filepath generic-deriving ghc mtl pretty process
+         QuickCheck random syb template-haskell time
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-binary-ieee754 directory doctest
+         filepath Glob hlint mtl random syb tasty tasty-golden tasty-hunit
+         template-haskell
+       ];
+       testSystemDepends = [ z3 ];
+       homepage = "http://leventerkok.github.com/sbv/";
+       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) z3;};
+
   "sbvPlugin" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-prim, mtl, process, sbv, tasty, tasty-golden
@@ -172743,8 +176688,8 @@ self: {
        pname = "scientific";
        version = "0.3.5.2";
        sha256 = "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w";
-       revision = "2";
-       editedCabalFile = "0wsrd213480p3pqrd6i650fr092yv7dhla7a85p8154pn5gvbr0a";
+       revision = "4";
+       editedCabalFile = "108m6b9w8l2q4r68mla9m5z47k6ahb0p68hypsmn140hgfr6a8la";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq hashable integer-gmp
          integer-logarithms primitive text
@@ -172908,8 +176853,8 @@ self: {
        pname = "scotty";
        version = "0.11.0";
        sha256 = "1vc6lc8q1cqqq67y78c70sw2jim8ps7bgp85a2gjgwfc6z4h68l9";
-       revision = "7";
-       editedCabalFile = "0mn4v7sgnihxvd9wmdqlfhz8818n4r4kgqvrz7sn4raqq5jxkdyr";
+       revision = "8";
+       editedCabalFile = "1jjpaiksvdhsmvv6p267w5grkiv4xmd59xsgwhhyhp5v2503p8sn";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
          data-default-class fail http-types monad-control mtl nats network
@@ -173949,14 +177894,14 @@ self: {
      }:
      mkDerivation {
        pname = "selda";
-       version = "0.1.11.2";
-       sha256 = "0ahh54sz40d4gcfgx6fb0cy1447b3qlk9kir89wk3brzfaglyyn9";
+       version = "0.1.12";
+       sha256 = "1pbf141p3j2gj91lz4ilfc75kf2b0mzfnzxpjn220knkzianm2d9";
        libraryHaskellDepends = [
          base bytestring exceptions hashable mtl psqueues text time
          unordered-containers
        ];
        homepage = "https://selda.link";
-       description = "Type-safe, high-level EDSL for interacting with relational databases";
+       description = "Multi-backend, high-level EDSL for interacting with SQL databases";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -173966,10 +177911,8 @@ self: {
      }:
      mkDerivation {
        pname = "selda-postgresql";
-       version = "0.1.7.0";
-       sha256 = "0smx2hvpdxjcw58zchwmzcqz4xr5m1idv5y5rrj20df190r4l3l2";
-       revision = "1";
-       editedCabalFile = "0icxqqb4n1qbfpjlngs3lypnvjanwqrw3l8298my7b1wzj3iyw2m";
+       version = "0.1.7.1";
+       sha256 = "1izc27wdi9ldhjmmhwjw99g8pgbcayldwn65p5lsad173nc2rd22";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq selda text
        ];
@@ -174193,6 +178136,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroupoids_5_2_2" = callPackage
+    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
+     , cabal-doctest, comonad, containers, contravariant, distributive
+     , doctest, hashable, semigroups, tagged, template-haskell
+     , transformers, transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "semigroupoids";
+       version = "5.2.2";
+       sha256 = "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-orphans bifunctors comonad containers contravariant
+         distributive hashable semigroups tagged template-haskell
+         transformers transformers-compat unordered-containers
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "http://github.com/ekmett/semigroupoids";
+       description = "Semigroupoids: Category sans id";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "semigroupoids-syntax" = callPackage
     ({ mkDerivation, base, comonad, containers, contravariant
      , directory, distributive, doctest, filepath, QuickCheck
@@ -174227,6 +178193,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroups_0_18_4" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "semigroups";
+       version = "0.18.4";
+       sha256 = "09sxd17h1kcjsjaf1am2nwpb4vaq8d0q718fbkxwysws691317jq";
+       libraryHaskellDepends = [ base ];
+       homepage = "http://github.com/ekmett/semigroups/";
+       description = "Anything that associates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "semigroups-actions" = callPackage
     ({ mkDerivation, base, containers, semigroups }:
      mkDerivation {
@@ -174365,6 +178344,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "sendgrid-v3" = callPackage
+    ({ mkDerivation, aeson, base, lens, semigroups, tasty, tasty-hunit
+     , text, wreq
+     }:
+     mkDerivation {
+       pname = "sendgrid-v3";
+       version = "0.1.0.0";
+       sha256 = "0sn1a47155d13w15jjbcbcl5sqnl286mf8q7k39qhir98qlq045s";
+       libraryHaskellDepends = [ aeson base lens semigroups text wreq ];
+       testHaskellDepends = [ base semigroups tasty tasty-hunit text ];
+       homepage = "https://github.com/marcelbuesing/sendgrid-v3";
+       description = "Sendgrid v3 API library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sensei" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat, bytestring
      , directory, filepath, fsnotify, hspec, hspec-meta, hspec-wai
@@ -174434,6 +178428,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sensu-run_0_4_0_4" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, http-client
+     , http-types, lens, network, optparse-applicative, process
+     , temporary, text, time, unix, unix-compat, vector, wreq
+     }:
+     mkDerivation {
+       pname = "sensu-run";
+       version = "0.4.0.4";
+       sha256 = "1pgzfa6ns67fq5cx7qizwjfb2gw6awx012iwhskx8s4wg9snbq5y";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring filepath http-client http-types lens network
+         optparse-applicative process temporary text time unix unix-compat
+         vector wreq
+       ];
+       homepage = "https://github.com/maoe/sensu-run#readme";
+       description = "A tool to send command execution results to Sensu";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sentence-jp" = callPackage
     ({ mkDerivation, base, mecab, random-shuffle, text, transformers }:
      mkDerivation {
@@ -174483,14 +178499,15 @@ self: {
      }) {};
 
   "separated" = callPackage
-    ({ mkDerivation, base, bifunctors, deriving-compat, directory
-     , doctest, filepath, lens, parsec, QuickCheck, semigroupoids
-     , semigroups, template-haskell
+    ({ mkDerivation, base, bifunctors, Cabal, cabal-doctest
+     , deriving-compat, directory, doctest, filepath, lens, parsec
+     , QuickCheck, semigroupoids, semigroups, template-haskell
      }:
      mkDerivation {
        pname = "separated";
-       version = "0.3.0";
-       sha256 = "1ivgx1iaqs4k4zj4n0l92090zvx9x46j6kp56zf60b1bn9s3fcs0";
+       version = "0.3.2.1";
+       sha256 = "0xnpxaz9qr2qqg7kmgv1qsbd4943r54m1vva3xivn4cxf1gnxcaw";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors deriving-compat lens semigroupoids semigroups
        ];
@@ -174827,10 +178844,10 @@ self: {
      }) {};
 
   "serokell-util" = callPackage
-    ({ mkDerivation, acid-state, aeson, ansi-terminal, base
-     , base16-bytestring, base64-bytestring, bytestring, clock
-     , containers, deepseq, directory, exceptions, extra, filepath
-     , formatting, hashable, hspec, lens, log-warper, monad-control, mtl
+    ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
+     , base64-bytestring, bytestring, clock, containers, deepseq
+     , directory, exceptions, extra, filepath, formatting, hashable
+     , hspec, hspec-discover, lens, log-warper, monad-control, mtl
      , optparse-applicative, parsec, QuickCheck, quickcheck-instances
      , safecopy, scientific, semigroups, stm, template-haskell, text
      , text-format, time-units, transformers, universum
@@ -174838,21 +178855,21 @@ self: {
      }:
      mkDerivation {
        pname = "serokell-util";
-       version = "0.5.3";
-       sha256 = "02rr1wc1ss2rjx31w485k2hdnzhbs59pqzr9yvmk39082q9ppmk3";
-       libraryHaskellDepends = [
-         acid-state aeson ansi-terminal base base16-bytestring
-         base64-bytestring bytestring clock containers deepseq directory
-         exceptions extra filepath formatting hashable lens log-warper
-         monad-control mtl optparse-applicative parsec QuickCheck
-         quickcheck-instances safecopy scientific semigroups stm
-         template-haskell text text-format time-units transformers universum
-         unordered-containers vector yaml
+       version = "0.6.0";
+       sha256 = "1821f6hak3wwjradyzy2zb3pfy153l7yc39i5z2mdxn8b4vh4k88";
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base16-bytestring base64-bytestring
+         bytestring clock containers deepseq directory exceptions extra
+         filepath formatting hashable lens log-warper monad-control mtl
+         optparse-applicative parsec QuickCheck quickcheck-instances
+         scientific semigroups stm template-haskell text text-format
+         time-units transformers universum unordered-containers vector yaml
        ];
        testHaskellDepends = [
          aeson base bytestring hspec QuickCheck quickcheck-instances
          safecopy scientific text text-format unordered-containers vector
        ];
+       testToolDepends = [ hspec-discover ];
        homepage = "https://github.com/serokell/serokell-util";
        description = "General-purpose functions by Serokell";
        license = stdenv.lib.licenses.mit;
@@ -175012,8 +179029,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-aeson-specs";
-       version = "0.6.0.0";
-       sha256 = "0ylwd5dawhgfwhmzndc2950zkwg3xm2zv9az4a4pb9pxnpmb4z7n";
+       version = "0.6.1.0";
+       sha256 = "0246bdrcy0rq0jyba2c945hlz8csaff9zakv0g5qpzylsc5dnwmd";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring directory filepath hspec
          hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt random
@@ -175099,7 +179116,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-auth-cookie_0_6_0_1" = callPackage
+  "servant-auth-cookie_0_6_0_3" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , cereal, cereal-time, cookie, criterion, cryptonite, data-default
      , deepseq, exceptions, hspec, http-api-data, http-types, memory
@@ -175108,8 +179125,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.6.0.1";
-       sha256 = "0fbzcqav3cgnjvbfw0yrqlp36c8fk3ab3ff0am5cwvic8db1kqhb";
+       version = "0.6.0.3";
+       sha256 = "12cwqvva4f2kricvwq645f5c759pjz4w2b9yhx9iz7agc95ghkv0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -175763,8 +179780,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-exceptions";
-       version = "0.1.0";
-       sha256 = "0dkwggl7d8drnd2msk3cniyi7ia58d7cwi1hb0zcqgc0p9br7lbn";
+       version = "0.1.1";
+       sha256 = "1qdb6ins7l0ryyrmg9j5pw428rlhkmzpbq5jqawfn01j8vf9yav5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -175775,7 +179792,6 @@ self: {
          aeson base exceptions http-types servant-server text warp
        ];
        homepage = "https://github.com/ch1bo/servant-exceptions#readme";
-       description = "Extensible exceptions for servant APIs";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -175849,26 +179865,28 @@ self: {
 
   "servant-github-webhook" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
-     , cryptonite, github, http-types, memory, servant, servant-server
-     , string-conversions, text, wai, warp
+     , cryptonite, github, github-webhooks, http-types, memory, servant
+     , servant-server, string-conversions, text, unordered-containers
+     , wai, warp
      }:
      mkDerivation {
        pname = "servant-github-webhook";
-       version = "0.3.2.1";
-       sha256 = "1yy5hnnj64wgafn60cj4ywwkwpzl506g0fsm9fcsyz4dr7irhpyf";
+       version = "0.4.0.0";
+       sha256 = "0j18bms75z2p746g5p7kqsn95c80ilrss4nmfhymn2rwgiimdhnr";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite github
-         http-types memory servant servant-server string-conversions text
-         wai
+         github-webhooks http-types memory servant servant-server
+         string-conversions text unordered-containers wai
        ];
        testHaskellDepends = [
-         aeson base bytestring servant-server wai warp
+         aeson base bytestring servant-server text wai warp
        ];
        homepage = "https://github.com/tsani/servant-github-webhook";
        description = "Servant combinators to facilitate writing GitHub webhooks";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+       broken = true;
+     }) {github-webhooks = null;};
 
   "servant-haxl-client" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
@@ -175976,8 +179994,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-kotlin";
-       version = "0.1.0.2";
-       sha256 = "0dwm9aia14hr2gblcak7vyh7jgs1mnfwqq131rxyygf9d11wpx41";
+       version = "0.1.0.3";
+       sha256 = "1idki7vf2yph8sndpl8r9a5cngix3163yxb73l5l5fm9a78pk5gd";
        libraryHaskellDepends = [
          base containers directory formatting lens servant servant-foreign
          text time wl-pprint-text
@@ -176057,8 +180075,8 @@ self: {
        pname = "servant-mock";
        version = "0.8.3";
        sha256 = "0fwkygv4rx98qys8apj7aby4xhssgzqdgsxmb6vh4ky71vjq0q5m";
-       revision = "1";
-       editedCabalFile = "11aaf3gj0j0c3sjcv55rx9184ryavv9nr8smpadrd8ldy43bfq33";
+       revision = "2";
+       editedCabalFile = "00dq310ik9nm20mxxr9d46jilp9h6k54f5mdl1ii2ggwy2mck1dm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176155,6 +180173,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "servant-pandoc_0_5_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, http-media
+     , lens, pandoc-types, servant-docs, string-conversions, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-pandoc";
+       version = "0.5.0.0";
+       sha256 = "0qq4ahwl8vc8xgmvbh8qac7751hizgdcbp43gc0kxfs7xpy0kmqj";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive http-media lens pandoc-types
+         servant-docs string-conversions text unordered-containers
+       ];
+       description = "Use Pandoc to render servant API documentation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-pool" = callPackage
     ({ mkDerivation, base, resource-pool, servant, time }:
      mkDerivation {
@@ -176196,8 +180232,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-proto-lens";
-       version = "0.1.0.1";
-       sha256 = "1sa3vkr4vd6lvclscb4ki7ph17pdvq8ka22gmymz0yr760nx398a";
+       version = "0.1.0.2";
+       sha256 = "1p97yp3x8lhdr9z33f0pdaxj1bqjqc36gs54j69laxfq2650v3nx";
        libraryHaskellDepends = [
          base bytestring http-media proto-lens servant
        ];
@@ -176387,8 +180423,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-ruby";
-       version = "0.5.0.0";
-       sha256 = "07rjrx5g41yz4wiax4z535zrdcyfvwpbjm81sdyskmkv44mv5g8z";
+       version = "0.5.1.0";
+       sha256 = "0j1q8yl1cz8lwij17zl13rk35r0qnk8ibh963qlcd35w83wms56j";
        libraryHaskellDepends = [ base casing lens servant-foreign text ];
        testHaskellDepends = [ base doctest QuickCheck ];
        homepage = "https://github.com/joneshf/servant-ruby#readme";
@@ -176690,6 +180726,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-websockets_1_1_0" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, conduit
+     , exceptions, resourcet, servant-server, text, wai, wai-websockets
+     , warp, websockets
+     }:
+     mkDerivation {
+       pname = "servant-websockets";
+       version = "1.1.0";
+       sha256 = "0l8a5zc6wiwdfxv2kirb7kxky4zwj71rcrrg1zh07gc3vf4lqf33";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring conduit exceptions resourcet
+         servant-server text wai wai-websockets warp websockets
+       ];
+       executableHaskellDepends = [
+         aeson base conduit servant-server text wai warp websockets
+       ];
+       homepage = "https://github.com/moesenle/servant-websockets#readme";
+       description = "Small library providing WebSocket endpoints for servant";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-yaml" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, http-media
      , servant, servant-server, wai, warp, yaml
@@ -176823,8 +180883,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.1.0";
-       sha256 = "0xml0rjsrxmh4mf8vl1z596s86whafklb7h741b1f98bqxj8l24q";
+       version = "0.4.0";
+       sha256 = "12nwj81hwlqmmr4d0vgi4a5gd2zcnndn5rhkx33b0cflfrqcwyp3";
        libraryHaskellDepends = [
          aeson aeson-casing amazonka-core amazonka-kinesis amazonka-s3 base
          bytestring lens text time unix unordered-containers
@@ -176917,8 +180977,8 @@ self: {
      }:
      mkDerivation {
        pname = "serversession-backend-redis";
-       version = "1.0.2";
-       sha256 = "05zrkdxsb86qb0zgjfk8swihfg0cs8kds51xvsqnny9yz216cx6p";
+       version = "1.0.3";
+       sha256 = "059nak15x4cbwmfbvfih6ndwa6i5jhcba22h9gz44f6s84vhljyf";
        libraryHaskellDepends = [
          base bytestring hedis path-pieces serversession tagged text time
          transformers unordered-containers
@@ -177097,8 +181157,8 @@ self: {
      }:
      mkDerivation {
        pname = "sessiontypes";
-       version = "0.1.1";
-       sha256 = "0l9chnnyq8mblxqyg89nlfa55cadwy62mj29arakrc988l6ja3gq";
+       version = "0.1.2";
+       sha256 = "1xjf3yjapz9ipjkqhm8fljgbj6fww3iyl1mx1kjwh18s6b9ymq5s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177118,8 +181178,8 @@ self: {
      }:
      mkDerivation {
        pname = "sessiontypes-distributed";
-       version = "0.1.0";
-       sha256 = "1q0y37iwjafcb70fv42hny44ay0bpzbvss48h10dahvsmzpqkk8a";
+       version = "0.1.1";
+       sha256 = "0fi263sdpshzjwc51h9rqgg0zj7f5a6igrfj9487lbdgaz1cb1ya";
        libraryHaskellDepends = [
          base binary bytestring distributed-process distributed-static
          exceptions rank1dynamic sessiontypes
@@ -177718,6 +181778,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "shake-ats" = callPackage
+    ({ mkDerivation, base, binary, directory, hs2ats, language-ats
+     , shake, shake-ext, text
+     }:
+     mkDerivation {
+       pname = "shake-ats";
+       version = "1.1.0.2";
+       sha256 = "0k15mpd72mmlnshgm2df042kqwzgk49ylf5rb99sdb9sjn0yrdbm";
+       libraryHaskellDepends = [
+         base binary directory hs2ats language-ats shake shake-ext text
+       ];
+       homepage = "https://github.com/vmchale/shake-ats#readme";
+       description = "Utilities for building ATS projects with shake";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "shake-cabal-build" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, process }:
      mkDerivation {
@@ -177735,6 +181811,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shake-ext" = callPackage
+    ({ mkDerivation, base, Cabal, composition-prelude, directory
+     , language-ats, mtl, shake, text
+     }:
+     mkDerivation {
+       pname = "shake-ext";
+       version = "2.1.0.2";
+       sha256 = "0ii1l76ms3b2c6pgclrgpfgpjsmxw5ax9gi7g60jyby9s5cgbgmc";
+       libraryHaskellDepends = [
+         base Cabal composition-prelude directory language-ats mtl shake
+         text
+       ];
+       homepage = "https://hub.darcs.net/vmchale/shake-ext";
+       description = "Helper functions for linting with shake";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "shake-extras" = callPackage
     ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
      , shake
@@ -177803,8 +181896,8 @@ self: {
     ({ mkDerivation, base, path, path-io, shake }:
      mkDerivation {
        pname = "shake-path";
-       version = "0.0.0.0";
-       sha256 = "0cqsfvm9hsyyglifc1s7c76yi15wj13hh735lfjkg9ljiqv90qpb";
+       version = "0.0.0.1";
+       sha256 = "0sjw0hcs6i9c8vfirrk90y5xd3cf0f9c0wa2p5pqimc5wfid9plk";
        libraryHaskellDepends = [ base path path-io shake ];
        homepage = "http://cs-syd.eu";
        description = "path alternatives to shake functions";
@@ -177867,8 +181960,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakers";
-       version = "0.0.38";
-       sha256 = "08wnf9cv4qsrnx2m3l1nfh74q6i14ng2js4h7gj3z5dv1ki3xwm9";
+       version = "0.0.40";
+       sha256 = "0jlihrgg0c2ksbj2dkzsp6c83m66dxdsy3993xpa018idjsm3cf9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178290,10 +182383,8 @@ self: {
      }:
      mkDerivation {
        pname = "shelltestrunner";
-       version = "1.3.5";
-       sha256 = "0ad8sc4md8mp0l0s40yx7qbgaabqzd4nz8lx15ajcdbwr2ffnra2";
-       revision = "2";
-       editedCabalFile = "1d72n8k72w2mdi3y9s74ydlwxj407mc237albx6zx42lsjx1fw34";
+       version = "1.9";
+       sha256 = "1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -178301,23 +182392,23 @@ self: {
          pretty-show process regex-tdfa safe test-framework
          test-framework-hunit utf8-string
        ];
-       homepage = "http://joyful.com/shelltestrunner";
-       description = "A tool for testing command-line programs";
+       homepage = "https://github.com/simonmichael/shelltestrunner";
+       description = "Easy, repeatable testing of CLI programs/commands";
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shelly" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
-     , enclosed-exceptions, exceptions, hspec, HUnit, lifted-async
-     , lifted-base, monad-control, mtl, process, system-fileio
-     , system-filepath, text, time, transformers, transformers-base
-     , unix-compat
+     , enclosed-exceptions, exceptions, filepath, hspec, HUnit
+     , lifted-async, lifted-base, monad-control, mtl, process
+     , system-fileio, system-filepath, text, time, transformers
+     , transformers-base, unix-compat
      }:
      mkDerivation {
        pname = "shelly";
-       version = "1.7.0";
-       sha256 = "0jscygg381hzb4mjknrwsfw0q3j4sf1w4qrz1mf4k38794axx21q";
+       version = "1.7.0.1";
+       sha256 = "0a4ngy8jqcscqhimgiyz7f9kqm23is7x7gyjxr0j6iq1dy57ahq3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178328,9 +182419,9 @@ self: {
        ];
        testHaskellDepends = [
          async base bytestring containers directory enclosed-exceptions
-         exceptions hspec HUnit lifted-async lifted-base monad-control mtl
-         process system-fileio system-filepath text time transformers
-         transformers-base unix-compat
+         exceptions filepath hspec HUnit lifted-async lifted-base
+         monad-control mtl process system-fileio system-filepath text time
+         transformers transformers-base unix-compat
        ];
        homepage = "https://github.com/yesodweb/Shelly.hs";
        description = "shell-like (systems) programming in Haskell";
@@ -178401,8 +182492,8 @@ self: {
      }:
      mkDerivation {
        pname = "shikensu";
-       version = "0.3.7";
-       sha256 = "1gi1l8rs093s2jxyqwpg7yjbyjc9km87hdxai2j832viwrd828b5";
+       version = "0.3.8";
+       sha256 = "0sji1lw1ma8js9kylixn694108nv74g8qpbfd198fwqvcqx5jhwh";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath flow Glob text
          unordered-containers
@@ -178432,6 +182523,7 @@ self: {
        homepage = "https://github.com/fgaz/shine";
        description = "Declarative graphics for the browser using GHCJS";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghcjs-prim = null;};
 
@@ -178578,12 +182670,16 @@ self: {
      }) {};
 
   "show-please" = callPackage
-    ({ mkDerivation, base, mtl, parsec, template-haskell, time }:
+    ({ mkDerivation, base, mtl, parsec, template-haskell, th-orphans
+     , time
+     }:
      mkDerivation {
        pname = "show-please";
-       version = "0.4.2";
-       sha256 = "16frhvbq395p3n54r5iv0xfjlj679gjm4sgsdbawanp9h1yhiwnl";
-       libraryHaskellDepends = [ base mtl parsec template-haskell time ];
+       version = "0.5.4";
+       sha256 = "0rb6mpbr1qz80zgs4r92ckp28afzlcz9l988y20xhfrvq3bikzkx";
+       libraryHaskellDepends = [
+         base mtl parsec template-haskell th-orphans time
+       ];
        homepage = "https://github.com/ddssff/show-please";
        description = "A wrapper type V with improved Show instances";
        license = stdenv.lib.licenses.bsd3;
@@ -178846,6 +182942,7 @@ self: {
        homepage = "http://code.haskell.org/~bkomuves/";
        description = "Thom polynomials of second order Thom-Boardman singularities";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sign" = callPackage
@@ -178927,18 +183024,20 @@ self: {
      }) {};
 
   "silvi" = callPackage
-    ({ mkDerivation, base, bytestring, chronos, http-types, ip
-     , quantification, savage, text
+    ({ mkDerivation, attoparsec, base, bytestring, chronos, http-types
+     , ip, quantification, savage, text
      }:
      mkDerivation {
        pname = "silvi";
-       version = "0.0.4";
-       sha256 = "18dc13g0w3y0v8s44vif2w302inbha57cz9ijjzr3s4maq6czw1a";
+       version = "0.1.0";
+       sha256 = "1sgx40fmlf3188j4bl647f8psvpf7xfbzzzilgicg3w49dwxxq2q";
        libraryHaskellDepends = [
-         base bytestring chronos http-types ip quantification savage text
+         attoparsec base bytestring chronos http-types ip quantification
+         savage text
        ];
+       testHaskellDepends = [ base quantification savage text ];
        homepage = "https://github.com/chessai/silvi#readme";
-       description = "A generator for different kinds of logs";
+       description = "A generator for different kinds of data";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -179523,6 +183622,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "simple-sendfile_0_2_27" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , directory, hspec, HUnit, network, process, resourcet, unix
+     }:
+     mkDerivation {
+       pname = "simple-sendfile";
+       version = "0.2.27";
+       sha256 = "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn";
+       libraryHaskellDepends = [ base bytestring network unix ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-extra directory hspec HUnit network
+         process resourcet unix
+       ];
+       description = "Cross platform library for the sendfile system call";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "simple-server" = callPackage
     ({ mkDerivation, base, bytestring, concurrent-extra, containers
      , hashtables, network, time, unbounded-delays
@@ -180007,8 +184124,8 @@ self: {
     ({ mkDerivation, base, singletons }:
      mkDerivation {
        pname = "singleton-nats";
-       version = "0.4.0.3";
-       sha256 = "150pfyfgyvksx600c9c7pyw154dvjgfiykas3wxfzkm3l9mhg32v";
+       version = "0.4.0.4";
+       sha256 = "1cizvqiv1hw7an2c2k1mbj9089n6rrggyf5pv2pcl7knpy07hph4";
        libraryHaskellDepends = [ base singletons ];
        homepage = "https://github.com/AndrasKovacs/singleton-nats";
        description = "Unary natural numbers relying on the singletons infrastructure";
@@ -180148,8 +184265,8 @@ self: {
      }:
      mkDerivation {
        pname = "siren-json";
-       version = "0.1.3.0";
-       sha256 = "1dhza76kvifjsi6cznvy61r6pv7vbaqc7xk5ygd1lw1kw6ksmq9s";
+       version = "0.1.3.1";
+       sha256 = "1chwf9kldwf039qad55la4yh13wjax64g0pi99hw2b46x7dx4qm1";
        libraryHaskellDepends = [
          aeson base bytestring containers http-media http-types network-uri
          network-uri-json text unordered-containers
@@ -180164,7 +184281,7 @@ self: {
        homepage = "https://github.com/alunduil/siren-json.hs";
        description = "Siren Tools for Haskell";
        license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ alunduil ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sirkel" = callPackage
@@ -180504,14 +184621,14 @@ self: {
   "skylighting" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
      , blaze-html, bytestring, case-insensitive, containers, criterion
-     , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show, random
-     , regex-pcre-builtin, safe, tasty, tasty-golden, tasty-hunit, text
-     , utf8-string
+     , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show
+     , QuickCheck, random, regex-pcre-builtin, safe, tasty, tasty-golden
+     , tasty-hunit, tasty-quickcheck, text, utf8-string
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.5.0.1";
-       sha256 = "1jq61wdb83by5qkyfjp9bda2651ddnbskldc4cisr2xm4qjds1ap";
+       version = "0.5.1";
+       sha256 = "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -180526,7 +184643,8 @@ self: {
        ];
        testHaskellDepends = [
          aeson base bytestring containers Diff directory filepath HUnit
-         pretty-show random tasty tasty-golden tasty-hunit text
+         pretty-show QuickCheck random tasty tasty-golden tasty-hunit
+         tasty-quickcheck text
        ];
        benchmarkHaskellDepends = [
          base containers criterion directory filepath text
@@ -180536,28 +184654,29 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_5_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
-     , blaze-html, bytestring, case-insensitive, containers, criterion
-     , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show
-     , QuickCheck, random, regex-pcre-builtin, safe, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, text, utf8-string
+  "skylighting_0_6" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
+     , base64-bytestring, binary, blaze-html, bytestring
+     , case-insensitive, colour, containers, criterion, Diff, directory
+     , filepath, HUnit, hxt, mtl, pretty-show, QuickCheck, random
+     , regex-pcre-builtin, safe, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, text, utf8-string
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.5.1";
-       sha256 = "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg";
+       version = "0.6";
+       sha256 = "1027rcj6zqmnwm6is5k5v28r8af8bsf6i36dwi128h5g92pg206f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring binary blaze-html
-         bytestring case-insensitive containers directory filepath hxt mtl
-         regex-pcre-builtin safe text utf8-string
+         aeson ansi-terminal attoparsec base base64-bytestring binary
+         blaze-html bytestring case-insensitive colour containers directory
+         filepath hxt mtl regex-pcre-builtin safe text utf8-string
        ];
        executableHaskellDepends = [
-         aeson base base64-bytestring binary blaze-html bytestring
-         case-insensitive containers directory filepath hxt pretty-show
-         regex-pcre-builtin safe text utf8-string
+         aeson ansi-terminal base base64-bytestring binary blaze-html
+         bytestring case-insensitive colour containers directory filepath
+         hxt pretty-show regex-pcre-builtin safe text utf8-string
        ];
        testHaskellDepends = [
          aeson base bytestring containers Diff directory filepath HUnit
@@ -180610,6 +184729,7 @@ self: {
        homepage = "https://github.com/jdevelop/skypelogexport/wiki";
        description = "Export Skype chat logs to text files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {ghc-binary = null;};
 
@@ -180943,8 +185063,8 @@ self: {
      }:
      mkDerivation {
        pname = "smallcaps";
-       version = "0.6.0.4";
-       sha256 = "1lw5zzfpizwrbpm981xr7sx1ac7iwkhwp541g276sszq927ls8n5";
+       version = "0.6.0.5";
+       sha256 = "06cqknha64gmf3rjjmcr3358fd5rii6xlgph5fvan0h25cnlk7nw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181422,19 +185542,17 @@ self: {
   "snap" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring, cereal
      , clientsession, configurator, containers, deepseq, directory
-     , directory-tree, dlist, filepath, Glob, hashable, heist
-     , http-streams, HUnit, lens, lifted-base, map-syntax, monad-control
-     , mtl, mwc-random, pwstore-fast, QuickCheck, smallcheck, snap-core
+     , directory-tree, dlist, filepath, hashable, heist, http-streams
+     , HUnit, lens, lifted-base, map-syntax, monad-control, mtl
+     , mwc-random, pwstore-fast, QuickCheck, smallcheck, snap-core
      , snap-server, stm, syb, test-framework, test-framework-hunit
      , test-framework-quickcheck2, test-framework-smallcheck, text, time
      , transformers, transformers-base, unordered-containers, xmlhtml
      }:
      mkDerivation {
        pname = "snap";
-       version = "1.0.0.2";
-       sha256 = "0jx2prq0lxq9jqxqk8f059lwjm2yqxzwb9lx6iviq57flx4zxyqq";
-       revision = "1";
-       editedCabalFile = "1df44l26sxfk2qprs2vcfigzyzkxxwxi8siaaikbvmjzyjm0mby1";
+       version = "1.1.0.0";
+       sha256 = "166ilpc4dd4020mmqn2lrfs3j5dl4a2mvqag1sz4mx7jcndrjbc8";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal clientsession configurator
          containers directory directory-tree dlist filepath hashable heist
@@ -181445,7 +185563,7 @@ self: {
        testHaskellDepends = [
          aeson async attoparsec base bytestring cereal clientsession
          configurator containers deepseq directory directory-tree dlist
-         filepath Glob hashable heist http-streams HUnit lens lifted-base
+         filepath hashable heist http-streams HUnit lens lifted-base
          map-syntax monad-control mtl mwc-random pwstore-fast QuickCheck
          smallcheck snap-core snap-server stm syb test-framework
          test-framework-hunit test-framework-quickcheck2
@@ -181645,8 +185763,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-extras";
-       version = "0.12.1.0";
-       sha256 = "1lkdva37dcg6zvy02v65qi8pwzia7wai0ny744jdr659lmninn4g";
+       version = "0.12.1.1";
+       sha256 = "0x5j5d4g605i2pnkaryy1d7pxikdwz2pmns7lp9sliii7h6yq2n6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -181774,8 +185892,8 @@ self: {
        pname = "snap-server";
        version = "1.0.3.3";
        sha256 = "1vjfpgcl09l974mdsvgxdlqcl68xmn33z1scx3sfyvcnz32xnnkl";
-       revision = "1";
-       editedCabalFile = "1laqh4q98ia8l7znhsv4vpx04rb9sdb9dgycx4aychfrb0fbb3pc";
+       revision = "2";
+       editedCabalFile = "1nb3jxr7sgw2r305k6bbbyyx8myxm3r01a8zhvxdkz4xvv9907d0";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -182308,21 +186426,21 @@ self: {
 
   "snaplet-persistent" = callPackage
     ({ mkDerivation, base, bytestring, clientsession, configurator
-     , errors, heist, lens, monad-logger, MonadCatchIO-transformers, mtl
-     , persistent, persistent-postgresql, persistent-template, readable
+     , errors, heist, lens, map-syntax, monad-logger, mtl, persistent
+     , persistent-postgresql, persistent-template, readable
      , resource-pool, resourcet, safe, snap, text, time, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "snaplet-persistent";
-       version = "0.5";
-       sha256 = "1zbxknmsg9q6jwbxr4nh8nkfgkjmxb7pr2wwqa7rgr0wvh8ipx5k";
+       version = "0.5.1";
+       sha256 = "00p5f1xysv618yd4s9zw66zfjpa1gx7nld5k9ysm8vrd0haa4v5r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring clientsession configurator errors heist lens
-         monad-logger MonadCatchIO-transformers mtl persistent
-         persistent-postgresql persistent-template readable resource-pool
-         resourcet safe snap text time transformers unordered-containers
+         map-syntax monad-logger mtl persistent persistent-postgresql
+         persistent-template readable resource-pool resourcet safe snap text
+         time transformers unordered-containers
        ];
        homepage = "https://github.com/soostone/snaplet-persistent";
        description = "persistent snaplet for the Snap Framework";
@@ -183027,8 +187145,8 @@ self: {
        pname = "soap";
        version = "0.2.3.5";
        sha256 = "01xprcrgy0galalh27by3csbm8m2m9dxlw3y83s4qnassv8zf2xs";
-       revision = "1";
-       editedCabalFile = "0ki4g5520i7bam1gmammbb0nh8ibmjskqfv7kw2qjzzg4i9q3x95";
+       revision = "2";
+       editedCabalFile = "07283pa4n5mf908zl3az9gy95y49zk65kiwyymsmcz5nvhqvp840";
        libraryHaskellDepends = [
          base bytestring conduit configurator data-default exceptions
          http-client http-types iconv mtl resourcet text
@@ -183748,8 +187866,8 @@ self: {
      }:
      mkDerivation {
        pname = "spake2";
-       version = "0.4.0";
-       sha256 = "109hvcphd2rvqls84ahs6yy9k58yhh4f0zgqc4c78a6nz4709hdp";
+       version = "0.4.2";
+       sha256 = "02zvlh7pva2d2k56n3070wdp4chv6avhwzn7mg2zax1mzswd21r4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -183815,6 +187933,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sparql-protocol" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, exceptions
+     , http-client, lens, text, wreq
+     }:
+     mkDerivation {
+       pname = "sparql-protocol";
+       version = "1.1.0.0";
+       sha256 = "0nzgficvcbidxgsga106kgzwavf92qb75b6cd49fbp0fmw02krj7";
+       libraryHaskellDepends = [
+         aeson base bytestring containers exceptions http-client lens text
+         wreq
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/ardamose123/sparql-protocol";
+       description = "An SPARQL 1.1 Protocol client library.";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "sparse" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, contravariant
      , criterion, deepseq, directory, doctest, filepath, hlint
@@ -183947,8 +188083,8 @@ self: {
      }:
      mkDerivation {
        pname = "spatial-math";
-       version = "0.4.0.0";
-       sha256 = "1qy5hk2zbjzwgdhl9n0q8p3jlrv2njxm5qflnylawl6ack7rwjz5";
+       version = "0.5.0.0";
+       sha256 = "0hkvpr9l5x7gjwzskr0ci62mr3mzg0yfdbvdsjwrn37201cajmg2";
        libraryHaskellDepends = [
          base binary cereal ghc-prim lens linear TypeCompose
        ];
@@ -184424,8 +188560,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "split";
-       version = "0.2.3.2";
-       sha256 = "0fmnkvq1ky4dgyh1z2mvdal5pw103irvkf4p9d5x8wyl1nnylhs9";
+       version = "0.2.3.3";
+       sha256 = "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Combinator library for splitting lists";
@@ -184649,6 +188785,7 @@ self: {
        homepage = "https://bitbucket.org/tdammers/sprinkles";
        description = "JSON API to HTML website wrapper";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {pandoc-creole = null;};
 
@@ -185061,13 +189198,13 @@ self: {
      }) {};
 
   "squeeze" = callPackage
-    ({ mkDerivation, base, Cabal, data-default, directory, factory
-     , filepath, mtl, QuickCheck, random, toolshed
+    ({ mkDerivation, base, Cabal, data-default, directory, extra
+     , factory, filepath, mtl, QuickCheck, random, toolshed
      }:
      mkDerivation {
        pname = "squeeze";
-       version = "1.0.4.13";
-       sha256 = "0s6qkfkm8vxqc3vwgzdhayalyrdgbybxw5p1imvsgn409i7vhiyd";
+       version = "1.0.4.16";
+       sha256 = "0ywlxh7988i87qxpmja79a98ri9myzk4648d2j3aihsfdm34w2cr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185076,7 +189213,9 @@ self: {
        executableHaskellDepends = [
          base Cabal data-default factory filepath mtl random toolshed
        ];
-       testHaskellDepends = [ base factory QuickCheck toolshed ];
+       testHaskellDepends = [
+         base Cabal extra factory QuickCheck toolshed
+       ];
        homepage = "http://functionalley.eu/Squeeze/squeeze.html";
        description = "A file-packing application";
        license = "GPL";
@@ -185467,6 +189606,8 @@ self: {
        pname = "stache";
        version = "1.2.1";
        sha256 = "0fqipjyin2hpklm0gaab4qhcfj9gzkpb2g948sqzf1n6alkxvyvb";
+       revision = "1";
+       editedCabalFile = "18h31a8bd7v96lc9q0ai7sblnxg3y55s1053jqdixi3y7lz3jh79";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
@@ -185508,8 +189649,8 @@ self: {
        pname = "stack";
        version = "1.6.3";
        sha256 = "0ylika6qf7agj07wh47xjirhg74l63lx80q0xm41yd9g5ssk9cbj";
-       revision = "2";
-       editedCabalFile = "01kpvjg6a71yf1l4mlm292wr75vhgjvkkqzxkycimdjnn4j89bds";
+       revision = "3";
+       editedCabalFile = "0sqhg84iyh8rmsls5lgk0and68rxkp6m4668z42y5zzy810xgd4i";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -185633,6 +189774,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "stack-lib" = callPackage
+    ({ mkDerivation, base, monad-logger, path, stack, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "stack-lib";
+       version = "0.1.0.0";
+       sha256 = "0fb7svqqp2p3q3a2w5nkxxlqk3v3lmkhrdhfk8cfkkwjz2gpb4bf";
+       libraryHaskellDepends = [
+         base monad-logger path stack time transformers
+       ];
+       homepage = "https://github.com/clintonmead/stack-lib#readme";
+       description = "Wrapper to use stack as a library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "stack-prism" = callPackage
     ({ mkDerivation, base, profunctors, tagged, template-haskell
      , transformers
@@ -186071,8 +190228,8 @@ self: {
      }:
      mkDerivation {
        pname = "stackage2nix";
-       version = "0.4.0";
-       sha256 = "0qj8v7kdyqsgm518gfrpdsvv7njwzrg2lm3k6cwd3lh50l9vsgcd";
+       version = "0.5.0";
+       sha256 = "0nqn2sbzig6n3jdzzi8p8kpfmd8npawn448aw9x7zixxav10xz9x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186111,8 +190268,8 @@ self: {
      }:
      mkDerivation {
        pname = "stagen";
-       version = "0.0.0";
-       sha256 = "17hvijrkc0lczppp8c73n8drjghn7mmwhdai0m4rilga3vminw7r";
+       version = "0.1.0";
+       sha256 = "0cd0639ms4vcdvjvhn8l0893d5nv51kzg3ky0xd9bnmjr8f0wpzm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186318,8 +190475,10 @@ self: {
      }:
      mkDerivation {
        pname = "stateWriter";
-       version = "0.2.9";
-       sha256 = "0kvkf3lh60sz0nfscjd6skr52b11mh7wk4ls64z5hmdjr4cnjgmm";
+       version = "0.2.10";
+       sha256 = "0g1r7zn1ahky9wmqbimjryca3hkylx15xpqwhc42gkyf7h7kq2b8";
+       revision = "1";
+       editedCabalFile = "19zp7wy2k6f5dqw0wfj9wzarjgfr20nvw5rmqiv79h66qssjl9i6";
        libraryHaskellDepends = [ base mtl transformers ];
        testHaskellDepends = [ base free hspec mtl QuickCheck ];
        benchmarkHaskellDepends = [
@@ -186392,6 +190551,7 @@ self: {
        libraryHaskellDepends = [ applicative base transformers ];
        description = "The ST monad and STRefs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {applicative = null;};
 
@@ -186425,6 +190585,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "static-closure" = callPackage
+    ({ mkDerivation, base, binary, bytestring, constraints, containers
+     , ghc-instances, template-haskell
+     }:
+     mkDerivation {
+       pname = "static-closure";
+       version = "0.1.0.0";
+       sha256 = "16cjjyn51wsv3ngc8fbivlshnjp085xxxnv0snyywyxpna1nn79d";
+       libraryHaskellDepends = [
+         base binary bytestring constraints containers ghc-instances
+         template-haskell
+       ];
+       homepage = "https://github.com/clintonmead/static-closure#readme";
+       description = "Serialisable static pointers to functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "static-hash" = callPackage
     ({ mkDerivation, array, base, containers, hashable, primes }:
      mkDerivation {
@@ -186947,6 +191124,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "stm_2_4_5_0" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "stm";
+       version = "2.4.5.0";
+       sha256 = "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri";
+       libraryHaskellDepends = [ array base ];
+       homepage = "https://wiki.haskell.org/Software_transactional_memory";
+       description = "Software Transactional Memory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stm-channelize" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -187581,6 +191771,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "stratosphere_0_15_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hashable
+     , hspec, hspec-discover, lens, template-haskell, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "stratosphere";
+       version = "0.15.1";
+       sha256 = "13221ynzcaj6hilvbcllnjf1ixv6zmsp7jnhp1ishmj42z5qarbl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring hashable lens template-haskell
+         text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring hashable lens template-haskell
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring hashable hspec hspec-discover
+         lens template-haskell text unordered-containers
+       ];
+       homepage = "https://github.com/frontrowed/stratosphere#readme";
+       description = "EDSL for AWS CloudFormation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stratum-tool" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, bytestring-builder
      , cmdargs, connection, containers, curl, curl-aeson, network, stm
@@ -187822,8 +192041,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-cassava";
-       version = "0.1.0.0";
-       sha256 = "17swzhq069rr041l33bwa5ybx1j6w9lvh3l3xs40m842njli2bac";
+       version = "0.1.0.1";
+       sha256 = "0dr58azgyw7ihxrabva7fh0yafq2kx12yvap4jl6ljnlwvcapa5i";
        libraryHaskellDepends = [
          base bytestring cassava mtl streaming streaming-bytestring
          transformers
@@ -187862,6 +192081,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "streaming-commons_0_1_19" = callPackage
+    ({ mkDerivation, array, async, base, blaze-builder, bytestring
+     , deepseq, directory, gauge, hspec, network, process, QuickCheck
+     , random, stm, text, transformers, unix, zlib
+     }:
+     mkDerivation {
+       pname = "streaming-commons";
+       version = "0.1.19";
+       sha256 = "19qp8bnnfs31jk08991lmj3dywbjxh9iydriifbdjj2mvy8axz23";
+       libraryHaskellDepends = [
+         array async base blaze-builder bytestring directory network process
+         random stm text transformers unix zlib
+       ];
+       testHaskellDepends = [
+         array async base blaze-builder bytestring deepseq hspec network
+         QuickCheck text unix zlib
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-builder bytestring deepseq gauge text
+       ];
+       homepage = "https://github.com/fpco/streaming-commons";
+       description = "Common lower-level functions needed by various streaming data libraries";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streaming-concurrency" = callPackage
     ({ mkDerivation, base, exceptions, hspec, lifted-async
      , monad-control, QuickCheck, quickcheck-instances, stm, streaming
@@ -188209,6 +192454,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "strict-base-types_0_6_0" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, binary, deepseq, ghc-prim
+     , hashable, lens, QuickCheck, strict
+     }:
+     mkDerivation {
+       pname = "strict-base-types";
+       version = "0.6.0";
+       sha256 = "01i8v4l47xp5f4i9czlwg1kk4lvnfmxhgqlcnacirrp0pfjmrq7p";
+       libraryHaskellDepends = [
+         aeson base bifunctors binary deepseq ghc-prim hashable lens
+         QuickCheck strict
+       ];
+       homepage = "https://github.com/meiersi/strict-base-types";
+       description = "Strict variants of the types provided in base";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "strict-concurrency" = callPackage
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
@@ -188423,6 +192686,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-isos" = callPackage
+    ({ mkDerivation, base, bytestring, mono-traversable, safe, text
+     , type-iso
+     }:
+     mkDerivation {
+       pname = "string-isos";
+       version = "0.1.0.1";
+       sha256 = "0sjla0l2pgc2bz1f0hlaxpzjl6ngpxca7l5x7mfsqi0grs8g4jqw";
+       libraryHaskellDepends = [
+         base bytestring mono-traversable safe text type-iso
+       ];
+       description = "Tools for working with isomorphisms of strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "string-qq" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -188665,6 +192943,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "stripe-core_2_3_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, mtl, text, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "stripe-core";
+       version = "2.3.0";
+       sha256 = "08656c3s9326kgppwiys7whil47yw6qibjzmivjzykh6858j0kfm";
+       libraryHaskellDepends = [
+         aeson base bytestring mtl text time transformers
+         unordered-containers
+       ];
+       homepage = "https://github.com/dmjio/stripe-haskell";
+       description = "Stripe API for Haskell - Pure Core";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stripe-haskell" = callPackage
     ({ mkDerivation, base, stripe-core, stripe-http-streams }:
      mkDerivation {
@@ -188677,6 +192973,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "stripe-haskell_2_3_0" = callPackage
+    ({ mkDerivation, base, stripe-core, stripe-http-streams }:
+     mkDerivation {
+       pname = "stripe-haskell";
+       version = "2.3.0";
+       sha256 = "18358axxx2rkv06bh1n48hsx3bh3bj4h3xx1ma3hvv68l9cprwsm";
+       libraryHaskellDepends = [ base stripe-core stripe-http-streams ];
+       homepage = "https://github.com/dmjio/stripe";
+       description = "Stripe API for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stripe-http-streams" = callPackage
     ({ mkDerivation, aeson, base, bytestring, free, HsOpenSSL, hspec
      , http-streams, io-streams, stripe-core, stripe-tests, text
@@ -188697,6 +193006,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "stripe-http-streams_2_3_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, free, HsOpenSSL, hspec
+     , http-streams, io-streams, stripe-core, stripe-tests, text
+     }:
+     mkDerivation {
+       pname = "stripe-http-streams";
+       version = "2.3.0";
+       sha256 = "0nn244ghmyibdrvzfz9k8skhsfh47sh8g34v1c63rkswqb4wpnsp";
+       libraryHaskellDepends = [
+         aeson base bytestring HsOpenSSL http-streams io-streams stripe-core
+         text
+       ];
+       testHaskellDepends = [
+         base free HsOpenSSL hspec http-streams stripe-core stripe-tests
+       ];
+       doCheck = false;
+       description = "Stripe API for Haskell - http-streams backend";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stripe-tests" = callPackage
     ({ mkDerivation, aeson, base, bytestring, free, hspec, hspec-core
      , mtl, random, stripe-core, text, time, transformers
@@ -188715,6 +193045,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "stripe-tests_2_3_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, free, hspec, hspec-core
+     , mtl, random, stripe-core, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "stripe-tests";
+       version = "2.3.0";
+       sha256 = "14j0zvnrl0s2br0vwpm105wscdyddan62iqwrf0fg8c4mj6kpfrw";
+       libraryHaskellDepends = [
+         aeson base bytestring free hspec hspec-core mtl random stripe-core
+         text time transformers unordered-containers
+       ];
+       homepage = "https://github.com/dmjio/stripe-haskell";
+       description = "Tests for Stripe API bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "strips" = callPackage
     ({ mkDerivation, base, containers, hspec, mtl }:
      mkDerivation {
@@ -188749,15 +193098,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "strive_5_0_0" = callPackage
+  "strive_5_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
      , http-client, http-client-tls, http-types, markdown-unlit
      , template-haskell, text, time, transformers
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.0";
-       sha256 = "1ywzn3vg47w36777ha0w2gx64kfnw2mdj9b9w60q3d6pl052lxq0";
+       version = "5.0.2";
+       sha256 = "1dx93rda40nv87amgk885bg4dn96qhmnq4mmfiqwb09mp6g1a0m5";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
@@ -189214,15 +193563,16 @@ self: {
      }) {};
 
   "substring-parser" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, hspec, NoTrace, text
+    ({ mkDerivation, attoparsec, base, dlist, hspec, NoTrace
+     , QuickCheck, text
      }:
      mkDerivation {
        pname = "substring-parser";
-       version = "0.3.0.0";
-       sha256 = "0yfdrmadsra7692zsqm2cnmx0hr2lrkx0swvhk3gw3666453x84j";
-       libraryHaskellDepends = [ attoparsec base NoTrace text ];
+       version = "0.4.0.0";
+       sha256 = "0xi3yjgp87515g99qxnhjkcr2ddqc0b6rz0whg2zsi00z1sb6wc3";
+       libraryHaskellDepends = [ attoparsec base dlist NoTrace text ];
        testHaskellDepends = [
-         attoparsec base containers hspec NoTrace text
+         attoparsec base hspec NoTrace QuickCheck text
        ];
        homepage = "https://gitlab.com/igrep/substring-parser";
        description = "Match / replace substrings with a parser combinators";
@@ -189953,8 +194303,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger-petstore";
-       version = "0.0.1.6";
-       sha256 = "0whvh1b2s6jzr885avakswrcriv8hs4x36gdx22hg0fj77dh3b5q";
+       version = "0.0.1.7";
+       sha256 = "07p2hd35wg5g1r3lmhffvjch5vy6idmhdv21k1g8v3131apgjpxy";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq exceptions http-api-data http-client http-client-tls
@@ -189971,7 +194321,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "swagger-petstore_0_0_1_7" = callPackage
+  "swagger-petstore_0_0_1_8" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, containers, deepseq, exceptions, hspec
      , http-api-data, http-client, http-client-tls, http-media
@@ -189981,8 +194331,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger-petstore";
-       version = "0.0.1.7";
-       sha256 = "07p2hd35wg5g1r3lmhffvjch5vy6idmhdv21k1g8v3131apgjpxy";
+       version = "0.0.1.8";
+       sha256 = "1rslv21lg7jfc6vb8yyb6kkg3cma2300h4hld3m8zwfxgzcq79h7";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq exceptions http-api-data http-client http-client-tls
@@ -190580,6 +194930,7 @@ self: {
        homepage = "http://github.com/brentlintner/synt";
        description = "Similar code analysis";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {Synt = null;};
 
@@ -190912,6 +195263,7 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
        description = "Audio signal processing with dynamic physical dimensions";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {UniqueLogicNP = null;};
 
@@ -191110,8 +195462,8 @@ self: {
      }:
      mkDerivation {
        pname = "system-filepath";
-       version = "0.4.13.4";
-       sha256 = "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l";
+       version = "0.4.14";
+       sha256 = "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn";
        libraryHaskellDepends = [ base bytestring deepseq text ];
        testHaskellDepends = [
          base bytestring chell chell-quickcheck QuickCheck text
@@ -191137,8 +195489,8 @@ self: {
     ({ mkDerivation, attoparsec, base, process, text }:
      mkDerivation {
        pname = "system-info";
-       version = "0.1.0.10";
-       sha256 = "164f8x4npp5pywplpz7x7q2qrmc7fc2hlqxm8zw083402sw668m7";
+       version = "0.1.0.13";
+       sha256 = "0ym1j9bjjv7aa3v1zqklljfyq19agv3imghglfii0qk7mrlyya9d";
        libraryHaskellDepends = [ attoparsec base process text ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/ChaosGroup/system-info";
@@ -191304,6 +195656,7 @@ self: {
        homepage = "https://github.com/jcristovao/system-util";
        description = "Various system utils lifted to EitherT";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {easy-data = null;};
 
@@ -191743,8 +196096,8 @@ self: {
        pname = "tagged";
        version = "0.8.5";
        sha256 = "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74";
-       revision = "1";
-       editedCabalFile = "15mqdimbgrq5brqljjl7dbxkyrxppap06q53cp7ml7w3l08v5mx8";
+       revision = "2";
+       editedCabalFile = "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers transformers-compat
        ];
@@ -191985,12 +196338,11 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup";
-       version = "0.14.2";
-       sha256 = "1j7gliwn4x6i25zlhc8f704pbc96ddn9gb9czq3a4m0k1sfpm3w8";
+       version = "0.14.3";
+       sha256 = "00j2rm2sx0syn16kg2402fz4k8yqfl9knmi367jsiycds1q9zzf9";
        libraryHaskellDepends = [ base bytestring containers text ];
        testHaskellDepends = [
-         base bytestring containers deepseq directory process QuickCheck
-         text time
+         base bytestring deepseq directory process QuickCheck time
        ];
        homepage = "https://github.com/ndmitchell/tagsoup#readme";
        description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
@@ -192390,6 +196742,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tar-conduit_0_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , containers, criterion, deepseq, directory, filepath, hspec, unix
+     , weigh
+     }:
+     mkDerivation {
+       pname = "tar-conduit";
+       version = "0.2.1";
+       sha256 = "09mpkr05f6vwhrk3r8fafs8rsgc10dkkgws356ciy3rz9y8xfjw2";
+       libraryHaskellDepends = [
+         base bytestring conduit-combinators directory filepath unix
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators containers deepseq
+         directory filepath hspec weigh
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring conduit conduit-combinators containers criterion
+         deepseq directory filepath hspec
+       ];
+       homepage = "https://github.com/snoyberg/tar-conduit#readme";
+       description = "Extract and create tar files using conduit for streaming";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tardis" = callPackage
     ({ mkDerivation, base, mmorph, mtl }:
      mkDerivation {
@@ -192561,15 +196939,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty_1_0" = callPackage
+  "tasty_1_0_0_1" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, clock, containers
      , deepseq, mtl, optparse-applicative, stm, tagged, unbounded-delays
      , unix
      }:
      mkDerivation {
        pname = "tasty";
-       version = "1.0";
-       sha256 = "0wdcq1467x511bs3s439szr5a36qhm7sjmdi6jsy9v3z9lfrf580";
+       version = "1.0.0.1";
+       sha256 = "0ggqffw9kbb6nlq1pplk131qzxndqqzqyf4s2p7576nljx11a7qf";
        libraryHaskellDepends = [
          ansi-terminal async base clock containers deepseq mtl
          optparse-applicative stm tagged unbounded-delays unix
@@ -192587,8 +196965,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-ant-xml";
-       version = "1.1.1";
-       sha256 = "0asvz2jjk1zf3ylps1277kf4yy6bifascblsd3vjfk9k9rh52w3j";
+       version = "1.1.2";
+       sha256 = "10k8092iz8klx7wa3ajfny8zvrxv3clz330v3qz3k7dmbj596nhq";
        libraryHaskellDepends = [
          base containers directory filepath generic-deriving ghc-prim mtl
          stm tagged tasty transformers xml
@@ -192598,6 +196976,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-ant-xml_1_1_3" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
+     , xml
+     }:
+     mkDerivation {
+       pname = "tasty-ant-xml";
+       version = "1.1.3";
+       sha256 = "0nxrvxk83mv29yhywswg21q156zdzs02xrwqambnz78pldsrbk4n";
+       libraryHaskellDepends = [
+         base containers directory filepath generic-deriving ghc-prim mtl
+         stm tagged tasty transformers xml
+       ];
+       homepage = "http://github.com/ocharles/tasty-ant-xml";
+       description = "Render tasty output to XML for Jenkins";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-auto" = callPackage
     ({ mkDerivation, base, directory, filepath, tasty, tasty-hspec
      , tasty-hunit, tasty-quickcheck, tasty-smallcheck
@@ -192632,12 +197029,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty-dejafu_1_0_0_0" = callPackage
+  "tasty-dejafu_1_0_0_1" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "1.0.0.0";
-       sha256 = "1gybk59c1jcbpmyrddfqs45z026rvfk6idd99shds3qhlfbm4897";
+       version = "1.0.0.1";
+       sha256 = "1b06x1z6bc010w4nfz7hf5qb35z6cwa8bz35qd4526qnxqf88qf5";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the Tasty test framework";
@@ -192763,18 +197160,16 @@ self: {
      }) {};
 
   "tasty-hspec" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, random
-     , tagged, tasty, tasty-quickcheck, tasty-smallcheck
+    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty
+     , tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "tasty-hspec";
-       version = "1.1.3.2";
-       sha256 = "0n4pn89jz9i8d7mxsdp6ynwkg5gjyaipdy261parx64m3nxi4vcv";
-       revision = "1";
-       editedCabalFile = "05fl6jirj479lax2wqg6h5m82mkc475lhas7wmpx91kv1kfklx54";
+       version = "1.1.3.3";
+       sha256 = "00ym5jlh11smmg3aryfylnwjbmi62gsy5jl1pv85bc8gl0kqa85d";
        libraryHaskellDepends = [
-         base hspec hspec-core QuickCheck random tagged tasty
-         tasty-quickcheck tasty-smallcheck
+         base hspec hspec-core QuickCheck tasty tasty-quickcheck
+         tasty-smallcheck
        ];
        homepage = "https://github.com/mitchellwrosen/tasty-hspec";
        description = "Hspec support for the Tasty test framework";
@@ -192972,14 +197367,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tasty-quickcheck_0_9_2" = callPackage
+    ({ mkDerivation, base, pcre-light, QuickCheck, random, tagged
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "tasty-quickcheck";
+       version = "0.9.2";
+       sha256 = "0wsqm4fjxnh64sjlccjapvgvw4dhl603qpxl79g3sa3fmgg0m4n5";
+       libraryHaskellDepends = [ base QuickCheck random tagged tasty ];
+       testHaskellDepends = [ base pcre-light tasty tasty-hunit ];
+       homepage = "https://github.com/feuerbach/tasty";
+       description = "QuickCheck support for the Tasty test framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-rerun" = callPackage
     ({ mkDerivation, base, containers, mtl, optparse-applicative
      , reducers, split, stm, tagged, tasty, transformers
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.8";
-       sha256 = "0yg8cicfn3qaazvp4rbanzy3dyk95k3y1kkd4bykvkl9v4076788";
+       version = "1.1.9";
+       sha256 = "0piwv5nrqvwnzp76xpsjlncrl2cd9jsxxb1ghkaijn2fi2c63akd";
        libraryHaskellDepends = [
          base containers mtl optparse-applicative reducers split stm tagged
          tasty transformers
@@ -192989,6 +197400,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-rerun_1_1_10" = callPackage
+    ({ mkDerivation, base, containers, mtl, optparse-applicative
+     , reducers, split, stm, tagged, tasty, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-rerun";
+       version = "1.1.10";
+       sha256 = "1776fx700wlc9spn0dh3x4nh44x2yg33z9zyqzqlpwrhrkpaz91b";
+       libraryHaskellDepends = [
+         base containers mtl optparse-applicative reducers split stm tagged
+         tasty transformers
+       ];
+       homepage = "http://github.com/ocharles/tasty-rerun";
+       description = "Run tests by filtering the test tree depending on the result of previous test runs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-silver" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
      , deepseq, directory, filepath, mtl, optparse-applicative, process
@@ -193440,26 +197869,27 @@ self: {
      }) {};
 
   "telegram-api" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, filepath
-     , hjpath, hspec, http-api-data, http-client, http-client-tls
-     , http-media, http-types, mime-types, mtl, optparse-applicative
-     , random, servant, servant-client, string-conversions, text
-     , transformers, utf8-string
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring
+     , containers, filepath, hjpath, hspec, http-api-data, http-client
+     , http-client-tls, http-media, http-types, mime-types, mtl
+     , optparse-applicative, random, servant, servant-client
+     , servant-client-core, string-conversions, text, transformers
+     , utf8-string
      }:
      mkDerivation {
        pname = "telegram-api";
-       version = "0.7.1.0";
-       sha256 = "0shb5al3ih6qrs2aw1h03mfqk954gml1lnyh6svzcsz9z6f7hvbb";
+       version = "0.7.2.0";
+       sha256 = "1aixgyxz3izv9z3zwwsbvdnlg4lrhy7aa33zw98v70072a0rqaj2";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring http-api-data http-client http-media
-         http-types mime-types mtl servant servant-client string-conversions
-         text transformers
+         aeson base bytestring containers http-api-data http-client
+         http-media http-types mime-types mtl servant servant-client
+         servant-client-core string-conversions text transformers
        ];
        testHaskellDepends = [
          aeson ansi-wl-pprint base filepath hjpath hspec http-client
          http-client-tls http-types optparse-applicative random servant
-         servant-client text transformers utf8-string
+         servant-client servant-client-core text transformers utf8-string
        ];
        homepage = "http://github.com/klappvisor/haskell-telegram-api#readme";
        description = "Telegram Bot API bindings";
@@ -194230,6 +198660,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "terminal-progress-bar_0_2" = callPackage
+    ({ mkDerivation, async, base, HUnit, stm, stm-chans, terminal-size
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "terminal-progress-bar";
+       version = "0.2";
+       sha256 = "052az3lxmhfssvm1i5md5d9la7vhfy560ls101kvw73vdzxk9cfn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ async base stm stm-chans terminal-size ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/roelvandijk/terminal-progress-bar";
+       description = "A simple progress bar in the terminal";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "terminal-size" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -194254,12 +198704,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "terminfo_0_4_1_0" = callPackage
+  "terminfo_0_4_1_1" = callPackage
     ({ mkDerivation, base, ncurses }:
      mkDerivation {
        pname = "terminfo";
-       version = "0.4.1.0";
-       sha256 = "0pgzx7byi4p2fwk6hcqnbs59bv4igzmhfkr5wrkkfsh4msqxflrz";
+       version = "0.4.1.1";
+       sha256 = "1pfd2vdk298v23af2zqcl66xxivrzwjjpdf3dr0fa0isl70fi3hp";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ ncurses ];
        homepage = "https://github.com/judah/terminfo";
@@ -194975,8 +199425,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.10.1";
-       sha256 = "04qygn60f7920vm1f2xkf686kaimng8k030xlp3iy2hbgs33sxbj";
+       version = "0.10.1.1";
+       sha256 = "0q2fld5mdcd6j1n3rrg3bjpndbgbn17cwg0xbnvscrpa0s767jaj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195373,6 +199823,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-ldap_0_1_1_11" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, dlist
+     , memory, QuickCheck, quickcheck-simple, random, transformers
+     }:
+     mkDerivation {
+       pname = "text-ldap";
+       version = "0.1.1.11";
+       sha256 = "1921cdq9akvcn0hsgs07g2bvbpdvhb1h389yv9703472d0sz7pfs";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers dlist memory transformers
+       ];
+       executableHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         base bytestring QuickCheck quickcheck-simple random
+       ];
+       description = "Parser and Printer for LDAP text data stream";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-lens" = callPackage
     ({ mkDerivation, base, extra, hspec, lens, text }:
      mkDerivation {
@@ -195468,6 +199940,8 @@ self: {
        pname = "text-metrics";
        version = "0.3.0";
        sha256 = "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q";
+       revision = "1";
+       editedCabalFile = "0jl0vlx9y0n7x4j5zspx6zmbbnmlf5p2bg6v9k2afdfc02fmhasm";
        libraryHaskellDepends = [ base containers text vector ];
        testHaskellDepends = [ base hspec QuickCheck text ];
        benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
@@ -195672,6 +200146,8 @@ self: {
        pname = "text-show";
        version = "3.7.1";
        sha256 = "0gbf3cpxz92v4jphmwvz93il7m38qkwirfnk5453517k2s84s899";
+       revision = "1";
+       editedCabalFile = "1f30i7b45hq3m1hb7b6m8kc1fwz4i697m17wwiabjsyzbx4qiv98";
        libraryHaskellDepends = [
          array base base-compat bifunctors bytestring bytestring-builder
          containers contravariant generic-deriving ghc-boot-th ghc-prim
@@ -195710,6 +200186,8 @@ self: {
        pname = "text-show-instances";
        version = "3.6.2";
        sha256 = "0c64ibvzpz2h4f54bhrla4yf4mhsl3x2ag2nx2kj81g47pw917r5";
+       revision = "1";
+       editedCabalFile = "04rkwk7c6zzl2ql22x66gn3amgq7cfqdndxyhh6ywlbksa9ljjsw";
        libraryHaskellDepends = [
          base base-compat bifunctors binary bytestring containers directory
          ghc-boot-th haskeline hoopl hpc old-locale old-time pretty process
@@ -196343,6 +200821,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-lift_0_7_8" = callPackage
+    ({ mkDerivation, base, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "th-lift";
+       version = "0.7.8";
+       sha256 = "0ay10b78x3969rpqqrgzy8srkl6iby2cljbf3mm17na8x22k7y1c";
+       libraryHaskellDepends = [ base ghc-prim template-haskell ];
+       testHaskellDepends = [ base ghc-prim template-haskell ];
+       homepage = "http://github.com/mboes/th-lift";
+       description = "Derive Template Haskell's Lift class for datatypes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "th-lift-instances" = callPackage
     ({ mkDerivation, base, bytestring, containers, QuickCheck
      , template-haskell, text, th-lift, vector
@@ -196363,17 +200855,18 @@ self: {
      }) {};
 
   "th-orphans" = callPackage
-    ({ mkDerivation, base, hspec, mtl, template-haskell, th-lift
-     , th-lift-instances, th-reify-many
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, template-haskell
+     , th-lift, th-lift-instances, th-reify-many
      }:
      mkDerivation {
        pname = "th-orphans";
-       version = "0.13.4";
-       sha256 = "0cab6hmyii42p157jhm0sd5jzdlxms4ip2ncrmcmc47dl3pxk5gk";
+       version = "0.13.5";
+       sha256 = "1b9599vyn0wjwbq7b7n0w25s3wbihdxr958hscfpwc8lg55lsr4m";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
        testHaskellDepends = [ base hspec template-haskell ];
+       testToolDepends = [ hspec-discover ];
        description = "Orphan instances for TH datatypes";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -196489,19 +200982,27 @@ self: {
      }) {};
 
   "th-typegraph" = callPackage
-    ({ mkDerivation, aeson, base, cereal, containers, fgl, lens, mtl
-     , parsec, pretty, safecopy, split, syb, template-haskell, text
-     , th-desugar, th-lift, th-lift-instances, th-orphans, time, userid
-     , web-routes
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
+     , containers, deepseq, dlist, fail, fgl, ghc-prim, hashable, HUnit
+     , lens, mtl, network-uri, parsec, pretty, safecopy, scientific
+     , semigroups, split, sr-extra, syb, tagged, template-haskell, text
+     , th-desugar, th-lift, th-lift-instances, th-orphans, time
+     , transformers, unordered-containers, userid, vector, web-routes
      }:
      mkDerivation {
        pname = "th-typegraph";
-       version = "1.0.2";
-       sha256 = "09yf7igwki0h7mv946x066955bj9154pfvqkmr3fy5j9j69gwin1";
+       version = "1.4";
+       sha256 = "0nfcsmv7dsh28c9smp2vwm9r43c5ann98rxdvyp7w96gpawjwwz4";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base cereal containers fgl lens mtl parsec pretty safecopy
-         split syb template-haskell text th-desugar th-lift
-         th-lift-instances th-orphans time userid web-routes
+         attoparsec base bytestring cereal containers deepseq dlist fail fgl
+         ghc-prim hashable lens mtl parsec pretty safecopy scientific
+         semigroups split sr-extra syb tagged template-haskell text
+         th-desugar th-lift th-lift-instances th-orphans time transformers
+         unordered-containers userid vector web-routes
+       ];
+       testHaskellDepends = [
+         aeson base HUnit network-uri syb template-haskell th-lift
        ];
        homepage = "https://github.com/seereason/th-typegraph";
        description = "Graph of the subtype relation";
@@ -196684,8 +201185,8 @@ self: {
        pname = "these";
        version = "0.7.4";
        sha256 = "0jl8ippnsy5zmy52cvpn252hm2g7xqp1zb1xcrbgr00pmdxpvwyw";
-       revision = "2";
-       editedCabalFile = "0mxl547dy7pp95kh3bvmdhsfcrmxcx8rzc94nnmcs3ahrbyw1nl1";
+       revision = "5";
+       editedCabalFile = "1jx0p6z91nz5dagw4bcvb7lr9a15ahjnx0nhyv8cmd8p056m5515";
        libraryHaskellDepends = [
          aeson base bifunctors binary containers data-default-class deepseq
          hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -197517,14 +202018,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "time_1_8_0_3" = callPackage
+  "time_1_9" = callPackage
     ({ mkDerivation, base, deepseq, QuickCheck, random, tasty
      , tasty-hunit, tasty-quickcheck, unix
      }:
      mkDerivation {
        pname = "time";
-       version = "1.8.0.3";
-       sha256 = "0mbz76v74q938ramsgipgsvk8hvnplcnffplaq439z202zkyar1h";
+       version = "1.9";
+       sha256 = "13nfiwsh1bq4w9rwmqm1iy9kxwrqbi82qpqlpcd02ywklh21silx";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base deepseq QuickCheck random tasty tasty-hunit tasty-quickcheck
@@ -198584,8 +203085,8 @@ self: {
      }:
      mkDerivation {
        pname = "tldr";
-       version = "0.2.4";
-       sha256 = "0kn3ns2v99z6lx6inphl140rlhdmmlig0z4jkdlimkmfss21d33v";
+       version = "0.2.5";
+       sha256 = "0b87zkwj27z7h5rxf25qh4sq20smwbd3fg6j30hgmn0p9rsg4gzw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -198601,6 +203102,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tldr_0_3_0" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmark, directory
+     , filepath, optparse-applicative, semigroups, text, typed-process
+     }:
+     mkDerivation {
+       pname = "tldr";
+       version = "0.3.0";
+       sha256 = "1wnc1l1c9d56y64d5hlkj2z1m4vl87shfya7ix49h22l77df0jq7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring cmark text
+       ];
+       executableHaskellDepends = [
+         base directory filepath optparse-applicative semigroups
+         typed-process
+       ];
+       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
@@ -199086,17 +203611,19 @@ self: {
 
   "toolshed" = callPackage
     ({ mkDerivation, array, base, containers, data-default, deepseq
-     , directory, filepath, HUnit, QuickCheck, random
+     , directory, extra, filepath, HUnit, QuickCheck, random
      }:
      mkDerivation {
        pname = "toolshed";
-       version = "0.17.0.2";
-       sha256 = "10cyg48dlv34xndx7aqhldxlglnkijmc88abxkg3jwk7q06ckm93";
+       version = "0.18.0.0";
+       sha256 = "0x8sn6gvmns81xjkzs1r5jfaar3qjhcyl6q9dbniyglk5y7w35gm";
        libraryHaskellDepends = [
          array base containers data-default deepseq directory filepath
          QuickCheck random
        ];
-       testHaskellDepends = [ base containers HUnit QuickCheck random ];
+       testHaskellDepends = [
+         base containers extra HUnit QuickCheck random
+       ];
        homepage = "http://functionalley.eu";
        description = "Ill-defined library";
        license = "GPL";
@@ -199794,16 +204321,17 @@ self: {
        homepage = "https://github.com/ocharles/transformers-eff";
        description = "An approach to managing composable effects, ala mtl/transformers/extensible-effects/Eff";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {effect-interpreters = null;};
 
   "transformers-either" = callPackage
-    ({ mkDerivation, base, transformers }:
+    ({ mkDerivation, base, text, transformers }:
      mkDerivation {
        pname = "transformers-either";
-       version = "0.0.1";
-       sha256 = "1hr10mfmx2ac7si8a43cyhgxzg75amqin3wyvw06bgymnvd00dqj";
-       libraryHaskellDepends = [ base transformers ];
+       version = "0.0.2";
+       sha256 = "1122rgspazl3n9vghlzzg14hv6p0a66lf6r7hkim14p0rcagvx5a";
+       libraryHaskellDepends = [ base text transformers ];
        description = "An Either monad transformer";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -200182,8 +204710,10 @@ self: {
      }:
      mkDerivation {
        pname = "tree-diff";
-       version = "0.0.0.1";
-       sha256 = "0km6himykj2q9ymaivv67dvlk7ia9dli2zhyx6g8yh8963mcn91v";
+       version = "0.0.1";
+       sha256 = "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz";
+       revision = "1";
+       editedCabalFile = "0d3kbs32q816vlrbj17lwl1bmmv7lvwi2c2i3k3agm2a8h0psx6s";
        libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
          containers generics-sop hashable MemoTrie parsec parsers pretty
@@ -201038,6 +205568,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "tuple-ops" = callPackage
+    ({ mkDerivation, base, type-combinators }:
+     mkDerivation {
+       pname = "tuple-ops";
+       version = "0.0.0.2";
+       sha256 = "05hmw9s4bync4j9sr8cs9nknkgpzwqd55aiw5s3iax4qnbxsccyp";
+       libraryHaskellDepends = [ base type-combinators ];
+       homepage = "https://github.com/pierric/tuple-ops";
+       description = "various operations on n-ary tuples via GHC.Generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tuple-th" = callPackage
     ({ mkDerivation, base, containers, template-haskell }:
      mkDerivation {
@@ -201179,7 +205721,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "turtle_1_5_0" = callPackage
+  "turtle_1_5_1" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
      , containers, criterion, directory, doctest, exceptions, foldl
      , hostname, managed, optional-args, optparse-applicative, process
@@ -201188,8 +205730,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.0";
-       sha256 = "1ivskskvqbwm4bp8m2pfhb3ma9y747jfg5gfcsadwmqyqzzf90l5";
+       version = "1.5.1";
+       sha256 = "06yya57w3i598b6h3gkhv8zs0a3f1az12x8viy16sgdbgwph8scm";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -201532,23 +206074,25 @@ self: {
      }) {};
 
   "twilio" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
-     , containers, errors, exceptions, free, http-client
+    ({ mkDerivation, aeson, base, binary, bytestring, Cabal, containers
+     , deepseq, errors, exceptions, free, hashable, hspec, http-client
      , http-client-tls, http-types, mtl, network-uri, old-locale
-     , scientific, text, time, transformers, unordered-containers
+     , QuickCheck, quickcheck-instances, scientific, template-haskell
+     , text, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "twilio";
-       version = "0.1.3.2";
-       sha256 = "1vbb846cdav6csm2y9asrdzvmh9s3pf4apyharrr1hwd2xz3jcga";
+       version = "0.2.0.0";
+       sha256 = "0shjhdb3iabbs7hy89hv3fawzxilc7djgpacgydnzl2290dm17yl";
        libraryHaskellDepends = [
-         aeson base bifunctors bytestring containers errors exceptions free
-         http-client http-client-tls http-types mtl network-uri old-locale
-         scientific text time transformers unordered-containers
+         aeson base binary bytestring containers deepseq errors exceptions
+         free hashable http-client http-client-tls http-types mtl
+         network-uri old-locale scientific template-haskell text time
+         transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson base bytestring Cabal http-client http-client-tls network-uri
-         text transformers
+         aeson base bytestring Cabal hspec http-client http-client-tls
+         network-uri QuickCheck quickcheck-instances text transformers
        ];
        doCheck = false;
        homepage = "https://github.com/markandrus/twilio-haskell";
@@ -202007,6 +206551,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "type-combinators-singletons_0_2_1_0" = callPackage
+    ({ mkDerivation, base, singletons, type-combinators }:
+     mkDerivation {
+       pname = "type-combinators-singletons";
+       version = "0.2.1.0";
+       sha256 = "00cwlfcka2d1wcp7159r3sk3gz852dmc71jvjfr8bn1rrr781n0q";
+       libraryHaskellDepends = [ base singletons type-combinators ];
+       homepage = "https://github.com/mstksg/type-combinators-singletons";
+       description = "Interop between /type-combinators/ and /singletons/";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "type-digits" = callPackage
     ({ mkDerivation, base, template-haskell, type-spine }:
      mkDerivation {
@@ -202251,8 +206808,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "type-level-sets";
-       version = "0.8.5.0";
-       sha256 = "1ahfrwrlbdh61w6vh2v5j2ammkvcjxvw53d28pgqy296mpxikwvz";
+       version = "0.8.7.0";
+       sha256 = "1i5yzjdfw6q868ihhqmpk4psbnqwmz8liwha7dzn1rbw4h357ky7";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Type-level sets and finite maps (with value-level counterparts)";
        license = stdenv.lib.licenses.bsd3;
@@ -202288,8 +206845,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-map";
-       version = "0.1.1.0";
-       sha256 = "12c7gcwrshdcn26cagm4w30ckbq7iqwg5yrc9y272zllx54bikpd";
+       version = "0.1.2.0";
+       sha256 = "0cm2b4xkassjh71ndc5nddpmqyr5bcf3fqxs74wzd11dycmfqfaa";
        libraryHaskellDepends = [ base containers ghc-prim vector ];
        testHaskellDepends = [
          base HUnit test-framework test-framework-hunit
@@ -202326,8 +206883,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "1.3.2.0";
-       sha256 = "0zayqf18z3h4ix38gyqqvq2g3k74cm5f9gzkg4sh8ijw30xszq8p";
+       version = "1.3.2.1";
+       sha256 = "1c7yj9fh9dxkif2f116cjjgz2prdz1a3xaqni5m9gmvy2y5gvbdn";
        libraryHaskellDepends = [
          base bytestring double-conversion ghc-prim text
        ];
@@ -202735,6 +207292,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "typelits-witnesses_0_3_0_1" = callPackage
+    ({ mkDerivation, base, base-compat, constraints, reflection
+     , transformers
+     }:
+     mkDerivation {
+       pname = "typelits-witnesses";
+       version = "0.3.0.1";
+       sha256 = "0d2537dwz5kiq81amrj2v00bvlwjfkidlz45g1h96zv78mlw1l7c";
+       libraryHaskellDepends = [
+         base base-compat constraints reflection transformers
+       ];
+       homepage = "https://github.com/mstksg/typelits-witnesses";
+       description = "Existential witnesses, singletons, and classes for operations on GHC TypeLits";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "typeof" = callPackage
     ({ mkDerivation, base, process }:
      mkDerivation {
@@ -202800,8 +207374,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.5.0.1";
-       sha256 = "1c1f6wmn8yf3crzmna4ww977cwga6wl814f0ka99s1sr65j2c5bx";
+       version = "0.5.1.1";
+       sha256 = "0yg75dj3bfxpqzdqw8lk7ligs39dnlya93qcg9grlbav9jpzv38n";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -203529,12 +208103,11 @@ self: {
      }) {};
 
   "unconstrained" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation }:
      mkDerivation {
        pname = "unconstrained";
-       version = "0.1.0.1";
-       sha256 = "0wzkf8fqlqd11rcb7cvb7zsyg1ws5wyplgmsll6xbfbh68adh32p";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.0.2";
+       sha256 = "03811shhcfkcrsai3a1vw99g0pmg8m3cfi8gfiaf8b13l1k7lwfj";
        description = "Null constraint";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -203557,8 +208130,8 @@ self: {
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "0.9.4";
-       sha256 = "0qqjr060d79g5lnsdzx9ff6ava78441h8wvkn38hs7y3rvzw9vzd";
+       version = "0.9.5";
+       sha256 = "0ll29dvizh8hqhqncrmzwzgbb1q9br2f7326r38dr7xmdpmpjsbn";
        libraryHaskellDepends = [
          base containers ghc-prim one-liner QuickCheck random transformers
        ];
@@ -204061,16 +208634,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "uniquely-represented-sets" = callPackage
+    ({ mkDerivation, base, checkers, containers, criterion, deepseq
+     , doctest, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "uniquely-represented-sets";
+       version = "0.1.0.0";
+       sha256 = "0qzg8fp1bqg4nl5n901wndfp36nwg7dmv88s51v1sg0hqq1mr4yz";
+       libraryHaskellDepends = [ base containers deepseq ];
+       testHaskellDepends = [
+         base checkers containers doctest QuickCheck
+       ];
+       benchmarkHaskellDepends = [ base criterion random ];
+       homepage = "https://github.com/oisdk/uniquely-represented-sets#readme";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "unit" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "unit";
-       version = "0.1.0.0";
-       sha256 = "0x6wivpbrf17czbpvg727bv82zbm0abhg75p8d1vcswf786cqiq7";
+       version = "0.1.0.1";
+       sha256 = "1v7fv4xpb2jvcicbl6mhjkgqmap4m842dwc41fpidd9l9pb8mpaz";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
-       homepage = "http://github.com/cxfreeio/unit#readme";
-       description = "Aliases for ()";
+       homepage = "https://github.com/amohrland/haskell-unit";
+       description = "Aliases for `()`";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -204258,6 +208848,8 @@ self: {
        pname = "universe-instances-base";
        version = "1.0";
        sha256 = "04njgl32lk5a0masjdjkm4l2wsyrr29g0fsp599864mp7gp504d2";
+       revision = "1";
+       editedCabalFile = "13s8gxsvkw6phwvd79h9f3xaqbyzsx1svpysbmq72z1hv3mqyz8a";
        libraryHaskellDepends = [ base containers universe-base ];
        homepage = "https://github.com/dmwit/universe";
        description = "Universe instances for types from the base package";
@@ -204272,8 +208864,8 @@ self: {
        pname = "universe-instances-extended";
        version = "1.0.0.1";
        sha256 = "15y9f0hbxqsksclxrssj4h08y0yb3nm9clqasjw6nsmi04kjfnv6";
-       revision = "1";
-       editedCabalFile = "1nsi34kjpyski2vip436m19m41as7zf1h8npd50sh8xa6cjhl98r";
+       revision = "2";
+       editedCabalFile = "1di3jk3ciikjrxzr76i0mqqza26mclnbxxak7ybkk4l06yqanj38";
        libraryHaskellDepends = [
          adjunctions base comonad universe-instances-base void
        ];
@@ -204306,6 +208898,8 @@ self: {
        pname = "universe-reverse-instances";
        version = "1.0";
        sha256 = "0jcd7qyvzq8xxv9d3hfi0f1h48xdsy9r9xnxgxc7ggga4szirm79";
+       revision = "1";
+       editedCabalFile = "0rq6h7yghnzrnv56pxnlfr6cfih8dbnhc6hh5416pgy5bxsa0ydj";
        libraryHaskellDepends = [
          base containers universe-instances-base
        ];
@@ -204362,21 +208956,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "universum_1_0_2" = callPackage
+  "universum_1_0_4_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , ghc-prim, hashable, microlens, microlens-mtl, mtl
+     , doctest, ghc-prim, Glob, hashable, microlens, microlens-mtl, mtl
      , safe-exceptions, semigroups, stm, text, text-format, transformers
      , type-operators, unordered-containers, utf8-string, vector
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.0.2";
-       sha256 = "09pd637vxwnqhq8464bvv0y3nmdac289rxzbzdxz3cpj8xv9nhf4";
+       version = "1.0.4.1";
+       sha256 = "1xsachyf52km3awrpqmqhlwncz55mbc29xjwvsci01vrd6swz9c0";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text text-format transformers
          type-operators unordered-containers utf8-string vector
        ];
+       testHaskellDepends = [ base doctest Glob ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq hashable mtl semigroups text
          unordered-containers
@@ -204575,27 +209170,6 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.2.0";
-       sha256 = "0qqacdzwbrynk2ma49q830irpya1il8m5b9rkklm906k60yjz9b9";
-       libraryHaskellDepends = [
-         async base deepseq directory filepath stm transformers unix
-         unliftio-core
-       ];
-       testHaskellDepends = [
-         async base deepseq directory filepath hspec stm transformers unix
-         unliftio-core
-       ];
-       homepage = "https://github.com/fpco/unliftio/tree/master/unliftio#readme";
-       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "unliftio_0_2_4_0" = callPackage
-    ({ mkDerivation, async, base, deepseq, directory, filepath, hspec
-     , stm, transformers, unix, unliftio-core
-     }:
-     mkDerivation {
-       pname = "unliftio";
        version = "0.2.4.0";
        sha256 = "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z";
        libraryHaskellDepends = [
@@ -204609,7 +209183,6 @@ self: {
        homepage = "https://github.com/fpco/unliftio/tree/master/unliftio#readme";
        description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unliftio-core" = callPackage
@@ -206007,14 +210580,15 @@ self: {
 
   "uuid-crypto" = callPackage
     ({ mkDerivation, base, binary, bytestring, cryptoids
-     , cryptoids-types, exceptions, uuid
+     , cryptoids-class, cryptoids-types, exceptions, uuid
      }:
      mkDerivation {
        pname = "uuid-crypto";
-       version = "1.3.1.0";
-       sha256 = "10r6phn23f3piqs4jhx764pcl6f3dbxq75pvwsnmwcszdi970a3l";
+       version = "1.4.0.0";
+       sha256 = "191da0bdgzbpibh7v2n2cg13gkq2vchsybad0qy9qixk0rzi1cvn";
        libraryHaskellDepends = [
-         base binary bytestring cryptoids cryptoids-types exceptions uuid
+         base binary bytestring cryptoids cryptoids-class cryptoids-types
+         exceptions uuid
        ];
        description = "Reversable and secure encoding of object ids as uuids";
        license = stdenv.lib.licenses.bsd3;
@@ -206410,8 +210984,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "validity";
-       version = "0.4.0.2";
-       sha256 = "1ppisj45dccymlid7xwp1r2rgzql435smhl6s0n2b6alsx2h9qnz";
+       version = "0.4.0.3";
+       sha256 = "15vp8qd3fvarwd58i69if87kyc7fmf26qgrvacwnis3xwav9nyvs";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity typeclass";
@@ -207032,8 +211606,8 @@ self: {
        pname = "vector";
        version = "0.12.0.1";
        sha256 = "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i";
-       revision = "1";
-       editedCabalFile = "1xjv8876kx9vh86w718vdaaai40pwnsiw8368c5h88ch8iqq10qb";
+       revision = "2";
+       editedCabalFile = "0vzr8kra73anchp86knkmkq2afkd1hw6hirldn9vn69frynb1n6y";
        libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
        testHaskellDepends = [
          base HUnit QuickCheck random template-haskell test-framework
@@ -207098,6 +211672,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-binary-instances_0_2_4" = callPackage
+    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
+     , tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "vector-binary-instances";
+       version = "0.2.4";
+       sha256 = "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb";
+       libraryHaskellDepends = [ base binary vector ];
+       testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
+       benchmarkHaskellDepends = [
+         base binary bytestring criterion deepseq vector
+       ];
+       homepage = "https://github.com/bos/vector-binary-instances";
+       description = "Instances of Data.Binary and Data.Serialize for vector";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-buffer" = callPackage
     ({ mkDerivation, base, deepseq, vector }:
      mkDerivation {
@@ -207343,6 +211936,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-space_0_13" = callPackage
+    ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }:
+     mkDerivation {
+       pname = "vector-space";
+       version = "0.13";
+       sha256 = "05yn93vnhzhpp2i6qb4b3dasvmpk71rab6vhssqvpb3qhdvxb482";
+       libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ];
+       description = "Vector & affine spaces, linear maps, and derivatives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-space-map" = callPackage
     ({ mkDerivation, base, containers, doctest, vector-space }:
      mkDerivation {
@@ -207468,6 +212073,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vectortiles_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , hashable, hex, microlens, microlens-platform, protocol-buffers
+     , protocol-buffers-descriptor, tasty, tasty-hunit, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "vectortiles";
+       version = "1.3.0";
+       sha256 = "1hvnk2b3g6dm58az7wyl8bcq4h8s0fkz0v0pig9gpad5smkmgjk0";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq hashable protocol-buffers
+         protocol-buffers-descriptor text transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers hashable hex protocol-buffers
+         protocol-buffers-descriptor tasty tasty-hunit text
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion hashable microlens
+         microlens-platform protocol-buffers protocol-buffers-descriptor
+         text unordered-containers vector
+       ];
+       homepage = "https://github.com/fosskers/vectortiles";
+       description = "GIS Vector Tiles, as defined by Mapbox";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -207654,19 +212290,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vicinity" = callPackage
+    ({ mkDerivation, base, containers, doctest, QuickCheck
+     , quickcheck-classes, semigroups
+     }:
+     mkDerivation {
+       pname = "vicinity";
+       version = "0.1.0";
+       sha256 = "0yy1arybixrbkgmdnfv0y2rmkl3qf5fa2rymklqbyr00av3dr25j";
+       libraryHaskellDepends = [ base semigroups ];
+       testHaskellDepends = [
+         base containers doctest QuickCheck quickcheck-classes
+       ];
+       homepage = "https://github.com/andrewthad/vicinity#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "viewprof" = callPackage
-    ({ mkDerivation, base, brick, containers, ghc-prof, lens
+    ({ mkDerivation, base, brick, containers, directory, ghc-prof, lens
      , scientific, text, vector, vector-algorithms, vty
      }:
      mkDerivation {
        pname = "viewprof";
-       version = "0.0.0.12";
-       sha256 = "0a9bf8smqjjwz4m0gqac9zf9qp6ka3dhy2qrflbg1k5spd0dqqh5";
+       version = "0.0.0.13";
+       sha256 = "1ichcff012k1f9cqk01sixv3yx52krnhjfnw73yw06kacpd7i74z";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base brick containers ghc-prof lens scientific text vector
-         vector-algorithms vty
+         base brick containers directory ghc-prof lens scientific text
+         vector vector-algorithms vty
        ];
        homepage = "https://github.com/maoe/viewprof";
        description = "Text-based interactive GHC .prof viewer";
@@ -208272,8 +212924,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.19.1";
-       sha256 = "13vip07b1mgr8qgxl97ni87910lrl1yjg5lvnfjzyvfyn0vw47zl";
+       version = "5.19.2";
+       sha256 = "158afcgzcwq7ybjw7jk28q799xzpns47m1l4sivc3wrrfklqh7xz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208703,8 +213355,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.0.21.0";
-       sha256 = "1kngdp16hia9x3i47a6f3cwbsn58678madzmj3l4qb6mcfnk1a3y";
+       version = "3.0.22.0";
+       sha256 = "0rwksl5jkhkgd10qi0wvhfw28g1qci60pc6chrv5bg0w0xqkv532";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208983,6 +213635,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wai-logger-buffered" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , http-types, time, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-logger-buffered";
+       version = "0.1.0.1";
+       sha256 = "0ksyh5g3wsldg739gzjvvmw9r1wrm5vq84n3shjqsl2y29r4kbls";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers data-default time wai
+       ];
+       executableHaskellDepends = [
+         base bytestring containers data-default http-types time wai warp
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default time wai
+       ];
+       homepage = "https://github.com/ChrisCoffey/wai-logger-buffered#readme";
+       description = "Buffer requets before logging them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wai-logger-prefork" = callPackage
     ({ mkDerivation, base, bytestring, date-cache, fast-logger
      , http-types, unix, wai, wai-logger
@@ -209239,8 +213915,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-content-type";
-       version = "0.5.1";
-       sha256 = "1xvb38nq7mb4gpraj46j39hgf9vqcqng3hxhlj52zj7yn7d6279q";
+       version = "0.5.2";
+       sha256 = "0v9gi7lljfn58g558xlxhlmp4chq7m6a4kf0b4k23scygwh727jj";
        libraryHaskellDepends = [
          aeson base blaze-builder blaze-html bytestring clay exceptions
          extractable-singleton hashable http-media http-types lucid mmorph
@@ -209474,8 +214150,32 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-rollbar";
-       version = "0.8.1";
-       sha256 = "1h12fypbk1y96s8v4qb44b6lvccgxy5namvd9blza222crmiriv1";
+       version = "0.8.2";
+       sha256 = "08bzikcfgrni328mmxwxsr4kbsc5bjjacbxm18hs74b8n4g5f1qd";
+       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;
+     }) {};
+
+  "wai-middleware-rollbar_0_8_3" = 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.8.3";
+       sha256 = "17ys7ddpfa0sbjh79k240zqk2v7nlh0v7hrgr7kanal3pk7mvwvm";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive hostname http-client
          http-conduit http-types network text time unordered-containers uuid
@@ -209488,6 +214188,7 @@ self: {
        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
@@ -209522,8 +214223,8 @@ self: {
        pname = "wai-middleware-static";
        version = "0.8.1";
        sha256 = "0xaksnb1lzbw6rj62l4x9jpx40c1l2c33x5cb5vqk08g84zz3dg0";
-       revision = "4";
-       editedCabalFile = "0yxrs5dzd79pklvk014nj4dq8arjzyr3bhq432rzqzr4zjijyblf";
+       revision = "5";
+       editedCabalFile = "1lb4whil5x1arjb3503x8j9i3wmf678ii1dx0paqqx7dchs6cfwl";
        libraryHaskellDepends = [
          base bytestring containers cryptonite directory expiring-cache-map
          filepath http-types memory mime-types mtl old-locale semigroups
@@ -210218,6 +214919,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "warp_3_2_15" = callPackage
+    ({ mkDerivation, array, async, auto-update, base, blaze-builder
+     , bytestring, case-insensitive, containers, directory, doctest
+     , gauge, ghc-prim, hashable, hspec, http-client, http-date
+     , http-types, http2, HUnit, iproute, lifted-base, network, process
+     , QuickCheck, silently, simple-sendfile, stm, streaming-commons
+     , text, time, transformers, unix, unix-compat, vault, wai, word8
+     }:
+     mkDerivation {
+       pname = "warp";
+       version = "3.2.15";
+       sha256 = "10l2qk4qn6vf898fp4ahdyhn49f8zjhlczxv0d93wkc695m59his";
+       libraryHaskellDepends = [
+         array async auto-update base blaze-builder bytestring
+         case-insensitive containers ghc-prim hashable http-date http-types
+         http2 iproute network simple-sendfile stm streaming-commons text
+         unix unix-compat vault wai word8
+       ];
+       testHaskellDepends = [
+         array async auto-update base blaze-builder bytestring
+         case-insensitive containers directory doctest ghc-prim hashable
+         hspec http-client http-date http-types http2 HUnit iproute
+         lifted-base network process QuickCheck silently simple-sendfile stm
+         streaming-commons text time transformers unix unix-compat vault wai
+         word8
+       ];
+       benchmarkHaskellDepends = [
+         auto-update base bytestring containers gauge hashable http-date
+         http-types network unix unix-compat
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "A fast, light-weight web server for WAI applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "warp-dynamic" = callPackage
     ({ mkDerivation, base, data-default, dyre, http-types, wai, warp }:
      mkDerivation {
@@ -210690,6 +215427,8 @@ self: {
        pname = "web-routes";
        version = "0.27.13";
        sha256 = "10b0hs7mmvs9ay3ik93s8xd7zlx8pyz20626nrha4mwyixgkmc59";
+       revision = "1";
+       editedCabalFile = "1s8ax7r8l0484730p36c3gn3n28zhl2p1nwjnprsbhcxd83yq4dh";
        libraryHaskellDepends = [
          base blaze-builder bytestring exceptions ghc-prim http-types mtl
          parsec split text utf8-string
@@ -210700,6 +215439,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "web-routes_0_27_14" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, exceptions
+     , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
+     , split, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "web-routes";
+       version = "0.27.14";
+       sha256 = "1m5ywqy2c9v478ybyrzqc407zdqcg18p5587mrq34v7bnjk27rak";
+       revision = "1";
+       editedCabalFile = "061kp8rpmbpr9f9n3kja8160z209hwz42yy3kikn6b446rdc4pdr";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring exceptions ghc-prim http-types mtl
+         parsec split text utf8-string
+       ];
+       testHaskellDepends = [ base hspec HUnit QuickCheck text ];
+       homepage = "http://www.happstack.com/docs/crashcourse/index.html#web-routes";
+       description = "portable, type-safe URL routing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "web-routes-boomerang" = callPackage
     ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
      mkDerivation {
@@ -210821,6 +215582,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "web-routes-wai_0_24_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, text, wai
+     , web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-wai";
+       version = "0.24.3.1";
+       sha256 = "0j9h22nsj7zf5qpf4i07jdcih00r2fivdilvj8wsylk4d23x27wf";
+       libraryHaskellDepends = [
+         base bytestring http-types text wai web-routes
+       ];
+       description = "Library for maintaining correctness of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "web-routing" = callPackage
     ({ mkDerivation, base, bytestring, criterion, doctest, primitive
      , text, types-compat, unordered-containers
@@ -211109,6 +215886,7 @@ self: {
        ];
        description = "Parser and Pretty Printer for the Web IDL Language";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {LEXER = null;};
 
@@ -211282,8 +216060,8 @@ self: {
      }:
      mkDerivation {
        pname = "websockets";
-       version = "0.12.3.0";
-       sha256 = "1k7mh4gpgzw83ck66kncz8jvmwc21jd2i36xnj78zbyi2sbclx86";
+       version = "0.12.3.1";
+       sha256 = "019jkvmbs5wvjwczqy06spd6545mly08n5pqbsaacmff4xznkz39";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211438,8 +216216,8 @@ self: {
      }:
      mkDerivation {
        pname = "weeder";
-       version = "0.1.11";
-       sha256 = "072gz2pwmzy7y4fnqgwwghgmcn5qy5aw8n9mhzwdspqjwyxr4rmh";
+       version = "1.0";
+       sha256 = "1s6xfzv49pism1z4qpid3745w8x06nddifzb9165j2h6n7fivgav";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -211775,6 +216553,7 @@ self: {
        homepage = "https://github.com/Haskell-mouse/wigner-ville-accelerate";
        description = "Wigner-ville transform using the Accelerate library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {wigner = null;};
 
@@ -211865,6 +216644,7 @@ self: {
        homepage = "https://github.com/debug-ito/wild-bind";
        description = "Task to install and export everything you need to use WildBind in X11";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wild-bind-x11" = callPackage
@@ -212105,6 +216885,24 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "withdependencies_0_2_4_2" = callPackage
+    ({ mkDerivation, base, conduit, containers, hspec, HUnit, mtl
+     , profunctors
+     }:
+     mkDerivation {
+       pname = "withdependencies";
+       version = "0.2.4.2";
+       sha256 = "04pk5giqlnls1p62fz9p0sb1288c9qk3ivsq2kb5207cjifyslgz";
+       libraryHaskellDepends = [
+         base conduit containers mtl profunctors
+       ];
+       testHaskellDepends = [ base conduit hspec HUnit mtl ];
+       homepage = "https://github.com/bartavelle/withdependencies";
+       description = "Run computations that depend on one or more elements in a stream";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "witherable" = callPackage
     ({ mkDerivation, base, base-orphans, containers, hashable
      , transformers, unordered-containers, vector
@@ -212393,8 +217191,8 @@ self: {
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.3.39";
-       sha256 = "0n7575l5sy4slzf0v15g7nlrxcq1lslgzzldsxlfaibk0j71xw08";
+       version = "0.3.41";
+       sha256 = "06w55qgsp2jvic8f70rr7dl4shqx64hiqr15vk104vvf7xiy2asr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212509,6 +217307,7 @@ self: {
        homepage = "https://gonito.net/gitlist/word2vec-model.git";
        description = "Reading word2vec binary models";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "word8" = callPackage
@@ -212826,22 +217625,21 @@ self: {
      }) {};
 
   "wrecker" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, ansi-terminal, ansigraph, array
+    ({ mkDerivation, aeson, ansi-terminal, ansigraph, array
      , authenticate-oauth, base, base64-bytestring, blaze-builder
      , bytestring, case-insensitive, clock, clock-extras, connection
      , containers, cookie, cryptonite, data-default, data-default-class
-     , deepseq, exceptions, filepath, hspec, hspec-discover, http-client
-     , http-client-tls, http-types, immortal, lens, markdown-unlit
-     , memory, mime-types, network, network-uri, next-ref
-     , optparse-applicative, random, scotty, statistics, stm, stm-chans
-     , streaming-commons, tabular, tdigest, text, threads
-     , threads-extras, time, tls, transformers, unagi-chan, unix
-     , unordered-containers, vector, vty, wai, warp, wreq
+     , deepseq, exceptions, filepath, http-client, http-client-tls
+     , http-types, immortal, lens, markdown-unlit, memory, mime-types
+     , network, network-uri, next-ref, optparse-applicative, random
+     , statistics, stm, stm-chans, streaming-commons, tabular, tdigest
+     , text, threads, threads-extras, time, tls, transformers
+     , unagi-chan, unix, unordered-containers, vector, vty, wreq
      }:
      mkDerivation {
        pname = "wrecker";
-       version = "1.2.3.0";
-       sha256 = "138a8az5500ys2yvwif17vbmsmisd0r3q4yc8azfrd09y359ndlq";
+       version = "1.2.4.0";
+       sha256 = "1yrjr1mhywxwdcnakyfgga7jlwpxzb4clldp21igw35y3n53i6y8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212857,12 +217655,47 @@ self: {
        ];
        executableHaskellDepends = [
          base http-client http-client-tls lens markdown-unlit
-         optparse-applicative wreq
+         optparse-applicative transformers wreq
        ];
-       testHaskellDepends = [
-         aeson aeson-qq base bytestring connection hspec hspec-discover
-         http-client immortal markdown-unlit network next-ref scotty text
-         transformers unordered-containers wai warp wreq
+       homepage = "https://github.com/lorenzo/wrecker#readme";
+       description = "An HTTP Performance Benchmarker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wrecker_1_3_1_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, ansigraph, array
+     , authenticate-oauth, base, base64-bytestring, blaze-builder
+     , bytestring, case-insensitive, clock, clock-extras, connection
+     , containers, cookie, cryptonite, data-default, data-default-class
+     , deepseq, exceptions, fast-logger, filepath, http-client
+     , http-client-tls, http-types, immortal, lens, markdown-unlit
+     , memory, mime-types, network, network-uri, next-ref
+     , optparse-applicative, random, statistics, stm, stm-chans
+     , streaming-commons, tabular, tdigest, text, threads
+     , threads-extras, time, tls, transformers, unix
+     , unordered-containers, vector, vty, wreq
+     }:
+     mkDerivation {
+       pname = "wrecker";
+       version = "1.3.1.0";
+       sha256 = "0z0a9k88npw09n54mplg2aa98y4p8kmk14v8ks2dc2ilf24lrri7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal ansigraph array authenticate-oauth base
+         base64-bytestring blaze-builder bytestring case-insensitive clock
+         clock-extras connection containers cookie cryptonite data-default
+         data-default-class deepseq exceptions fast-logger filepath
+         http-client http-client-tls http-types immortal memory mime-types
+         network network-uri next-ref optparse-applicative random statistics
+         stm stm-chans streaming-commons tabular tdigest text threads
+         threads-extras time tls transformers unix unordered-containers
+         vector vty wreq
+       ];
+       executableHaskellDepends = [
+         base http-client http-client-tls lens markdown-unlit
+         optparse-applicative transformers wreq
        ];
        homepage = "https://github.com/lorenzo/wrecker#readme";
        description = "An HTTP Performance Benchmarker";
@@ -212883,8 +217716,8 @@ self: {
      }:
      mkDerivation {
        pname = "wrecker-ui";
-       version = "3.0.0.0";
-       sha256 = "0plzkb9bhsrd14h07f6rd9689hxx79kdr9gs5r5qsxsk3zpn4rs6";
+       version = "3.1.1.0";
+       sha256 = "0lsgbjn4fcvk5qaldhlskyz3vq9g6w7an0sqbvndx7r1hvpaznrh";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -212898,6 +217731,7 @@ self: {
          postgresql-simple postgresql-simple-url process resource-pool
          resourcet scotty stm temporary text time transformers wai-cors
        ];
+       homepage = "https://github.com/seatgeek/wrecker-ui#readme";
        description = "A web interface for Wrecker, the HTTP Performance Benchmarker";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -212919,6 +217753,8 @@ self: {
        pname = "wreq";
        version = "0.5.2.0";
        sha256 = "06v70dpnh7lp1sr0i0fvl2b2cx0z57dfwi8i2fxva0gcdwan0fki";
+       revision = "1";
+       editedCabalFile = "01x430yrqiv02pq7h55h3y70hvz7n62882vnw1m53qqxp667i580";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -212985,8 +217821,8 @@ self: {
     ({ mkDerivation, base, bytestring, text, utf8-string, wreq }:
      mkDerivation {
        pname = "wreq-stringless";
-       version = "0.5.2.0";
-       sha256 = "0nswlrrs5pby5l758i5bbrfj0rpjxb71jak26gzwkm674kby9hjq";
+       version = "0.5.9.1";
+       sha256 = "0dgjjybbc4nza1a0af2j8jxscyhlcwdspmvy8zsmcczzcdhx2b2h";
        libraryHaskellDepends = [ base bytestring text utf8-string wreq ];
        homepage = "https://github.com/j-keck/wreq-stringless#readme";
        description = "Simple wrapper to use wreq without Strings";
@@ -213228,6 +218064,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wsjtx-udp" = callPackage
+    ({ mkDerivation, aeson, base, binary, binary-parsers, bytestring
+     , network, text, time
+     }:
+     mkDerivation {
+       pname = "wsjtx-udp";
+       version = "0.1.0.6";
+       sha256 = "04c44jbpnplil3l69s1bvn2dk2jbs4vkf82vlxpfrljnpfckllbc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base binary binary-parsers bytestring network text time
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/MarcFontaine/wsjtx-udp";
+       description = "WSJT-X UDP protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wtk" = callPackage
     ({ mkDerivation, base, old-locale, time, transformers }:
      mkDerivation {
@@ -214301,6 +219156,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xlsx_0_7_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
+     , old-locale, raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xeno
+     , xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.7.0";
+       sha256 = "1fg0y6raxavqnk6hnchjppizc01zszav78hdf38d3c7rgnd0vnmd";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq errors extra filepath lens mtl
+         network-uri old-locale safe text time transformers vector xeno
+         xml-conduit zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
+         xml-conduit
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       homepage = "https://github.com/qrilka/xlsx";
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -214318,6 +219203,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xlsx-tabular_0_2_2_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , lens, text, xlsx
+     }:
+     mkDerivation {
+       pname = "xlsx-tabular";
+       version = "0.2.2.1";
+       sha256 = "0bgxs1a0prnq6ljvv1g3rs39565w4609hv3ckq0gk0fz85yqkpa8";
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default lens text xlsx
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/kkazuo/xlsx-tabular";
+       description = "Xlsx table cell value extraction utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xlsx-templater" = callPackage
     ({ mkDerivation, base, bytestring, conduit, containers
      , data-default, parsec, text, time, transformers, xlsx
@@ -214391,8 +219294,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-conduit";
-       version = "1.7.0.1";
-       sha256 = "16pg2zzh0nz16zg6y5s7392d76fnhlki48ni1c18dzn41ybj8vll";
+       version = "1.7.1.2";
+       sha256 = "0n4k0rq9j5cc9kdvj9xbx8gmiqlyk5x6pw8yxzw5wfsw7qkych2s";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html blaze-markup bytestring
          conduit conduit-extra containers data-default-class deepseq
@@ -214407,6 +219310,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xml-conduit_1_8_0" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
+     , bytestring, conduit, conduit-extra, containers
+     , data-default-class, deepseq, hspec, HUnit, monad-control
+     , resourcet, text, transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-conduit";
+       version = "1.8.0";
+       sha256 = "0di0ll2p4ykqnlipf2jrlalirxdf9wkli292245rgr3vcb9vz0h3";
+       libraryHaskellDepends = [
+         attoparsec base blaze-html blaze-markup bytestring conduit
+         conduit-extra containers data-default-class deepseq monad-control
+         resourcet text transformers xml-types
+       ];
+       testHaskellDepends = [
+         base blaze-markup bytestring conduit containers hspec HUnit
+         resourcet text transformers xml-types
+       ];
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Pure-Haskell utilities for dealing with XML with the conduit package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xml-conduit-decode" = callPackage
     ({ mkDerivation, base, bifunctors, data-default, lens, semigroups
      , tasty, tasty-hunit, text, time, xml-conduit, xml-types
@@ -214543,6 +219471,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xml-hamlet_0_5_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, HUnit, parsec
+     , shakespeare, template-haskell, text, xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-hamlet";
+       version = "0.5.0";
+       sha256 = "18qmj14jzh379fni477h5hrzcy1x7dajfczx1s3w4wiyv2mc1kkv";
+       libraryHaskellDepends = [
+         base containers parsec shakespeare template-haskell text
+         xml-conduit
+       ];
+       testHaskellDepends = [
+         base containers hspec HUnit parsec shakespeare template-haskell
+         text xml-conduit
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Hamlet-style quasiquoter for XML content";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xml-helpers" = callPackage
     ({ mkDerivation, base, xml }:
      mkDerivation {
@@ -215122,21 +220072,21 @@ self: {
 
   "xmobar" = callPackage
     ({ mkDerivation, alsa-core, alsa-mixer, base, bytestring
-     , containers, dbus, directory, filepath, hinotify, HTTP, libmpd
-     , libXpm, libXrandr, libXrender, mtl, old-locale, parsec, process
-     , regex-compat, stm, time, timezone-olson, timezone-series
+     , containers, dbus, directory, filepath, hinotify, HTTP, iwlib
+     , libmpd, libXpm, libXrandr, libXrender, mtl, old-locale, parsec
+     , process, regex-compat, stm, time, timezone-olson, timezone-series
      , transformers, unix, utf8-string, wirelesstools, X11, X11-xft
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.24.5";
-       sha256 = "0sdzfj2wa4wpig1i2i5n9qpwm90jp88qifsmaa7j37yhhs6snfir";
+       version = "0.25";
+       sha256 = "0382r4vzqkz76jlp2069rdbwf4gh1a22r9w4rkphcn5qflw0dlb6";
        configureFlags = [ "-fall_extensions" ];
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          alsa-core alsa-mixer base bytestring containers dbus directory
-         filepath hinotify HTTP libmpd mtl old-locale parsec process
+         filepath hinotify HTTP iwlib libmpd mtl old-locale parsec process
          regex-compat stm time timezone-olson timezone-series transformers
          unix utf8-string X11 X11-xft
        ];
@@ -215362,8 +220312,8 @@ self: {
     ({ mkDerivation, base, magic, mtl, random, unix, xmonad }:
      mkDerivation {
        pname = "xmonad-wallpaper";
-       version = "0.0.1.3";
-       sha256 = "0vw1pcfpsxcaqnq9s5p7my3jr6q38ndm7qd5x7m06wmakcalcbyy";
+       version = "0.0.1.4";
+       sha256 = "0f6214kqp86xnk1zginjiprnqlj2fzcvh3w5sv3yvqg98mwdd0cg";
        libraryHaskellDepends = [ base magic mtl random unix xmonad ];
        description = "xmonad wallpaper extension";
        license = stdenv.lib.licenses.lgpl3;
@@ -215875,6 +220825,83 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yam-app" = callPackage
+    ({ mkDerivation, aeson, base, conduit, containers, ctrie
+     , data-default, directory, exceptions, fast-logger, monad-control
+     , monad-logger, mtl, persistent, persistent-sqlite, random
+     , resource-pool, resourcet, string-conversions, text, time
+     , transformers, unordered-containers, wai-logger, yaml
+     }:
+     mkDerivation {
+       pname = "yam-app";
+       version = "0.1.11";
+       sha256 = "0qbc7s5l030yilq8zlq5hszk6hgqjxp6yablap1ykm2211wipbq3";
+       libraryHaskellDepends = [
+         aeson base conduit containers ctrie data-default directory
+         exceptions fast-logger monad-control monad-logger mtl persistent
+         persistent-sqlite random resource-pool resourcet string-conversions
+         text time transformers unordered-containers wai-logger yaml
+       ];
+       homepage = "https://github.com/leptonyu/yam/tree/master/yam-app#readme";
+       description = "Yam App";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yam-job" = callPackage
+    ({ mkDerivation, base, cron, yam-app }:
+     mkDerivation {
+       pname = "yam-job";
+       version = "0.1.11";
+       sha256 = "0hs46q1xwwx44f4zxhs4245cdnr9g4r2a67cm191n1wd86sfhrpc";
+       libraryHaskellDepends = [ base cron yam-app ];
+       homepage = "https://github.com/leptonyu/yam/tree/master/yam-job#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yam-servant" = callPackage
+    ({ mkDerivation, aeson, base, http-types, lens, servant
+     , servant-server, servant-swagger, servant-swagger-ui, swagger2
+     , text, wai, wai-extra, warp, yam-app, yam-job
+     }:
+     mkDerivation {
+       pname = "yam-servant";
+       version = "0.1.11";
+       sha256 = "0z1my2jgcbvdx4v5zh66yw99vnck5rbi54s6adbp26v4szc8j40s";
+       libraryHaskellDepends = [
+         aeson base http-types lens servant servant-server servant-swagger
+         servant-swagger-ui swagger2 text wai wai-extra warp yam-app yam-job
+       ];
+       homepage = "https://github.com/leptonyu/yam/tree/master/yam-app#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yam-transaction-odbc" = callPackage
+    ({ mkDerivation, base, containers, persistent-odbc, yam-app }:
+     mkDerivation {
+       pname = "yam-transaction-odbc";
+       version = "0.1.10";
+       sha256 = "18nzdzzpykdp42sdsailhinxlrpwcrfys2n967ky9yizj7n8dcrx";
+       libraryHaskellDepends = [
+         base containers persistent-odbc yam-app
+       ];
+       homepage = "https://github.com/leptonyu/yam/tree/master/yam-transaction-odbc#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yam-transaction-postgresql" = callPackage
+    ({ mkDerivation, base, containers, persistent-postgresql, yam-app
+     }:
+     mkDerivation {
+       pname = "yam-transaction-postgresql";
+       version = "0.1.11";
+       sha256 = "1li9vmnnj9xw1j60gmjym9rxlljjic9w7bkxip22yhb6qnmidpc9";
+       libraryHaskellDepends = [
+         base containers persistent-postgresql yam-app
+       ];
+       homepage = "https://github.com/leptonyu/yam/tree/master/yam-transaction-postgresql#readme";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "yamemo" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -215895,8 +220922,10 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.8.25.1";
-       sha256 = "0s5db3ayjb9cs1pah1dggy9v95jnxis6v038jkh6229vi1piq4gz";
+       version = "0.8.28";
+       sha256 = "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp";
+       revision = "1";
+       editedCabalFile = "0f8vb5v0xfpsc02zqh9pzgv4fir93sgijk342lz5k872gscfjn62";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -215974,8 +221003,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-light-lens";
-       version = "0.3.3.3";
-       sha256 = "1kqia8i7vi7fbcrlwjv7yn09xnlm34k40qhb050rqzfrmyhpk2kq";
+       version = "0.3.3.4";
+       sha256 = "1vvwgb302w2nz05c97gzxkjx7m2lp25bpp3l16bzh92mjvqddpbd";
        libraryHaskellDepends = [
          base bytestring bytestring-lexing containers lens yaml-light
        ];
@@ -216483,6 +221512,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod_1_6_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , conduit, data-default-class, directory, fast-logger, monad-logger
+     , resourcet, semigroups, shakespeare, streaming-commons
+     , template-haskell, text, transformers, unix, unordered-containers
+     , wai, wai-extra, wai-logger, warp, yaml, yesod-core, yesod-form
+     , yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod";
+       version = "1.6.0";
+       sha256 = "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring conduit
+         data-default-class directory fast-logger monad-logger resourcet
+         semigroups shakespeare streaming-commons template-haskell text
+         transformers unix unordered-containers wai wai-extra wai-logger
+         warp yaml yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-alerts" = callPackage
     ({ mkDerivation, alerts, base, blaze-html, blaze-markup, safe, text
      , yesod-core
@@ -216589,6 +221643,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-auth_1_6_0" = 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-client-tls, http-conduit, http-types, memory
+     , mime-mail, network-uri, nonce, persistent, persistent-template
+     , random, resourcet, safe, shakespeare, template-haskell, text
+     , time, transformers, unliftio, unliftio-core, unordered-containers
+     , wai, yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth";
+       version = "1.6.0";
+       sha256 = "1whjf9hddlv2rymy5frgck6pb9l408lywdnnylnzmkrvrpvlm2nh";
+       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-client-tls http-conduit http-types
+         memory mime-mail network-uri nonce persistent persistent-template
+         random resourcet safe shakespeare template-haskell text time
+         transformers unliftio unliftio-core 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
@@ -216868,15 +221953,15 @@ self: {
      }) {};
 
   "yesod-auth-oauth" = callPackage
-    ({ mkDerivation, authenticate-oauth, base, bytestring, lifted-base
-     , text, transformers, yesod-auth, yesod-core, yesod-form
+    ({ mkDerivation, authenticate-oauth, base, bytestring, text
+     , transformers, unliftio, yesod-auth, yesod-core, yesod-form
      }:
      mkDerivation {
        pname = "yesod-auth-oauth";
-       version = "1.4.2";
-       sha256 = "09vrr8k3kgwps4n8isl54zm7n3j5xvz82pbphcp688r42k6v05f1";
+       version = "1.6.0";
+       sha256 = "1czm2zs9w8aicpqxmcn97c6skrhcy7g57q51vvnf40pffblvh33g";
        libraryHaskellDepends = [
-         authenticate-oauth base bytestring lifted-base text transformers
+         authenticate-oauth base bytestring text transformers unliftio
          yesod-auth yesod-core yesod-form
        ];
        homepage = "http://www.yesodweb.com/";
@@ -217000,6 +222085,39 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-bin_1_6_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
+     , bytestring, Cabal, conduit, conduit-extra, containers
+     , data-default-class, directory, file-embed, filepath, fsnotify
+     , http-client, http-client-tls, http-reverse-proxy, http-types
+     , network, optparse-applicative, parsec, process, project-template
+     , resourcet, say, shakespeare, split, stm, streaming-commons, tar
+     , template-haskell, text, time, transformers, transformers-compat
+     , unix-compat, unliftio, unordered-containers, wai, wai-extra, warp
+     , warp-tls, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "yesod-bin";
+       version = "1.6.0";
+       sha256 = "096yxpb6dxy44s2ydf137rmd0b7zm5ww4yqkf7mnapslhc25wznn";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         attoparsec base base64-bytestring blaze-builder bytestring Cabal
+         conduit conduit-extra containers data-default-class directory
+         file-embed filepath fsnotify http-client http-client-tls
+         http-reverse-proxy http-types network optparse-applicative parsec
+         process project-template resourcet say shakespeare split stm
+         streaming-commons tar template-haskell text time transformers
+         transformers-compat unix-compat unliftio unordered-containers wai
+         wai-extra warp warp-tls yaml zlib
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "The yesod helper executable";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-bootstrap" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, bootstrap-types
      , shakespeare, text, transformers, yesod-core, yesod-elements
@@ -217023,8 +222141,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-colonnade";
-       version = "1.1.0";
-       sha256 = "0d0apypsy5v48gk5liy5mfky1ncbvzkhb8hbj0bivh0qhqfbwgqn";
+       version = "1.2.0";
+       sha256 = "1xbcwaklbly80fimmbi04j9wpl06knjdf1zy0m8i8cb1xmd8nh0k";
        libraryHaskellDepends = [
          base blaze-html blaze-markup colonnade text yesod-core
        ];
@@ -217111,8 +222229,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.4.37.2";
-       sha256 = "0pip1y97zwfy073rc5yrhfcfj1m0nwrzih8f27m77y9dbdcwgmhs";
+       version = "1.4.37.3";
+       sha256 = "1jw1302p5s9jy7xghxzg9j63pn6b1hp957n1808qyk1iz7yrfsg0";
        libraryHaskellDepends = [
          aeson auto-update base blaze-builder blaze-html blaze-markup
          byteable bytestring case-insensitive cereal clientsession conduit
@@ -217139,6 +222257,47 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_6_0" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, byteable, bytestring, case-insensitive, cereal
+     , clientsession, conduit, conduit-extra, containers, cookie
+     , deepseq, deepseq-generics, directory, fast-logger, gauge, hspec
+     , hspec-expectations, http-types, HUnit, monad-logger, mtl, network
+     , old-locale, parsec, path-pieces, primitive, QuickCheck, random
+     , resourcet, safe, semigroups, shakespeare, streaming-commons
+     , template-haskell, text, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.0";
+       sha256 = "0xhg4kjskjpwffnfykhszqyhg9d785r5pnziklswdi6g0qy0zv4z";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup byteable bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq deepseq-generics directory fast-logger
+         http-types monad-logger mtl old-locale parsec path-pieces primitive
+         random resourcet safe semigroups shakespeare template-haskell text
+         time transformers unix-compat unliftio unordered-containers vector
+         wai wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces QuickCheck random resourcet shakespeare
+         streaming-commons template-haskell text transformers unliftio wai
+         wai-extra
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge 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
@@ -217294,6 +222453,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-eventsource_1_6_0" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, transformers, wai
+     , wai-eventsource, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-eventsource";
+       version = "1.6.0";
+       sha256 = "12s11q6zga37xyynll7b30gpv02k7jmmzfassshci02y9niyrkkg";
+       libraryHaskellDepends = [
+         base blaze-builder conduit transformers wai wai-eventsource
+         wai-extra yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Server-sent events support for Yesod apps";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-examples" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, data-object
      , data-object-yaml, hamlet, persistent-sqlite, persistent-template
@@ -217401,6 +222578,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-form_1_6_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, containers, data-default
+     , email-validate, hspec, network-uri, persistent, resourcet
+     , semigroups, shakespeare, template-haskell, text, time
+     , transformers, wai, xss-sanitize, yesod-core, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-form";
+       version = "1.6.0";
+       sha256 = "0vvj56pjfaqn7lys8gbb8p7bgnbi67l9a5786gqc3jc1q0b50x8n";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html blaze-markup
+         byteable bytestring containers data-default email-validate
+         network-uri persistent resourcet semigroups shakespeare
+         template-haskell text time transformers wai xss-sanitize yesod-core
+         yesod-persistent
+       ];
+       testHaskellDepends = [ base hspec text time ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Form handling support for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-form-bootstrap4" = callPackage
     ({ mkDerivation, base, classy-prelude-yesod, yesod-form }:
      mkDerivation {
@@ -217670,6 +222872,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-newsfeed_1_6_1_0" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, shakespeare, text, time, xml-conduit, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-newsfeed";
+       version = "1.6.1.0";
+       sha256 = "05cnyz9g76hnfmhqfav16mghr0x42fqnz1zi0ki4bjkl5mcrf2vd";
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup bytestring containers shakespeare text
+         time xml-conduit yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Helper functions and data types for producing News feeds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-paginate" = callPackage
     ({ mkDerivation, base, template-haskell, yesod }:
      mkDerivation {
@@ -217761,6 +222981,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-persistent_1_6_0" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.6.0";
+       sha256 = "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2";
+       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
@@ -218158,6 +223401,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-sitemap_1_6_0" = callPackage
+    ({ mkDerivation, base, conduit, containers, data-default, text
+     , time, xml-conduit, xml-types, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-sitemap";
+       version = "1.6.0";
+       sha256 = "1mnv658z36ja1avig0g4pirb2i9vqriycykhfky74xymvjmhdyp5";
+       libraryHaskellDepends = [
+         base conduit containers data-default text time xml-conduit
+         xml-types yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Generate XML sitemaps";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-static" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , blaze-builder, byteable, bytestring, conduit, conduit-extra
@@ -218193,6 +223454,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-static_1_6_0" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, byteable, bytestring, conduit, containers
+     , cryptonite, cryptonite-conduit, css-text, data-default, directory
+     , exceptions, file-embed, filepath, hashable, hjsmin, hspec
+     , http-types, HUnit, memory, mime-types, old-time, process
+     , resourcet, template-haskell, text, transformers, unix-compat
+     , unordered-containers, wai, wai-app-static, wai-extra, yesod-core
+     , yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-static";
+       version = "1.6.0";
+       sha256 = "03l8jjn3pw7j38i91hakf1lgr4lf2lc610a783i7zhmr9f9ga2xx";
+       libraryHaskellDepends = [
+         async attoparsec base base64-bytestring blaze-builder byteable
+         bytestring conduit containers cryptonite cryptonite-conduit
+         css-text data-default directory exceptions file-embed filepath
+         hashable hjsmin http-types memory mime-types old-time process
+         resourcet template-haskell text transformers unix-compat
+         unordered-containers wai wai-app-static yesod-core
+       ];
+       testHaskellDepends = [
+         async base base64-bytestring byteable bytestring conduit containers
+         cryptonite cryptonite-conduit data-default directory exceptions
+         file-embed filepath hjsmin hspec http-types HUnit memory mime-types
+         old-time process resourcet template-haskell text transformers
+         unix-compat unordered-containers wai wai-app-static wai-extra
+         yesod-core yesod-test
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Static file serving subsite for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-static-angular" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, blaze-markup
      , bytestring, data-default, directory, filepath, hamlet, hspec
@@ -218278,6 +223575,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_6_0" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, case-insensitive, conduit, containers
+     , cookie, hspec, hspec-core, html-conduit, http-types, HUnit
+     , network, persistent, pretty-show, text, time, transformers
+     , unliftio, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.6.0";
+       sha256 = "0xdl20qm0h6dx6cbzp0d9n0qmpfz3wrn5lwwy2zrpx7bgb967fq6";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit network persistent pretty-show text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec html-conduit http-types HUnit text
+         unliftio wai xml-conduit yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com";
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -218396,6 +223721,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-websockets_0_3_0" = callPackage
+    ({ mkDerivation, base, conduit, mtl, transformers, unliftio, wai
+     , wai-websockets, websockets, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-websockets";
+       version = "0.3.0";
+       sha256 = "0ip4fjjxhz79fj1gm0wl23jkkb64hqn9rwn0vaqy69wy4212jr2a";
+       libraryHaskellDepends = [
+         base conduit mtl transformers unliftio wai wai-websockets
+         websockets yesod-core
+       ];
+       homepage = "https://github.com/yesodweb/yesod";
+       description = "WebSockets support for Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-websockets-extra" = callPackage
     ({ mkDerivation, base, enclosed-exceptions, transformers
      , websockets, yesod-websockets
@@ -219327,6 +224670,7 @@ self: {
        homepage = "http://bitbucket.org/iago/z3-haskell";
        description = "Bindings for the Z3 Theorem Prover";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {gomp = null; inherit (pkgs) z3;};
 
   "z3-encoding" = callPackage
@@ -219638,8 +224982,8 @@ self: {
      }:
      mkDerivation {
        pname = "zifter";
-       version = "0.0.1.5";
-       sha256 = "06bnj0zxxmspzw5rpc53hxksdd1h9nd6viwrvfmgj1fam1fhh856";
+       version = "0.0.1.6";
+       sha256 = "0bswk4z26v020qkcm09cjkjkvwxsx1mrzrf3kajhwwzpb8vzxbdh";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions filepath
          optparse-applicative path path-io process safe stm validity
@@ -219736,16 +225080,20 @@ self: {
      }) {};
 
   "zifter-stack" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath, path, path-io
-     , process, safe, zifter
+    ({ mkDerivation, base, Cabal, directory, filepath, hspec, path
+     , path-io, process, safe, stm, zifter
      }:
      mkDerivation {
        pname = "zifter-stack";
-       version = "0.0.0.8";
-       sha256 = "03grslbsd7x1gj6fw80vsmj2cyfvrfmlqqzcrx3j2rk0icax0nla";
+       version = "0.0.0.10";
+       sha256 = "1qsxim5rmj2s4k615390iqy4691ilrx5h75fd38ds599kvxgvwni";
        libraryHaskellDepends = [
          base Cabal directory filepath path path-io process safe zifter
        ];
+       testHaskellDepends = [
+         base Cabal directory filepath hspec path path-io process safe stm
+         zifter
+       ];
        homepage = "http://cs-syd.eu";
        description = "zifter-stack";
        license = stdenv.lib.licenses.mit;
@@ -219820,14 +225168,12 @@ self: {
   "zip-archive" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , digest, directory, filepath, HUnit, mtl, old-time, pretty
-     , process, temporary, text, time, unix, zip, zlib
+     , process, temporary, text, time, unix, unzip, zip, zlib
      }:
      mkDerivation {
        pname = "zip-archive";
-       version = "0.3.1.1";
-       sha256 = "09c3y13r77shyamibr298i4l0rp31i41w3rg1ksnrl3gkrj8x1ly";
-       revision = "1";
-       editedCabalFile = "0n8f1075gz5q2k9mqzadca6is0fi1bgi91sfw1yq2kqakkbrbkqy";
+       version = "0.3.2.2";
+       sha256 = "1xyabamc3670r8qjwpyfxcbsxhsnzy6i9n5zx58maq830lwp2m9c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -219836,14 +225182,14 @@ self: {
        ];
        executableHaskellDepends = [ base bytestring directory ];
        testHaskellDepends = [
-         base bytestring directory HUnit old-time process temporary time
-         unix
+         base bytestring directory filepath HUnit old-time process temporary
+         time unix
        ];
-       testToolDepends = [ zip ];
+       testToolDepends = [ unzip zip ];
        homepage = "http://github.com/jgm/zip-archive";
        description = "Library for creating and modifying zip archives";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) zip;};
+     }) {inherit (pkgs) unzip; inherit (pkgs) zip;};
 
   "zip-conduit" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
@@ -219944,16 +225290,16 @@ self: {
 
   "zippers" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, criterion, doctest
-     , lens, profunctors, semigroupoids
+     , lens, profunctors, semigroupoids, semigroups
      }:
      mkDerivation {
        pname = "zippers";
-       version = "0.2.4";
-       sha256 = "1nzjs1s0lb0gr0n2qib4pdp24k7q707261n8icxzg81f0c04yafb";
-       revision = "1";
-       editedCabalFile = "18a7wlklxvl9fhk8j7njf8ifn2781vfiqz0vxk6ljx30f1p7plq1";
+       version = "0.2.5";
+       sha256 = "11f0jx0dbm2y9y5hnpakdvk9fmsm3awr2lcxp46dyma6arr7f4id";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base lens profunctors semigroupoids ];
+       libraryHaskellDepends = [
+         base lens profunctors semigroupoids semigroups
+       ];
        testHaskellDepends = [ base doctest ];
        benchmarkHaskellDepends = [ base criterion lens ];
        homepage = "http://github.com/ekmett/zippers/";
@@ -220394,6 +225740,45 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zuramaru" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, distributive, doctest
+     , either, extensible, extra, lens, megaparsec, mono-traversable
+     , mtl, profunctors, readline, safe, safe-exceptions, silently
+     , singletons, string-qq, tasty, tasty-discover, tasty-hunit
+     , template-haskell, text, text-show, throwable-exceptions
+     , transformers
+     }:
+     mkDerivation {
+       pname = "zuramaru";
+       version = "0.1.0.0";
+       sha256 = "0g8kkwyjmsj5wqsqn6yxg9qr79ljfskc5qy4wg0xvlb8781xbj8m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base cmdargs containers distributive either extensible extra lens
+         megaparsec mono-traversable mtl profunctors readline safe
+         safe-exceptions singletons string-qq template-haskell text
+         text-show throwable-exceptions transformers
+       ];
+       executableHaskellDepends = [
+         base cmdargs containers distributive either extensible extra lens
+         megaparsec mono-traversable mtl profunctors readline safe
+         safe-exceptions singletons string-qq template-haskell text
+         text-show throwable-exceptions transformers
+       ];
+       testHaskellDepends = [
+         base cmdargs containers distributive doctest either extensible
+         extra lens megaparsec mono-traversable mtl profunctors readline
+         safe safe-exceptions silently singletons string-qq tasty
+         tasty-discover tasty-hunit template-haskell text text-show
+         throwable-exceptions transformers
+       ];
+       homepage = "https://github.com/aiya000/hs-zuramaru";
+       description = "A lisp processor, An inline-lisp, in Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zxcvbn-c" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
diff --git a/pkgs/development/haskell-modules/hie-packages.nix b/pkgs/development/haskell-modules/hie-packages.nix
index 5ed5fb62ca00..3f08f64b1e11 100644
--- a/pkgs/development/haskell-modules/hie-packages.nix
+++ b/pkgs/development/haskell-modules/hie-packages.nix
@@ -72,6 +72,8 @@ in
          doCheck = false;
          description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
          license = stdenv.lib.licenses.agpl3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
     ghc-dump-tree_hie = callPackage
       ({ mkDerivation, aeson, base, bytestring, ghc, optparse-applicative
@@ -95,6 +97,8 @@ in
          homepage = "https://github.com/edsko/ghc-dump-tree";
          description = "Dump GHC's parsed, renamed, and type checked ASTs";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
     ghc-mod-core = callPackage
       ({ mkDerivation, base, binary, bytestring, Cabal, cabal-helper
@@ -124,6 +128,8 @@ in
          homepage = "https://github.com/DanielG/ghc-mod";
          description = "Happy Haskell Hacking";
          license = stdenv.lib.licenses.agpl3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit cabal-helper; };
     ghc-mod_hie = callPackage
       ({ mkDerivation, base, binary, bytestring, Cabal, cabal-doctest
@@ -173,6 +179,8 @@ in
          homepage = "https://github.com/DanielG/ghc-mod";
          description = "Happy Haskell Hacking";
          license = stdenv.lib.licenses.agpl3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { shelltest = null; inherit cabal-helper; };
     HaRe_hie = callPackage
       ({ mkDerivation, attoparsec, base, base-prelude, Cabal, cabal-helper
@@ -211,6 +219,8 @@ in
          homepage = "https://github.com/RefactoringTools/HaRe/wiki";
          description = "the Haskell Refactorer";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit cabal-helper; };
     ### hie packages
     haskell-ide-engine = callPackage
@@ -219,7 +229,7 @@ in
        , ghc-mod-core, gitrev, haskell-lsp, hie-apply-refact, hie-base
        , hie-brittany, hie-build-plugin, hie-eg-plugin-async
        , hie-example-plugin2, hie-ghc-mod, hie-ghc-tree, hie-haddock
-       , hie-hare, hie-hoogle, hie-plugin-api, hoogle, hslogger, hspec
+       , hie-hare, hie-hoogle, hie-plugin-api, hoogle, hoogleLocal, hslogger, hspec
        , lens, mtl, optparse-simple, QuickCheck, quickcheck-instances
        , sorted-list, stm, text, time, transformers
        , unordered-containers, vector, vinyl, yaml, yi-rope
@@ -253,14 +263,22 @@ in
            quickcheck-instances stm text transformers unordered-containers
            vector vinyl yaml
          ];
-         preCheck = "export HOME=$NIX_BUILD_TOP/home; mkdir $HOME";
+
+         preCheck =
+           ''
+             export HOME=$NIX_BUILD_TOP/home
+             mkdir -p $HOME/.hoogle
+             ln -sv ${hoogleLocal}/share/doc/hoogle/default.hoo $HOME/.hoogle/default-haskell-${hoogle.version}.hoo
+           '';
          # https://github.com/haskell/haskell-ide-engine/issues/425
          # The disabled tests do work in a local nix-shell with cabal available.
          patches = [ ./patches/hie-testsuite.patch ];
          homepage = "http://github.com/githubuser/haskell-ide-engine#readme";
          description = "Provide a common engine to power any Haskell IDE";
          license = stdenv.lib.licenses.bsd3;
-      }) { inherit hoogle; };
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
+      }) { inherit hoogle; hoogleLocal = (self.hoogleLocal {}).override { inherit hoogle; }; };
     hie-apply-refact = callPackage
       ({ mkDerivation, aeson, apply-refact, base, either, extra, ghc-mod
        , ghc-mod-core, haskell-src-exts, hie-base, hie-plugin-api, hlint
@@ -277,6 +295,8 @@ in
          ];
          description = "Haskell IDE Apply Refact plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-mod; };
     hie-base = callPackage
       ({ mkDerivation, aeson, base, haskell-lsp, text }:
@@ -288,6 +308,8 @@ in
          libraryHaskellDepends = [ aeson base haskell-lsp text ];
          description = "Haskell IDE API base types";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
     hie-brittany = callPackage
       ({ mkDerivation, aeson, base, brittany, ghc-mod, ghc-mod-core
@@ -304,6 +326,8 @@ in
          ];
          description = "Haskell IDE Hoogle plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-mod; };
     hie-build-plugin = callPackage
       ({ mkDerivation, aeson, base, bytestring, Cabal, cabal-helper
@@ -322,6 +346,8 @@ in
          ];
          description = "Haskell IDE build plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit cabal-helper; };
     hie-eg-plugin-async = callPackage
       ({ mkDerivation, base, ghc-mod-core, hie-plugin-api, stm
@@ -337,6 +363,8 @@ in
          ];
          description = "Haskell IDE example plugin, using async processes";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
     hie-example-plugin2 = callPackage
       ({ mkDerivation, base, hie-plugin-api, text }:
@@ -348,6 +376,8 @@ in
          libraryHaskellDepends = [ base hie-plugin-api text ];
          description = "Haskell IDE example plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
     hie-ghc-mod = callPackage
       ({ mkDerivation, aeson, base, containers, ghc, ghc-mod, ghc-mod-core
@@ -364,6 +394,8 @@ in
          ];
          description = "Haskell IDE ghc-mod plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-mod; };
     hie-ghc-tree = callPackage
       ({ mkDerivation, aeson, base, ghc-dump-tree, ghc-mod, ghc-mod-core
@@ -380,6 +412,8 @@ in
          ];
          description = "Haskell IDE GHC Tree plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-dump-tree ghc-mod; };
     hie-haddock = callPackage
       ({ mkDerivation, aeson, base, containers, directory, either
@@ -401,6 +435,8 @@ in
          ];
          description = "Haskell IDE Haddock plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit haddock-library HaRe ghc-mod; };
     hie-hare = callPackage
       ({ mkDerivation, aeson, base, containers, Diff, either, ghc
@@ -420,6 +456,8 @@ in
          ];
          description = "Haskell IDE HaRe plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-mod HaRe; };
     hie-hoogle = callPackage
       ({ mkDerivation, aeson, base, directory, filepath, ghc-mod
@@ -436,6 +474,8 @@ in
          ];
          description = "Haskell IDE Hoogle plugin";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) { inherit ghc-mod hoogle; };
     hie-plugin-api = callPackage
       ({ mkDerivation, aeson, base, containers, Diff, directory, either
@@ -456,5 +496,7 @@ in
          ];
          description = "Haskell IDE API for plugin communication";
          license = stdenv.lib.licenses.bsd3;
+         hydraPlatforms = stdenv.lib.platforms.none;
+         broken = true;
        }) {};
   }
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index bb2cf8b36f05..fef827cd9a11 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -40,6 +40,18 @@ rec {
     overrideScope = scope: overrideCabal (drv.overrideScope scope) f;
   };
 
+  # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
+  # Given a set whose values are either paths or version strings, produces
+  # a package override set (i.e. (self: super: { etc. })) that sets
+  # the packages named in the input set to the corresponding versions
+  packageSourceOverrides =
+    overrides: self: super: pkgs.lib.mapAttrs (name: src:
+      let isPath = x: builtins.substring 0 1 (toString x) == "/";
+          generateExprs = if isPath src
+                             then self.callCabal2nix
+                             else self.callHackage;
+      in generateExprs name src {}) overrides;
+
   /* doCoverage modifies a haskell package to enable the generation
      and installation of a coverage report.
 
@@ -144,7 +156,7 @@ rec {
   enableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f-${x}") "-f${x}";
   disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}";
 
-  markBroken = drv: overrideCabal drv (drv: { broken = true; });
+  markBroken = drv: overrideCabal drv (drv: { broken = true; hydraPlatforms = []; });
   markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
 
   enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index b91d73c9748c..0f866a96e71e 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -4,6 +4,10 @@
 { # package-set used for build tools (all of nixpkgs)
   buildPackages
 
+, # A haskell package set for Setup.hs, compiler plugins, and similar
+  # build-time uses.
+  buildHaskellPackages
+
 , # package-set used for non-haskell dependencies (all of nixpkgs)
   pkgs
 
@@ -18,8 +22,8 @@
 , # compiler to use
   ghc
 
-, # A function that takes `{ pkgs, stdenv, callPackage }` as the first arg and `self`
-  # as second, and returns a set of haskell packages
+, # A function that takes `{ pkgs, stdenv, callPackage }` as the first arg and
+  # `self` as second, and returns a set of haskell packages
   package-set
 
 , # The final, fully overriden package set usable with the nixpkgs fixpoint
@@ -36,15 +40,12 @@ let
   inherit (stdenv.lib) fix' extends makeOverridable;
   inherit (haskellLib) overrideCabal;
 
-  buildHaskellPackages = if hostPlatform != buildPlatform
-                         then self.ghc.bootPkgs
-                         else self;
-
   mkDerivationImpl = pkgs.callPackage ./generic-builder.nix {
     inherit stdenv;
     nodejs = buildPackages.nodejs-slim;
-    inherit (buildHaskellPackages) jailbreak-cabal;
+    inherit buildHaskellPackages;
     inherit (self) ghc;
+    inherit (buildHaskellPackages) jailbreak-cabal;
     hscolour = overrideCabal buildHaskellPackages.hscolour (drv: {
       isLibrary = false;
       doHaddock = false;
@@ -80,8 +81,8 @@ let
       # lost on `.override`) but determine the auto-args based on `drv` (the problem here
       # is that nix has no way to "passthrough" args while preserving the reflection
       # info that callPackage uses to determine the arguments).
-      drv = if builtins.isFunction fn then fn else import fn;
-      auto = builtins.intersectAttrs (builtins.functionArgs drv) scope;
+      drv = if stdenv.lib.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (stdenv.lib.functionArgs drv) scope;
 
       # this wraps the `drv` function to add a `overrideScope` function to the result.
       drvScope = allArgs: drv allArgs // {
@@ -119,7 +120,7 @@ let
       installPhase = ''
         export HOME="$TMP"
         mkdir -p "$out"
-        cabal2nix --compiler=${self.ghc.name} --system=${stdenv.system} ${sha256Arg} "${src}" > "$out/default.nix"
+        cabal2nix --compiler=${ghc.haskellCompilerName} --system=${stdenv.system} ${sha256Arg} "${src}" > "$out/default.nix"
       '';
   };
 
@@ -139,6 +140,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
 
     inherit mkDerivation callPackage haskellSrc2nix hackage2nix;
 
+    inherit (haskellLib) packageSourceOverrides;
+
     callHackage = name: version: self.callPackage (self.hackage2nix name version);
 
     # Creates a Haskell package from a source package by calling cabal2nix on the source.
@@ -155,33 +158,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
           };
       }) args) (_: { inherit src; });
 
-    # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
-    # Given a set whose values are either paths or version strings, produces
-    # a package override set (i.e. (self: super: { etc. })) that sets
-    # the packages named in the input set to the corresponding versions
-    packageSourceOverrides =
-      overrides: self: super: pkgs.lib.mapAttrs (name: src:
-        let isPath = x: builtins.substring 0 1 (toString x) == "/";
-            generateExprs = if isPath src
-                               then self.callCabal2nix
-                               else self.callHackage;
-        in generateExprs name src {}) overrides;
-
     # : { root : Path
     #   , source-overrides : Defaulted (Either Path VersionNumber)
     #   , overrides : Defaulted (HaskellPackageOverrideSet)
+    #   , modifier : Defaulted
     #   } -> NixShellAwareDerivation
     # Given a path to a haskell package directory whose cabal file is
     # named the same as the directory name, an optional set of
     # source overrides as appropriate for the 'packageSourceOverrides'
-    # function, and an optional set of arbitrary overrides,
-    # return a derivation appropriate for nix-build or nix-shell
-    # to build that package.
-    developPackage = { root, source-overrides ? {}, overrides ? self: super: {} }:
+    # function, an optional set of arbitrary overrides, and an optional
+    # haskell package modifier,  return a derivation appropriate
+    # for nix-build or nix-shell to build that package.
+    developPackage = { root, source-overrides ? {}, overrides ? self: super: {}, modifier ? drv: drv }:
       let name = builtins.baseNameOf root;
           drv =
             (extensible-self.extend (pkgs.lib.composeExtensions (self.packageSourceOverrides source-overrides) overrides)).callCabal2nix name root {};
-      in if pkgs.lib.inNixShell then drv.env else drv;
+      in if pkgs.lib.inNixShell then (modifier drv).env else modifier drv;
 
     ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index aa0090e4cff5..d858787f43cd 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -56,7 +56,6 @@ symlinkJoin {
   # as a dedicated drv attribute, like `compiler-name`
   name = ghc.name + "-with-packages";
   paths = paths ++ [ghc];
-  extraOutputsToInstall = [ "out" "doc" ];
   postBuild = ''
     . ${makeWrapper}/nix-support/setup-hook
 
diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix
index 66eddd0e3602..0048634f5b45 100644
--- a/pkgs/development/idris-modules/build-idris-package.nix
+++ b/pkgs/development/idris-modules/build-idris-package.nix
@@ -3,40 +3,21 @@
 # args: Additional arguments to pass to mkDerivation. Generally should include at least
 #       name and src.
 { stdenv, idris, gmp }: args: stdenv.mkDerivation ({
-  preHook = ''
-    # Library import path
-    export IDRIS_LIBRARY_PATH=$PWD/idris-libs
-    mkdir -p $IDRIS_LIBRARY_PATH
-
-    # Library install path
-    export IBCSUBDIR=$out/lib/${idris.name}
-    mkdir -p $IBCSUBDIR
-
-    addIdrisLibs () {
-      if [ -d $1/lib/${idris.name} ]; then
-        ln -sv $1/lib/${idris.name}/* $IDRIS_LIBRARY_PATH
-      fi
-    }
-
-    # All run-time deps
-    addEnvHooks 0 addIdrisLibs
-  '';
-
   buildPhase = ''
-    ${idris}/bin/idris --build *.ipkg
+    idris --build *.ipkg
   '';
 
   doCheck = true;
 
   checkPhase = ''
     if grep -q test *.ipkg; then
-      ${idris}/bin/idris --testpkg *.ipkg
+      idris --testpkg *.ipkg
     fi
   '';
 
   installPhase = ''
-    ${idris}/bin/idris --install *.ipkg --ibcsubdir $IBCSUBDIR
+    idris --install *.ipkg --ibcsubdir $IBCSUBDIR
   '';
 
-  buildInputs = [ gmp ];
+  buildInputs = [ gmp idris ];
 } // args)
diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix
index 32424ba1f862..155098a46252 100644
--- a/pkgs/development/idris-modules/idris-wrapper.nix
+++ b/pkgs/development/idris-modules/idris-wrapper.nix
@@ -5,10 +5,13 @@ symlinkJoin {
   src = idris.src;
   paths = [ idris ];
   buildInputs = [ makeWrapper ];
+  meta.platforms = idris.meta.platforms;
   postBuild = ''
     wrapProgram $out/bin/idris \
       --suffix PATH : ${ stdenv.lib.makeBinPath path } \
       --suffix LIBRARY_PATH : ${stdenv.lib.makeLibraryPath lib}
+
+    mkdir -p $out/nix-support
+    substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
       '';
   }
-
diff --git a/pkgs/development/idris-modules/setup-hook.sh b/pkgs/development/idris-modules/setup-hook.sh
new file mode 100644
index 000000000000..30a487ea80d4
--- /dev/null
+++ b/pkgs/development/idris-modules/setup-hook.sh
@@ -0,0 +1,16 @@
+# Library import path
+export IDRIS_LIBRARY_PATH=$PWD/idris-libs
+mkdir -p $IDRIS_LIBRARY_PATH
+
+# Library install path
+export IBCSUBDIR=$out/lib/@name@
+mkdir -p $IBCSUBDIR
+
+addIdrisLibs () {
+  if [ -d $1/lib/@name@ ]; then
+    ln -sv $1/lib/@name@/* $IDRIS_LIBRARY_PATH
+  fi
+}
+
+# All run-time deps
+addEnvHooks 1 addIdrisLibs
diff --git a/pkgs/development/interpreters/duktape/default.nix b/pkgs/development/interpreters/duktape/default.nix
new file mode 100644
index 000000000000..c54a9d204cba
--- /dev/null
+++ b/pkgs/development/interpreters/duktape/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "duktape-${version}";
+  version = "2.2.0";
+  src = fetchurl {
+    url = "http://duktape.org/duktape-${version}.tar.xz";
+    sha256 = "050csp065ll67dck94s0vdad5r5ck4jwsz1fn1y0fcvn88325xv2";
+  };
+
+  buildPhase = ''
+    make -f Makefile.sharedlibrary
+    make -f Makefile.cmdline
+  '';
+  installPhase = ''
+    install -d $out/bin
+    install -m755 duk $out/bin/
+    install -d $out/lib
+    install -m755 libduktape* $out/lib/
+  '';
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "An embeddable Javascript engine, with a focus on portability and compact footprint";
+    homepage = "http://duktape.org/";
+    downloadPage = "http://duktape.org/download.html";
+    license = licenses.mit;
+    maintainers = [ maintainers.fgaz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/interpreters/elixir/1.6.nix b/pkgs/development/interpreters/elixir/1.6.nix
index 168007d22d77..673a4b6e51bb 100644
--- a/pkgs/development/interpreters/elixir/1.6.nix
+++ b/pkgs/development/interpreters/elixir/1.6.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 
 mkDerivation rec {
-  version = "1.6.0-rc.1";
-  sha256 = "06g6n9qvv57xa07fyaqhki2y8zw24m3smcjiw1wiw9pzl5a76iby";
+  version = "1.6.0";
+  sha256 = "0wfmbrq70n85mx17kl9h2k0xzgnhncz3xygjx9cbvpmiwwdzgrdx";
   minimumOTPVersion = "18";
 }
diff --git a/pkgs/development/interpreters/erlang/R16B02-basho.nix b/pkgs/development/interpreters/erlang/R16B02-basho.nix
index 33c34f7fecc0..714924514edb 100644
--- a/pkgs/development/interpreters/erlang/R16B02-basho.nix
+++ b/pkgs/development/interpreters/erlang/R16B02-basho.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
     tar xf "${manpages}" -C "$out/lib/erlang"
     for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
       prefix="''${i%/*}"
-      ensureDir "$out/share/man/''${prefix##*/}"
+      mkdir -p "$out/share/man/''${prefix##*/}"
       ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
     done
   '';
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index fe9f94beed17..e10c5fbb5684 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -10,11 +10,11 @@
 
 (rec {
   name = "guile-${version}";
-  version = "2.2.0";
+  version = "2.2.3";
 
   src = fetchurl {
     url = "mirror://gnu/guile/${name}.tar.xz";
-    sha256 = "05dmvhd1y135x7w5qfw4my42cfp6l8bbhjfxvchcc1cbdvzri0f1";
+    sha256 = "11j01agvnci2cx32wwpqs9078856yxmvs15gcsz7ganpkj2ahlw3";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
index 3cafd956277a..41e5e3d93be6 100644
--- a/pkgs/development/interpreters/hy/default.nix
+++ b/pkgs/development/interpreters/hy/default.nix
@@ -2,7 +2,7 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "hy-${version}";
-  version = "0.12.1";
+  version = "0.13.1";
 
   src = fetchurl {
     url = "mirror://pypi/h/hy/${name}.tar.gz";
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
index b83b920497de..d8a789e9209e 100644
--- a/pkgs/development/interpreters/lua-5/sockets.nix
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://w3.impa.br/~diego/software/luasocket/;
     hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 62c63ef6c5c3..14a4bac47f62 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurlBoot, enableThreading ? stdenv ? glibc }:
+{ lib, stdenv, fetchurlBoot, buildPackages, enableThreading ? stdenv ? glibc }:
 
 with lib;
 
@@ -19,7 +19,8 @@ let
   libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
   libcInc = lib.getDev libc;
   libcLib = lib.getLib libc;
-  common = { version, sha256 }: stdenv.mkDerivation rec {
+  crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform;
+  common = { version, sha256 }: stdenv.mkDerivation (rec {
     name = "perl-${version}";
 
     src = fetchurlBoot {
@@ -50,6 +51,8 @@ let
       pwd="$(type -P pwd)"
       substituteInPlace dist/PathTools/Cwd.pm \
         --replace "/bin/pwd" "$pwd"
+    '' + stdenv.lib.optionalString crossCompiling ''
+      substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
     '';
 
     # Build a thread-safe Perl with a dynamic libperls.o.  We need the
@@ -58,8 +61,10 @@ let
     # contains the string "perl", Configure would select $out/lib.
     # Miniperl needs -lm. perl needs -lrt.
     configureFlags =
-      [ "-de"
-        "-Dcc=cc"
+      (if crossCompiling
+       then [ "-Dlibpth=\"\"" "-Dglibpth=\"\"" ]
+       else [ "-de" "-Dcc=cc" ])
+      ++ [
         "-Uinstallusrbinperl"
         "-Dinstallstyle=lib/perl5"
         "-Duseshrplib"
@@ -69,14 +74,13 @@ let
       ++ optional stdenv.isSunOS "-Dcc=gcc"
       ++ optional enableThreading "-Dusethreads";
 
-    configureScript = "${stdenv.shell} ./Configure";
+    configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
 
-    dontAddPrefix = true;
+    dontAddPrefix = !crossCompiling;
 
-    enableParallelBuilding = true;
+    enableParallelBuilding = !crossCompiling;
 
-    preConfigure =
-      ''
+    preConfigure = optionalString (!crossCompiling) ''
         configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
       '' + optionalString (stdenv.isArm || stdenv.isMips) ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
@@ -121,7 +125,23 @@ let
       maintainers = [ maintainers.eelco ];
       platforms = platforms.all;
     };
-  };
+  } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
+    crossVersion = "1.1.8";
+
+    perl-cross-src = fetchurlBoot {
+      url = "https://github.com/arsv/perl-cross/releases/download/${crossVersion}/perl-cross-${crossVersion}.tar.gz";
+      sha256 = "072j491rpz2qx2sngbg4flqh4lx5865zyql7b9lqm6s1kknjdrh8";
+    };
+
+    nativeBuildInputs = [ buildPackages.stdenv.cc ];
+
+    postUnpack = ''
+      unpackFile ${perl-cross-src}
+      cp -R perl-cross-${crossVersion}/* perl-${version}/
+    '';
+
+    configurePlatforms = [ "build" "host" "target" ];
+  });
 in rec {
   perl = perl524;
 
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index c547e3d8adaf..6940485788e9 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -348,12 +348,12 @@ in {
   };
 
   php71 = generic {
-    version = "7.1.13";
-    sha256 = "18cqry8jy7q9fp82p3n9ndxffyba6f6q3maz3100jq245lfsbz9m";
+    version = "7.1.14";
+    sha256 = "1x41qmq66r0ff0573ln34d3qbzwg5z20nagsn1b6frfpkq9zvck3";
   };
 
   php72 = generic {
-    version = "7.2.1";
-    sha256 = "0ygbcilbp3fiswd240ib2mvnhy0yy0az8kjzpjfd4kca4qzpj1py";
+    version = "7.2.2";
+    sha256 = "1vjaixm4f7rz9vz1yrlzmn9rpp01vd7b74m83qjg4wblw5caqhgq";
   };
 }
diff --git a/pkgs/development/interpreters/picoc/default.nix b/pkgs/development/interpreters/picoc/default.nix
index e78b74347198..62ab7b02585e 100644
--- a/pkgs/development/interpreters/picoc/default.nix
+++ b/pkgs/development/interpreters/picoc/default.nix
@@ -47,6 +47,5 @@ stdenv.mkDerivation rec {
     downloadPage = https://code.google.com/p/picoc/downloads/list;
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
index b196af8e3ae4..928a55173243 100644
--- a/pkgs/development/interpreters/pixie/default.nix
+++ b/pkgs/development/interpreters/pixie/default.nix
@@ -3,7 +3,7 @@
   variant ? "jit", buildWithPypy ? false }:
 
 let
-  commit-count = "1356";
+  commit-count = "1364";
   common-flags = "--thread --gcrootfinder=shadowstack --continuation";
   variants = {
     jit = { flags = "--opt=jit"; target = "target.py"; };
@@ -13,8 +13,8 @@ let
   };
   pixie-src = fetchgit {
     url = "https://github.com/pixie-lang/pixie.git";
-    rev = "d2a4267ea088f711af36a74928e8dfd8360584ad";
-    sha256 = "1asf6yx7zy9cx4bsg8iai57dy3r3m45xcmkmw2vix70xvfy23ryf";
+    rev = "5eb0ccbe8b0087d3a5f2d0bbbc6998d624d3cd62";
+    sha256 = "0pf31x5h2m6dpxlidv98qay1y179qw40cw4cb4v4xa88gmq2f3vm";
   };
   pypy-tag = "91db1a9";
   pypy-src = fetchurl {
@@ -56,30 +56,38 @@ let
       RPYTHON="`pwd`/pypy-src/rpython/bin/rpython";
       cd pixie-src
       $PYTHON $RPYTHON ${common-flags} ${target}
-      export LD_LIBRARY_PATH="${library-path}:$LD_LIBRARY_PATH"
       find pixie -name "*.pxi" -exec ./pixie-vm -c {} \;
     )'';
+    LD_LIBRARY_PATH = library-path;
+    C_INCLUDE_PATH = include-path;
+    LIBRARY_PATH = library-path;
+    PATH = bin-path;
     installPhase = ''
       mkdir -p $out/share $out/bin
       cp pixie-src/pixie-vm $out/share/pixie-vm
       cp -R pixie-src/pixie $out/share/pixie
-      makeWrapper $out/share/pixie-vm $out/bin/pixie-vm \
-        --prefix LD_LIBRARY_PATH : ${library-path} \
-        --prefix C_INCLUDE_PATH : ${include-path} \
-        --prefix LIBRARY_PATH : ${library-path} \
-        --prefix PATH : ${bin-path}
-      cat > $out/bin/pxi <<EOF
-      #!$shell
-      >&2 echo "[\$\$] WARNING: 'pxi' is a deprecated alias for 'pixie-vm', please update your scripts."
-      exec $out/bin/pixie-vm "\$@"
-      EOF
-      chmod +x $out/bin/pxi
+      makeWrapper $out/share/pixie-vm $out/bin/pixie \
+        --prefix LD_LIBRARY_PATH : ${LD_LIBRARY_PATH} \
+        --prefix C_INCLUDE_PATH : ${C_INCLUDE_PATH} \
+        --prefix LIBRARY_PATH : ${LIBRARY_PATH} \
+        --prefix PATH : ${PATH}
+    '';
+    doCheck = true;
+    checkPhase = ''
+      RES=$(./pixie-src/pixie-vm -e "(print :ok)")
+      if [ "$RES" != ":ok" ]; then
+        echo "ERROR Unexpected output: '$RES'"
+        return 1
+      else
+        echo "$RES"
+      fi
     '';
     meta = {
       description = "A clojure-like lisp, built with the pypy vm toolkit";
       homepage = https://github.com/pixie-lang/pixie;
       license = stdenv.lib.licenses.lgpl3;
-      platforms = ["x86_64-linux" "i686-linux"];
+      platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
+      maintainers = with stdenv.lib.maintainers; [ bendlas ];
     };
   };
 in build (builtins.getAttr variant variants)
diff --git a/pkgs/development/interpreters/pixie/dust.nix b/pkgs/development/interpreters/pixie/dust.nix
index 34b471131938..4a7f3423defd 100644
--- a/pkgs/development/interpreters/pixie/dust.nix
+++ b/pkgs/development/interpreters/pixie/dust.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
     homepage = src.meta.homepage;
     license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/interpreters/python/build-python-package-setuptools.nix b/pkgs/development/interpreters/python/build-python-package-setuptools.nix
index a09febb492b1..bc512357acd5 100644
--- a/pkgs/development/interpreters/python/build-python-package-setuptools.nix
+++ b/pkgs/development/interpreters/python/build-python-package-setuptools.nix
@@ -21,18 +21,18 @@ let
   setuppy = ./run_setup.py;
 
 in attrs // {
-  # we copy nix_run_setup.py over so it's executed relative to the root of the source
+  # we copy nix_run_setup over so it's executed relative to the root of the source
   # many project make that assumption
   buildPhase = attrs.buildPhase or ''
     runHook preBuild
-    cp ${setuppy} nix_run_setup.py
-    ${python.interpreter} nix_run_setup.py ${lib.optionalString (setupPyBuildFlags != []) ("build_ext " + (lib.concatStringsSep " " setupPyBuildFlags))} bdist_wheel
+    cp ${setuppy} nix_run_setup
+    ${python.interpreter} nix_run_setup ${lib.optionalString (setupPyBuildFlags != []) ("build_ext " + (lib.concatStringsSep " " setupPyBuildFlags))} bdist_wheel
     runHook postBuild
   '';
 
   installCheckPhase = attrs.checkPhase or ''
     runHook preCheck
-    ${python.interpreter} nix_run_setup.py test
+    ${python.interpreter} nix_run_setup test
     runHook postCheck
   '';
 
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 9352bb4d52e0..1cb739b4d29f 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -227,7 +227,7 @@ in stdenv.mkDerivation {
       '';
       license = stdenv.lib.licenses.psfl;
       platforms = stdenv.lib.platforms.all;
-      maintainers = with stdenv.lib.maintainers; [ chaoflow domenkozar ];
+      maintainers = with stdenv.lib.maintainers; [ fridh ];
       # Higher priority than Python 3.x so that `/bin/python` points to `/bin/python2`
       # in case both 2 and 3 are installed.
       priority = -100;
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index 5c13035be1b1..4c0979ca0e3c 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -27,7 +27,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.4";
-  minorVersion = "7";
+  minorVersion = "8";
   minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -48,7 +48,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
-    sha256 = "06wx2ag0dnixny67jfdl5z10243fjga898cgxhnr4dnxaqmwy547";
+    sha256 = "1sn3i9z9m56inlfrqs250qv8snl8w211wpig2pfjlyrcj3x75919";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -185,6 +185,6 @@ in stdenv.mkDerivation {
     '';
     license = licenses.psfl;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ chaoflow domenkozar cstrahan ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index 951cb367528f..a8519a76a232 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -27,7 +27,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.5";
-  minorVersion = "4";
+  minorVersion = "5";
   minorVersionSuffix = "";
   pythonVersion = majorVersion;
   version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@@ -48,7 +48,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
-    sha256 = "0k68ai0a204piwibz013ds6ck7hgj9gk4nin2259y41vpgx3pncl";
+    sha256 = "02ahsijk3a42sdzfp2il49shx0v4birhy7kkj0dikmh20hxjqg86";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
@@ -178,6 +178,6 @@ in stdenv.mkDerivation {
     '';
     license = licenses.psfl;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ chaoflow domenkozar cstrahan ];
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix
index d5ac94c76e6b..f48f2c19026c 100644
--- a/pkgs/development/interpreters/python/cpython/3.6/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix
@@ -178,6 +178,6 @@ in stdenv.mkDerivation {
     '';
     license = licenses.psfl;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ chaoflow domenkozar cstrahan kragniz ];
+    maintainers = with maintainers; [ fridh kragniz ];
   };
 }
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index aea389d160fe..e68cfc3148ff 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -10,7 +10,7 @@
 assert zlibSupport -> zlib != null;
 
 let
-  majorVersion = "5.9";
+  majorVersion = "5.10";
   minorVersion = "0";
   minorVersionSuffix = "";
   pythonVersion = "2.7";
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
-    sha256 = "1q3kcnniyvnca1l7x10mbhp4xwjr03ajh2h8j6cbdllci38zdjy1";
+    sha256 = "10j1s6r6iv80nvpi6gv8w05v505h2ndj9xx31yz7d50ab04dfg23";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -79,17 +79,6 @@ in stdenv.mkDerivation rec {
 
   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/";
@@ -149,7 +138,7 @@ in stdenv.mkDerivation rec {
     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 ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index f949e16321da..2397cce97eab 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -33,11 +33,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "racket-${version}";
-  version = "6.11";
+  version = "6.12";
 
   src = fetchurl {
     url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw";
+    sha256 = "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix
new file mode 100644
index 000000000000..dc30fee954f6
--- /dev/null
+++ b/pkgs/development/libraries/AntTweakBar/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip, xlibs, mesa }:
+
+stdenv.mkDerivation rec {
+  name = "AntTweakBar-1.16";
+
+  buildInputs = [ unzip xlibs.libX11 mesa ];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip";
+    sha256 = "0z3frxpzf54cjs07m6kg09p7nljhr7140f4pznwi7srwq4cvgkpv";
+  };
+
+  postPatch = "cd src";
+  installPhase = ''
+    mkdir -p $out/lib/
+    cp ../lib/{libAntTweakBar.so,libAntTweakBar.so.1,libAntTweakBar.a} $out/lib/
+    cp -r ../include $out/
+  '';
+
+  meta = {
+    description = "Add a light/intuitive GUI to OpenGL applications";
+    longDescription = ''
+      A small and easy-to-use C/C++ library that allows to quickly add a light
+      and intuitive graphical user interface into graphic applications based on OpenGL
+      (compatibility and core profiles), DirectX 9, DirectX 10 or DirectX 11
+      to interactively tweak parameters on-screen
+    '';
+    homepage = http://anttweakbar.sourceforge.net/;
+    license = stdenv.lib.licenses.zlib;
+    maintainers = [ stdenv.lib.maintainers.razvan ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index e4eb8d3ab2ec..46cdf3a47c63 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.9";
+  version = "4.11";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "044amgml1x5h17rpkck2azmxrmjvlzzykv71cjh5hlajsi88cid5";
+    sha256 = "126r06aba5h8l73xmm5mwmxkir7sy122jn2j18cd4gz3z9p23npr";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index e71ad14b11fd..e10d62bb98db 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
     # Ticket: https://bugs.freedesktop.org/show_bug.cgi?id=27222
     (fetchpatch {
       name = "SDL_SetGamma.patch";
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d";
+      url = "http://src.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d";
       sha256 = "0x52s4328kilyq43i7psqkqg7chsfwh0aawr50j566nzd7j51dlv";
     })
     # Fix a build failure on OS X Mavericks
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index a7ef0290734b..a630e9cead8a 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL2 }:
+{ stdenv, darwin, fetchurl, SDL2 }:
 
 stdenv.mkDerivation rec {
   name = "SDL2_gfx-${version}";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "16jrijzdp095qf416zvj9gs2fqqn6zkyvlxs5xqybd0ip37cp6yn";
   };
 
-  buildInputs = [ SDL2 ];
+  buildInputs = [ SDL2 ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
   configureFlags = if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx";
 
@@ -38,6 +39,6 @@ stdenv.mkDerivation rec {
     license = licenses.zlib;
 
     maintainers = with maintainers; [ bjg ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 6eada0c83e52..00251adb9153 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, autoreconfHook, pkgconfig, which
 , SDL2, libogg, libvorbis, smpeg2, flac, libmodplug
+, CoreServices, AudioUnit, AudioToolbox
 , enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
@@ -17,6 +18,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig which ];
 
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
+
   propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug ];
 
   configureFlags = [ "--disable-music-ogg-shared" ]
@@ -24,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     homepage = https://www.libsdl.org/projects/SDL_mixer/;
     maintainers = with maintainers; [ MP2E ];
     license = licenses.zlib;
diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix
index cf81fc0cac83..780444d51f4f 100644
--- a/pkgs/development/libraries/SDL2_net/default.nix
+++ b/pkgs/development/libraries/SDL2_net/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL2 }:
+{ stdenv, darwin, fetchurl, SDL2 }:
 
 stdenv.mkDerivation rec {
   name = "SDL2_net-${version}";
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "08cxc1bicmyk89kiks7izw1rlx5ng5n6xpy8fy0zxni3b9z8mkhm";
   };
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
+
   propagatedBuildInputs = [ SDL2 ];
 
   meta = with stdenv.lib; {
@@ -16,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.libsdl.org/projects/SDL_net;
     license = licenses.zlib;
     maintainers = with maintainers; [ MP2E ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index 010ca46695a3..87436119ef47 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL2, freetype, mesa_noglu }:
+{ stdenv, darwin, fetchurl, SDL2, freetype, mesa_noglu }:
 
 stdenv.mkDerivation rec {
   name = "SDL2_ttf-${version}";
@@ -9,11 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl";
   };
 
-  buildInputs = [ SDL2 freetype mesa_noglu ];
+  buildInputs = [ SDL2 freetype mesa_noglu ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
   meta = with stdenv.lib; {
     description = "SDL TrueType library";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.zlib;
     homepage = https://www.libsdl.org/projects/SDL_ttf/;
   };
diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix
index e45a9f2f3871..e7a90e405489 100644
--- a/pkgs/development/libraries/accounts-qt/default.nix
+++ b/pkgs/development/libraries/accounts-qt/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     description = "Qt library for accessing the online accounts database";
     homepage = https://gitlab.com/accounts-sso;
     license = licenses.lgpl21;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 3251693f5742..7e7864cef52c 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -13,11 +13,11 @@ assert ldapSupport -> openldap != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "apr-util-1.6.0";
+  name = "apr-util-1.6.1";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    sha256 = "0k6a90d67xl36brz69s7adgkswjmw7isnjblm1naqmjblwzwjx44";
+    sha256 = "0nq3s1yn13vplgl6qfm09f7n0wm08malff9s59bqf9nid9xjzqfk";
   };
 
   patches = optional stdenv.isFreeBSD ./include-static-dependencies.patch;
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index 9abf48289ae0..ecdeb35f6eda 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "apr-1.6.2";
+  name = "apr-1.6.3";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    sha256 = "1gffipa87pflvgvw01dbkvgh75p8n2sr56m1pcl01avv6zm9q409";
+    sha256 = "0wiik6amxn6lkc55fv9yz5i3kbxnqbp36alrzabx1avsdp8hc7qk";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 0f6f5e8dd147..cccd93e5d4dd 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     patch -p1 < ${./data-dirs-from-nix-profiles.patch}
   '';
 
-  buildInputs = [ perl ];
+  nativeBuildInputs = [ perl ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index fc6b47e8a63c..8d97d6db2f1c 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -212,6 +212,15 @@ in {
     };
   };
 
+  tr = buildDict {
+    shortName = "tr-0.50-0";
+    fullName = "Turkish";
+    src = fetchurl {
+      url = mirror://gnu/aspell/dict/tr/aspell-tr-0.50-0.tar.bz2;
+      sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb";
+    };
+  };
+
   uk = buildDict {
     shortName = "uk-1.4.0-0";
     fullName = "Ukrainian";
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 80aae344dcd9..182471acf4ae 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -5,7 +5,7 @@ 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";
+      url = "https://salsa.debian.org/multimedia-team/audiofile/raw/debian/0.3.6-4/debian/patches/${debname}";
     };
 
 in
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 04e714f886ef..f7788eb93cb3 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.38";
+  name = "babl-0.1.42";
 
   src = fetchurl {
     url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0";
+    sha256 = "1wc7fyj9bfqfiwf1w33g3vv3wcl18pd9cxr9fc0iy391szrsynb8";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index 9805930c7bfa..dd7d6a348671 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -39,6 +39,5 @@ stdenv.mkDerivation rec {
     homepage = https://fbb-git.github.io/bobcat/;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 9a01cdfe8749..f3c58a93872a 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -3,11 +3,15 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "boehm-gc-7.6.0";
+  name = "boehm-gc-${version}";
+  version = "7.6.4";
 
   src = fetchurl {
-    url = http://www.hboehm.info/gc/gc_source/gc-7.6.0.tar.gz;
-    sha256 = "143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1";
+    urls = [
+      "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
+      "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
+    ];
+    sha256 = "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r";
   };
 
   buildInputs = [ libatomic_ops ];
@@ -25,12 +29,6 @@ stdenv.mkDerivation rec {
   # Don't run the native `strip' when cross-compiling.
   dontStrip = hostPlatform != buildPlatform;
 
-  postInstall =
-    ''
-      mkdir -p $out/share/doc
-      mv $out/share/gc $out/share/doc/gc
-    '';
-
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index c2a59431ac04..14ea512afbd2 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -144,7 +144,7 @@ stdenv.mkDerivation {
 
   postFixup = ''
     # Make boost header paths relative so that they are not runtime dependencies
-    find "$dev/include" \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \
+    cd "$dev" && find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \
       -exec sed '1i#line 1 "{}"' -i '{}' \;
   '' + optionalString (hostPlatform.libc == "msvcrt") ''
     $RANLIB "$out/lib/"*.a
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
index ecc730597c31..e5391e7100d5 100644
--- a/pkgs/development/libraries/cpp-netlib/default.nix
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -26,6 +26,5 @@ stdenv.mkDerivation rec {
     homepage    = http://cpp-netlib.org;
     license     = licenses.boost;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/dleyna-core/setup-hook.sh b/pkgs/development/libraries/dleyna-core/setup-hook.sh
index 046a77d5a4dd..87b5c67dff58 100644
--- a/pkgs/development/libraries/dleyna-core/setup-hook.sh
+++ b/pkgs/development/libraries/dleyna-core/setup-hook.sh
@@ -5,5 +5,4 @@ addDleynaConnectorPath () {
     fi
 }
 
-envHooks+=(addDleynaConnectorPath)
-
+addEnvHooks "$targetOffset" addDleynaConnectorPath
diff --git a/pkgs/development/libraries/gamin/debian-patches.nix b/pkgs/development/libraries/gamin/debian-patches.nix
index f784b8ccfee0..a8f334fb3c39 100644
--- a/pkgs/development/libraries/gamin/debian-patches.nix
+++ b/pkgs/development/libraries/gamin/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4.1";
+  prefix = "https://sources.debian.org/data/main/g/gamin/0.1.10-4.1/debian/patches";
 in
 [
   {
diff --git a/pkgs/development/libraries/gamin/debian-patches.txt b/pkgs/development/libraries/gamin/debian-patches.txt
index 4faad71d44d0..46d2420b21ed 100644
--- a/pkgs/development/libraries/gamin/debian-patches.txt
+++ b/pkgs/development/libraries/gamin/debian-patches.txt
@@ -1,2 +1,2 @@
-gamin/0.1.10-4
+gamin/0.1.10-4.1
 17_deprecated_const_return.patch
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 7a602f5430eb..310aaa430daf 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, lib, buildPlatform, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gdbm-1.13";
+  name = "gdbm-1.14";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${name}.tar.gz";
-    sha256 = "0lx201q20dvc70f8a3c9s7s18z15inlxvbffph97ngvrgnyjq9cx";
+    sha256 = "02dakgrq93xwgln8qfv3vs5jyz5yvds5nyzkx6rhg9v585x478dd";
   };
 
   doCheck = true; # not cross;
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index 158707557a52..2bb773a17b8f 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -3,13 +3,15 @@
 , libwebp, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "gegl-0.3.26";
+  name = "gegl-0.3.28";
 
   src = fetchurl {
     url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
-    sha256 = "1a9zbi6ws0r0sqynvg2fh3ad0ipnphg7w62y7whlcrbpqi29izvf";
+    sha256 = "1zr3gmmzjhp2d3d3h51x80r5q7gs9rv67ywx69sif6as99h8fbqm";
   };
 
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
   hardeningDisable = [ "format" ];
 
   # needs fonts otherwise  don't know how to pass them
@@ -28,11 +30,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ jtojnar ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 60d40b10aa42..d93430ac1f51 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -1,17 +1,22 @@
 # in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP
 # e.g. geolite-legacy
-{ stdenv, fetchurl, pkgs, drvName ? "geoip", geoipDatabase ? "/var/lib/geoip-databases" }:
+{ stdenv, fetchFromGitHub, autoreconfHook
+, drvName ? "geoip", geoipDatabase ? "/var/lib/geoip-databases" }:
 
-let version = "1.6.2";
+let version = "1.6.12";
     dataDir = if (stdenv.lib.isDerivation geoipDatabase) then "${toString geoipDatabase}/share/GeoIP" else geoipDatabase;
 in stdenv.mkDerivation {
   name = "${drvName}-${version}";
 
-  src = fetchurl {
-    url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz";
-    sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7";
+  src = fetchFromGitHub {
+    owner = "maxmind";
+    repo = "geoip-api-c";
+    rev = "v${version}";
+    sha256 = "0ixyp3h51alnncr17hqp1p0rlqz9w69nlhm60rbzjjz3vjx52ajv";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   postPatch = ''
     find . -name Makefile.in -exec sed -i -r 's#^pkgdatadir\s*=.+$#pkgdatadir = ${dataDir}#' {} \;
   '';
diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index fe3ef1f9e15d..5932ef6a44f9 100644
--- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -4,4 +4,4 @@ gettextDataDirsHook() {
     fi
 }
 
-envHooks+=(gettextDataDirsHook)
+addEnvHooks "$hostOffset" gettextDataDirsHook
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 325a6e5bfa97..f68bd1380052 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 = "2";
+  ver_min = "3";
 in
 
 stdenv.mkDerivation rec {
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
-    sha256 = "bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c";
+    sha256 = "963fdc6685dc3da8e5381dfb9f15ca4b5709b28be84d9d05a9bb8e446abac0a8";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
@@ -75,8 +75,15 @@ stdenv.mkDerivation rec {
   # internal pcre would only add <200kB, but it's relatively common
   configureFlags = [ "--with-pcre=system" ]
     ++ optional stdenv.isDarwin "--disable-compile-warnings"
-    ++ optional (stdenv.isFreeBSD || stdenv.isSunOS) "--with-libiconv=gnu"
-    ++ optional stdenv.isSunOS "--disable-dtrace";
+    # glibc inclues GNU libiconv, but Darwin's iconv function is good enonugh.
+    ++ optional (stdenv.hostPlatform.libc != "glibc" && !stdenv.hostPlatform.isDarwin)
+      "--with-libiconv=gnu"
+    ++ optional stdenv.isSunOS "--disable-dtrace"
+    # Can't run this test when cross-compiling
+    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform)
+       [ "glib_cv_stack_grows=no" "glib_cv_uscore=no" ]
+    # GElf only supports elf64 hosts
+    ++ optional (!stdenv.hostPlatform.is64bit) "--disable-libelf";
 
   NIX_CFLAGS_COMPILE = optional stdenv.isDarwin "-lintl"
     ++ optional stdenv.isSunOS "-DBSD_COMP";
diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh
index 98341376fdf6..233845c6541f 100644
--- a/pkgs/development/libraries/glib/setup-hook.sh
+++ b/pkgs/development/libraries/glib/setup-hook.sh
@@ -11,7 +11,7 @@ addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
 glibPreInstallPhase() {
   installFlagsArray+=("gsettingsschemadir=${!outputLib}/share/gsettings-schemas/$name/glib-2.0/schemas/")
 }
-preInstallPhases+=(glibPreInstallPhase)
+preInstallPhases+=" glibPreInstallPhase"
 
 glibPreFixupPhase() {
     # Move gschemas in case the install flag didn't help
@@ -22,5 +22,4 @@ glibPreFixupPhase() {
 
     addToSearchPath GSETTINGS_SCHEMAS_PATH "${!outputLib}/share/gsettings-schemas/$name"
 }
-preFixupPhases+=(glibPreFixupPhase)
-
+preFixupPhases+=" glibPreFixupPhase"
diff --git a/pkgs/development/libraries/glibc/2.26-115to131.diff.gz b/pkgs/development/libraries/glibc/2.26-115to131.diff.gz
new file mode 100644
index 000000000000..3d866c567a79
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.26-115to131.diff.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index cfec3209b98a..b17d4effb1eb 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -20,7 +20,7 @@
 
 let
   version = "2.26";
-  patchSuffix = "-115";
+  patchSuffix = "-131";
   sha256 = "1ggnj1hzjym7sn93rbwydcqd562q73lsb7g7kd199g6j9j9hlkp5";
   cross = if buildPlatform != hostPlatform then hostPlatform else null;
 in
@@ -48,6 +48,9 @@ stdenv.mkDerivation ({
       */
       ./2.26-75.patch.gz
       ./2.26-75to115.diff.gz
+      # contains fix for CVE-2018-1000001 as the last commit:
+      # https://sourceware.org/git/?p=glibc.git;a=commit;h=fabef2edbc
+      ./2.26-115to131.diff.gz
 
       /* Have rpcgen(1) look for cpp(1) in $PATH.  */
       ./rpcgen-path.patch
@@ -73,7 +76,7 @@ stdenv.mkDerivation ({
         and we lose early mismatch detection on 2.6.32.
 
         On major glibc updates we should check that the patched kernel supports
-        all the required features.  ATM it's verified up to glibc-2.26-115.
+        all the required features.  ATM it's verified up to glibc-2.26-131.
         # HOWTO: check glibc sources for changes in kernel requirements
         git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h
         # get kernel sources (update the URL)
@@ -124,7 +127,6 @@ stdenv.mkDerivation ({
     ] ++ lib.optionals withLinuxHeaders [
       "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
     ] ++ lib.optionals (cross != null) [
-      (if cross.withTLS then "--with-tls" else "--without-tls")
       (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
     ] ++ lib.optionals (cross != null) [
       "--with-__thread"
@@ -153,8 +155,7 @@ stdenv.mkDerivation ({
 // (removeAttrs args [ "withLinuxHeaders" "withGd" ]) //
 
 {
-  name = name + "-${version}${patchSuffix}" +
-    lib.optionalString (cross != null) "-${cross.config}";
+  name = name + "-${version}${patchSuffix}";
 
   src = fetchurl {
     url = "mirror://gnu/glibc/glibc-${version}.tar.xz";
@@ -187,14 +188,7 @@ stdenv.mkDerivation ({
     libc_cv_forced_unwind=yes
     libc_cv_c_cleanup=yes
     libc_cv_gnu89_inline=yes
-    # Only due to a problem in gcc configure scripts:
-    libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
     EOF
-
-    export BUILD_CC=gcc
-    export CC="$crossConfig-gcc"
-    export AR="$crossConfig-ar"
-    export RANLIB="$crossConfig-ranlib"
   '';
 
   preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
diff --git a/pkgs/development/libraries/gnutls/3.6.nix b/pkgs/development/libraries/gnutls/3.6.nix
index 9dc6d5389d9c..35344dfde7df 100644
--- a/pkgs/development/libraries/gnutls/3.6.nix
+++ b/pkgs/development/libraries/gnutls/3.6.nix
@@ -11,9 +11,10 @@ callPackage ./generic.nix (args // rec {
   # Skip two tests introduced in 3.5.11.  Probable reasons of failure:
   #  - pkgconfig: building against the result won't work before installing
   #  - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox
+  # Change p11-kit test to use pkg-config to find p11-kit
   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
+    sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
   '';
 })
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
new file mode 100644
index 000000000000..f7e1bedd3e18
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
@@ -0,0 +1,11 @@
+--- a/gir/cairo-1.0.gir.in
++++ b/gir/cairo-1.0.gir.in
+@@ -5,7 +5,7 @@
+             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+   <package name="%CAIRO_GIR_PACKAGE%"/>
+   <namespace name="cairo" version="1.0"
+-	     shared-library="%CAIRO_SHARED_LIBRARY%"
++	     shared-library="@cairoLib@/%CAIRO_SHARED_LIBRARY%"
+ 	     c:identifier-prefixes="cairo"
+ 	     c:symbol-prefixes="cairo">
+     <record name="Context" c:type="cairo_t" foreign="1"
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index f629b9a8a3c3..870f77686b3e 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintlOrEmpty, cctools
+, libintlOrEmpty, cctools, cairo
 , substituteAll, nixStoreDir ? builtins.storeDir
 }:
 # now that gobjectIntrospection creates large .gir files (eg gtk3 case)
@@ -38,10 +38,17 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  patches = stdenv.lib.singleton (substituteAll {
-    src = ./absolute_shlib_path.patch;
-    inherit nixStoreDir;
-  });
+  patches = [
+    (substituteAll {
+      src = ./absolute_shlib_path.patch;
+      inherit nixStoreDir;
+    })
+    # https://github.com/NixOS/nixpkgs/issues/34080
+    (substituteAll {
+      src = ./absolute_gir_path.patch;
+      cairoLib = "${getLib cairo}/lib";
+    })
+  ];
 
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index 4e41545687a9..8243775c6bc1 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -1,22 +1,42 @@
-{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
+{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
 
 stdenv.mkDerivation rec {
-  majorVersion = "0.4";
-  minorVersion = "1";
-  name = "granite-${majorVersion}.${minorVersion}";
-  src = fetchurl {
-    url = "https://launchpad.net/granite/${majorVersion}/${majorVersion}.${minorVersion}/+download/${name}.tar.xz";
-    sha256 = "177h5h1q4qd7g99mzbczvz78j8c9jf4f1gwdj9f6imbc7r913d4b";
+  name = "granite-${version}";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = "granite";
+    rev = version;
+    sha256 = "15l8z1jkqhvappnr8jww27lfy3dwqybgsxk5iccyvnvzpjdh2s0h";
   };
-  cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [perl cmake vala gobjectIntrospection glib gtk3 gnome3.libgee gettext];
-  meta = {
+
+  cmakeFlags = [
+    "-DINTROSPECTION_GIRDIR=share/gir-1.0/"
+    "-DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0"
+  ];
+
+  nativeBuildInputs = [
+    vala
+    pkgconfig
+    cmake
+    ninja
+    perl
+    gettext
+    gobjectIntrospection
+  ];
+  buildInputs = [
+    glib
+    gtk3
+    gnome3.libgee
+  ];
+
+  meta = with stdenv.lib; {
     description = "An extension to GTK+ used by elementary OS";
     longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
-    homepage = https://launchpad.net/granite;
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.vozz ];
+    homepage = https://github.com/elementary/granite;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vozz ];
   };
 }
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 169fd119d51f..8a3ce884dfd7 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -12,11 +12,11 @@ assert cupsSupport -> cups != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.31";
+  name = "gtk+-2.24.32";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658";
+    sha256 = "b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libgumbo/default.nix b/pkgs/development/libraries/gumbo/default.nix
index 210a66e654a7..17ca323a5fef 100644
--- a/pkgs/development/libraries/libgumbo/default.nix
+++ b/pkgs/development/libraries/gumbo/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "libgumbo-${version}";
+  name = "gumbo-${version}";
   version = "0.10.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index dfb45aa598d7..ecbfbb7da0b8 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses, readline, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.1";
+  version = "1.6.2";
   name = "hunspell-${version}";
 
   src = fetchurl {
     url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
-    sha256 = "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h";
+    sha256 = "1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 4d6af866990b..c0745cb9e687 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -6,15 +6,13 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.11.8";
+  name = "hwloc-1.11.9";
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
-    sha256 = "0karxv4r1r8sa7ki5aamlxdvyvz0bvzq4gdhq0yi5nc4a0k11vzc";
+    sha256 = "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr";
   };
 
-  hardeningDisable = [ "format" ];
-
   configureFlags = [
     "--localstatedir=/var"
   ];
@@ -75,8 +73,8 @@ stdenv.mkDerivation rec {
 
     # http://www.open-mpi.org/projects/hwloc/license.php
     license = licenses.bsd3;
-    homepage = http://www.open-mpi.org/projects/hwloc/;
-    maintainers = [ ];
+    homepage = https://www.open-mpi.org/projects/hwloc/;
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix
index 8a7cf8365a5b..6d9a9725cc2e 100644
--- a/pkgs/development/libraries/icu/base.nix
+++ b/pkgs/development/libraries/icu/base.nix
@@ -34,6 +34,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
+
+    # $(includedir) is different from $(prefix)/include due to multiple outputs
+    sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in
   '' + stdenv.lib.optionalString stdenv.isArm ''
     # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch
     sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
@@ -45,6 +48,9 @@ stdenv.mkDerivation {
   # remove dependency on bootstrap-tools in early stdenv build
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
+  '' + ''
+    substituteInPlace "$dev/bin/icu-config" \
+      --replace \''${pkglibdir}/Makefile.inc "$dev/lib/icu/Makefile.inc"
   '';
 
   postFixup = ''moveToOutput lib/icu "$dev" '';
diff --git a/pkgs/development/libraries/ip2location-c/default.nix b/pkgs/development/libraries/ip2location-c/default.nix
index 109510df79b1..82a4ec337555 100644
--- a/pkgs/development/libraries/ip2location-c/default.nix
+++ b/pkgs/development/libraries/ip2location-c/default.nix
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.ip2location.com/developers/c-7;
     license = with licenses; [ gpl3Plus lgpl3Plus ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/isl/0.11.1.nix b/pkgs/development/libraries/isl/0.11.1.nix
index 63140dba37f7..e2d7d7ffd034 100644
--- a/pkgs/development/libraries/isl/0.11.1.nix
+++ b/pkgs/development/libraries/isl/0.11.1.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
+    url = "http://src.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
     sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
   };
 
diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix
index df4a19efd2c4..3b28c3a2bd57 100644
--- a/pkgs/development/libraries/java/libmatthew-java/default.nix
+++ b/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libmatthew-java-0.8";
   src = fetchurl {
-    url = http://pkgs.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz;
+    url = http://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz;
     sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85";
   };
   JAVA_HOME=jdk;
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 2414931e76aa..bf32f4f8e8bc 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext, gobjectIntrospection, dbus, libintlOrEmpty }:
+{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
+, gobjectIntrospection, dbus, libintlOrEmpty
+, fixDarwinDylibNames
+}:
 
 stdenv.mkDerivation rec {
   name = "json-glib-${minVer}.2";
@@ -11,7 +14,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
-  buildInputs = libintlOrEmpty;
+  buildInputs = libintlOrEmpty
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
@@ -27,8 +31,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  checkPhase = "meson test";
-
   meta = with stdenv.lib; {
     homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
diff --git a/pkgs/development/libraries/kyotocabinet/default.nix b/pkgs/development/libraries/kyotocabinet/default.nix
index 57eaf74d2908..935f52eeb71c 100644
--- a/pkgs/development/libraries/kyotocabinet/default.nix
+++ b/pkgs/development/libraries/kyotocabinet/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   patches = [(fetchurl {
     name = "gcc6.patch";
-    url = "http://pkgs.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
+    url = "http://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
     sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
   })];
 
diff --git a/pkgs/development/libraries/libargon2/default.nix b/pkgs/development/libraries/libargon2/default.nix
index 79cbf09317cf..94e8ea05e663 100644
--- a/pkgs/development/libraries/libargon2/default.nix
+++ b/pkgs/development/libraries/libargon2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libargon2-${version}";
-  version = "20161029";
+  version = "20171227";
 
   src = fetchFromGitHub {
     owner = "P-H-C";
     repo = "phc-winner-argon2";
     rev = "${version}";
-    sha256 = "021g8wi4g67ywm8zf3yncqwrmfz7ypgm1ih9wcmnxip5n75rymh5";
+    sha256 = "0sc9zca1anqk41017vjpas4kxi4cbn0zvicv8vj8p2sb2gy94bh8";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix
index 058839f70f8a..d7ebf781a049 100644
--- a/pkgs/development/libraries/libass/default.nix
+++ b/pkgs/development/libraries/libass/default.nix
@@ -19,11 +19,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libass-${version}";
-  version = "0.13.7";
+  version = "0.14.0";
 
   src = fetchurl {
     url = "https://github.com/libass/libass/releases/download/${version}/${name}.tar.xz";
-    sha256 = "17byv926w1mxn56n896sxvdq4m0yv1l7qbm688h6zr3nzgsyarbh";
+    sha256 = "18iqznl4mabhj9ywfsz4kwvbsplcv1jjxq50nxssvbj8my1267w8";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 94369449ff3d..827d3de79ea8 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pth, libgpgerror }:
+{ fetchurl, stdenv, gettext, pth, libgpgerror }:
 
 stdenv.mkDerivation rec {
   name = "libassuan-2.5.1";
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # libassuan-config
 
-  buildInputs = [ libgpgerror pth ];
+  buildInputs = [ libgpgerror pth ]
+    ++ stdenv.lib.optional stdenv.isDarwin gettext;
 
   doCheck = true;
 
@@ -20,18 +21,16 @@ stdenv.mkDerivation rec {
     sed -i 's,#include <gpg-error.h>,#include "${libgpgerror.dev}/include/gpg-error.h",g' $dev/include/assuan.h
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "IPC library used by GnuPG and related software";
-
     longDescription = ''
       Libassuan is a small library implementing the so-called Assuan
       protocol.  This protocol is used for IPC between most newer
       GnuPG components.  Both, server and client side functions are
       provided.
     '';
-
     homepage = http://gnupg.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libast/default.nix b/pkgs/development/libraries/libast/default.nix
index 900bcac41569..bcfee0444756 100644
--- a/pkgs/development/libraries/libast/default.nix
+++ b/pkgs/development/libraries/libast/default.nix
@@ -3,8 +3,8 @@
 
 stdenv.mkDerivation rec {
   name = "libast-${version}";
-  version = "0.7";
-  
+  version = "0.7.1";
+
   src = fetchurl {
     url = "http://www.eterm.org/download/${name}.tar.gz";
     sha256 = "1w7bs46r4lykfd83kc3bg9i1rxzzlb4ydk23ikf8mx8avz05q1aj";
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
index eedc0993d736..3aae754be405 100644
--- a/pkgs/development/libraries/libatomic_ops/default.nix
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "libatomic_ops-${version}";
-  version = "7.6.0";
+  version = "7.6.2";
 
   src = fetchurl {
     urls = [
       "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz"
       "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz"
     ];
-    sha256 ="03ylfr29g9zc0r6b6axz3i68alj5qmxgzknxwam3jlx0sz8hcb4f";
+    sha256 ="1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1";
   };
 
   nativeBuildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 8b67d52b875e..fea4744a075a 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -19,11 +19,11 @@ assert withFonts -> freetype != null;
 
 stdenv.mkDerivation rec {
   name = "libbluray-${version}";
-  version  = "1.0.0";
+  version  = "1.0.2";
 
   src = fetchurl {
     url = "http://get.videolan.org/libbluray/${version}/${name}.tar.bz2";
-    sha256 = "1k3lag4lxi2jjd3zh4wcb5l3hadzm54j5kagh92yzfy76p9svqzp";
+    sha256 = "1zxfnw1xbghcj7b3zz5djndv6gwssxda19cz1lrlqrkg8577r7kd";
   };
 
   patches = optional withJava ./BDJ-JARFILE-path.patch;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags =  with stdenv.lib;
-                    optional (! withJava) "--disable-bdjava"
+                    optional (! withJava) "--disable-bdjava-jar"
                  ++ optional (! withMetadata) "--without-libxml2"
                  ++ optional (! withFonts) "--without-freetype"
                  ;
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 7e112caf3c78..0e232a50e943 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libbsd-${version}";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchurl {
     url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "11wnkzims5grprvhb1ssmq9pc2lcgh2r2rk8gwgz36ply6fvyzs6";
+    sha256 = "0c9bl49zs0xdddcwj5dh0lay9sxi2m1yi74848g8p87mb87g2j7m";
   };
 
   # darwin changes configure.ac which means we need to regenerate
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 670484f0ae61..6d8cafcfaa60 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig, librevenge, icu, boost }:
+{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig, librevenge, icu, boost, cppunit }:
 
 stdenv.mkDerivation rec {
-  name = "libcdr-0.1.1";
+  name = "libcdr-0.1.4";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
-    sha256 = "0javd72wmaqd6vprsh3clm393b3idjdjzbb7vyn44li7yaxppzkj";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
+    sha256 = "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7";
   };
 
-  buildInputs = [ libwpg libwpd lcms librevenge icu boost ];
+  buildInputs = [ libwpg libwpd lcms librevenge icu boost cppunit ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libcli/default.nix b/pkgs/development/libraries/libcli/default.nix
index 587e72409c45..f101eb223106 100644
--- a/pkgs/development/libraries/libcli/default.nix
+++ b/pkgs/development/libraries/libcli/default.nix
@@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
     homepage = http://sites.dparrish.com/libcli;
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libconfuse/default.nix b/pkgs/development/libraries/libconfuse/default.nix
index a89bdec2c8af..1ef550238d15 100644
--- a/pkgs/development/libraries/libconfuse/default.nix
+++ b/pkgs/development/libraries/libconfuse/default.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.isc;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libdaemon/default.nix b/pkgs/development/libraries/libdaemon/default.nix
index 07d5b77efc4f..af832a70a73b 100644
--- a/pkgs/development/libraries/libdaemon/default.nix
+++ b/pkgs/development/libraries/libdaemon/default.nix
@@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx";
   };
 
-  configureFlags = [ "--disable-lynx" ];
+  configureFlags = [ "--disable-lynx" ]
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+    [ # Can't run this test while cross-compiling
+      "ac_cv_func_setpgrp_void=yes"
+    ];
 
   meta = {
     description = "Lightweight C library that eases the writing of UNIX daemons";
diff --git a/pkgs/development/libraries/libdivecomputer/default.nix b/pkgs/development/libraries/libdivecomputer/default.nix
index 23ab36fe09f0..a09e48dcc1d9 100644
--- a/pkgs/development/libraries/libdivecomputer/default.nix
+++ b/pkgs/development/libraries/libdivecomputer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libdivecomputer-${version}";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "http://www.libdivecomputer.org/releases/${name}.tar.gz";
-    sha256 = "11n2qpqg4b2h7mqifp9qm5gm1aqwy7wj1j4j5ha0wdjf55zzy30y";
+    sha256 = "0nm1mcscpxb9dv4p0lidd6rf5xg4vmcbigj6zqxvgn7pwnvpbzm0";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index c61876713c10..bd230c61028f 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
-  NROFF = "${groff}/bin/nroff";
+  # NROFF = "${groff}/bin/nroff";
 
   patches = [ ./01-cygwin.patch ];
 
diff --git a/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch b/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch
deleted file mode 100644
index 54878303589d..000000000000
--- a/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Patch from Debian:
-https://sources.debian.net/data/main/libe/libewf/20140608-6/debian/patches/04-fix-FTBFS-GCC5.patch
-
-Description: fix a FTBFS with GCC-5. Thanks to Linn Crosetto <linn@hp.com> for
-             the first fix (see #777938). This patch closes #777945.
-Author: Joao Eriberto Mota Filho <eriberto@debian.org>
-Last-Update: 2015-07-02
-Index: libewf-20140608/libuna/Makefile.am
-===================================================================
---- libewf-20140608.orig/libuna/Makefile.am
-+++ libewf-20140608/libuna/Makefile.am
-@@ -3,7 +3,7 @@ AM_CPPFLAGS = \
- 	-I$(top_srcdir)/include \
- 	-I$(top_srcdir)/common \
- 	@LIBCSTRING_CPPFLAGS@ \
--	@LIBCERROR_CPPFLAGS@
-+	@LIBCERROR_CPPFLAGS@ -std=gnu89
- 
- noinst_LTLIBRARIES = libuna.la
- 
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index ec53b50b5af2..b1a6238a3780 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,16 +1,16 @@
 { fetchurl, stdenv, zlib, openssl, libuuid, file, fuse, autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "20140608";
+  version = "20171104";
   name = "libewf-${version}";
+
   src = fetchurl {
-    url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz";
-    sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i";
+    url = "https://github.com/libyal/libewf/releases/download/${version}/libewf-experimental-${version}.tar.gz";
+    sha256 = "0h7036gpj5cryvh17aq6i2cpnbpwg5yswmfydxbbwvd9yfxd6dng";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ zlib openssl libuuid ];
-  patches = [ ./04-fix-FTBFS-GCC5.patch ];
 
   meta = {
     description = "Library for support of the Expert Witness Compression Format";
diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream
deleted file mode 100644
index a071132463f8..000000000000
--- a/pkgs/development/libraries/libewf/default.upstream
+++ /dev/null
@@ -1,7 +0,0 @@
-url https://code.google.com/p/libewf/
-version_link 'googledrive[.]com'
-version_link '[.]tar[.]'
-do_overwrite () {
-  do_overwrite_just_version
-  set_var_value url "$CURRENT_URL"
-}
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 397000fc7d24..45564d64861d 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libgpgerror, enableCapabilities ? false, libcap }:
+{ stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap }:
 
 assert enableCapabilities -> stdenv.isLinux;
 
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify";
 
   buildInputs = [ libgpgerror ]
+    ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
   # Make sure libraries are correct for .pc and .la files
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 56bf9b177b56..9faf7a404585 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext }:
+{ stdenv, buildPackages, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
   name = "libgpg-error-${version}";
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
 
   # If architecture-dependent MO files aren't available, they're generated
   # during build, so we need gettext for cross-builds.
-  crossAttrs.buildInputs = [ gettext ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ gettext ];
 
   postConfigure =
     stdenv.lib.optionalString stdenv.isSunOS
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
     # Thus, re-run it with Bash.
       "${stdenv.shell} config.status";
 
-  doCheck = true;
+  doCheck = true; # not cross
 
   meta = with stdenv.lib; {
     homepage = https://www.gnupg.org/related_software/libgpg-error/index.html;
@@ -45,4 +46,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.fuuzetsu maintainers.vrthra ];
   };
 }
-
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index db4c0c7738de..dc88df31fbfd 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.3";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "09wkc5qqk1k2a68cwfy4x853z8z35wf2qkijh66kacsvc2fjq394";
+    sha256 = "142icwzpirwddl7ghfmynxpnsbjg53rjxpzv4arjsaiw9r6bvk8b";
   };
 
   outputs = [ "out" "dev" ];
@@ -50,8 +50,6 @@ stdenv.mkDerivation rec {
 
   doCheck = testsSupport;
 
-  checkPhase = "meson test";
-
   meta = {
     description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
     homepage    = http://www.freedesktop.org/wiki/Software/libinput;
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 479deb7593d6..51a7ab4851c3 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libite-${version}";
-  version = "1.9.2";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "1y2iylsgs8am5br7an0xkrgshq6k2zkk8jfsaa7vdw2dh3qvc9pr";
+    sha256 = "07zypi3f02ygl7h5yc9sy136iiwgdi3r3nkjai9bq4gzjmzsvyl9";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libkeyfinder/default.nix b/pkgs/development/libraries/libkeyfinder/default.nix
index 326d9c4f9d78..93f3b2a4f84d 100644
--- a/pkgs/development/libraries/libkeyfinder/default.nix
+++ b/pkgs/development/libraries/libkeyfinder/default.nix
@@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 8bff5a21cd09..3f7a4bed9cc9 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libgpgerror }:
+{ stdenv, fetchurl, gettext, libgpgerror }:
 
 stdenv.mkDerivation rec {
   name = "libksba-1.3.5";
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "info" ];
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
   propagatedBuildInputs = [ libgpgerror ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 8071d386db0f..c509fcd2b4f8 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -4,10 +4,10 @@ let
   inherit (stdenv.lib) optional optionals optionalString;
 
 in stdenv.mkDerivation rec {
-  name = "libmikmod-3.3.11";
+  name = "libmikmod-3.3.11.1";
   src = fetchurl {
     url = "mirror://sourceforge/mikmod/${name}.tar.gz";
-    sha256 = "1smb291jr4qm2cdk3gfpmh0pr23rx3jw3fw0j1zr3b4ih7727fni";
+    sha256 = "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd";
   };
 
   buildInputs = [ texinfo ]
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
index d292dd1e536c..97366d24c36e 100644
--- a/pkgs/development/libraries/libmpc/default.nix
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   name = "libmpc-${version}"; # to avoid clash with the MPD client
 
   src = fetchurl {
-    url = "http://www.multiprecision.org/mpc/download/mpc-${version}.tar.gz";
+    url = "https://ftp.gnu.org/gnu/mpc/mpc-${version}.tar.gz";
     sha256 = "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1";
   };
 
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index a94bf28cd972..17dea7b3d7d2 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     homepage = http://netfilter.org/projects/libnetfilter_conntrack/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libnetfilter_log/default.nix b/pkgs/development/libraries/libnetfilter_log/default.nix
index e3c8447549d1..f660cd7a7814 100644
--- a/pkgs/development/libraries/libnetfilter_log/default.nix
+++ b/pkgs/development/libraries/libnetfilter_log/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = http://netfilter.org/projects/libnetfilter_log/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ orivej nckx ];
+    maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index 060f5ba4934c..ad8c7626661e 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "libnftnl-1.0.8";
+  version = "1.0.9";
+  name = "libnftnl-${version}";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
-    sha256 = "0f10cfiyl4c0f8k3brxfrw28x7a6qvrakaslg4jgqncwxycxggg6";
+    url = "https://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
+    sha256 = "0d9nkdbdck8sg6msysqyv3m9kjr9sjif5amf26dfa0g3mqjdihgy";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index c5cb85d91ba2..8bf62890fac4 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libogg-1.3.2";
+  name = "libogg-1.3.3";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
-    sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
+    sha256 = "022wjlzn8fx7mfby4pcgyjwx8zir7jr7cizichh3jgaki8bwcgsg";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libomxil-bellagio/default.nix b/pkgs/development/libraries/libomxil-bellagio/default.nix
index 5140402eacb9..28c8a915c635 100644
--- a/pkgs/development/libraries/libomxil-bellagio/default.nix
+++ b/pkgs/development/libraries/libomxil-bellagio/default.nix
@@ -8,7 +8,10 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/omxil/omxil/Bellagio%20${version}/${name}.tar.gz";
     sha256 = "0k6p6h4npn8p1qlgq6z3jbfld6n1bqswzvxzndki937gr0lhfg2r";
   };
-  
+
+  configureFlags =
+    stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" ];
+
   patches = [ ./fedora-fixes.patch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libowfat/default.nix b/pkgs/development/libraries/libowfat/default.nix
index aaa1abacab80..1304aff9e3b3 100644
--- a/pkgs/development/libraries/libowfat/default.nix
+++ b/pkgs/development/libraries/libowfat/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libowfat-0.29";
+  name = "libowfat-0.31";
 
   src = fetchurl {
-    url = "http://dl.fefe.de/${name}.tar.bz2";
-    sha256 = "09v4phf1d4y617fdqwn214jmkialf7xqcsyx3rzk7x5ysvpbvbab";
+    url = "https://www.fefe.de/libowfat/${name}.tar.xz";
+    sha256 = "04lagr62bd2cr0k8h59qfnx2klh2cf73k5kxsx8xrdybzhfarr6i";
   };
 
   makeFlags = "prefix=$(out)";
-  
+
   meta = with stdenv.lib; {
     homepage = http://www.fefe.de/libowfat/;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/libpinyin/default.nix b/pkgs/development/libraries/libpinyin/default.nix
index 15d141990417..26694eb37770 100644
--- a/pkgs/development/libraries/libpinyin/default.nix
+++ b/pkgs/development/libraries/libpinyin/default.nix
@@ -2,14 +2,13 @@
 
 let
   modelData = fetchurl {
-    url    = "mirror://sourceforge/libpinyin/models/model12.text.tar.gz";
-    sha256 = "1fijhhnjgj8bj1xr5pp7c4qxf11cqybgfqg7v36l3x780d84hfnd";
+    url    = "mirror://sourceforge/libpinyin/models/model14.text.tar.gz";
+    sha256 = "0qqk30nflj07zjhs231c95ln4yj4ipzwxxiwrxazrg4hb8bhypqq";
   };
 in
-
 stdenv.mkDerivation rec {
   name = "libpinyin-${version}";
-  version = "1.6.0";
+  version = "2.1.91";
 
   nativeBuildInputs = [ autoreconfHook glib db pkgconfig ];
 
@@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
     owner  = "libpinyin";
     repo   = "libpinyin";
     rev    = version;
-    sha256 = "0k40a7wfp8zj9d426afv0am5sr3m2i2p309fq0vf8qrb050hj17f";
+    sha256 = "0jbvn65p3zh0573hh27aasd3qly5anyfi8jnps2dxi0my09wbrq3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 614890e929f7..bf9e2d079cd6 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake
-, dbus, networkmanager, spidermonkey_38, pcre, python2, python3 }:
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, zlib
+, dbus, networkmanager, spidermonkey_38, pcre, python2, python3
+, SystemConfiguration, CoreFoundation, JavaScriptCore }:
 
 stdenv.mkDerivation rec {
   name = "libproxy-${version}";
@@ -16,7 +17,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ dbus networkmanager spidermonkey_38 pcre python2 python3 ];
+  buildInputs = [ pcre python2 python3 zlib ]
+        ++ (if stdenv.hostPlatform.isDarwin
+            then [ SystemConfiguration CoreFoundation JavaScriptCore ]
+            else [ spidermonkey_38 dbus networkmanager ]);
 
   preConfigure = ''
     cmakeFlagsArray+=(
@@ -27,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = licenses.lgpl21;
     homepage = http://libproxy.github.io/libproxy/;
     description = "A library that provides automatic proxy configuration management";
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index c35c7e1bc0f5..b1100d00f3e0 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -64,6 +64,5 @@ in stdenv.mkDerivation rec {
     homepage = http://rockdaboot.github.io/libpsl/;
     license = licenses.mit;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 0e67f970b763..89b71c1855da 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
     substituteInPlace libqalculate/Calculator.cc \
       --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
       --replace '"gnuplot -"' '"${gnuplot}/bin/gnuplot -"'
+  '' + stdenv.lib.optionalString stdenv.cc.isClang ''
+    substituteInPlace src/qalc.cc \
+      --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))'
   '';
 
   preBuild = ''
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 0b88cd02df70..c1df11aa5443 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libraw-${version}";
-  version = "0.18.5";
+  version = "0.18.7";
 
   src = fetchurl {
     url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "0y519nlvl4bfnnxbwry35f6gbcv6jbbpd2lmiwv6pbyzv4a7saps";
+    sha256 = "0wap67mb03fl2himbs20yncnnrr71mszsfm2v4spks58c714gqw7";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 4818a720a30c..ae03ef7ecb97 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -33,7 +33,7 @@ in {
   };
 
   libressl_2_6 = generic {
-    version = "2.6.2";
-    sha256 = "0y64grb2zx98rjp2lbwihyhbml4z5ih3v7ydbxdvmabj5d4x4adh";
+    version = "2.6.4";
+    sha256 = "07yi37a2ghsgj2b4w30q1s4d2inqnix7ika1m21y57p9z71212k3";
   };
 }
diff --git a/pkgs/development/libraries/libroxml/default.nix b/pkgs/development/libraries/libroxml/default.nix
new file mode 100644
index 000000000000..3993451e19f0
--- /dev/null
+++ b/pkgs/development/libraries/libroxml/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "libroxml-2.3.0";
+  src = fetchurl {
+    url = "http://download.libroxml.net/pool/v2.x/libroxml-2.3.0.tar.gz";
+    sha256  = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x";
+  };
+  meta = with stdenv.lib; {
+    homepage = "http://www.libroxml.net/";
+    description = "This library is minimum, easy-to-use, C implementation for xml file parsing.";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ mpickering ];
+  };
+}
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 09a0f4444b54..cf43bb951929 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,16 +1,22 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
-, bzip2, libcroco, libintlOrEmpty, darwin
+, bzip2, libcroco, libintlOrEmpty, darwin, rust
 , withGTK ? false, gtk3 ? null
 , gobjectIntrospection ? null, enableIntrospection ? false }:
 
 # no introspection by default, it's too big
 
+let
+  version = "2.42.2";
+  releaseVersion = (lib.concatStringsSep "." (lib.lists.take 2
+    (lib.splitString "." version)));
+
+in
 stdenv.mkDerivation rec {
-  name = "librsvg-2.40.19";
+  name = "librsvg-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/librsvg/2.40/librsvg-2.40.18.tar.xz";
-    sha256 = "0k2nbd4g31qinkdfd8r5c5ih2ixl85fbkgkqqh9747lwr24c9j5z";
+    url    = "mirror://gnome/sources/librsvg/${releaseVersion}/${name}.tar.xz";
+    sha256 = "0c550a0bffef768a436286116c03d9f6cd3f97f5021c13e7f093b550fac12562";
   };
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
@@ -22,7 +28,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
 
-  nativeBuildInputs = [ pkgconfig ]
+  nativeBuildInputs = [ pkgconfig rust.rustc rust.cargo ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       ApplicationServices
     ]);
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 3409948f59eb..0f2ca3712975 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "librsync-${version}";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "librsync";
     repo = "librsync";
     rev = "v${version}";
-    sha256 = "0yad7nkw6d8j824qkxrj008ak2wq6yw5p894sbhr35yc1wr5mki6";
+    sha256 = "0wihjinqbjl4hnvrgsk4ca1zy5v6bj7vjm6wlygwvgbn5yh3yq0x";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix
index 75bc9668fca1..0ad02c190c11 100644
--- a/pkgs/development/libraries/libsass/default.nix
+++ b/pkgs/development/libraries/libsass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libsass-${version}";
-  version = "3.4.5";
+  version = "3.4.8";
 
   src = fetchurl {
     url = "https://github.com/sass/libsass/archive/${version}.tar.gz";
-    sha256 = "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x";
+    sha256 = "0gq0mg42sq2nxiv25fh37frlr0iyqamh7shv83qixnqklqpkfi13";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 3b365c0e9712..023c51c2b14f 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libseccomp-${version}";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "3ddc8c037956c0a5ac19664ece4194743f59e1ccd4adde848f4f0dae7f77bca1";
+    sha256 = "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz";
   };
 
   buildInputs = [ getopt makeWrapper ];
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index 4a13bfd9994b..8152c1ea8524 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigsegv-2.11";
+  name = "libsigsegv-2.12";
 
   src = fetchurl {
     url = "mirror://gnu/libsigsegv/${name}.tar.gz";
-    sha256 = "063swdvq7mbmc1clv0rnh20grwln1zfc2qnm0sa1hivcxyr2wz6x";
+    sha256 = "1dlhqf4igzpqayms25lkhycjq1ccavisx8cnb3y4zapbkqsszq9s";
   };
 
   patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;
diff --git a/pkgs/development/libraries/libsnark/darwin-fix-clock-gettime.patch b/pkgs/development/libraries/libsnark/darwin-fix-clock-gettime.patch
new file mode 100644
index 000000000000..2eee84d1c4b8
--- /dev/null
+++ b/pkgs/development/libraries/libsnark/darwin-fix-clock-gettime.patch
@@ -0,0 +1,41 @@
+Adapted from https://github.com/zcash/libsnark/pull/10
+
+diff --git a/depends/libff/libff/common/profiling.cpp b/depends/libff/libff/common/profiling.cpp
+index f2a1985..319149c 100755
+--- a/depends/libff/libff/common/profiling.cpp
++++ b/depends/libff/libff/common/profiling.cpp
+@@ -27,6 +27,13 @@
+ #include <proc/readproc.h>
+ #endif
+ 
++#ifdef __MACH__
++#include <time.h>
++#include <sys/time.h>
++#include <mach/clock.h>
++#include <mach/mach.h>
++#endif
++
+ namespace libff {
+ 
+ long long get_nsec_time()
+@@ -42,10 +49,20 @@ long long get_nsec_cpu_time()
+ 	return 0;
+ #else
+     ::timespec ts;
++#ifdef __MACH__
++    clock_serv_t cclock;
++    mach_timespec_t mts;
++    host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
++    clock_get_time(cclock, &mts);
++    mach_port_deallocate(mach_task_self(), cclock);
++    ts.tv_sec = mts.tv_sec;
++    ts.tv_nsec = mts.tv_nsec;
++#else
+     if ( ::clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) )
+         throw ::std::runtime_error("clock_gettime(CLOCK_PROCESS_CPUTIME_ID) failed");
+         // If we expected this to work, don't silently ignore failures, because that would hide the problem and incur an unnecessarily system-call overhead. So if we ever observe this exception, we should probably add a suitable #ifdef .
+         //TODO: clock_gettime(CLOCK_PROCESS_CPUTIME_ID) is not supported by native Windows. What about Cygwin? Should we #ifdef on CLOCK_PROCESS_CPUTIME_ID or on __linux__?
++#endif
+     return ts.tv_sec * 1000000000ll + ts.tv_nsec;
+ #endif
+ }
diff --git a/pkgs/development/libraries/libsnark/default.nix b/pkgs/development/libraries/libsnark/default.nix
new file mode 100644
index 000000000000..578053bbb427
--- /dev/null
+++ b/pkgs/development/libraries/libsnark/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, boost, gmp, procps, fetchpatch, patchutils }:
+
+let
+  rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
+  inherit (stdenv) lib;
+in stdenv.mkDerivation rec {
+  name = "libsnark-pre${version}";
+  version = stdenv.lib.substring 0 8 rev;
+
+  buildInputs = [ cmake pkgconfig openssl boost gmp ] ++ lib.optional stdenv.hostPlatform.isLinux procps;
+
+  cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DWITH_PROCPS=OFF" "-DWITH_SUPERCOP=OFF" ];
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner           = "scipr-lab";
+    repo            = "libsnark";
+    sha256          = "13f02qp2fmfhvxlp4xi69m0l8r5nq913l2f0zwdk7hl46lprfdca";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./darwin-fix-clock-gettime.patch ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "C++ library for zkSNARKs";
+    homepage = https://github.com/scipr-lab/libsnark;
+    license = licenses.mit;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 5d4535676e7b..0b341b38917d 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-1.0.15";
+  name = "libsodium-1.0.16";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv";
+    sha256 = "0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libstdc++5/default.nix b/pkgs/development/libraries/libstdc++5/default.nix
index 5c0e7c9bdfa4..f8397052b770 100644
--- a/pkgs/development/libraries/libstdc++5/default.nix
+++ b/pkgs/development/libraries/libstdc++5/default.nix
@@ -21,13 +21,13 @@ stdenv.mkDerivation rec {
       name = "siginfo.patch";
       url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/siginfo.patch?h=packages/libstdc%2B%2B5&id=e36ee8ed9bb5942db14cf6249a2ead14974a2bfa";
       sha256 = "15zldbm33yba293dgrgsbv3j332hkc3iqpyc8fa7zl42mh9qk22j";
-      addPrefixes = true;
+      extraPrefix = "";
     })
     (fetchpatch {
       name = "gcc-3.4.3-no_multilib_amd64.patch";
       url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/gcc-3.4.3-no_multilib_amd64.patch?h=packages/libstdc%2B%2B5&id=e36ee8ed9bb5942db14cf6249a2ead14974a2bfa";
       sha256 = "11m5lc51b0addhc4yq4rz0dwpv6k73rrj73wya3lqdk8rly6cjpm";
-      addPrefixes = true;
+      extraPrefix = "";
     })
     # Required because of glibc 2.26
     ./struct-ucontext.patch
diff --git a/pkgs/development/libraries/libstemmer/default.nix b/pkgs/development/libraries/libstemmer/default.nix
new file mode 100644
index 000000000000..67d6d8d42ead
--- /dev/null
+++ b/pkgs/development/libraries/libstemmer/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "libstemmer-2017-03-02";
+
+  src = fetchFromGitHub {
+    owner = "zvelo";
+    repo = "libstemmer";
+    rev = "78c149a3a6f262a35c7f7351d3f77b725fc646cf";
+    sha256 = "06md6n6h1f2zvnjrpfrq7ng46l1x12c14cacbrzmh5n0j98crpq7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Snowball Stemming Algorithms";
+    homepage = "http://snowball.tartarus.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 0f95b6d34c77..ab1bda9ed299 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, libjpeg, xz }:
 
 let
-  version = "4.0.8";
+  version = "4.0.9";
 in
 stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
-    sha256 = "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr";
+    sha256 = "1kfg4q01r4mqn7dj63ifhi6pmqzbf4xax6ni6kkk81ri5kndwyvf";
   };
 
-  prePatch =let
+  prePatch = let
       debian = fetchurl {
-        url = http://snapshot.debian.org/archive/debian-debug/20170928T093547Z/pool/main/t/tiff/tiff_4.0.8-5.debian.tar.xz;
-        sha256 = "11qkiliw04dmdvdd5z2lv5hh2fiwa29qbhkxvlvmb4yslnmyywha";
+        url = http://snapshot.debian.org/archive/debian-debug/20180128T155203Z//pool/main/t/tiff/tiff_4.0.9-3.debian.tar.xz;
+        sha256 = "0wya42y7kcq093g3h7ca10cm5sns1mgnkjmdd2qdi59v8arga4y4";
       };
     in ''
       tar xf '${debian}'
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index 3b92aff72a56..0c88f9871041 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.3";
+  version = "0.9.5";
   name = "liburcu-${version}";
 
   src = fetchurl {
     url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "01j0xp3f0w147yfyzybkjvb7i67i7prsvnkssgvgwry9lvk35khv";
+    sha256 = "19iq7985rhvbrj99hlmbyq2wjrkhssvigh5454mhaprn3c7jaj6r";
   };
 
   nativeBuildInputs = stdenv.lib.optional doCheck perl;
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 4075505f8dd8..59fd95eefeee 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.18.0";
+  version = "1.19.1";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "0s71c2y4ll3vp463hsdk74q4hr7wprkxc2a4agw3za2hhzcb95pd";
+    sha256 = "020jap4xvjns1rgb2kvpf1nib3f2d5fyqh04afgkk32hiag0kn66";
   };
 
   postPatch = let
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 673cd7abe7dd..79a5bef30fcf 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libwebp-${version}";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchurl {
     url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
-    sha256 = "0h1brwkyxc7lb8lc53aacdks5vc1y9hzngqi41gg7y6l56912a69";
+    sha256 = "1ayq2zq0zbgf5yizbm32zh7p1vb8kibw74am6am1n5cz5mw3ql06";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libwhereami/default.nix b/pkgs/development/libraries/libwhereami/default.nix
index 35e904989c41..a119ae8795be 100644
--- a/pkgs/development/libraries/libwhereami/default.nix
+++ b/pkgs/development/libraries/libwhereami/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "libwhereami-${version}";
-  version = "0.1.1";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
-    sha256 = "0nhbmxm626cgawprszw6c03a3hasxjn1i9ldhhj5xyvxp8r5l9q4";
+    sha256 = "0mpy2rkxcm2nz1qvldih01czxlsksqfkzgh58pnrw8yva31wv9q6";
     rev = version;
     repo = "libwhereami";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libxc/default.nix b/pkgs/development/libraries/libxc/default.nix
index 925c1b6d083d..67ec3b57fa77 100644
--- a/pkgs/development/libraries/libxc/default.nix
+++ b/pkgs/development/libraries/libxc/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, gfortran, perl }:
 
 let
-  version = "2.2.3";
+  version = "3.0.1";
+
 in stdenv.mkDerivation {
   name = "libxc-${version}";
   src = fetchurl {
-    url = "http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-${version}.tar.gz";
-    sha256 = "1rv8vsf7zzw0g7j93rqcipzhk2pj1iq71bpkwf7zxivmgavh0arg";
+    url = "http://www.tddft.org/programs/octopus/down.php?file=libxc/${version}/libxc-${version}.tar.gz";
+    sha256 = "1xyac89yx03vm86rvk07ps1d39xss3amw46a1k53mv30mgr94rl3";
   };
 
   buildInputs = [ gfortran ];
@@ -25,7 +26,7 @@ in stdenv.mkDerivation {
     description = "Library of exchange-correlation functionals for density-functional theory";
     homepage = http://octopus-code.org/wiki/Libxc;
     license = licenses.lgpl3;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ markuskowa ];
   };
 }
diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix
index f38c7a900329..68f8c44a8ec8 100644
--- a/pkgs/development/libraries/libxcomp/default.nix
+++ b/pkgs/development/libraries/libxcomp/default.nix
@@ -23,6 +23,5 @@ stdenv.mkDerivation rec {
     homepage = http://wiki.x2go.org/doku.php/wiki:libs:nx-libs;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/libxmp/default.nix b/pkgs/development/libraries/libxmp/default.nix
index 28584d14a877..ca4d7edbf32d 100644
--- a/pkgs/development/libraries/libxmp/default.nix
+++ b/pkgs/development/libraries/libxmp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libxmp-4.3.12";
+  name = "libxmp-4.4.1";
 
   meta = with stdenv.lib; {
     description = "Extended module player library";
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/xmp/libxmp/${name}.tar.gz";
-    sha256 = "1536dfxgxl6dyvkdby8lxzi9f7y2qlwl8ylrkybips3ampcqgkhm";
+    sha256 = "1kycz4jsyvmf7ny9227b497wc7y5ligydi6fvvldmkf8hk63ad9m";
   };
 }
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 2f9130938734..1bb90ee195da 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -11,22 +11,15 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.29";
+  version = "1.1.32";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${name}.tar.gz";
-    sha256 = "1klh81xbm9ppzgqk339097i39b7fnpmlj8lzn8bpczl3aww6x5xm";
+    sha256 = "0q2l6m56iv3ysxgm2walhg4c9wp7q183jb328687i9zlp85csvjj";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-5029";
-      url = "https://git.gnome.org/browse/libxslt/"
-        + "patch/?id=08ab2774b870de1c7b5a48693df75e8154addae5";
-      sha256 = "10azfmyffjf9d7b5js4ipxw9f20qi0kw3zq34bpqmbcpq3l338ky";
-    })
-  ] ++ stdenv.lib.optional stdenv.isSunOS ./patch-ah.patch;
+  patches = stdenv.lib.optional stdenv.isSunOS ./patch-ah.patch;
 
   # fixes: can't build x86_64-unknown-cygwin shared library unless -no-undefined is specified
   postPatch = optionalString hostPlatform.isCygwin ''
@@ -40,12 +33,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ findXMLCatalogs ];
 
-  # TODO move cryptoSupport as last flag, when upgrading libxslt
-  configureFlags = optional (!cryptoSupport) "--without-crypto" ++ [
+  configureFlags = [
+    "--with-libxml-prefix=${libxml2.dev}"
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ optional pythonSupport "--with-python=${python2}";
+  ] ++ optional pythonSupport "--with-python=${python2}"
+    ++ optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
     moveToOutput bin/xslt-config "$dev"
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 960c8cc24949..7f4d8cc19c8e 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,31 +1,45 @@
-{ stdenv, fetchurl, alsaLib, bash, help2man, pkgconfig, xlibsWrapper, python3, libxslt }:
+{ stdenv, fetchurl, alsaLib, bash, help2man, pkgconfig, xlibsWrapper, python3
+, libxslt, systemd, libusb, libftdi1 }:
 
 stdenv.mkDerivation rec {
-  name = "lirc-0.9.4";
+  name = "lirc-0.10.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/lirc/${name}.tar.bz2";
-    sha256 = "19c6ldjsdnk1md66q3nb035ja1xj217k8iabhxpsb8rs10a6kwi6";
+    sha256 = "1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb";
   };
 
-  preBuild = "patchShebangs .";
+  postPatch = ''
+    patchShebangs .
+
+    # fix overriding PYTHONPATH
+    sed -i 's,^PYTHONPATH *= *,PYTHONPATH := $(PYTHONPATH):,' \
+      Makefile.in
+    sed -i 's,PYTHONPATH=,PYTHONPATH=$(PYTHONPATH):,' \
+      doc/Makefile.in
+  '';
+
+  preConfigure = ''
+    # use empty inc file instead of a from linux kernel generated one
+    touch lib/lirc/input_map.inc
+  '';
 
   nativeBuildInputs = [ pkgconfig help2man ];
 
-  buildInputs = [ alsaLib xlibsWrapper python3 libxslt ];
+  buildInputs = [ alsaLib xlibsWrapper libxslt systemd libusb libftdi1 ]
+  ++ (with python3.pkgs; [ python pyyaml setuptools ]);
 
   configureFlags = [
-    "--with-driver=devinput"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
-    "--enable-sandboxed"
+    "--with-systemdsystemunitdir=$(out)/lib/systemd/system"
+    "--enable-uinput" # explicite activation because build env has no uinput
+    "--enable-devinput" # explicite activation because build env has not /dev/input
   ];
 
-  makeFlags = [ "m4dir=$(out)/m4" ];
-
   installFlags = [
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
+    "sysconfdir=$out/etc"
+    "localstatedir=$TMPDIR"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix
index df5cb7c67f38..c7667b554f4e 100644
--- a/pkgs/development/libraries/lzo/default.nix
+++ b/pkgs/development/libraries/lzo/default.nix
@@ -30,6 +30,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
 
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 8195ba2d4d66..82d867fedf04 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -1,11 +1,13 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mbedtls-2.6.0";
+  name = "mbedtls-2.6.1";
 
-  src = fetchurl {
-    url = "https://tls.mbed.org/download/${name}-gpl.tgz";
-    sha256 = "042q1l4708zjn5v72sa9qdvgx173kmy4hbcd23wj5vqd6vbmk6d9";
+  src = fetchFromGitHub {
+    owner = "ARMmbed";
+    repo = "mbedtls";
+    rev = name;
+    sha256 = "0d421w9bz4p1nw6kza3licv2w97y1364mcpb4fxvpgdqz48rc1vg";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index e1fe061a9651..8df248e3e461 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.8";
+  version = "17.3.3";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "0pq9kmmyllgd63d936f3x1zsg7sqaswx47khbn0gvbgari2h753f";
+    sha256 = "16rpm4rwmzd4kdgipa1gw262jqg3346gih0y3bsc3bgn1vgcbfj1";
   };
 
   prePatch = "patchShebangs .";
@@ -98,7 +98,7 @@ stdenv.mkDerivation {
 
   # TODO: Figure out how to enable opencl without having a runtime dependency on clang
   configureFlags = [
-    "--sysconfdir=/etc"
+    "--sysconfdir=${driverLink}/etc"
     "--localstatedir=/var"
     "--with-dri-driverdir=$(drivers)/lib/dri"
     "--with-dri-searchpath=${driverLink}/lib/dri"
@@ -134,7 +134,7 @@ stdenv.mkDerivation {
     "--enable-shared-glapi"
     "--enable-sysfs"
     "--enable-llvm-shared-libs"
-    "--enable-omx"
+    "--enable-omx-bellagio"
     "--enable-va"
     "--disable-opencl"
   ];
@@ -197,7 +197,6 @@ stdenv.mkDerivation {
   '';
 
   # TODO:
-  #  @vcunat isn't sure if drirc will be found when in $out/etc/;
   #  check $out doesn't depend on llvm: builder failures are ignored
   #  for some reason grep -qv '${llvmPackages.llvm}' -R "$out";
   postFixup = ''
diff --git a/pkgs/development/libraries/mpich2/default.nix b/pkgs/development/libraries/mpich2/default.nix
index d400712a6f9b..4b8e2b651e45 100644
--- a/pkgs/development/libraries/mpich2/default.nix
+++ b/pkgs/development/libraries/mpich2/default.nix
@@ -1,19 +1,35 @@
-{ stdenv, fetchurl, python, perl, gfortran }:
+{ stdenv, fetchurl, python, perl, gfortran
+, slurm, openssh, hwloc
+} :
 
 stdenv.mkDerivation  rec {
   name = "mpich-${version}";
-  version = "3.2";
+  version = "3.2.1";
 
   src = fetchurl {
-    url = "http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz";
-    sha256 = "0bvvk4n9g4rmrncrgs9jnkcfh142i65wli5qp1akn9kwab1q80z6";
+    url = "http://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
+    sha256 = "1w9h4g7d46d9l5jbcyfxpaqzpjrc5hyvr9d0ns7278psxpr3pdax";
   };
 
-  configureFlags = "--enable-shared --enable-sharedlib";
+  configureFlags = [
+    "--enable-shared"
+    "--enable-sharedlib"
+  ];
 
-  buildInputs = [ perl gfortran ];
+  buildInputs = [ perl gfortran slurm openssh hwloc ];
 
-  meta = {
+  doCheck = true;
+
+  preFixup = ''
+    # /tmp/nix-build... ends up in the RPATH, fix it manually
+    for entry in $out/bin/mpichversion $out/bin/mpivars; do
+      echo "fix rpath: $entry"
+      patchelf --set-rpath "$out/lib" $entry
+    done
+  '';
+
+
+  meta = with stdenv.lib; {
     description = "Implementation of the Message Passing Interface (MPI) standard";
 
     longDescription = ''
@@ -22,9 +38,11 @@ stdenv.mkDerivation  rec {
       version 2.
     '';
     homepage = http://www.mcs.anl.gov/mpi/mpich2/;
-    license = "free, see http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=license";
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    license = {
+      url = http://git.mpich.org/mpich.git/blob/a385d6d0d55e83c3709ae851967ce613e892cd21:/COPYRIGHT;
+      fullName = "MPICH license (permissive)";
+    };
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/netcdf-cxx4/default.nix b/pkgs/development/libraries/netcdf-cxx4/default.nix
index d67fdc110f04..a57884912bae 100644
--- a/pkgs/development/libraries/netcdf-cxx4/default.nix
+++ b/pkgs/development/libraries/netcdf-cxx4/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, netcdf, hdf5, curl }:
 stdenv.mkDerivation rec {
   name = "netcdf-cxx4-${version}";
-  version = "4.2.1";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://github.com/Unidata/netcdf-cxx4/archive/v${version}.tar.gz";
-    sha256 = "1g0fsmz59dnjib4a7r899lm99j3z6yxsw10c0wlihclzr6znmmds";
+    sha256 = "13zi8cbk18gggx1c12a580wdsbl714lw68a1wg7c86x0sybirni5";
   };
 
   buildInputs = [ netcdf hdf5 curl ];
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index e7c64b9a76d0..696df48bfbc9 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -9,27 +9,30 @@ let
   mpiSupport = hdf5.mpiSupport;
   mpi = hdf5.mpi;
 in stdenv.mkDerivation rec {
-    name = "netcdf-4.4.1.1";
-    src = fetchurl {
-        url = "http://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
-        sha256 = "1blc7ik5yin7i0ls2kag0a9xjk12m0dzx6v1x88az3ras3scci2d";
-    };
+  name = "netcdf-4.6.0";
 
-    buildInputs = [ hdf5 m4 curl mpi];
+  src = fetchurl {
+    url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
+    sha256 = "099qmdjj059wkj5za13zqnz0lcziqkcvyfdf894j4n6qq4c5iw2b";
+  };
 
-    passthru = {
-      mpiSupport = mpiSupport;
-      inherit mpi;
-    };
+  nativeBuildInputs = [ m4 ];
+  buildInputs = [ hdf5 curl mpi ];
 
-    configureFlags = [
-        "--enable-netcdf-4"
-        "--enable-dap"
-        "--enable-shared"
-    ]
-    ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
+  passthru = {
+    mpiSupport = mpiSupport;
+    inherit mpi;
+  };
 
-    meta = {
-        platforms = stdenv.lib.platforms.unix;
-    };
+  configureFlags = [
+      "--enable-netcdf-4"
+      "--enable-dap"
+      "--enable-shared"
+  ]
+  ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
+
+  meta = {
+      platforms = stdenv.lib.platforms.unix;
+      homepage = https://www.unidata.ucar.edu/software/netcdf/;
+  };
 }
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index 8ebf62cfdf0e..dc4f4926e9d5 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-1.3";
+  name = "npth-1.5";
 
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
-    sha256 = "0am86vblapwz84254qpmhz0chk70g6qzh3wdxcs0gvba8d01ka5w";
+    sha256 = "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 47f5c1ef5cf9..8d799e2c13a0 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.33";
+  version = "3.34.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_33_RTM/src/${name}.tar.gz";
-    sha256 = "1r44qa4j7sri50mxxbnrpm6fxprwrhv76whi7bfq73j06syxmw4q";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_34_1_RTM/src/${name}.tar.gz";
+    sha256 = "186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3";
   };
 
   buildInputs = [ perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 475ac496e7e8..56118c9bbb2c 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage    = http://www.openldap.org/;
     description = "An open source implementation of the Lightweight Directory Access Protocol";
-    maintainers = with maintainers; [ lovek323 mornfall ];
+    maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 2d08f37c8c23..c2f79753bd19 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gfortran, perl, libibverbs
+{stdenv, fetchurl, gfortran, perl, rdma-core
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
   };
 
   buildInputs = [ gfortran ]
-    ++ optional (stdenv.isLinux || stdenv.isFreeBSD) libibverbs;
+    ++ optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core;
 
   nativeBuildInputs = [ perl ];
 
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
     homepage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
     longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opensaml-cpp/default.nix b/pkgs/development/libraries/opensaml-cpp/default.nix
index c2c102ccf9bd..659c4fb7cff6 100644
--- a/pkgs/development/libraries/opensaml-cpp/default.nix
+++ b/pkgs/development/libraries/opensaml-cpp/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "opensaml-cpp-${version}";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-opensaml.git";
-    rev = "61193de29e4c9f1ccff7ed7e1f42c2748c62be77";
-    sha256 = "1jlxa1f2qn0kd15fzjqp80apxn42v47wg3mx1vk424m31rhi00xr";
+    rev = version;
+    sha256 = "0wjb6jyvh4hwpy1pvhh63i821746nqijysrd4vasbirkf4h6z7nx";
   };
 
   buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 94c49af8c4f1..775e6056dffc 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, buildPackages, perl
-, hostPlatform
+, buildPlatform, hostPlatform
 , fetchpatch
 , withCryptodev ? false, cryptodevHeaders
 , enableSSL2 ? false
@@ -8,10 +8,6 @@
 with stdenv.lib;
 
 let
-
-  opensslCrossSystem = hostPlatform.openssl.system or
-    (throw "openssl needs its platform name cross building");
-
   common = args@{ version, sha256, patches ? [] }: stdenv.mkDerivation rec {
     name = "openssl-${version}";
 
@@ -24,23 +20,34 @@ let
       (args.patches or [])
       ++ [ ./nix-ssl-cert-file.patch ]
       ++ optional (versionOlder version "1.1.0")
-          (if stdenv.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch)
+          (if hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch)
       ++ optional (versionOlder version "1.0.2" && hostPlatform.isDarwin)
            ./darwin-arch.patch;
 
     outputs = [ "bin" "dev" "out" "man" ];
     setOutputFlags = false;
-    separateDebugInfo = stdenv.isLinux;
+    separateDebugInfo = hostPlatform.isLinux;
 
     nativeBuildInputs = [ perl ];
     buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
 
-    # On x86_64-darwin, "./config" misdetects the system as
-    # "darwin-i386-cc".  So specify the system type explicitly.
-    configureScript =
-      if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
-      else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
-      else "./config";
+    # TODO(@Ericson2314): Improve with mass rebuild
+    configureScript = {
+        "x86_64-darwin"  = "./Configure darwin64-x86_64-cc";
+        "x86_64-solaris" = "./Configure solaris64-x86_64-gcc";
+      }.${hostPlatform.system} or (
+        if hostPlatform == buildPlatform
+          then "./config"
+        else if hostPlatform.isMinGW
+          then "./Configure mingw${toString hostPlatform.parsed.cpu.bits}"
+        else if hostPlatform.isLinux
+          then "./Configure linux-generic${toString hostPlatform.parsed.cpu.bits}"
+        else
+          throw "Not sure what configuration to use for ${hostPlatform.config}"
+      );
+
+    # TODO(@Ericson2314): Make unconditional on mass rebuild
+    ${if buildPlatform != hostPlatform then "configurePlatforms" else null} = [];
 
     configureFlags = [
       "shared"
@@ -50,7 +57,7 @@ let
       "-DHAVE_CRYPTODEV"
       "-DUSE_CRYPTODEV_DIGESTS"
     ] ++ stdenv.lib.optional enableSSL2 "enable-ssl2"
-      ++ stdenv.lib.optional (versionAtLeast version "1.1.0" && stdenv.isAarch64) "no-afalgeng";
+      ++ stdenv.lib.optional (versionAtLeast version "1.1.0" && hostPlatform.isAarch64) "no-afalgeng";
 
     makeFlags = [ "MANDIR=$(man)/share/man" ];
 
@@ -84,18 +91,6 @@ let
       fi
     '';
 
-    crossAttrs = {
-      # upstream patch: https://rt.openssl.org/Ticket/Display.html?id=2558
-      postPatch = ''
-         sed -i -e 's/[$][(]CROSS_COMPILE[)]windres/$(WINDRES)/' Makefile.shared
-      '';
-      preConfigure=''
-        # It's configure does not like --build or --host
-        export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
-      '';
-      configureScript = "./Configure";
-    };
-
     meta = {
       homepage = https://www.openssl.org/;
       description = "A cryptographic library that implements the SSL and TLS protocols";
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 34182cd5a847..c5c14ed3b85f 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "p11-kit-${version}";
-  version = "0.23.7";
+  version = "0.23.9";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = "p11-kit";
     rev = version;
-    sha256 = "1l8sg0g74k2mk0y6vz19hc103dzizxa0h579gdhvxifckglb01hy";
+    sha256 = "0lyv6m2jflvs23m0i6l64d470p5a315lz6vs4bflsqv8i1zrrcsh";
   };
 
   outputs = [ "out" "dev"];
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index dd562d2e0f1c..9603e45a8b44 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -20,21 +20,21 @@ stdenv.mkDerivation rec {
       url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_ucd.c?view=patch&r1=316&r2=670&sortby=date";
       sha256 = "10yzglvbn7h06hg7zffr5zh378i5jihvx7d5gggkynws79vgwvfr";
       stripLen = 2;
-      addPrefixes = true;
+      extraPrefix = "";
     })
     (fetchpatch {
       name = "CVE-2017-7186-part2.patch";
       url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_internal.h?view=patch&r1=600&r2=670&sortby=date";
       sha256 = "1bggk7vd5hg0bjg96lj4h1lacmr6grq68dm6iz1n7vg3zf7virjn";
       stripLen = 2;
-      addPrefixes = true;
+      extraPrefix = "";
     })
     (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;
+      extraPrefix = "";
     })
   ];
 
diff --git a/pkgs/development/libraries/physfs/default.nix b/pkgs/development/libraries/physfs/default.nix
index 43bcef0f2d3c..e29af17f35df 100644
--- a/pkgs/development/libraries/physfs/default.nix
+++ b/pkgs/development/libraries/physfs/default.nix
@@ -1,23 +1,41 @@
-{stdenv, fetchurl, cmake}:
+{ stdenv, fetchurl, cmake, doxygen
+, zlib }:
 
-stdenv.mkDerivation rec {
-  name = "physfs-2.0.3";
+let
+  generic = version: sha256:
+  stdenv.mkDerivation rec {
+    name = "physfs-${version}";
 
-  src = fetchurl {
-    url = "${meta.homepage}/downloads/${name}.tar.bz2";
-    sha256 = "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na";
-  };
+    src = fetchurl {
+      url = "${meta.homepage}/downloads/${name}.tar.bz2";
+      inherit sha256;
+    };
+
+    nativeBuildInputs = [ cmake doxygen ];
+
+    buildInputs = [ zlib ];
 
-  nativeBuildInputs = [ cmake ];
+    enableParallelBuilding = true;
 
-  patchPhase = ''
-    sed s,-Werror,, -i CMakeLists.txt
-  '';
+    patchPhase = ''
+      sed s,-Werror,, -i CMakeLists.txt
+    '';
 
-  meta = {
-    homepage = http://icculus.org/physfs/;
-    description = "Library to provide abstract access to various archives";
-    license = stdenv.lib.licenses.free;
-    platforms = stdenv.lib.platforms.linux;
+    doInstallCheck = true;
+
+    installCheckPhase = ''
+      ./test_physfs --version
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://icculus.org/physfs/;
+      description = "Library to provide abstract access to various archives";
+      license = licenses.free;
+      platforms = platforms.linux;
+    };
   };
+
+in {
+  physfs_2 = generic "2.0.3" "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na";
+  physfs   = generic "3.0.1" "1wgj2zqpnfbnyyi1i7bq5pshcc9n5cvwlpzp8im67nb8662ryyxp";
 }
diff --git a/pkgs/development/libraries/physics/fastjet/default.nix b/pkgs/development/libraries/physics/fastjet/default.nix
index 780dcc3770f0..0ee68415b89c 100644
--- a/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/pkgs/development/libraries/physics/fastjet/default.nix
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python2 ];
 
+  postPatch = ''
+    substituteInPlace plugins/SISCone/SISConeBasePlugin.cc \
+      --replace 'structure_of<UserScaleBase::StructureType>()' \
+                'structure_of<UserScaleBase>()'
+  '';
+
   configureFlags = [
     "--enable-allcxxplugins"
     "--enable-pyext"
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index aef627f8f1fe..b0d8b2d89bc8 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -26,15 +26,15 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-agent-leaks.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-agent-leaks.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
       sha256 = "1cxnhj0y30g7ldqq1y6zwsbdwcx7h97d3mpd3h5jy7dhg3h9ym91";
     })
     (fetchpatch {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-polkitpermission-leak.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-polkitpermission-leak.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
       sha256 = "1h1rkd4avqyyr8q6836zzr3w10jf521gcqnvhrhzwdpgp1ay4si7";
     })
     (fetchpatch {
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
+      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
       sha256 = "0bxmjwp8ahy1y5g1l0kxmld0l3mlvb2l0i5n1qabia3d5iyjkyfh";
     })
   ];
diff --git a/pkgs/development/libraries/qca-qt5/default.nix b/pkgs/development/libraries/qca-qt5/default.nix
index 9433eb87109f..0ea58e6c434f 100644
--- a/pkgs/development/libraries/qca-qt5/default.nix
+++ b/pkgs/development/libraries/qca-qt5/default.nix
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl qtbase ];
   nativeBuildInputs = [ cmake pkgconfig ];
 
+  # tells CMake to use this CA bundle file if it is accessible
+  preConfigure = ''export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt'';
+
+  # tricks CMake into using this CA bundle file if it is not accessible (in a sandbox)
+  cmakeFlags = [ "-Dqca_CERTSTORE=/etc/ssl/certs/ca-certificates.crt" ];
+
   meta = with stdenv.lib; {
     description = "Qt 5 Cryptographic Architecture";
     homepage = http://delta.affinix.com/qca;
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 2265d0df3949..4976399a66a6 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # tells CMake to use this CA bundle file if it is accessible
+  preConfigure = ''export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt'';
+
+  # tricks CMake into using this CA bundle file if it is not accessible (in a sandbox)
+  cmakeFlags = [ "-Dqca_CERTSTORE=/etc/ssl/certs/ca-certificates.crt" ];
+
   meta = with stdenv.lib; {
     description = "Qt Cryptographic Architecture";
     license = "LGPL";
diff --git a/pkgs/development/libraries/qt-5/5.10/default.nix b/pkgs/development/libraries/qt-5/5.10/default.nix
index 34ab82d42abe..cf66e60d5696 100644
--- a/pkgs/development/libraries/qt-5/5.10/default.nix
+++ b/pkgs/development/libraries/qt-5/5.10/default.nix
@@ -24,7 +24,7 @@ top-level attribute to `top-level/all-packages.nix`.
   # options
   developerBuild ? false,
   decryptSslTraffic ? false,
-  debug ? null,
+  debug ? false,
 }:
 
 with stdenv.lib;
@@ -37,7 +37,7 @@ let
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
   patches = {
-    qtbase = [ ./qtbase.patch ];
+    qtbase = [ ./qtbase.patch ] ++ optional stdenv.isDarwin ./qtbase-darwin.patch;
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
diff --git a/pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch b/pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch
new file mode 100644
index 000000000000..e85a284f3bb6
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch
@@ -0,0 +1,57 @@
+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/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
+index d1f19f2..1ac2cf1 100644
+--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
++++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
+@@ -1699,7 +1699,7 @@ void QCocoaWindow::applyContentBorderThickness(NSWindow *window)
+
+     if (!m_drawContentBorderGradient) {
+         window.styleMask = window.styleMask & ~NSTexturedBackgroundWindowMask;
+-        [window.contentView.superview setNeedsDisplay:YES];
++        [[window.contentView superview] setNeedsDisplay:YES];
+         window.titlebarAppearsTransparent = NO;
+         return;
+     }
+diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm
+index e846fa0..4171cd4 100644
+--- a/src/plugins/platforms/cocoa/qnswindow.mm
++++ b/src/plugins/platforms/cocoa/qnswindow.mm
+@@ -224,7 +224,7 @@ static bool isMouseEvent(NSEvent *ev)
+     if (pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) {
+         NSPoint loc = [theEvent locationInWindow];
+         NSRect windowFrame = [self convertRectFromScreen:self.frame];
+-        NSRect contentFrame = self.contentView.frame;
++        NSRect contentFrame = [self.contentView frame];
+         if (NSMouseInRect(loc, windowFrame, NO) && !NSMouseInRect(loc, contentFrame, NO))
+             [qnsview_cast(pw->view()) handleFrameStrutMouseEvent:theEvent];
+     }
+@@ -253,7 +253,7 @@ static bool isMouseEvent(NSEvent *ev)
+ + (void)applicationActivationChanged:(NSNotification*)notification
+ {
+     const id sender = self;
+-    NSEnumerator<NSWindow*> *windowEnumerator = nullptr;
++    NSEnumerator *windowEnumerator = nullptr;
+     NSApplication *application = [NSApplication sharedApplication];
+
+ #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 9ad5af8eecd2..1200884a30ce 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -33,7 +33,7 @@ existing packages here and modify it as necessary.
   # options
   developerBuild ? false,
   decryptSslTraffic ? false,
-  debug ? null,
+  debug ? false,
 }:
 
 with stdenv.lib;
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
index 7bf61c98086a..9afa818c36e3 100644
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ b/pkgs/development/libraries/qt-5/5.9/default.nix
@@ -24,7 +24,7 @@ top-level attribute to `top-level/all-packages.nix`.
   # options
   developerBuild ? false,
   decryptSslTraffic ? false,
-  debug ? null,
+  debug ? false,
 }:
 
 with stdenv.lib;
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index 97bd09c327b2..739c9b4a1608 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -11,17 +11,18 @@ let
 
     qmakeFlags =
       (args.qmakeFlags or [])
-      ++ optional (debug != null)
-          (if debug then "CONFIG+=debug" else "CONFIG+=release");
+      ++ [ ("CONFIG+=" + (if debug then "debug" else "release")) ];
 
-    NIX_CFLAGS_COMPILE = optional (debug != null) "-DQT_NO_DEBUG";
+    NIX_CFLAGS_COMPILE =
+      optional (!debug) "-DQT_NO_DEBUG"
+      ++ lib.toList (args.NIX_CFLAGS_COMPILE or []);
 
     cmakeFlags =
       (args.cmakeFlags or [])
-      ++ [ "-DBUILD_TESTING=OFF" ]
-      ++ optional (debug != null)
-          (if debug then "-DCMAKE_BUILD_TYPE=Debug"
-                    else "-DCMAKE_BUILD_TYPE=Release");
+      ++ [
+        "-DBUILD_TESTING=OFF"
+        ("-DCMAKE_BUILD_TYPE=" + (if debug then "Debug" else "Release"))
+      ];
 
     enableParallelBuilding = args.enableParallelBuilding or true;
 
diff --git a/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch b/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch
index 0b02b0097252..8fe643e2c98f 100644
--- a/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch
+++ b/pkgs/development/libraries/qtscriptgenerator/qt-4.8.patch
@@ -1,4 +1,4 @@
-Origin: http://pkgs.fedoraproject.org/gitweb/?p=qtscriptgenerator.git;a=blob_plain;f=qtscriptgenerator-src-0.1.0-no_QFileOpenEvent.patch;h=f397b5ab13bcfc268e6d7b7ba4c6bc66ae38b5c0;hb=HEAD
+Origin: http://src.fedoraproject.org/gitweb/?p=qtscriptgenerator.git;a=blob_plain;f=qtscriptgenerator-src-0.1.0-no_QFileOpenEvent.patch;h=f397b5ab13bcfc268e6d7b7ba4c6bc66ae38b5c0;hb=HEAD
 diff -up qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml.no_QFileOpenEvent qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml
 --- qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml.no_QFileOpenEvent	2011-12-22 11:34:52.615149619 -0600
 +++ qtscriptgenerator-src-0.1.0/generator/typesystem_gui-common.xml	2011-12-22 11:35:31.808659632 -0600
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
index 0ab9cd1df041..13c0198ba505 100644
--- a/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rabbitmq-c-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "alanxz";
     repo = "rabbitmq-c";
     rev = "v${version}";
-    sha256 = "084zlir59zc505nxd4m2g9d355m9a8y94gbjaqmjz9kym8lpayd1";
+    sha256 = "0vjh1q3hyzrq1iiddy28vvwpwwn4px00mjc2hqp4zgfpis2xlqbj";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index a791c8994856..b37a9bc04c39 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchFromGitHub, fixDarwinDylibNames
+{ stdenv
+, fetchFromGitHub
+, fixDarwinDylibNames
+, which, perl
 
 # Optional Arguments
 , snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
@@ -15,15 +18,16 @@ let
 in
 stdenv.mkDerivation rec {
   name = "rocksdb-${version}";
-  version = "5.1.2";
+  version = "5.10.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "rocksdb";
     rev = "v${version}";
-    sha256 = "1smahz67gcd86nkdqaml78lci89dza131mlj5472r4sxjdxsx277";
+    sha256 = "00qnd56v4qyzxg0b3ya3flf2jhbbfaibj1y53bd5ciaw3af6zxnd";
   };
-
+  
+  nativeBuildInputs = [ which perl ];
   buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ];
 
   postPatch = ''
@@ -39,16 +43,20 @@ stdenv.mkDerivation rec {
 
   ${if enableLite then "LIBNAME" else null} = "librocksdb_lite";
   ${if enableLite then "CXXFLAGS" else null} = "-DROCKSDB_LITE=1";
-
-  buildFlags = [
+  
+  buildAndInstallFlags = [
+    "USE_RTTI=1"
     "DEBUG_LEVEL=0"
+    "DISABLE_WARNING_AS_ERROR=1"     
+  ];
+
+  buildFlags = buildAndInstallFlags ++ [
     "shared_lib"
     "static_lib"
   ];
 
-  installFlags = [
+  installFlags = buildAndInstallFlags ++ [
     "INSTALL_PATH=\${out}"
-    "DEBUG_LEVEL=0"
     "install-shared"
     "install-static"
   ];
@@ -66,6 +74,6 @@ stdenv.mkDerivation rec {
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
     license = licenses.bsd3;
     platforms = platforms.allBut [ "i686-linux" ];
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ adev wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/rote/default.nix b/pkgs/development/libraries/rote/default.nix
index 524afd7cf4d2..195db9a16858 100644
--- a/pkgs/development/libraries/rote/default.nix
+++ b/pkgs/development/libraries/rote/default.nix
@@ -26,6 +26,5 @@ stdenv.mkDerivation rec {
     homepage = http://rote.sourceforge.net/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index b3c6d9f26d47..2144a7f78935 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "htslib";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "https://github.com/samtools/htslib/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m";
+    sha256 = "be3d4e25c256acdd41bebb8a7ad55e89bb18e2fc7fc336124b1e2c82ae8886c6";
   };
 
   # perl is only used during the check phase.
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index fe90d41ccb29..77cb7cf1f2b6 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -4,22 +4,24 @@
 with stdenv.lib;
 
 let
-  version = "3.3.0";
+  version = "3.5.0";
 in
 stdenv.mkDerivation {
   name = "arpack-${version}";
 
   src = fetchurl {
     url = "https://github.com/opencollab/arpack-ng/archive/${version}.tar.gz";
-    sha256 = "1cz53wqzcf6czmcpfb3vb61xi0rn5bwhinczl65hpmbrglg82ndd";
+    sha256 = "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh";
   };
 
   nativeBuildInputs = [ autoconf automake gettext libtool ];
   buildInputs = [ gfortran openblas ];
 
+  doCheck = true;
+
   BLAS_LIBS = "-L${openblas}/lib -lopenblas";
 
-  FFLAGS = optional openblas.blas64 "-fdefault-integer-8";
+  INTERFACE64 = optional openblas.blas64 "1";
 
   preConfigure = ''
     ./bootstrap
diff --git a/pkgs/development/libraries/shibboleth-sp/default.nix b/pkgs/development/libraries/shibboleth-sp/default.nix
index 219cda38bc28..74f861297d1a 100644
--- a/pkgs/development/libraries/shibboleth-sp/default.nix
+++ b/pkgs/development/libraries/shibboleth-sp/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "shibboleth-sp-${version}";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-sp.git";
-    rev = "9ebba5c3a16d03769f436e383e4c4cdaa33f5509";
-    sha256 = "1b5r4nd098lnjwr2g13f04ycqv5fvbrhpwg6fsdk8xy9cigvfzxj";
+    rev = version;
+    sha256 = "01q13p7gc0janjfml6zs46na8qnval8hc833fk2wrnmi4w9xw4fd";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/smpeg2/default.nix b/pkgs/development/libraries/smpeg2/default.nix
index 10386a7b33e4..3207bdb3a7f2 100644
--- a/pkgs/development/libraries/smpeg2/default.nix
+++ b/pkgs/development/libraries/smpeg2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, autoconf, automake, libtool, m4, pkgconfig, makeWrapper, SDL2 }:
+{ stdenv, darwin, fetchsvn, autoconf, automake, libtool, m4, pkgconfig, makeWrapper, SDL2 }:
 
 stdenv.mkDerivation rec {
   name = "smpeg2-svn${version}";
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake pkgconfig makeWrapper ];
 
-  buildInputs = [ SDL2 ];
+  buildInputs = [ SDL2 ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
   preConfigure = ''
     sh autogen.sh
@@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
     homepage = http://icculus.org/smpeg/;
     description = "SDL2 MPEG Player Library";
     license = licenses.lgpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 808bfd4f811d..c8e98d3d28ed 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -17,12 +17,12 @@ stdenv.mkDerivation rec {
     # the following three patches fix CVE-2016-9577 and CVE-2016-9578
     (fetchpatch {
       name = "0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch";
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
+      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
       sha256 = "11x5566lx5zyl7f39glwsgpzkxb7hpcshx8va5ab3imrns07130q";
     })
     (fetchpatch {
       name = "0002-Prevent-integer-overflows-in-capability-checks.patch";
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
+      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
       sha256 = "1r1bhq98w93cvvrlrz6jwdfsy261xl3xqs0ppchaa2igyxvxv5z5";
     })
     (fetchpatch {
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 1e7448b66050..8b06e3f2e096 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "talloc-2.1.8";
+  name = "talloc-2.1.11";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${name}.tar.gz";
-    sha256 = "0c3ihyb0jd8mhvi7gg2mr5w1zl2habx6jlkbyxzyckad2q8lkl92";
+    sha256 = "1lzfxv2zjxap5snf9ydl1bqgjpz0kgkq7n644f8rkbx0arav77k3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 6b5c48a6105d..9b4e3a74afe1 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "uriparser-${version}";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/uriparser/Sources/${version}/${name}.tar.bz2";
-    sha256 = "08vvcmg4mcpi2gyrq043c9mfcy3mbrw6lhp86698hx392fjcsz6f";
+    sha256 = "1p9c6lr39rjl4bbzi7wl2nsg72gcz8qhicxh9v043qyr0dfcvsjq";
   };
 
 
diff --git a/pkgs/development/libraries/webkitgtk/2.18.nix b/pkgs/development/libraries/webkitgtk/2.18.nix
index 1899234fc560..d3e3163a8afe 100644
--- a/pkgs/development/libraries/webkitgtk/2.18.nix
+++ b/pkgs/development/libraries/webkitgtk/2.18.nix
@@ -15,7 +15,7 @@ assert stdenv.isDarwin -> !enableGtk2Plugins;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.18.4";
+  version = "2.18.6";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1f1j0r996l20cgkvbwpizn7d4yp58cy334b1pvn4kfb5c2dbpdl7";
+    sha256 = "0g5cpdijjv5hlrbi4i4dh97yrh5apnyvm90wpr9f84hgyk12r4ck";
   };
 
   # see if we can clean this up....
diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix
index 9d22833e1c04..06a4e48827ed 100644
--- a/pkgs/development/libraries/wildmidi/default.nix
+++ b/pkgs/development/libraries/wildmidi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, alsaLib, freepats }:
 
 stdenv.mkDerivation rec {
-  name = "wildmidi-0.3.9";
+  name = "wildmidi-0.4.2";
 
   src = fetchurl {
     url = "https://github.com/Mindwerks/wildmidi/archive/${name}.tar.gz";
-    sha256 = "1fbcsvzn8akvvy7vg6vmnikcc8gh405b4gp1r016bq7yginljwwp";
+    sha256 = "178hm2wh5h7apkcb1a0dyla2ia8569php8ikz62rh0g6dp5l67am";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/xml-tooling-c/default.nix b/pkgs/development/libraries/xml-tooling-c/default.nix
index f2d7711c9f00..8e1d71fab3fa 100644
--- a/pkgs/development/libraries/xml-tooling-c/default.nix
+++ b/pkgs/development/libraries/xml-tooling-c/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "xml-tooling-c-${version}";
-  version = "1.6.0";
+  version = "1.6.3";
 
   src = fetchgit {
     url = "https://git.shibboleth.net/git/cpp-xmltooling.git";
-    rev = "db08101c3854518a59096be95ed6564838381744";
-    sha256 = "0rhzvxm4z3pm28kpk34hayhm12bjjms2kygv1z68vnz8ijzgcinq";
+    rev = version;
+    sha256 = "09z2pp3yy3kqx22vwgxyi3s0vlpdv9camw8dpi3q8piff6zxak3q";
   };
 
   buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ];
diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix
index 057be97ce96b..17d7320cb648 100644
--- a/pkgs/development/libraries/xvidcore/default.nix
+++ b/pkgs/development/libraries/xvidcore/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "xvidcore-${version}";
-  version = "1.3.4";
-  
+  version = "1.3.5";
+
   src = fetchurl {
     url = "http://downloads.xvid.org/downloads/${name}.tar.bz2";
-    sha256 = "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz";
+    sha256 = "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w";
   };
 
   preConfigure = ''
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   postInstall = optionalString (!stdenv.isDarwin) ''
     rm $out/lib/*.a
   '';
-  
+
   meta = {
     description = "MPEG-4 video codec for PC";
     homepage    = https://www.xvid.com/;
diff --git a/pkgs/development/libraries/yajl/default.nix b/pkgs/development/libraries/yajl/default.nix
index c6ab03df10a1..02e1e96cabd1 100644
--- a/pkgs/development/libraries/yajl/default.nix
+++ b/pkgs/development/libraries/yajl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ruby }:
+{ stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
   name = "yajl-2.1.0";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0f6yrjc05aa26wfi7lqn2gslm19m6rm81b30ksllpkappvh162ji";
   };
 
-  buildInputs = [ cmake ruby ];
+  nativeBuildInputs = [ cmake ];
 
   meta = {
     description = "Yet Another JSON Library";
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
index 55b469729f94..a1cfae0e6069 100755
--- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -87,6 +87,33 @@ nix_lisp_run_single_form(){
     "$NIX_LISP_EXEC_CODE" "$NIX_LISP_QUIT" $NIX_LISP_NODEBUG)
 }
 
+nix_lisp_build_system(){
+        NIX_LISP_FINAL_PARAMETERS=(
+             "$NIX_LISP_EXEC_CODE" "(progn
+               (asdf:make :$1)
+               (loop for s in (list $(for i in $3; do echo ":$i"; done)) do (asdf:make s)))"
+             "$NIX_LISP_EXEC_CODE" "(progn
+               (setf (asdf/system:component-entry-point (asdf:find-system :$1)) ${2:-nil})
+               #+cffi(setf cffi:*foreign-library-directories*
+                        (cffi::explode-path-environment-variable \"NIX_LISP_LD_LIBRARY_PATH\"))
+               #+sbcl(loop
+                       with libpath := (uiop:split-string (uiop:getenv \"NIX_LISP_LD_LIBRARY_PATH\")
+                                :separator \":\")
+                       for l in sb-alien::*shared-objects*
+                       for ns := (sb-alien::shared-object-namestring l)
+                       do (and (> (length ns) 0) (not (equal (elt ns 0) \"/\"))
+                               (let*
+                                 ((prefix (find-if (lambda (s) (probe-file (format nil \"~a/~a\" s ns))) libpath))
+                                  (fullpath (and prefix (format nil \"~a/~a\" prefix ns))))
+                                  (when fullpath
+                                     (setf
+                                       (sb-alien::shared-object-namestring l) fullpath
+                                       (sb-alien::shared-object-pathname l) (probe-file fullpath)))))
+                   )
+           (asdf:perform (quote asdf:program-op) :$1)
+        )")
+}
+
 eval "$NIX_LISP_PRELAUNCH_HOOK"
 
 [ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
diff --git a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
index eb6052d58db5..8975ada53206 100644
--- a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
+++ b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
@@ -15,6 +15,8 @@ setLisp () {
               sbcl) NIX_LISP_COMMAND="$j" ;;
               ecl) NIX_LISP_COMMAND="$j" ;;
               clisp) NIX_LISP_COMMAND="$j" ;;
+              lx86cl) NIX_LISP_COMMAND="$j" ;;
+              lx86cl64) NIX_LISP_COMMAND="$j" ;;
           esac
       done
     fi
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 0224bf16ab70..b13ddf8357f4 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -33,7 +33,7 @@ let
     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" &&
-        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$NIX_LISP_LD_LIBRARY_PATH'" >> "$path_config_script"
+        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':')'" >> "$path_config_script"
     echo "fi" >> "$path_config_script"
   '';
   deployLaunchScript = ''
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 09113bc30bb8..4de4947c0733 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -15,9 +15,8 @@ in
         export configureFlags="$configureFlags --with-$NIX_LISP=common-lisp.sh";
       '';
       postInstall = ''
-        "$out/bin/stumpwm-lisp-launcher.sh" --eval '(asdf:make :stumpwm)' \
-          --eval '(setf (asdf/system:component-entry-point (asdf:find-system :stumpwm)) (function stumpwm:stumpwm))' \
-          --eval '(asdf:perform (quote asdf:program-op) :stumpwm)'
+        export NIX_LISP_PRELAUNCH_HOOK="nix_lisp_build_system stumpwm '(function stumpwm:stumpwm)'"
+        "$out/bin/stumpwm-lisp-launcher.sh"
 
         cp "$out/lib/common-lisp/stumpwm/stumpwm" "$out/bin"
       '';
@@ -69,12 +68,10 @@ in
         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) )" \
-          --eval '(setf (asdf/system:component-entry-point (asdf:find-system :query-fs))
-                           (function query-fs:run-fs-with-cmdline-args))' \
-          --eval '(asdf:perform (quote asdf:program-op) :query-fs)'
-	cp "$out/lib/common-lisp/query-fs/query-fs" "$out/bin/"
+        export NIX_LISP_PRELAUNCH_HOOK="nix_lisp_build_system query-fs \
+                    '(function query-fs:run-fs-with-cmdline-args)' '$linkedSystems'"
+        "$out/bin/query-fs-lisp-launcher.sh"
+        cp "$out/lib/common-lisp/query-fs/query-fs" "$out/bin/"
       '';
     };
   };
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index 660f1bbccabb..4079adaef518 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -2,7 +2,7 @@
 { name, src, preBuild ? "", target, androidPlatformVersions ? [ "25" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null
 , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
 , iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "11.2"
-, enableWirelessDistribution ? false, installURL ? null
+, enableWirelessDistribution ? false, iosBuildStore ? false, installURL ? null
 }:
 
 assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null;
@@ -145,7 +145,7 @@ stdenv.mkDerivation {
               security default-keychain -s $keychainName
 
               # Do the actual build
-              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName-db --device-family universal --ios-version ${iosVersion} --output-dir $out
+              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target ${if iosBuildStore then "dist-appstore" else "dist-adhoc"} --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName-db --device-family universal --ios-version ${iosVersion} --output-dir $out
             
               # Remove our generated keychain
               ${deleteKeychain}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix
index fac8af2b6f7e..53963c100c74 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-6.3.nix
@@ -23,7 +23,11 @@ stdenv.mkDerivation {
     cd mobilesdk/*
     mv * 6.3.1.GA
     cd *
-    
+    ${stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+      # Fixes a bad archive copying error when generating an IPA file
+      sed -i -e "s|cp -rf|/bin/cp -rf|" iphone/cli/commands/_build.js
+    ''}
+
     # Patch some executables
     
     ${if stdenv.system == "i686-linux" then
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
index e1b2b0cb2faf..d5ffb7f6c017 100644
--- a/pkgs/development/mobile/xpwn/default.nix
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
+{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
 
 stdenv.mkDerivation {
   name = "xpwn-0.5.8git";
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
     sed -i -e '/install/d' CMakeLists.txt
   '';
 
-  buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
+  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
 
   cmakeFlags = [
     "-DCMAKE_OSX_DEPLOYMENT_TARGET="
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index b719780b1d55..9db719716472 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -499,13 +499,13 @@ let
         sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
       };
     };
-    "class-utils-0.3.5" = {
+    "class-utils-0.3.6" = {
       name = "class-utils";
       packageName = "class-utils";
-      version = "0.3.5";
+      version = "0.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.5.tgz";
-        sha1 = "17e793103750f9627b2176ea34cfd1b565903c80";
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "1xcqwmfmsbrm2ck76brwiqjmcza655khgh5szh6wngk357i37sgwsga1pbarwzaz9hvzkriqhq6j0z5mv0pmz61cf9wxvk3y5mlzs58";
       };
     };
     "cliui-3.2.0" = {
@@ -814,6 +814,15 @@ let
         sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359";
       };
     };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
     "deprecated-0.0.1" = {
       name = "deprecated";
       packageName = "deprecated";
@@ -877,13 +886,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "encodeurl-1.0.1" = {
+    "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
-        sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
     "end-of-stream-0.1.5" = {
@@ -985,13 +994,13 @@ let
         sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
       };
     };
-    "extglob-2.0.3" = {
+    "extglob-2.0.4" = {
       name = "extglob";
       packageName = "extglob";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.3.tgz";
-        sha512 = "31zb5fc59ps76hnxlnrcmm3lkv4pjd3cw55h5h7r9pn1q259bs15hw0bn4gp8kn91qwabgbj0cwkx9pxp8fgsj3ljlvmfv0xijnsah3";
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "2klp0045k4wnaspb9khqx90ddv7rjg997mlyp5qz41sl2yqdrpw8g8wji77qq16aawl4yhvg0f993ln48lja0kfmy0wnbh4g50zlrin";
       };
     };
     "extsprintf-1.3.0" = {
@@ -1345,13 +1354,13 @@ let
         sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
       };
     };
-    "glogg-1.0.0" = {
+    "glogg-1.0.1" = {
       name = "glogg";
       packageName = "glogg";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz";
-        sha1 = "7fe0f199f57ac906cf512feead8f90ee4a284fc5";
+        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz";
+        sha512 = "0vr9sdx0f84b9s5vy72ralm494844c0p9kqqgcvy25gcn9abv57y7hwwafdsswc3z283v8bqa50j8gp740dd4biyngi5f15p9f2lxna";
       };
     };
     "graceful-fs-1.2.3" = {
@@ -2956,13 +2965,13 @@ let
         sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89";
       };
     };
-    "rc-1.2.3" = {
+    "rc-1.2.4" = {
       name = "rc";
       packageName = "rc";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.3.tgz";
-        sha1 = "51575a900f8dd68381c710b4712c2154c3e2035b";
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz";
+        sha1 = "a0f606caae2a3b862bbd0ef85482c0125b315fa3";
       };
     };
     "read-pkg-1.1.0" = {
@@ -3172,13 +3181,13 @@ let
         sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
       };
     };
-    "semver-5.4.1" = {
+    "semver-5.5.0" = {
       name = "semver";
       packageName = "semver";
-      version = "5.4.1";
+      version = "5.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz";
-        sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
+        url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+        sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
       };
     };
     "send-0.16.1" = {
@@ -3802,13 +3811,13 @@ let
         sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
       };
     };
-    "uuid-3.1.0" = {
+    "uuid-3.2.1" = {
       name = "uuid";
       packageName = "uuid";
-      version = "3.1.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz";
-        sha512 = "3x5mi85l1559nkb35pfksjjgiyfyqrcvmcf0nly1xjl1kb0d37jnxd6sk0b8d331waadnqbf60nfssb563x9pvnjcw87lrh976sv18c";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+        sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
       };
     };
     "v8-debug-1.0.1" = {
@@ -4141,7 +4150,7 @@ in
           })
           (sources."gulplog-1.0.0" // {
             dependencies = [
-              (sources."glogg-1.0.0" // {
+              (sources."glogg-1.0.1" // {
                 dependencies = [
                   sources."sparkles-1.0.0"
                 ];
@@ -4296,7 +4305,7 @@ in
                       sources."is-extendable-0.1.1"
                     ];
                   })
-                  (sources."extglob-2.0.3" // {
+                  (sources."extglob-2.0.4" // {
                     dependencies = [
                       (sources."expand-brackets-2.1.4" // {
                         dependencies = [
@@ -4449,7 +4458,7 @@ in
                               })
                             ];
                           })
-                          (sources."class-utils-0.3.5" // {
+                          (sources."class-utils-0.3.6" // {
                             dependencies = [
                               sources."arr-union-3.1.0"
                               (sources."define-property-0.2.5" // {
@@ -4479,23 +4488,6 @@ in
                                   })
                                 ];
                               })
-                              (sources."lazy-cache-2.0.2" // {
-                                dependencies = [
-                                  (sources."set-getter-0.1.0" // {
-                                    dependencies = [
-                                      (sources."to-object-path-0.3.0" // {
-                                        dependencies = [
-                                          (sources."kind-of-3.2.2" // {
-                                            dependencies = [
-                                              sources."is-buffer-1.1.6"
-                                            ];
-                                          })
-                                        ];
-                                      })
-                                    ];
-                                  })
-                                ];
-                              })
                               (sources."static-extend-0.1.2" // {
                                 dependencies = [
                                   (sources."object-copy-0.1.0" // {
@@ -5089,7 +5081,7 @@ in
             ];
           })
           sources."tunnel-agent-0.6.0"
-          sources."uuid-3.1.0"
+          sources."uuid-3.2.1"
         ];
       })
       sources."rimraf-2.6.2"
@@ -5328,6 +5320,7 @@ in
               sources."bytes-3.0.0"
               (sources."http-errors-1.6.2" // {
                 dependencies = [
+                  sources."depd-1.1.1"
                   sources."inherits-2.0.3"
                   sources."setprototypeof-1.0.3"
                 ];
@@ -5344,8 +5337,8 @@ in
           sources."content-type-1.0.4"
           sources."cookie-0.3.1"
           sources."cookie-signature-1.0.6"
-          sources."depd-1.1.1"
-          sources."encodeurl-1.0.1"
+          sources."depd-1.1.2"
+          sources."encodeurl-1.0.2"
           sources."escape-html-1.0.3"
           sources."etag-1.8.1"
           (sources."finalhandler-1.1.0" // {
@@ -5377,6 +5370,7 @@ in
               sources."destroy-1.0.4"
               (sources."http-errors-1.6.2" // {
                 dependencies = [
+                  sources."depd-1.1.1"
                   sources."inherits-2.0.3"
                   sources."setprototypeof-1.0.3"
                 ];
@@ -5428,7 +5422,7 @@ in
         ];
       })
       sources."path-is-absolute-1.0.1"
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."deep-extend-0.4.2"
           sources."ini-1.3.5"
@@ -5607,7 +5601,7 @@ in
                     ];
                   })
                   sources."tunnel-agent-0.6.0"
-                  sources."uuid-3.1.0"
+                  sources."uuid-3.2.1"
                 ];
               })
               (sources."rimraf-2.6.2" // {
@@ -5640,7 +5634,7 @@ in
                   })
                 ];
               })
-              sources."semver-5.4.1"
+              sources."semver-5.5.0"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -5854,7 +5848,7 @@ in
                     ];
                   })
                   sources."tunnel-agent-0.6.0"
-                  sources."uuid-3.1.0"
+                  sources."uuid-3.2.1"
                 ];
               })
               (sources."rimraf-2.6.2" // {
@@ -5887,7 +5881,7 @@ in
                   })
                 ];
               })
-              sources."semver-5.4.1"
+              sources."semver-5.5.0"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -6087,7 +6081,7 @@ in
           sources."set-blocking-2.0.0"
         ];
       })
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."deep-extend-0.4.2"
           sources."ini-1.3.5"
@@ -6175,7 +6169,7 @@ in
             ];
           })
           sources."tunnel-agent-0.6.0"
-          sources."uuid-3.1.0"
+          sources."uuid-3.2.1"
         ];
       })
       (sources."rimraf-2.6.2" // {
@@ -6209,7 +6203,7 @@ in
           })
         ];
       })
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       (sources."tar-2.2.1" // {
         dependencies = [
           sources."block-stream-0.0.9"
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index ae70c54f2c0f..ad9d79fd88ec 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -6,8 +6,10 @@
 , "bower2nix"
 , "browserify"
 , "castnow"
+, "clean-css"
 , "coffee-script"
 , "coinmon"
+, "configurable-http-proxy"
 , "cordova"
 , "csslint"
 , "dat"
@@ -42,12 +44,15 @@
 , "js-beautify"
 , "jsonlint"
 , "jsontool"
+, "json-diff"
 , "json-refs"
 , "json-server"
 , "js-yaml"
 , "karma"
 , { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy.git" }
 , "lerna"
+, "less"
+, "less-plugin-clean-css"
 , "lcov-result-merger"
 , "livedown"
 , "live-server"
@@ -76,6 +81,7 @@
 , "pulp"
 , "quassel-webserver"
 , "react-tools"
+, "react-native-cli"
 , "s3http"
 , "semver"
 , "serve"
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index a2327e03b525..90f5fd309d00 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -22,13 +22,13 @@ let
         sha512 = "265kszf17mdz60zpfrj5i47lqwwgp6h1b7i8vymig1pnlqd3lnljibxvd2d1rfa3827ks435k9wws458z3dk7fyq8wfmzmv8fk9qjhh";
       };
     };
-    "@ionic/cli-utils-1.19.0" = {
+    "@ionic/cli-utils-1.19.1" = {
       name = "_at_ionic_slash_cli-utils";
       packageName = "@ionic/cli-utils";
-      version = "1.19.0";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.0.tgz";
-        sha512 = "24v61p6kqm6l6b5p58y5f4qgf7svxqnwpygz7bw1b7102p6hv6hkcnfgh32vf0nypd8fgdhyyhci5sz342ksdg11q6nj8snnqgd1gss";
+        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.1.tgz";
+        sha512 = "3anhsxw0zyzi9j4kfnqxg2h4fxqjyw6pabb75z5b17hmksmjcyy6psic9fziyrgllp5rqksadqdzbkbb6lrviclhiz26sj8f7gjfi8r";
       };
     };
     "@ionic/discover-0.4.0" = {
@@ -40,6 +40,15 @@ let
         sha512 = "0x6yxaj489n9lbq0kfvdnpj1pacgv3r0vk5cnlla7w1jkvxzwaf0vbcnwd9gdaj6zkq69wm1g4zjvj37pyn1lajjkzl1f50l7cnr2ad";
       };
     };
+    "@sindresorhus/is-0.7.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
+        sha512 = "2ilygr40l2yqbk6lix4xnnnqsq6fxa6sysdxg49bg1ax5gzhwy3bcjbdlk7lndgh9055slpx6fybs3p8mhvbsnnjkmkqzrfy8l5mn1q";
+      };
+    };
     "@types/form-data-2.2.1" = {
       name = "_at_types_slash_form-data";
       packageName = "@types/form-data";
@@ -49,13 +58,13 @@ let
         sha512 = "2fv2qaz90rp6ib2s45ix0p3a4bd6yl6k94k1kkhw7w4s2aa5mqc6chppkf6pfvsz1l6phh7y0xswyfyzjgny7qzascch8c7ws20a0r4";
       };
     };
-    "@types/node-8.5.8" = {
+    "@types/node-8.5.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.5.8";
+      version = "8.5.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.5.8.tgz";
-        sha512 = "117s9gdcdsgjry03hpzlll79ssp0fs4i3pv87jkzn540pmi78kqa7p63ildwgwa09d904xz3zc54pjcpixbfj3ia3irfa8v3i3sbagh";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.5.9.tgz";
+        sha512 = "2j38fqqziiv6m51w16lz6lgivrkycvn4nwch7sdpg32hbl5kv5m2ngg4y4jrf0v1s7iryi5gyh9729b8l1p48cf9hf0gj567h13grxk";
       };
     };
     "@types/node-9.3.0" = {
@@ -67,13 +76,22 @@ let
         sha512 = "0mhmzddyv8rhkha7ibpbsa5dfygzaa90438aqzpg9w7d31n093a7spx2zg4zfki4qrab71xrfb381hmqajn826cnrw9kc7kv2y5zl60";
       };
     };
-    "@types/request-2.0.9" = {
+    "@types/request-2.0.13" = {
       name = "_at_types_slash_request";
       packageName = "@types/request";
-      version = "2.0.9";
+      version = "2.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request/-/request-2.0.9.tgz";
-        sha512 = "2kdhxhp1x6x3bmggmcsf6zl71a5j4wr22gbxid1264gards2wxk9plfgr3q3vl7l2h7pp29c622dlmz91mnrpyr7mqjhxdv359bhsi1";
+        url = "https://registry.npmjs.org/@types/request/-/request-2.0.13.tgz";
+        sha512 = "3gbwnwgvm7d4jwixg004j635l89kvd2vll1wkv0rdlz5v8biqwnmgfg67nbj3lccvn4rhbalwpkrgvqz66j0n3d20fs02xyxr0z8x80";
+      };
+    };
+    "@types/tough-cookie-2.3.2" = {
+      name = "_at_types_slash_tough-cookie";
+      packageName = "@types/tough-cookie";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.2.tgz";
+        sha512 = "1nbw2qb74417hfamhd2a4yxf6ls3rjy92lv847mnhj7dxfla54kiwwdi64bnvcn7ysn5spkfakq4ssknb78qgz5nhd926whpdm6drdw";
       };
     };
     "@types/uuid-3.4.3" = {
@@ -85,6 +103,15 @@ let
         sha512 = "1psrs8sjpmhz8sz2zjkkd7743vzdi7q7vcj8p219q1pkfawr619rl1m5pczp69hbm1769kn8zwlbayjylhl7an5hkvkdd2bi04lpx75";
       };
     };
+    "@zeit/check-updates-1.0.5" = {
+      name = "_at_zeit_slash_check-updates";
+      packageName = "@zeit/check-updates";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@zeit/check-updates/-/check-updates-1.0.5.tgz";
+        sha512 = "3a4h5bdrpjkv8rjvyafqf9b3wnyynzi3gisz92k37c35nvawlicsdv4svwnsxfqvhjhqn3lab6rjmkkivvdijr41vm3r048pp5dm1s0";
+      };
+    };
     "CSSselect-0.4.1" = {
       name = "CSSselect";
       packageName = "CSSselect";
@@ -355,13 +382,13 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "addons-linter-0.32.0" = {
+    "addons-linter-0.33.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "0.32.0";
+      version = "0.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-0.32.0.tgz";
-        sha512 = "06rxbp732pkw2510wzc8fzmf7160pl5a4j37jr2by4v736cqg66ai4avr7gs2i26zpzmpq0l4k1xzs6g5b5cgkbc49hiaccnvmw6a26";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-0.33.0.tgz";
+        sha1 = "0b2a75a6650e743fe22a34ec7cfd4647fd062efc";
       };
     };
     "addr-to-ip-port-1.4.2" = {
@@ -445,13 +472,13 @@ let
         sha1 = "d6de10d5af6132d5bd692427d46fc538539094c7";
       };
     };
-    "agent-base-4.1.2" = {
+    "agent-base-4.2.0" = {
       name = "agent-base";
       packageName = "agent-base";
-      version = "4.1.2";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.1.2.tgz";
-        sha512 = "0vj8afdy0gk5q82i5zxx1ng4ylzipvyfnljbw948hvv1zr2653nr8jwiw73rp267a5c1rjl2xpxlc4rqvblc88sx0y0dfjs8yh90kjl";
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz";
+        sha512 = "0i6q0c347f7z5c56gi1cggjiwvdhl3p9zfsysq66gqggk3prlqildnpva900rz8f8gfc8rav8jk7m51z9dhias0z7v3rnzyjm9pzr3k";
       };
     };
     "aggregate-error-1.0.0" = {
@@ -553,6 +580,15 @@ let
         sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
       };
     };
+    "amqplib-0.5.2" = {
+      name = "amqplib";
+      packageName = "amqplib";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz";
+        sha512 = "0h54i1d01av3cd2z1hv2nkc5r8za54nmmi2j0678ly7m4w9rr6619b915lgpqapqgakscwpmrav3ni94h34gqhrm53xpjfvlarq5ncp";
+      };
+    };
     "anchor-markdown-header-0.5.7" = {
       name = "anchor-markdown-header";
       packageName = "anchor-markdown-header";
@@ -733,6 +769,15 @@ let
         sha512 = "269dbx666z4ws49vag1dma5kdpjlx83s74c1jlngrn2672rhvbc47i5ay5h40spmrzgvbvcm33i4yrp88rrc6lg70v78k155z45lwyi";
       };
     };
+    "anymatch-2.0.0" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
+        sha512 = "03mjsaw6xk4zhvl17fpqn59j4v2bafqs0yfw5y45hl8x97xlihwvjmcx3icnaamvipplnczymvzg4sb4ixwpzak0k3p21c00nqqxmz6";
+      };
+    };
     "ap-0.1.0" = {
       name = "ap";
       packageName = "ap";
@@ -778,13 +823,13 @@ let
         sha1 = "6ddc58fa083c7bc545d3c5995b2830cc2366d44a";
       };
     };
-    "append-tree-2.4.0" = {
+    "append-tree-2.4.1" = {
       name = "append-tree";
       packageName = "append-tree";
-      version = "2.4.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/append-tree/-/append-tree-2.4.0.tgz";
-        sha512 = "1ym9wsmz3fjv0wf675xclbnjp825cyvxp3a9x8af96yms45dbk8c79jrx5vgdii1zimcnr2pg305g9sw79k5yqah9267k71lsz5vv35";
+        url = "https://registry.npmjs.org/append-tree/-/append-tree-2.4.1.tgz";
+        sha512 = "2zb14nlfxs726ng8jhfpf6n9b9kw32smg2krcl0vj90dfrkcc20fm36j2zgdd49b2ln1z4jz2wvvy4qgss14zzfr3rps719h6vlyjg7";
       };
     };
     "appendable-cli-menu-2.0.0" = {
@@ -1462,13 +1507,13 @@ let
         sha1 = "d16901d10ccec59516c197b9ccd8930689b813b4";
       };
     };
-    "auto-bind-1.1.0" = {
+    "auto-bind-1.2.0" = {
       name = "auto-bind";
       packageName = "auto-bind";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/auto-bind/-/auto-bind-1.1.0.tgz";
-        sha1 = "93b864dc7ee01a326281775d5c75ca0a751e5961";
+        url = "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.0.tgz";
+        sha512 = "0wamaj1k757h28fyrvfam4fz8ymz84pvfcyvm3k88bs8vxq36jn9kbiqqa3s0axwi6pcmwgmpjqfsh2721a1bb5kp5dpkpdkrkfj3k7";
       };
     };
     "aws-sdk-1.18.0" = {
@@ -1480,13 +1525,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.179.0" = {
+    "aws-sdk-2.187.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.179.0";
+      version = "2.187.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.179.0.tgz";
-        sha1 = "48e07843c6ae83d6752e58547b168299f140cc11";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.187.0.tgz";
+        sha1 = "04cb9a333d39c09753bf3ff63ec065b32b00db18";
       };
     };
     "aws-sign-0.2.0" = {
@@ -2020,15 +2065,6 @@ let
         sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
       };
     };
-    "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";
-      };
-    };
     "babel-runtime-6.26.0" = {
       name = "babel-runtime";
       packageName = "babel-runtime";
@@ -2209,15 +2245,6 @@ let
         sha512 = "0dhi66vsajfcm04s11xqklh5lj3abs4ncnl8h3689964aqam3ps9spmc454hz94rz3x1x5l1ad03jrba67mq9zc9vq9a1gchma581bp";
       };
     };
-    "base64-to-uint8array-1.0.0" = {
-      name = "base64-to-uint8array";
-      packageName = "base64-to-uint8array";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-to-uint8array/-/base64-to-uint8array-1.0.0.tgz";
-        sha512 = "01a4ip2ivflpjsx4flnww5fqvdcsy2sqnjgp2cii6b2gnkkccr02vbf2y8r2wlcab4pb8x47qb3jpahca61v584bmz9xcwyqx0xdf3n";
-      };
-    };
     "base64-url-1.2.1" = {
       name = "base64-url";
       packageName = "base64-url";
@@ -2515,6 +2542,15 @@ let
         sha1 = "ae29e9382a7ba4898de9f48bb23fd338c4fbdcf8";
       };
     };
+    "bitsyntax-0.0.4" = {
+      name = "bitsyntax";
+      packageName = "bitsyntax";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz";
+        sha1 = "eb10cc6f82b8c490e3e85698f07e83d46e0cba82";
+      };
+    };
     "bittorrent-dht-6.4.2" = {
       name = "bittorrent-dht";
       packageName = "bittorrent-dht";
@@ -2524,13 +2560,13 @@ let
         sha1 = "8b40f8cee6bea87f2b34fd2ae0bd367a8b1247a6";
       };
     };
-    "bittorrent-dht-7.8.2" = {
+    "bittorrent-dht-7.10.0" = {
       name = "bittorrent-dht";
       packageName = "bittorrent-dht";
-      version = "7.8.2";
+      version = "7.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.8.2.tgz";
-        sha512 = "33jcwf8rh9r7m810lw75s1ij9k0bv1kjmnc24488i6nd1ri9a1p2gmci5z1xdfriyb8j7x8h1ch3aj5a1chdglwn6pbsll7cx4j6wd4";
+        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz";
+        sha512 = "10md5792s6q3xwdrmwh1a8ax9w128g607b5qsbxzw8x0gl9184g754hprchl6mq8lmf4f8qylk2h8vavsnbn9yy9gzjnyh2kwrzmxky";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -2587,13 +2623,13 @@ let
         sha1 = "6880eddca35cfede92c4fb2724221334f989145a";
       };
     };
-    "blake2b-wasm-1.1.4" = {
+    "blake2b-wasm-1.1.7" = {
       name = "blake2b-wasm";
       packageName = "blake2b-wasm";
-      version = "1.1.4";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.4.tgz";
-        sha512 = "3hgcz1c3h2hxgavmlf5r4dwk0wy2sg9y4lfs5ifj4spdlwyy3ki9i1i4hjaw0029c896d6yw424mw2j1nf4qyibkz2lbh1ws6z6rdlg";
+        url = "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz";
+        sha512 = "1q4aaql83818qzgh01c6x9jvcchmd6bq7r0kfs3f364vhwxnp7qc25y3h2ij5751mi1zhh96874ib0afn8an92xh3ag1kv5g2yhflm0";
       };
     };
     "blob-0.0.2" = {
@@ -2938,15 +2974,6 @@ let
         sha512 = "2ngfivxj9g7knac123y1lk3arpmmzdhfn2g4qf1n4kzpvka4vafp48zcsh2qq7c97fxw2la5q2h6m2xcq5b1cr8b45j66jx0i8vr0rz";
       };
     };
-    "brfs-1.4.3" = {
-      name = "brfs";
-      packageName = "brfs";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brfs/-/brfs-1.4.3.tgz";
-        sha1 = "db675d6f5e923e6df087fca5859c9090aaed3216";
-      };
-    };
     "broadway-0.3.6" = {
       name = "broadway";
       packageName = "broadway";
@@ -2974,13 +3001,13 @@ let
         sha1 = "51598408a13f4c9c5b20eba44554b2c0b0ae4074";
       };
     };
-    "browser-pack-6.0.2" = {
+    "browser-pack-6.0.3" = {
       name = "browser-pack";
       packageName = "browser-pack";
-      version = "6.0.2";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz";
-        sha1 = "f86cd6cef4f5300c8e63e07a4d512f65fbff4531";
+        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.3.tgz";
+        sha512 = "3rbr2j80zl8099hjgsqkizp276cg4q60zjkd481fvnj66k8gmm5w0wbvvqdzpsipgaa3xxsypcr3ryjw1sk2vgzr2hw6pzwr5i933r6";
       };
     };
     "browser-resolve-1.11.2" = {
@@ -3226,6 +3253,15 @@ let
         sha512 = "3bgz1zhq9ng3gypq825f00p9qi9y6z7wvkkf28nhjlyifnb3lk1dkmbya84k0ja79zv8kmmhvalwcnnz92533ip7pnjp3is1w9cxyp3";
       };
     };
+    "buffer-more-ints-0.0.2" = {
+      name = "buffer-more-ints";
+      packageName = "buffer-more-ints";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz";
+        sha1 = "26b3885d10fa13db7fc01aae3aab870199e0124c";
+      };
+    };
     "buffer-xor-1.0.3" = {
       name = "buffer-xor";
       packageName = "buffer-xor";
@@ -3478,6 +3514,15 @@ let
         sha512 = "36i943khi87af4gif9r6imjgybqxq9cbd69z2h8p2s2j6scfbhrv7j3n591xl982fmyq29rkwh70a6qdcf3v0piwzfh8n2jf571v9q0";
       };
     };
+    "cacheable-request-2.1.4" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
+        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
+      };
+    };
     "cached-path-relative-1.0.1" = {
       name = "cached-path-relative";
       packageName = "cached-path-relative";
@@ -3631,6 +3676,15 @@ let
         sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
       };
     };
+    "camelo-1.1.11" = {
+      name = "camelo";
+      packageName = "camelo";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelo/-/camelo-1.1.11.tgz";
+        sha512 = "39qf2hdriyb5zn5bc62wgj59whx06nmzij9yylv0mrjnivgpqg2z3ksxl035nn35lnavi1b20qi062l41xah3b3nnbw42dh6b4qk34i";
+      };
+    };
     "capture-stack-trace-1.0.0" = {
       name = "capture-stack-trace";
       packageName = "capture-stack-trace";
@@ -3703,15 +3757,6 @@ let
         sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
       };
     };
-    "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";
-      };
-    };
     "chai-4.1.2" = {
       name = "chai";
       packageName = "chai";
@@ -3793,15 +3838,6 @@ let
         sha512 = "3fj8njcdcvyplivm2fj19lqw8qv7gb8v7gd6a223pmn8f3di4zwkhyb09vzlmw3pnk4ib88kp4cg8r9i5k5rskalzdfh1l23ljp6gh3";
       };
     };
-    "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";
-      };
-    };
     "character-entities-1.2.1" = {
       name = "character-entities";
       packageName = "character-entities";
@@ -3928,6 +3964,15 @@ let
         sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
       };
     };
+    "chokidar-2.0.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.0.0.tgz";
+        sha512 = "01y5j8xkkzlzc4yzh4f8gbshbs6i3hb4wlz5nd48xcmm3vmawah9jj052km463v3d2vqx9kbrnxvjw2fkcbdxw0sg33ksclzlvc419s";
+      };
+    };
     "chownr-0.0.2" = {
       name = "chownr";
       packageName = "chownr";
@@ -4009,13 +4054,13 @@ let
         sha512 = "3hadrrn41znfv3gbqjxf0ckzjmns7w7zgsqw73sdz8nclaff9b0cg1mqhz3zxw3ndnmqqvrdcfykkfpv2v1pv4jdyzcccbn3hsbg4ji";
       };
     };
-    "circular-json-0.4.0" = {
+    "circular-json-0.5.1" = {
       name = "circular-json";
       packageName = "circular-json";
-      version = "0.4.0";
+      version = "0.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/circular-json/-/circular-json-0.4.0.tgz";
-        sha512 = "2iz1fwlb43dgp5bjapmlbqzanpss2r3z2db7y26drfw4nxfzbay2yjc13pxf6y3r2i5s2kbja6a05x21ra0ffmvvxcnz0h3c39pk9dl";
+        url = "https://registry.npmjs.org/circular-json/-/circular-json-0.5.1.tgz";
+        sha512 = "1myzlq58v42dc2b1i17rcmvj7529spwcqgzc7j2q663a7xkk4nhzqk6hpw20lvp99iaq0k0zg5p0jzf19n7p0vrg45hk160ai31qf2j";
       };
     };
     "clarinet-0.11.0" = {
@@ -4027,13 +4072,13 @@ let
         sha1 = "6cc912b93138dc867fc273cd34ea90e83e054719";
       };
     };
-    "class-utils-0.3.5" = {
+    "class-utils-0.3.6" = {
       name = "class-utils";
       packageName = "class-utils";
-      version = "0.3.5";
+      version = "0.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.5.tgz";
-        sha1 = "17e793103750f9627b2176ea34cfd1b565903c80";
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "1xcqwmfmsbrm2ck76brwiqjmcza655khgh5szh6wngk357i37sgwsga1pbarwzaz9hvzkriqhq6j0z5mv0pmz61cf9wxvk3y5mlzs58";
       };
     };
     "clean-css-3.4.28" = {
@@ -4090,6 +4135,15 @@ let
         sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
       };
     };
+    "cli-color-0.1.7" = {
+      name = "cli-color";
+      packageName = "cli-color";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
+        sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
+      };
+    };
     "cli-cursor-1.0.2" = {
       name = "cli-cursor";
       packageName = "cli-cursor";
@@ -4324,6 +4378,15 @@ let
         sha1 = "eae0a2413f55c0942f818c229fefce845d7f3b1c";
       };
     };
+    "clone-response-1.0.2" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    };
     "clone-stats-0.0.1" = {
       name = "clone-stats";
       packageName = "clone-stats";
@@ -4567,6 +4630,15 @@ let
         sha1 = "0870312856b307a87cc4ac486f3a9a62aeccc09e";
       };
     };
+    "combine-source-map-0.8.0" = {
+      name = "combine-source-map";
+      packageName = "combine-source-map";
+      version = "0.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";
+        sha1 = "a58d0df042c186fcf822a8e8015f5450d2d79a8b";
+      };
+    };
     "combined-stream-0.0.7" = {
       name = "combined-stream";
       packageName = "combined-stream";
@@ -4675,6 +4747,15 @@ let
         sha512 = "007wb3baahjcrv17kgxryqjlsyr3c3kl2y07p85m4ia78pba9xyjr3cgi95jjrwq8qq550s78hj06f7z0ab8ssrxk6w06afjsmxln84";
       };
     };
+    "commander-2.13.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz";
+        sha512 = "1h27ar13gbld2jk6wk84irqmyz6ya6b4dzmxb6nq8azyi48iq8pqqyq90jwzxqb3i7j167y5fpiys6v7vvjzhm8bbd8rya1kzgr4nri";
+      };
+    };
     "commander-2.6.0" = {
       name = "commander";
       packageName = "commander";
@@ -4711,13 +4792,13 @@ let
         sha1 = "c0c352501cf6f52e9124e3ef89c9806e2022ebef";
       };
     };
-    "common-tags-1.6.0" = {
+    "common-tags-1.7.2" = {
       name = "common-tags";
       packageName = "common-tags";
-      version = "1.6.0";
+      version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/common-tags/-/common-tags-1.6.0.tgz";
-        sha512 = "39ifv780sgxf996x5gl9y28kyk8q0250k7v9zh6lj68blh656k4nqkycnmbdgwln05969vx6ahc4v8zn6nya49a95kvqbadhw9a02dj";
+        url = "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz";
+        sha512 = "0jx2cncv7x5ms1gg2vks5bhxi9c5jbwymfk42dzmp9vrxrmhrl9vaw4wsh4lvf65shxmq1v8f8s0i3rkyk2x8mrfpq2m30famkgv24f";
       };
     };
     "commoner-0.10.8" = {
@@ -5062,15 +5143,6 @@ let
         sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
       };
     };
-    "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";
-      };
-    };
     "constantinople-3.0.2" = {
       name = "constantinople";
       packageName = "constantinople";
@@ -5441,6 +5513,15 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
+    "cookie-signature-1.1.0" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz";
+        sha512 = "3h44zl7m31c7zzyyc3lxzckqyz6rmg5xydp2clpnf2vm3928garan768x7pmh1n52xnpgwdlkz78cfsy9spg93wpbg4xav0spbyqnq2";
+      };
+    };
     "cookiejar-2.0.1" = {
       name = "cookiejar";
       packageName = "cookiejar";
@@ -5891,6 +5972,15 @@ let
         sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
       };
     };
+    "css-tree-1.0.0-alpha.27" = {
+      name = "css-tree";
+      packageName = "css-tree";
+      version = "1.0.0-alpha.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.27.tgz";
+        sha512 = "08x63k8gxl9wgq7lljw7q5mlhwbcifkg7f6yakqcj8wfwv3xq5vj2glhrq826pbxi4az53akc76a6c4vhqablgvipbk5qldbks2j1h4";
+      };
+    };
     "css-tree-1.0.0-alpha25" = {
       name = "css-tree";
       packageName = "css-tree";
@@ -5927,13 +6017,13 @@ let
         sha1 = "3a6a04e7565c8e9d19beb49767c7ec96e8365805";
       };
     };
-    "csso-3.4.0" = {
+    "csso-3.5.0" = {
       name = "csso";
       packageName = "csso";
-      version = "3.4.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-3.4.0.tgz";
-        sha1 = "57b27ef553cccbf5aa964c641748641e9af113f3";
+        url = "https://registry.npmjs.org/csso/-/csso-3.5.0.tgz";
+        sha512 = "0rxlhy2ha4xjnw27ha5q8crvpqwydnhb4xnnsj2ba8i1r09n864ygl76lcjgnpnqp1qj5930qz8gnq76pwy6sr6hrb2gcfrzla67ljs";
       };
     };
     "csurf-1.8.3" = {
@@ -6161,15 +6251,6 @@ let
         sha512 = "13nn20vg6jx1h8ypazv9zn236hvv29wwq52mdbbfl77zrg8d7syni933v2mm3y1jsk25c7dc2gs1876fz0yblniryncnbjxrf0aq0nq";
       };
     };
-    "dat-link-resolve-1.1.1" = {
-      name = "dat-link-resolve";
-      packageName = "dat-link-resolve";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dat-link-resolve/-/dat-link-resolve-1.1.1.tgz";
-        sha512 = "3a3rmwv687r07qnzdp4k15ng7xbbgibssjiqjvhhhrxq5mc22m34g7hi1h15rqjs3zzlajn291j3xv9af22j3fynpygky13zzvxj367";
-      };
-    };
     "dat-link-resolve-2.1.0" = {
       name = "dat-link-resolve";
       packageName = "dat-link-resolve";
@@ -6440,6 +6521,15 @@ let
         sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
       };
     };
+    "decamelize-2.0.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz";
+        sha512 = "0zc3slyk7cc9xjfcnw3nk2d1vkq4kxrjalavqgp3zykbgnp5v12xcs47kr436k0izbzyxhkrdww94p5g1lcmzcdqncc9p0mqzk6jji2";
+      };
+    };
     "decode-uri-component-0.2.0" = {
       name = "decode-uri-component";
       packageName = "decode-uri-component";
@@ -6710,6 +6800,15 @@ let
         sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359";
       };
     };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
     "dependency-ls-1.1.1" = {
       name = "dependency-ls";
       packageName = "dependency-ls";
@@ -6908,6 +7007,15 @@ let
         sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
       };
     };
+    "difflib-0.2.4" = {
+      name = "difflib";
+      packageName = "difflib";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz";
+        sha1 = "b5e30361a6db023176d562892db85940a718f47e";
+      };
+    };
     "director-1.2.7" = {
       name = "director";
       packageName = "director";
@@ -6926,13 +7034,13 @@ let
         sha1 = "4d5afc5187edba67ec6ab0e55f6422a0e2cb7338";
       };
     };
-    "discovery-channel-5.4.6" = {
+    "discovery-channel-5.4.7" = {
       name = "discovery-channel";
       packageName = "discovery-channel";
-      version = "5.4.6";
+      version = "5.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.6.tgz";
-        sha1 = "1b0f25e58124507e861b6dc3ecb744366bb53cad";
+        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.7.tgz";
+        sha512 = "3c8npbdr7r6725kkj76h5zy72l3gd8ndb3dy4dwbapxapfzccl9f6iy0zdy3wxywcfb6cc64w4mf089v00rcr1aqcjdlvn483pnzs78";
       };
     };
     "discovery-swarm-4.4.2" = {
@@ -6989,22 +7097,22 @@ let
         sha1 = "5d66629b3c0e6a5eb0e14f0ae701d05f6ea46673";
       };
     };
-    "dns-packet-1.3.0" = {
+    "dns-packet-1.3.1" = {
       name = "dns-packet";
       packageName = "dns-packet";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.0.tgz";
-        sha512 = "0qcs9idjrq4z4gmc95kaarjl2xahwl72136h2frf1hbj1kgfcs8yjv9crfsr6iw8jyyvvvbn4hj1yfqwnvz3amrcx1mb56yklaqa8xv";
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha512 = "19g682cvkba33mwrism28hibd2nv9xd16k5bj807jx3ih1cc7ff9dn8chmfjnqgglzl6lq3m3jarxng9vbarccgchd0aq118d15yk6i";
       };
     };
-    "dns-socket-1.6.2" = {
+    "dns-socket-1.6.3" = {
       name = "dns-socket";
       packageName = "dns-socket";
-      version = "1.6.2";
+      version = "1.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-1.6.2.tgz";
-        sha512 = "0ibd2ndmlqbk96vdcimsl4w1njplh9gplvqa5f7653km79f9kqpd6d7f0f3lq1sz548lqcbjfcgcr7fc9159b4gzzk1g86kjxzxmmk6";
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-1.6.3.tgz";
+        sha512 = "2g9g9jqx44qpiawlxfn1g647dqwwz2djjpy350c83d1z79d5wa21cknh1jz4wrwsjkvgn14vhmjjxqxf5n8fqq6fjyzw85aa7fk4rgy";
       };
     };
     "dns-txt-2.0.2" = {
@@ -7115,6 +7223,15 @@ let
         sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
       };
     };
+    "domain-browser-1.2.0" = {
+      name = "domain-browser";
+      packageName = "domain-browser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha512 = "1fcxv8rzfhs99afvhji7bs5ppxwn9mw040ixdgvkm6iabz72q61arly2lr57086rjn4g2vkb3rkih1cyc7z35kzv1jjciwyrs4g4y4f";
+      };
+    };
     "domelementtype-1.1.3" = {
       name = "domelementtype";
       packageName = "domelementtype";
@@ -7196,15 +7313,6 @@ let
         sha1 = "1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff";
       };
     };
-    "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";
-      };
-    };
     "dot-prop-3.0.0" = {
       name = "dot-prop";
       packageName = "dot-prop";
@@ -7241,6 +7349,15 @@ let
         sha1 = "531319715b0e81ffcc22eb28478ba27643e12c6c";
       };
     };
+    "dreamopt-0.6.0" = {
+      name = "dreamopt";
+      packageName = "dreamopt";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz";
+        sha1 = "d813ccdac8d39d8ad526775514a13dda664d6b4b";
+      };
+    };
     "dtrace-provider-0.6.0" = {
       name = "dtrace-provider";
       packageName = "dtrace-provider";
@@ -7250,13 +7367,13 @@ let
         sha1 = "0b078d5517937d873101452d9146737557b75e51";
       };
     };
-    "dtrace-provider-0.8.5" = {
+    "dtrace-provider-0.8.6" = {
       name = "dtrace-provider";
       packageName = "dtrace-provider";
-      version = "0.8.5";
+      version = "0.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.5.tgz";
-        sha1 = "98ebba221afac46e1c39fd36858d8f9367524b92";
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.6.tgz";
+        sha1 = "428a223afe03425d2cd6d6347fdf40c66903563d";
       };
     };
     "duplexer-0.1.1" = {
@@ -7485,6 +7602,24 @@ let
         sha1 = "ec79a3969b02d2ecf2b72254279bf99bc7a83932";
       };
     };
+    "emojic-1.1.14" = {
+      name = "emojic";
+      packageName = "emojic";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojic/-/emojic-1.1.14.tgz";
+        sha512 = "0j0wbbcyvx0qklz7xvqbv2w2n2vqzq5vhyv3jrnsvb775c0zr2bh7m3k7mh0aw6i4rbmgf8x6rw7bfvgzsh5hvlgj01w61xfml89b4z";
+      };
+    };
+    "emojilib-2.2.12" = {
+      name = "emojilib";
+      packageName = "emojilib";
+      version = "2.2.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojilib/-/emojilib-2.2.12.tgz";
+        sha512 = "2z6nk0nin1cmj81c54pxjyxgpa61d0g61sdn3swykk4j8n8mnba95m1s1cpjcr4wr96jhgyal1z4swd8pcazzp3a50msqir0vj4vcwq";
+      };
+    };
     "emojis-list-2.1.0" = {
       name = "emojis-list";
       packageName = "emojis-list";
@@ -7494,13 +7629,13 @@ let
         sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
       };
     };
-    "encodeurl-1.0.1" = {
+    "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
-        sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
     "encoding-0.1.12" = {
@@ -7773,13 +7908,22 @@ let
         sha1 = "45355248a88979034b6792e19bb81f2b7975dd0d";
       };
     };
-    "es5-ext-0.10.37" = {
+    "es5-ext-0.10.38" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.38";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz";
+        sha512 = "0m7d1yd67hb93gsxv7790h9ayxg3pwf3vgih9v2kxqvsg073wim7jgwf3z57lksdczxnqv2d8gm4mfk4b29f6rc27a7c09vz9w348wc";
+      };
+    };
+    "es5-ext-0.8.2" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.37";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz";
-        sha1 = "0ee741d148b80069ba27d020393756af257defc3";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz";
+        sha1 = "aba8d9e1943a895ac96837a62a39b3f55ecd94ab";
       };
     };
     "es5class-2.3.1" = {
@@ -7845,13 +7989,13 @@ let
         sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613";
       };
     };
-    "es6-promise-4.2.2" = {
+    "es6-promise-4.2.4" = {
       name = "es6-promise";
       packageName = "es6-promise";
-      version = "4.2.2";
+      version = "4.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz";
-        sha512 = "18ny66ql485risswmzx8r66ys0p4p48nznksxc407mgc36dc06212xd7pzb5mwcs0idzjzbhljw17v34h5gfps7khwa80rfzgkaq9id";
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz";
+        sha512 = "10hlgvxhshjxlbwvm1gnf1b01sv1fmh191a97l0h5gmcs9am1b6x937wnhkvvj5fkin10qscii8pcwnp9rlnpkgnrhfdyk0a9jlvmzw";
       };
     };
     "es6-promisify-5.0.0" = {
@@ -7944,24 +8088,6 @@ let
         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
-    "escodegen-0.0.28" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "0.0.28";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
-        sha1 = "0e4ff1715f328775d6cab51ac44a406cd7abffd3";
-      };
-    };
-    "escodegen-1.3.3" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
-        sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
-      };
-    };
     "escodegen-1.8.1" = {
       name = "escodegen";
       packageName = "escodegen";
@@ -8007,6 +8133,15 @@ let
         sha512 = "3l1j4qy0gqa8rkwpdsmkkbqcmbx23ym8h64d1bbj5i5ds5ks0g91myldzp0y25r6b3ba9646hy4i2jiad2jmm8h68z89i2larkvyhyc";
       };
     };
+    "eslint-4.16.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "4.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.16.0.tgz";
+        sha512 = "330nda1zwh0sqsxsfmlmhbg903gz6n9n4zy870gc2k95wrg1bc7jysfyn98nk2bd8p821xszpygp1vs1i7csapxfb3q2dp1n3hxamb1";
+      };
+    };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
       name = "eslint-plugin-no-unsafe-innerhtml";
       packageName = "eslint-plugin-no-unsafe-innerhtml";
@@ -8052,15 +8187,6 @@ let
         sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
       };
     };
-    "esprima-1.1.1" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
-        sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
-      };
-    };
     "esprima-2.7.3" = {
       name = "esprima";
       packageName = "esprima";
@@ -8115,24 +8241,6 @@ let
         sha1 = "fa9568d98d3823f9a41d91e902dcab9ea6e5b163";
       };
     };
-    "estraverse-1.3.2" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
-        sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42";
-      };
-    };
-    "estraverse-1.5.1" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
-        sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
-      };
-    };
     "estraverse-1.9.3" = {
       name = "estraverse";
       packageName = "estraverse";
@@ -8151,15 +8259,6 @@ let
         sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
       };
     };
-    "esutils-1.0.0" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
-        sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
-      };
-    };
     "esutils-2.0.2" = {
       name = "esutils";
       packageName = "esutils";
@@ -8691,13 +8790,13 @@ let
         sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
       };
     };
-    "extglob-2.0.3" = {
+    "extglob-2.0.4" = {
       name = "extglob";
       packageName = "extglob";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.3.tgz";
-        sha512 = "31zb5fc59ps76hnxlnrcmm3lkv4pjd3cw55h5h7r9pn1q259bs15hw0bn4gp8kn91qwabgbj0cwkx9pxp8fgsj3ljlvmfv0xijnsah3";
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "2klp0045k4wnaspb9khqx90ddv7rjg997mlyp5qz41sl2yqdrpw8g8wji77qq16aawl4yhvg0f993ln48lja0kfmy0wnbh4g50zlrin";
       };
     };
     "extract-opts-3.3.1" = {
@@ -8853,13 +8952,13 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "fast-safe-stringify-1.2.2" = {
+    "fast-safe-stringify-1.2.3" = {
       name = "fast-safe-stringify";
       packageName = "fast-safe-stringify";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.2.tgz";
-        sha1 = "eab31cd4dd0dbaa09f64ac6b77e7e7eb9b4a142b";
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.3.tgz";
+        sha512 = "2bhxs6r2hxpjfxj7ycbs3blbwbmq9nmwar4swzvhbiwcbmn721l8wk0ndyw9n3i1508rlhhm70a8fn9bpy8mx8f0ncqhqhh5pz175j0";
       };
     };
     "faye-websocket-0.10.0" = {
@@ -9330,13 +9429,13 @@ let
         sha512 = "2mxs6nll208xgqy9asgc0iq4k9ynd2aanig2qkfi3drd8axdafhhx36a58ssksmjgl6s1m2bh2j8igrlpm3k11cg58nhmqbxhlkmv2a";
       };
     };
-    "follow-redirects-1.3.0" = {
+    "follow-redirects-1.4.1" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.3.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.3.0.tgz";
-        sha1 = "f684871fc116d2e329fda55ef67687f4fabc905c";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz";
+        sha512 = "2z7ai3f3g9j48z90kds4070nb8v2q02n7131c2zjplb0zfjxjrd1m2fm8ykg7psj8fiwc4iidn2g9rr2w09qijbssddr0p8acyiw5mv";
       };
     };
     "for-each-0.3.2" = {
@@ -10023,6 +10122,15 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
+    "gettext-parser-1.1.0" = {
+      name = "gettext-parser";
+      packageName = "gettext-parser";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz";
+        sha1 = "2c5a6638d893934b9b55037d0ad82cb7004b2679";
+      };
+    };
     "git-raw-commits-1.3.0" = {
       name = "git-raw-commits";
       packageName = "git-raw-commits";
@@ -10321,13 +10429,13 @@ let
         sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
       };
     };
-    "globals-11.1.0" = {
+    "globals-11.2.0" = {
       name = "globals";
       packageName = "globals";
-      version = "11.1.0";
+      version = "11.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz";
-        sha512 = "24q4kgcwq3yjsidaajrrvd529l4yfxzv4icxzwl1y2l1nwpv8898gd4k5clygb2i4gsvyjdzm9xd28gwg0zm8iaq71m6kmav6vrcjxq";
+        url = "https://registry.npmjs.org/globals/-/globals-11.2.0.tgz";
+        sha512 = "0ad39906l0grsfy2953m3c6jkhbwakd89vbqprzz9g0cafvikzfcp5azqch3zm8pmyhc29sbbcfgnays990jvwmq9xgw8vv7m7bnc24";
       };
     };
     "globals-9.18.0" = {
@@ -10366,13 +10474,13 @@ let
         sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
       };
     };
-    "glogg-1.0.0" = {
+    "glogg-1.0.1" = {
       name = "glogg";
       packageName = "glogg";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz";
-        sha1 = "7fe0f199f57ac906cf512feead8f90ee4a284fc5";
+        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz";
+        sha512 = "0vr9sdx0f84b9s5vy72ralm494844c0p9kqqgcvy25gcn9abv57y7hwwafdsswc3z283v8bqa50j8gp740dd4biyngi5f15p9f2lxna";
       };
     };
     "got-1.2.2" = {
@@ -10420,6 +10528,15 @@ let
         sha512 = "0phvycaq4yl6jjpyc9vwmgghfy7a6nnpynscpgpbx74zjaa5dbpl1ag0jf7jvimfk0vf6xfjqgh67xdlvi0ycgvp1kasajapjiqr5b3";
       };
     };
+    "got-8.0.3" = {
+      name = "got";
+      packageName = "got";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-8.0.3.tgz";
+        sha512 = "2bglci1j77rvr4z2klmnr6d2qfqk0f60nm1myj9m0g2rzh7pd68hzki9nm8f5dpaxqr98ncjbd4rfzw75j35nvsfcyb2i1l9jjailak";
+      };
+    };
     "graceful-fs-1.2.3" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -10915,15 +11032,6 @@ let
         sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
       };
     };
-    "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";
-      };
-    };
     "headless-0.1.7" = {
       name = "headless";
       packageName = "headless";
@@ -10933,6 +11041,15 @@ let
         sha1 = "6e62fae668947f88184d5c156ede7c5695a7e9c8";
       };
     };
+    "heap-0.2.6" = {
+      name = "heap";
+      packageName = "heap";
+      version = "0.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz";
+        sha1 = "087e1f10b046932fc8594dd9e6d378afc9d1e5ac";
+      };
+    };
     "help-me-1.1.0" = {
       name = "help-me";
       packageName = "help-me";
@@ -11131,6 +11248,15 @@ let
         sha1 = "8ce447bdb5b6c577f8a63e3fa78056ec4bb4dbfb";
       };
     };
+    "http-cache-semantics-3.8.1" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
+        sha512 = "3gsj16kpvygynld5ajbvg8ii3n3bka4waamdzx30wwhz72mdr6wvffm20rfnxwzid9fq49d5g333yjq5dz1qqbnk9bwcmrj9f5bda75";
+      };
+    };
     "http-errors-1.3.1" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -11338,31 +11464,31 @@ let
         sha1 = "fce2d6c545efc25dea1f23235182c98da0180b42";
       };
     };
-    "hypercore-6.11.0" = {
+    "hypercore-6.12.0" = {
       name = "hypercore";
       packageName = "hypercore";
-      version = "6.11.0";
+      version = "6.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.11.0.tgz";
-        sha512 = "0q0972kpj73qndhwb3msk3xkfpx1zldfw1ld815kncb0lbr7mdhawjz701y230zji0lamnznrv61cmcnx2zlqjhvcyrf9fyyr93r6ds";
+        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.12.0.tgz";
+        sha512 = "00xsmbx8jcjzsibwwgknlpjvndb7zv6jdxik5skqnbizbdssvcwa2r5a7gd1cf7mpr2827067sxqqca9fmmknjnin2vvm16yb1pn5g8";
       };
     };
-    "hypercore-protocol-6.5.0" = {
+    "hypercore-protocol-6.5.2" = {
       name = "hypercore-protocol";
       packageName = "hypercore-protocol";
-      version = "6.5.0";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.0.tgz";
-        sha512 = "0yny0rl9fgh2hyv0clfzp6z6zb7pmmw1494h76n37gqb37awz73zclfcmad75dj60r04rlfxr9syvgim7zlpnb0qvcqlcpyfwnv65l0";
+        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.2.tgz";
+        sha512 = "03l77nma8ga06ywa469jzqgc13hjk9bg3w2cv95g3fwnqy2fvz8qpczcih65jscvk0ira5kpm3sk2vqh2whzzvnm19jlqrzi78v80n3";
       };
     };
-    "hyperdrive-9.12.0" = {
+    "hyperdrive-9.12.2" = {
       name = "hyperdrive";
       packageName = "hyperdrive";
-      version = "9.12.0";
+      version = "9.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-9.12.0.tgz";
-        sha512 = "285nxd3xfdr51r8av9d7dal8hqa3lfrac1m46gn9b73ljwivlhhsxpbrqyhdf80v7bnmw8vpy61x77gm8cfmwv5z8pffmmnla2p8l5y";
+        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-9.12.2.tgz";
+        sha512 = "133iwkp8w88awfxffdjjfxl2wsrj99cdw1p2rvbv65q7mgficva14skid7vsd55r750lrvg0wbmlz0h4m44w6ypd7cvpb4hjvb2f815";
       };
     };
     "hyperdrive-http-4.2.2" = {
@@ -11797,6 +11923,15 @@ let
         sha1 = "332650e10854d8c0ac58c192bdc27a8bf7e7a30c";
       };
     };
+    "into-stream-3.1.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+      };
+    };
     "invariant-2.2.2" = {
       name = "invariant";
       packageName = "invariant";
@@ -12220,6 +12355,15 @@ let
         sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
       };
     };
+    "is-glob-4.0.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz";
+        sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0";
+      };
+    };
     "is-hexadecimal-1.0.1" = {
       name = "is-hexadecimal";
       packageName = "is-hexadecimal";
@@ -12238,15 +12382,6 @@ let
         sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
       };
     };
-    "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-my-json-valid-2.17.1" = {
       name = "is-my-json-valid";
       packageName = "is-my-json-valid";
@@ -12472,13 +12607,13 @@ let
         sha512 = "0c1pd4414iy40xq652p1zgqgmncmm7xcns96pfazd63v439vyc1z93bvzvbw5r2qc4fp24414ydnj4gdsqlq223pfg05ar2mmwd23rb";
       };
     };
-    "is-resolvable-1.0.1" = {
+    "is-resolvable-1.1.0" = {
       name = "is-resolvable";
       packageName = "is-resolvable";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz";
-        sha512 = "3kb6apf2r7xkp0saq6lbgg0y18fnqghd18rvmhhmbb537vsbs20rzq5n2xm51wync9igp4kprci8aggcm9iy6b0kp9ph1zgpihrg46b";
+        url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha512 = "0r8v3dkj5qbfh2wlj4w1msyqsw6j5myvxi88wkw36isscb97yyc2yc1pwm64djrmh1css6jp9p08cx1zb479fg4gv26prciaifdh05a";
       };
     };
     "is-retry-allowed-1.1.0" = {
@@ -12589,15 +12724,6 @@ let
         sha512 = "2asak63h3kc1vackrpai7qfiv15ndr231w1yc753m1dy7fd6ywxsr0rvh88b9ppyxhmc373fqk89a0pw3dllv7m5nbbbcqzvmaskccs";
       };
     };
-    "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";
-      };
-    };
     "is-url-1.2.2" = {
       name = "is-url";
       packageName = "is-url";
@@ -12769,6 +12895,15 @@ let
         sha1 = "a969a80a1fbff6b78f28776594d7bc2bdfab6aad";
       };
     };
+    "iterate-object-1.3.2" = {
+      name = "iterate-object";
+      packageName = "iterate-object";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.2.tgz";
+        sha1 = "24ec15affa5d0039e8839695a21c2cae1f45b66b";
+      };
+    };
     "iterators-0.1.0" = {
       name = "iterators";
       packageName = "iterators";
@@ -12967,6 +13102,15 @@ let
         sha1 = "1d09a3bd913c4cadfa81bf18d582bd85bffe0d44";
       };
     };
+    "json-buffer-3.0.0" = {
+      name = "json-buffer";
+      packageName = "json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    };
     "json-edm-parser-0.1.2" = {
       name = "json-edm-parser";
       packageName = "json-edm-parser";
@@ -13508,6 +13652,15 @@ let
         sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
       };
     };
+    "keyv-3.0.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
+        sha512 = "32ga97c763vprf4sjbb2f7gbngfppq9n1hy4cpq2h4yb1msrhh2zjimxib7p09mzgynm6askbigxlsqsm11p644avp4sf5nmng8f2vs";
+      };
+    };
     "kind-of-2.0.1" = {
       name = "kind-of";
       packageName = "kind-of";
@@ -13571,13 +13724,13 @@ let
         sha1 = "59c128e0dc5ce410201151194eeb9cbf858650f6";
       };
     };
-    "knockout-3.4.2" = {
+    "knockout-3.5.0-beta" = {
       name = "knockout";
       packageName = "knockout";
-      version = "3.4.2";
+      version = "3.5.0-beta";
       src = fetchurl {
-        url = "https://registry.npmjs.org/knockout/-/knockout-3.4.2.tgz";
-        sha1 = "e87958de77ad1e936f7ce645bab8b5d7c456d937";
+        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.0-beta.tgz";
+        sha512 = "2qh1bqb9lj7l92pwcrwmpcanbyn65rmni3swyv6hrphn7xbaw8mkir3w67sf4ardk1iqvz9waalq2wf2rgpvvblhva2n2hssq6as6yr";
       };
     };
     "kuduscript-1.0.15" = {
@@ -13922,13 +14075,13 @@ let
         sha1 = "03ca7ba2d150d4267773f74e57558d1053d2bee3";
       };
     };
-    "livereload-js-2.2.2" = {
+    "livereload-js-2.3.0" = {
       name = "livereload-js";
       packageName = "livereload-js";
-      version = "2.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz";
-        sha1 = "6c87257e648ab475bc24ea257457edcc1f8d0bc2";
+        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz";
+        sha512 = "0r82qh90jnyg6hlqn2yni36q942y4qn6rc0rydmbsy7x1lr00a0pddw2lg8xixcjh6wnrsfb5q76m51fac7vanrz0cawsw6azy78m4g";
       };
     };
     "load-json-file-1.1.0" = {
@@ -13949,13 +14102,13 @@ let
         sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
       };
     };
-    "load-json-file-3.0.0" = {
+    "load-json-file-4.0.0" = {
       name = "load-json-file";
       packageName = "load-json-file";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-3.0.0.tgz";
-        sha1 = "7eb3735d983a7ed2262ade4ff769af5369c5c440";
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
       };
     };
     "loader-runner-2.3.0" = {
@@ -14606,13 +14759,13 @@ let
         sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18";
       };
     };
-    "log-symbols-2.1.0" = {
+    "log-symbols-2.2.0" = {
       name = "log-symbols";
       packageName = "log-symbols";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.1.0.tgz";
-        sha512 = "36h090zjf2rfivlbhl50iymid2wggwncngy539cylicpdwrc3jvyqpxs2mmmybqjir313xs70vliczq511zypjx8jphvm006fpqpdyc";
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha512 = "093j1mha2zwbfkb6cvxr94l1dsx44607vvyxadxki3j69s40n2f6x6iqs6f9rzpvvqd8anclsqdlrm3klkwxixm4k2fl8bjr4b01qjm";
       };
     };
     "log-update-1.0.2" = {
@@ -14633,13 +14786,13 @@ let
         sha1 = "88328fd7d1ce7938b29283746f0b1bc126b24708";
       };
     };
-    "log4js-2.4.1" = {
+    "log4js-2.5.2" = {
       name = "log4js";
       packageName = "log4js";
-      version = "2.4.1";
+      version = "2.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log4js/-/log4js-2.4.1.tgz";
-        sha512 = "3xd40iy8j9s89j8hy5jr11v377rfcv0293p986r9i4rq0syypl1vv7rk8al99pqkhi3wdf2hs5ik9xg7fgh53cdzazcmz0lqm7lb20s";
+        url = "https://registry.npmjs.org/log4js/-/log4js-2.5.2.tgz";
+        sha512 = "3cr4zy75cf74ajn55xnidbz0m4848yyjyc2zrhlyksjdi0hsp0skwkq8ipgpahwfz1b7zlr9zg1blapz0nsn3h8kmz5w2cz036n2rij";
       };
     };
     "loggly-1.1.1" = {
@@ -14750,15 +14903,6 @@ let
         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";
-      };
-    };
     "lowercase-keys-1.0.0" = {
       name = "lowercase-keys";
       packageName = "lowercase-keys";
@@ -14885,6 +15029,15 @@ let
         sha1 = "79a30e932e216cba163541ee37a3607c12cd7281";
       };
     };
+    "lynx-0.2.0" = {
+      name = "lynx";
+      packageName = "lynx";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lynx/-/lynx-0.2.0.tgz";
+        sha1 = "79e6674530da4183e87953bd686171e070da50b9";
+      };
+    };
     "macos-release-1.1.0" = {
       name = "macos-release";
       packageName = "macos-release";
@@ -15128,13 +15281,13 @@ let
         sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
       };
     };
-    "mdn-data-1.0.0" = {
+    "mdn-data-1.1.0" = {
       name = "mdn-data";
       packageName = "mdn-data";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.0.0.tgz";
-        sha1 = "a69d9da76847b4d5834c1465ea25c0653a1fbf66";
+        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.0.tgz";
+        sha512 = "3av1cblh8aix05jyfib9mhm57qx8fnkxgxs2g493mdm4815pisrn8rzgf9yxjiww6psa619aa8l62xigrbwfcag741bgls227f82blc";
       };
     };
     "mdns-js-1.0.1" = {
@@ -15299,6 +15452,15 @@ let
         sha1 = "f8a064760d37e7978ad5f9f6d3c119a494f57081";
       };
     };
+    "mersenne-0.0.4" = {
+      name = "mersenne";
+      packageName = "mersenne";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mersenne/-/mersenne-0.0.4.tgz";
+        sha1 = "401fdec7ec21cdb9e03cd3d3021398da21b27085";
+      };
+    };
     "method-override-2.3.10" = {
       name = "method-override";
       packageName = "method-override";
@@ -15344,13 +15506,13 @@ let
         sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
       };
     };
-    "micro-9.0.2" = {
+    "micro-9.1.0" = {
       name = "micro";
       packageName = "micro";
-      version = "9.0.2";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micro/-/micro-9.0.2.tgz";
-        sha512 = "1d0ybv5avz4np56a916wv9zwc42gn3y68hibiwg8ps0n23hp3x9zkb631mny9jn2i7imybhzh6fpic1hr6q08lwawf4wy03c4nl680n";
+        url = "https://registry.npmjs.org/micro/-/micro-9.1.0.tgz";
+        sha512 = "232sjz2wv3xlfz5wf20jihj8avic507avydzwcf4d8zgy07ha9x3pqc6xkw0y8bjk8f8w30fmih38gsdvz7ph92c4kj4cxxfinph2nh";
       };
     };
     "micro-compress-1.0.0" = {
@@ -16019,6 +16181,15 @@ let
         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
+    "ms-2.1.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+        sha512 = "352z145jr1zx0w6kmlz2jxcaw6j2pwwg9va3x4gk731zw1agka2b213avw12zx6hgn071ibm0f3p80n5cdv896npay4s6jwbrv7w2mn";
+      };
+    };
     "ms-rest-1.15.7" = {
       name = "ms-rest";
       packageName = "ms-rest";
@@ -16100,13 +16271,13 @@ let
         sha1 = "abf022fc866727055a9e0c2bc98097f5ebad97a2";
       };
     };
-    "multicast-dns-6.2.1" = {
+    "multicast-dns-6.2.2" = {
       name = "multicast-dns";
       packageName = "multicast-dns";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz";
-        sha512 = "3gm760icxiv0bkil78dgsjkss4vwg3ya76jl3v8a5fa86wdv0ksvi1n7lnzisk4x4sa8chxnfxasyfpgay45ilaykqz2zbc8xrgypdr";
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.2.tgz";
+        sha512 = "06b9ps5a1ymag21szz55z4xzs2ncp0frcqsaldnggmz0m5ijhjv8f553cpkp9zkm37av1pm2y8pn70jbfzk888n1hap6i321babhcy5";
       };
     };
     "multicast-dns-service-types-1.1.0" = {
@@ -16572,13 +16743,13 @@ let
         sha1 = "02a71b008eaf7d55ae89fb9fd7685b7b88d7bc29";
       };
     };
-    "needle-2.1.0" = {
+    "needle-2.1.1" = {
       name = "needle";
       packageName = "needle";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.1.0.tgz";
-        sha1 = "54acebad9cc1a11822cd9ca522fb7c131c583fa4";
+        url = "https://registry.npmjs.org/needle/-/needle-2.1.1.tgz";
+        sha1 = "f3d501d633e661d34cd9648ca6c42f782a44d071";
       };
     };
     "negotiator-0.3.0" = {
@@ -16825,13 +16996,13 @@ let
         sha512 = "05d8rzfa0aihb9s1i3fm0dmdvlspfrxf4pxnsd3nms75mviv86llgg2r30l7b38a9l93yb00k7dy1vs8h4nd30ihhyvyc88vb6wa374";
       };
     };
-    "node-notifier-5.1.2" = {
+    "node-notifier-5.2.1" = {
       name = "node-notifier";
       packageName = "node-notifier";
-      version = "5.1.2";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz";
-        sha1 = "2fa9e12605fa10009d44549d6fcd8a63dde0e4ff";
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz";
+        sha512 = "179bqs5pz252zanr7mca970h5748xj0fa6inw23x5g5fb0nk64wyh8d34jzah0x5s6wdw2lb0hnad2h257nqns999vd5s8x03w6r01h";
       };
     };
     "node-phantom-simple-2.2.4" = {
@@ -17185,6 +17356,15 @@ let
         sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
       };
     };
+    "normalize-url-2.0.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
+        sha512 = "0rykwifg14xfgm9m6md48rkqqxa2cya4xdsv7jjciacis2nz6dzaccpzyldlpvy14rvihpxbdiysfn49a8x8x5jw84klmxzh9di98qg";
+      };
+    };
     "npm-3.10.10" = {
       name = "npm";
       packageName = "npm";
@@ -17203,13 +17383,13 @@ let
         sha512 = "0nnr796ik5h8bsd3k9ygivivr3na2ksnf5iipf8dsnn20j10i9sgmhmsnzbimd2pqgjbrpp8gbpl2q7j5c7yjqjfirrh8xcc3v3gpws";
       };
     };
-    "npm-keyword-4.2.0" = {
+    "npm-keyword-5.0.0" = {
       name = "npm-keyword";
       packageName = "npm-keyword";
-      version = "4.2.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-keyword/-/npm-keyword-4.2.0.tgz";
-        sha1 = "98ffebfdbb1336f27ef5fe1baca0dcacd0acf6c0";
+        url = "https://registry.npmjs.org/npm-keyword/-/npm-keyword-5.0.0.tgz";
+        sha1 = "99b85aec29fcb388d2dd351f0013bf5268787e67";
       };
     };
     "npm-package-arg-5.1.2" = {
@@ -17483,24 +17663,6 @@ let
         sha512 = "19310wpjhfybr8gslg93qybbsrf3fjlmdgsgvn7d9yim1nmpcgjn5az280w4p8spvhq1djly7naa9434166gcmbavv0xirg75gmcr5j";
       };
     };
-    "object-inspect-0.4.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz";
-        sha1 = "f5157c116c1455b243b06ee97703392c5ad89fec";
-      };
-    };
-    "object-keys-0.4.0" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
-        sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
-      };
-    };
     "object-keys-1.0.11" = {
       name = "object-keys";
       packageName = "object-keys";
@@ -17789,6 +17951,15 @@ let
         sha512 = "2k8g3x11xbm64r7bbyad08cjv27vaparkigq11w2v8kg8h73k2rzdr3q6f5i2klidgpaq9rbhfv45rf9dkqqv3d8vsbvw4c5knnbww8";
       };
     };
+    "opn-5.2.0" = {
+      name = "opn";
+      packageName = "opn";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz";
+        sha512 = "12iyalgghs3dj0pfb7rxa013x946169yfsjfd15fsfrx5kv80z2qh082x7v7d91hh7bf9vxcm4wqmyyj9ckk3gnvc7mw77j6fkwdpr5";
+      };
+    };
     "optimist-0.2.8" = {
       name = "optimist";
       packageName = "optimist";
@@ -18041,6 +18212,15 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
+    "p-is-promise-1.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
+        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
+      };
+    };
     "p-limit-1.2.0" = {
       name = "p-limit";
       packageName = "p-limit";
@@ -18077,6 +18257,15 @@ let
         sha1 = "5eb3b353b7fce99f101a1038880bb054ebbea386";
       };
     };
+    "p-timeout-2.0.1" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
+        sha512 = "0h1wg3bw3pyf3vlnxxfnrs3h33lwbx5n1lz4cz8ivh7bi8vjd6makxf6p1xz1d70ww3gj2ghryhbg6w1myxacgirk51ym23qzksdizk";
+      };
+    };
     "p-try-1.0.0" = {
       name = "p-try";
       packageName = "p-try";
@@ -18257,15 +18446,6 @@ let
         sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
       };
     };
-    "parse-json-3.0.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz";
-        sha1 = "fa6f47b18e23826ead32f263e744d0e1e847fb13";
-      };
-    };
     "parse-json-4.0.0" = {
       name = "parse-json";
       packageName = "parse-json";
@@ -18410,15 +18590,6 @@ let
         sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
       };
     };
-    "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";
-      };
-    };
     "pascalcase-0.1.1" = {
       name = "pascalcase";
       packageName = "pascalcase";
@@ -18545,15 +18716,6 @@ let
         sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
       };
     };
-    "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";
-      };
-    };
     "path-dirname-1.0.2" = {
       name = "path-dirname";
       packageName = "path-dirname";
@@ -19005,6 +19167,15 @@ let
         sha512 = "2ihaln20qjx82jx73wgzirbyp8mfmhxr75am1h0w8n5hy2gsbgvw9dricv7h57ycxzax84bma96wjscmdszs5mr2lsyxpfjvhwl2601";
       };
     };
+    "po2json-0.4.5" = {
+      name = "po2json";
+      packageName = "po2json";
+      version = "0.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz";
+        sha1 = "47bb2952da32d58a1be2f256a598eebc0b745118";
+      };
+    };
     "policyfile-0.0.4" = {
       name = "policyfile";
       packageName = "policyfile";
@@ -19140,6 +19311,15 @@ let
         sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
       };
     };
+    "prepend-http-2.0.0" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    };
     "preserve-0.2.0" = {
       name = "preserve";
       packageName = "preserve";
@@ -19410,22 +19590,13 @@ let
         sha1 = "bc826e34c3af4697e8d0af7a669e4d612aedcd17";
       };
     };
-    "protocol-buffers-3.2.1" = {
-      name = "protocol-buffers";
-      packageName = "protocol-buffers";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers/-/protocol-buffers-3.2.1.tgz";
-        sha1 = "37258e17e24a082f06ebb17731e92851d1c76889";
-      };
-    };
-    "protocol-buffers-schema-3.3.2" = {
-      name = "protocol-buffers-schema";
-      packageName = "protocol-buffers-schema";
-      version = "3.3.2";
+    "protocol-buffers-encodings-1.1.0" = {
+      name = "protocol-buffers-encodings";
+      packageName = "protocol-buffers-encodings";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz";
-        sha512 = "3rvq2xsb9y9vfy8vgf6ja08362bjcg132kxcwcfdik1j6j17dvlk535agpwiqzj47g1d7shcwq5h6zk5jy1ny25n4z6bzh1rfkv5mjx";
+        url = "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.0.tgz";
+        sha512 = "28vhf9zv4h6gc3nia9pshzn16jm1h6r58nj2mwmkji35fjbscjwxrxigwy87j82y8wayn29qgc31939b1fyk6dmvvhwv1gp0ywc8s2a";
       };
     };
     "proxy-addr-1.0.10" = {
@@ -19680,13 +19851,13 @@ let
         sha1 = "a4ecee01e330155e9124bbbcf4761f21b38f51f5";
       };
     };
-    "pull-pushable-2.1.1" = {
+    "pull-pushable-2.1.2" = {
       name = "pull-pushable";
       packageName = "pull-pushable";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.1.1.tgz";
-        sha1 = "86666abbe3f5402f1f7ead03eefd69b785eca5b8";
+        url = "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.1.2.tgz";
+        sha1 = "3fe15b8f7eec89f3972d238bc04890c9405a6dbb";
       };
     };
     "pull-stream-3.6.1" = {
@@ -19725,22 +19896,22 @@ let
         sha512 = "2mj8bx34brvh97wd2xcn5phgyd2wh3l1ma2xfd0m53yf68w1izp46pmz0s9az5f36mhlvl0mvfd6hp5abhi75fhyrz9wyx6jnx0jkgj";
       };
     };
-    "pump-2.0.0" = {
+    "pump-2.0.1" = {
       name = "pump";
       packageName = "pump";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-2.0.0.tgz";
-        sha512 = "21jb2lq6ajsmcqs5j3yq4gpfzkpn9zfy514dmwd0rlh6r8c6iknng19c3kmpb607rk2xap7cw467qz5di30zki40phjbdmg6fk35ip8";
+        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
+        sha512 = "288hcmlwdnqda84ylx9cv413ic0r59k0dp71hy7a200jsb7h1y63277jwdp1jdp13c1b3pl6g2gzr5gjv9p72f5sp7w3p0d34swrqxf";
       };
     };
-    "pumpify-1.3.6" = {
+    "pumpify-1.4.0" = {
       name = "pumpify";
       packageName = "pumpify";
-      version = "1.3.6";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.3.6.tgz";
-        sha512 = "3yz34ap8m1c1whb10b5n6855yb51w96rnanvixfm8kr1iszwi3xqywzx0dbf0pizylw1s66v8ndqw8qf0zza4lm5w6w5knyrc0wdsh6";
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz";
+        sha512 = "1h37biy199n445y10vpyiswwcxv8zigfqp0b1xwgbyjq51f2dhjn1pcggjc4j5ccbd64l1ivfi0bqinx4m5clcawvwggy7jv93qsjfs";
       };
     };
     "punycode-1.3.2" = {
@@ -19977,6 +20148,15 @@ let
         sha1 = "63ac953352499ad670a9681a75680f6bf3dd1faf";
       };
     };
+    "query-string-5.0.1" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.0.1.tgz";
+        sha512 = "0lcnspv96dv03600bgjxk2ypak8mysp77n47jkddpz6ldcgscwyan1akqjrddii4abb2brz6gr6yq9pcbdx63m9i16kk8m5028qrkv8";
+      };
+    };
     "querystring-0.2.0" = {
       name = "querystring";
       packageName = "querystring";
@@ -19995,31 +20175,22 @@ let
         sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
       };
     };
-    "quick-format-unescaped-1.1.1" = {
+    "quick-format-unescaped-1.1.2" = {
       name = "quick-format-unescaped";
       packageName = "quick-format-unescaped";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-1.1.1.tgz";
-        sha1 = "e77555ef3e66e105d4039e13ef79201284fee916";
-      };
-    };
-    "quote-stream-0.0.0" = {
-      name = "quote-stream";
-      packageName = "quote-stream";
-      version = "0.0.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz";
-        sha1 = "cde29e94c409b16e19dc7098b89b6658f9721d3b";
+        url = "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-1.1.2.tgz";
+        sha1 = "0ca581de3174becef25ac3c2e8956342381db698";
       };
     };
-    "quote-stream-1.0.2" = {
-      name = "quote-stream";
-      packageName = "quote-stream";
-      version = "1.0.2";
+    "r-json-1.2.8" = {
+      name = "r-json";
+      packageName = "r-json";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz";
-        sha1 = "84963f8c9c26b942e153feeb53aae74652b7e0b2";
+        url = "https://registry.npmjs.org/r-json/-/r-json-1.2.8.tgz";
+        sha1 = "7440560cc1edf00b9d8d94fa30bcad7dde94eae2";
       };
     };
     "rai-0.1.12" = {
@@ -20184,13 +20355,13 @@ let
         sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89";
       };
     };
-    "raw-socket-1.5.1" = {
+    "raw-socket-1.5.2" = {
       name = "raw-socket";
       packageName = "raw-socket";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-socket/-/raw-socket-1.5.1.tgz";
-        sha1 = "a85466c7984c0f0c3842ee562dc61b9873977528";
+        url = "https://registry.npmjs.org/raw-socket/-/raw-socket-1.5.2.tgz";
+        sha512 = "0afwhc6rx359xqdsjiyxdlj46kb8mq4lkwy9fhmgszkp8cai9pk8927vxvg4gpg522clwx3dv1xsbnx745pip7crbjdb7kn2i8p2iqy";
       };
     };
     "rc-0.4.0" = {
@@ -20202,13 +20373,13 @@ let
         sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
       };
     };
-    "rc-1.2.3" = {
+    "rc-1.2.4" = {
       name = "rc";
       packageName = "rc";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.3.tgz";
-        sha1 = "51575a900f8dd68381c710b4712c2154c3e2035b";
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz";
+        sha1 = "a0f606caae2a3b862bbd0ef85482c0125b315fa3";
       };
     };
     "rc-config-loader-2.0.1" = {
@@ -20243,7 +20414,7 @@ let
       packageName = "read-all-stream";
       version = "3.1.0";
       src = fetchurl {
-        url = "http://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz";
+        url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz";
         sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
       };
     };
@@ -20292,6 +20463,15 @@ let
         sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
       };
     };
+    "read-pkg-3.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    };
     "read-pkg-up-1.0.1" = {
       name = "read-pkg-up";
       packageName = "read-pkg-up";
@@ -20526,6 +20706,15 @@ let
         sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
       };
     };
+    "regex-escape-3.4.8" = {
+      name = "regex-escape";
+      packageName = "regex-escape";
+      version = "3.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.8.tgz";
+        sha512 = "15ylzlxx4y88jldg7cgwv0dmw3ljpq27f9qf17d3g76dqh6ir1ig7dzvqv9nqpr3da1yd2r5ay8jqa6yk7ni5fbbrzgkhf3yha1av8c";
+      };
+    };
     "regex-not-1.0.0" = {
       name = "regex-not";
       packageName = "regex-not";
@@ -20769,13 +20958,13 @@ let
         sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
       };
     };
-    "requestretry-1.12.2" = {
+    "requestretry-1.13.0" = {
       name = "requestretry";
       packageName = "requestretry";
-      version = "1.12.2";
+      version = "1.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requestretry/-/requestretry-1.12.2.tgz";
-        sha512 = "1gibp5f4n62642gyanvvyyskhzw5snx22d5wgy1ldcydbb605m83j863fb85jjyji2simmp9dy8b8rxm1axyvpawvnb5fm6i0gjfdn0";
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz";
+        sha512 = "2d6rk1gry4jlbd4i3ghm6vn9vjcjwsyb02w9f4jc5ximih9niq4javazp9hbm658zp2fz2zm8xy1dp2rxqv2c84301p0hg7rfl7ss1f";
       };
     };
     "require-directory-2.1.1" = {
@@ -20913,6 +21102,15 @@ let
         sha1 = "ffa71bab952d62f7c1d49b7434355fbc68dffc5a";
       };
     };
+    "responselike-1.0.2" = {
+      name = "responselike";
+      packageName = "responselike";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    };
     "restify-4.0.3" = {
       name = "restify";
       packageName = "restify";
@@ -21138,13 +21336,13 @@ let
         sha1 = "89a73ddc5e75c9ef8ab6320c0a1600d6a41179b9";
       };
     };
-    "rusha-0.8.11" = {
+    "rusha-0.8.12" = {
       name = "rusha";
       packageName = "rusha";
-      version = "0.8.11";
+      version = "0.8.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.11.tgz";
-        sha1 = "caa8963b1dbfd229d90626dd3f2a784430d6058d";
+        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.12.tgz";
+        sha1 = "5d838ce1fce8b145674ee771eaad5bcb2575e64b";
       };
     };
     "rx-2.5.3" = {
@@ -21237,13 +21435,13 @@ let
         sha1 = "81a098f447e4bbc3ff3312a243521bc060ef5911";
       };
     };
-    "sanitize-html-1.16.3" = {
+    "sanitize-html-1.17.0" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "1.16.3";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.16.3.tgz";
-        sha512 = "35k1grf7gik1bf6rrxjzsmfdqd5if41gw40hrn44awhzshd3izirkxg734gfrrliwwd7qa4z83l3fg5nq6lgjrm0cxx6z0cg4d0k42y";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.17.0.tgz";
+        sha512 = "1gnj506vfw53kv0d0y0v2cg4694lyq7fbcbpjllzmls3z3b8pdrh40nw3pp70bfs851c8sklh3f4zifaznd02jkbn62z089x7kbmgg6";
       };
     };
     "sax-0.3.5" = {
@@ -21399,6 +21597,15 @@ let
         sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
       };
     };
+    "semver-5.5.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+        sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
+      };
+    };
     "semver-diff-2.1.0" = {
       name = "semver-diff";
       packageName = "semver-diff";
@@ -21516,15 +21723,6 @@ let
         sha512 = "3c9rfxzsayrnka50s3hdbln9sjzad94ll4z2nx83i3rqciy4dxj05x34sjmm64k46zmk99pj8g4bcwk476a3iqzpcxgja28s8jqnl0j";
       };
     };
-    "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";
-      };
-    };
     "sentiment-2.1.0" = {
       name = "sentiment";
       packageName = "sentiment";
@@ -21642,13 +21840,13 @@ let
         sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
       };
     };
-    "service-runner-2.4.8" = {
+    "service-runner-2.5.0" = {
       name = "service-runner";
       packageName = "service-runner";
-      version = "2.4.8";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.8.tgz";
-        sha1 = "5dd23353bc85bd128ed50b9d5f224ff99b5e8388";
+        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.5.0.tgz";
+        sha1 = "78b347542c5c6ad2f31e78a10533045fc6414c1f";
       };
     };
     "set-blocking-2.0.0" = {
@@ -21723,13 +21921,13 @@ let
         sha512 = "2jlhhawfqdiga1m6if01ks1q3yx56k5vj6wf372589vkswvdflw7224viivxali56b0jjsckpmjy10rj6fcakhw2dbq2psr197kzw86";
       };
     };
-    "sha.js-2.4.9" = {
+    "sha.js-2.4.10" = {
       name = "sha.js";
       packageName = "sha.js";
-      version = "2.4.9";
+      version = "2.4.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz";
-        sha512 = "3l96mlw71zgkmfm9madd3jcndrpm2fm4jz2q5gz9mbm27mdg89hsbrg22pfl32ha76xa3pza83m2mc3b47pnq19mz3j6vkasn9dxk0v";
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz";
+        sha512 = "2lfna0mg4mzdki4p3q29rsgywbghvy6f6jy6b61zj68d2d936wfqjgqpsdjchfcqkiim53qknpcnq9iiafyidfrw154qf75a2n2cz5y";
       };
     };
     "shallow-clone-0.1.2" = {
@@ -21741,15 +21939,6 @@ let
         sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
       };
     };
-    "shallow-copy-0.0.1" = {
-      name = "shallow-copy";
-      packageName = "shallow-copy";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
-        sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
-      };
-    };
     "shasum-1.0.2" = {
       name = "shasum";
       packageName = "shasum";
@@ -21822,6 +22011,15 @@ let
         sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3";
       };
     };
+    "shelljs-0.8.0" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.0.tgz";
+        sha512 = "0z8im8zw5g4r44mf2iiy61kxi5idq41b4cs6d4c3lv9shh8ag2gnp25kvwawg899bczvh9g95b07gcpabik39md8q2vmnwcjjizdgn1";
+      };
+    };
     "shellwords-0.1.1" = {
       name = "shellwords";
       packageName = "shellwords";
@@ -21912,13 +22110,13 @@ let
         sha512 = "2r1w3cxxmd92r19mjrlzwn6xypjd5vrx0gk21l2bmxcp1x54pavhmifbhq8llxfk6z2lmzly7g3l8rrdl19m65nzlcicwy7cfn3sha6";
       };
     };
-    "simple-git-1.85.0" = {
+    "simple-git-1.89.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.85.0";
+      version = "1.89.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.85.0.tgz";
-        sha1 = "563ad291efc8a127735e8fbcd796967377614cd4";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.89.0.tgz";
+        sha1 = "ef52fe734d5060566ce187b2bbace36c2323e34c";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -22164,15 +22362,6 @@ let
         sha1 = "d76ef9127cb23c2259edb1e8349c2e8d5e2d74c1";
       };
     };
-    "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";
-      };
-    };
     "snapdragon-0.8.1" = {
       name = "snapdragon";
       packageName = "snapdragon";
@@ -22236,13 +22425,13 @@ let
         sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
-    "snyk-1.67.0" = {
+    "snyk-1.69.3" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.67.0";
+      version = "1.69.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.67.0.tgz";
-        sha1 = "e81f8ab29c80862fb317f196069924a65d1527b0";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.69.3.tgz";
+        sha1 = "c948a05982b206002a09d4e55fb16aee6d5e80e0";
       };
     };
     "snyk-config-1.0.1" = {
@@ -22317,13 +22506,13 @@ let
         sha1 = "b1a26c8aef529c61604aca382111e535d511b763";
       };
     };
-    "snyk-python-plugin-1.4.1" = {
+    "snyk-python-plugin-1.5.3" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.4.1";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.4.1.tgz";
-        sha512 = "0j8raq38cjnapa9dbfdmndkl9jm1wh4wdf8h6ahx53p233fiyhlp9sf5zdc2k7sakixsqaic4241ql6r9j33ql0nfgnx67869kjfwzs";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.5.3.tgz";
+        sha512 = "1yln7fd9x5zayvnq5hrvh44k9f37vnpirvw6gk87aq560kslsq4p2hknq02iq6az58wbc6r69g5rrszmv689c0ky3wjbmb2hmc9q7c1";
       };
     };
     "snyk-recursive-readdir-2.0.0" = {
@@ -22353,13 +22542,13 @@ let
         sha1 = "13743a058437dff890baaf437c333c966a743cb6";
       };
     };
-    "snyk-sbt-plugin-1.2.0" = {
+    "snyk-sbt-plugin-1.2.2" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "1.2.0";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-1.2.0.tgz";
-        sha512 = "002ibp199wy3pk8dldcfr83njcrgx7hk1c802hwa9skky7jw5c4infnaj9aignghi2l1w44p3cjk3xwbcrryldj3hh63vbyzpryg3qz";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-1.2.2.tgz";
+        sha512 = "1sq30kk2kq0flsak5759wylylzgm6ivd6di4lmbkahy858i26yf6kf86f2m86wvlz4fcmxsbcl7p0wkd498cx193v4nbr2hq39jyjlz";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -22749,6 +22938,24 @@ let
         sha512 = "3nwgpximc17yn0lfg8658fxkm2hwbpvnbx5x1g0qgqvjm3vzld96rh1gf6iw1srbkicp0m825sq92r9bnj2r2gl8ys0f7fzivf0sjmx";
       };
     };
+    "source-map-support-0.5.1" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.1.tgz";
+        sha512 = "276x5a16yv0nlzjdvspsnbkxqhv8lvfj7a0sfzkaasfcwa2rm1ni3h3c0fva63bfqnazbywvs4pzrnbwg43j7gpymjd9cbbndq5x4qi";
+      };
+    };
+    "source-map-support-0.5.2" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.2.tgz";
+        sha512 = "3hgzhp5z7w8w0sadaa0m7sspd2ihnba3j1rd7l53l1mvx4wjblrbjq2642zz0xxkv4bag4hs4pms7dz5rc8hk5d61d49h6hjrwxqcgp";
+      };
+    };
     "source-map-url-0.4.0" = {
       name = "source-map-url";
       packageName = "source-map-url";
@@ -23019,15 +23226,6 @@ let
         sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
       };
     };
-    "static-eval-0.2.4" = {
-      name = "static-eval";
-      packageName = "static-eval";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz";
-        sha1 = "b7d34d838937b969f9641ca07d48f8ede263ea7b";
-      };
-    };
     "static-extend-0.1.2" = {
       name = "static-extend";
       packageName = "static-extend";
@@ -23037,13 +23235,13 @@ let
         sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
       };
     };
-    "static-module-1.5.0" = {
-      name = "static-module";
-      packageName = "static-module";
-      version = "1.5.0";
+    "statsd-parser-0.0.4" = {
+      name = "statsd-parser";
+      packageName = "statsd-parser";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz";
-        sha1 = "27da9883c41a8cd09236f842f0c1ebc6edf63d86";
+        url = "https://registry.npmjs.org/statsd-parser/-/statsd-parser-0.0.4.tgz";
+        sha1 = "cbd243953cc42effd548b5d22388ed689ec639bd";
       };
     };
     "status-logger-3.1.1" = {
@@ -23163,13 +23361,13 @@ let
         sha512 = "2h4ymczmf5aqldga4sj8acqlzc3almazi2vwiv7kx63k28sz1wwkqgzzv1hn47jf49k1x94w25fmmi001h5mj3n6g9in1s6b1n5vkcr";
       };
     };
-    "stream-http-2.7.2" = {
+    "stream-http-2.8.0" = {
       name = "stream-http";
       packageName = "stream-http";
-      version = "2.7.2";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz";
-        sha512 = "09n1hj53jy075fnbsaaiknry7in0l4yarh912abwgvk4hwl33lvn8wrfw891zg5bkfa7sxlmd5yz3xxd4dmcln19bnkahyvd87r6k3k";
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz";
+        sha512 = "2ghzil78wsr29z8p1883i0vwx9gpsspha4wvdbpvqzbknrfiavwis010i5a7vy0xx8n486f6kwmjxsk3mg1w4bjy4whvizriz28b4xi";
       };
     };
     "stream-parser-0.3.1" = {
@@ -23289,6 +23487,24 @@ let
         sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
       };
     };
+    "strftime-0.10.0" = {
+      name = "strftime";
+      packageName = "strftime";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strftime/-/strftime-0.10.0.tgz";
+        sha1 = "b3f0fa419295202a5a289f6d6be9f4909a617193";
+      };
+    };
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    };
     "string-1.6.1" = {
       name = "string";
       packageName = "string";
@@ -23640,15 +23856,6 @@ let
         sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
       };
     };
-    "superagent-3.5.2" = {
-      name = "superagent";
-      packageName = "superagent";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/superagent/-/superagent-3.5.2.tgz";
-        sha1 = "3361a3971567504c351063abeaae0faa23dbf3f8";
-      };
-    };
     "superagent-3.8.2" = {
       name = "superagent";
       packageName = "superagent";
@@ -23730,15 +23937,6 @@ let
         sha512 = "04q31rfgx0r6jgs2r1k6kmzab1vw3qrikiv8wsl86rxll77vdalrag7r4ypww3qp6v8k3avsjc0jxd3ga45fb5f51akm30a9b100ba7";
       };
     };
-    "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";
-      };
-    };
     "symbol-observable-1.0.1" = {
       name = "symbol-observable";
       packageName = "symbol-observable";
@@ -23866,13 +24064,13 @@ let
         sha512 = "1ryql8hyrrhd0gdd71ishbj3cnr8ay0i0wpvy9mj3hjiy35cc1wa0h07wz8jwils98j00gr03ix3cf2j1xm43xjn9bsavwn1yr4a0x5";
       };
     };
-    "tar-4.2.0" = {
+    "tar-4.3.0" = {
       name = "tar";
       packageName = "tar";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.2.0.tgz";
-        sha512 = "2gxmbyhp1fl504kj9lkj0p7fx6z7ixvnjkvww945i6dbhc76lci537p5jpw1g64w5yj2npcyfspbg2dfzpcvbmn0a55z16yi670pkpi";
+        url = "https://registry.npmjs.org/tar/-/tar-4.3.0.tgz";
+        sha512 = "1844acixnz54bqf6q85avzdgq39i30d6gridz084iff0f3fh670wag8gs72k8dhbvmhxs2czlax99bfwypyfxbhrq3w80xb2kl5gbjd";
       };
     };
     "tar-fs-1.16.0" = {
@@ -24082,15 +24280,6 @@ let
         sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
       };
     };
-    "through2-0.4.2" = {
-      name = "through2";
-      packageName = "through2";
-      version = "0.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
-        sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
-      };
-    };
     "through2-0.6.5" = {
       name = "through2";
       packageName = "through2";
@@ -24208,13 +24397,13 @@ let
         sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
       };
     };
-    "timers-browserify-2.0.4" = {
+    "timers-browserify-2.0.6" = {
       name = "timers-browserify";
       packageName = "timers-browserify";
-      version = "2.0.4";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz";
-        sha512 = "2pddj1k7206wrs3q5z7dzwc657rbdd2m00llzz0h1241fp0y5i32qi2slmfys217hqszbqmvnmjr32msgbjgzh33nxw6py49p4j35mr";
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz";
+        sha512 = "0zvmxvcvmv91k667dy2hzd9a2knvhizxvbx73gcnbi5na3ypc3mldfljw062d7n6y2mf7n2gwwc5wr4wrdih927fxahg8s0hinyf38x";
       };
     };
     "timespan-2.3.0" = {
@@ -24226,13 +24415,13 @@ let
         sha1 = "4902ce040bd13d845c8f59b27e9d59bad6f39929";
       };
     };
-    "tiny-lr-1.0.5" = {
+    "tiny-lr-1.1.0" = {
       name = "tiny-lr";
       packageName = "tiny-lr";
-      version = "1.0.5";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.0.5.tgz";
-        sha512 = "2b8y1xdv7szw0hvad64rghp2zdahs6qhx0k79c0s9xa0a35zbcrb9b9gywixhcxqi1c9ab7ah8ibra22k8baakh7rvmhf904d559g32";
+        url = "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.0.tgz";
+        sha512 = "06rjm9vpcs6h1890gzzj8pbn5k70724dz61qnk2fjwgiva4klx9zzwds5iidlgc31p7q41x6qz81pbbh116ap3jznqw07camvqzm1bz";
       };
     };
     "tinycolor-0.0.1" = {
@@ -24244,15 +24433,6 @@ let
         sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
       };
     };
-    "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";
-      };
-    };
     "titleize-1.0.0" = {
       name = "titleize";
       packageName = "titleize";
@@ -24397,13 +24577,13 @@ let
         sha1 = "d17aea72ff2fba39b9e43601be7b3ff72e089852";
       };
     };
-    "toiletdb-1.4.0" = {
+    "toiletdb-1.4.1" = {
       name = "toiletdb";
       packageName = "toiletdb";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/toiletdb/-/toiletdb-1.4.0.tgz";
-        sha1 = "6c6f871834b22178c5490f9f832b58c3c7cba852";
+        url = "https://registry.npmjs.org/toiletdb/-/toiletdb-1.4.1.tgz";
+        sha512 = "0c9ayp39hvxd1lzl6cxvsxcys0jzfb698i3as3xrw3n9zpxwmx4sqwisv63bfsmdl10c6v4inpj5kvckhlr3nd3ny1pj264r0qags0l";
       };
     };
     "token-stream-0.0.1" = {
@@ -24460,6 +24640,15 @@ let
         sha1 = "d8c043b44c3c448c9397a3aec42d2df55887037b";
       };
     };
+    "tosource-1.0.0" = {
+      name = "tosource";
+      packageName = "tosource";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tosource/-/tosource-1.0.0.tgz";
+        sha1 = "42d88dd116618bcf00d6106dd5446f3427902ff1";
+      };
+    };
     "touch-0.0.3" = {
       name = "touch";
       packageName = "touch";
@@ -24631,13 +24820,13 @@ let
         sha1 = "c636c6c1f50eed7c927af06c1dbffab53c7abe28";
       };
     };
-    "tslib-1.8.1" = {
+    "tslib-1.9.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.8.1";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz";
-        sha1 = "6946af2d1d651a7b1863b531d6e5afa41aa44eac";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz";
+        sha512 = "2nlmx4clxs0pqc810crp8j98gpvlvbbc5bw8mx4sjx9ywh89s5kq87n5zhc5xc1scgk49p9x7dw37d158qi46al0q9b54jldcdqdykz";
       };
     };
     "tsscmp-1.0.5" = {
@@ -24748,13 +24937,13 @@ let
         sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
       };
     };
-    "type-detect-4.0.5" = {
+    "type-detect-4.0.7" = {
       name = "type-detect";
       packageName = "type-detect";
-      version = "4.0.5";
+      version = "4.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz";
-        sha512 = "08z0fl5f7kx0fhjbj75cvshf4j5j3zzk04766g04rlwcjqr2i3z84qla0ci1h2iv014qkmsh9z7vbvd6ncr04bf1c36cl151f8jzlip";
+        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.7.tgz";
+        sha512 = "06b3944s70gv2pdbdkqpxp88izg727825j0lpdl0pdgs6p6nvpkzb034lycqin3a3nydd0jaafd86a991c78pabrqbd6m8cj3p7a671";
       };
     };
     "type-is-1.5.7" = {
@@ -24856,6 +25045,15 @@ let
         sha512 = "39ac4xrr9v9ya7rbn5cz8dss5j3s36yhpj9qrhfxxqzgy1vljns0qfyv7d76lqgdgdbfbrd91kb5x7jlg0fw2r4f3kml0v8xmv545xr";
       };
     };
+    "uc-first-array-1.1.8" = {
+      name = "uc-first-array";
+      packageName = "uc-first-array";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uc-first-array/-/uc-first-array-1.1.8.tgz";
+        sha512 = "3gmz15f5f5yn43v5gv1039pkhd3wwwjfd9jd4f501qz01bdlxj5f2vkg4ddy0lv4h7902n2hgw2vdlmc4a578hsr2bij1xzq5pjfc1d";
+      };
+    };
     "uc.micro-1.0.3" = {
       name = "uc.micro";
       packageName = "uc.micro";
@@ -24865,6 +25063,15 @@ let
         sha1 = "7ed50d5e0f9a9fb0a573379259f2a77458d50192";
       };
     };
+    "ucfirst-1.0.0" = {
+      name = "ucfirst";
+      packageName = "ucfirst";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ucfirst/-/ucfirst-1.0.0.tgz";
+        sha1 = "4e105b6448d05e264ecec435e0b919363c5f2f2f";
+      };
+    };
     "uglify-js-1.2.5" = {
       name = "uglify-js";
       packageName = "uglify-js";
@@ -24919,13 +25126,13 @@ let
         sha512 = "3apvpzjbs9vds18x8pxb8ysn94658xnajl5zfagr23xpbfhgbmlmajm0lnmz9h4jk99snzf51vcc1r0l0g4gmbdzcn574vvvzy3dxrv";
       };
     };
-    "uglify-js-3.3.5" = {
+    "uglify-js-3.3.8" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.3.5";
+      version = "3.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.5.tgz";
-        sha512 = "2p95asc8ny3p8js91asggdsb396x2hkllc76gpvf3nqrw2al85p67f4v1grlnckhjwiqj7vzcy197fq2axh37mjyq4gabq193dcrrk5";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.8.tgz";
+        sha512 = "1vxvyq08n6jidg18kiph7m0bjzr4v1dh188b7zgj60mkv4x1qkqrgc8756drldaj3awmn71mwsxja0zhvdm8nqqw5finrajv8dc0j2z";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -25063,6 +25270,15 @@ let
         sha1 = "ecca3a03e56b9af17385baac812ac83b994a962f";
       };
     };
+    "undefsafe-2.0.1" = {
+      name = "undefsafe";
+      packageName = "undefsafe";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.1.tgz";
+        sha1 = "03b2f2a16c94556e14b2edef326cd66aaf82707a";
+      };
+    };
     "underscore-1.2.1" = {
       name = "underscore";
       packageName = "underscore";
@@ -25423,15 +25639,6 @@ let
         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";
-      };
-    };
     "uri-js-3.0.2" = {
       name = "uri-js";
       packageName = "uri-js";
@@ -25477,6 +25684,15 @@ let
         sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
       };
     };
+    "url-parse-lax-3.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    };
     "url-to-options-1.0.1" = {
       name = "url-to-options";
       packageName = "url-to-options";
@@ -25639,13 +25855,13 @@ let
         sha512 = "2mcnn6w5as2dvz6rj4fb33174z3a1rl9bm2cfazrr4084gq7aal0bkmkwr1cjpkvy1zgni3zdk0570fx7cmnd0k0hg18wfb2hvbigfg";
       };
     };
-    "uue-3.1.0" = {
+    "uue-3.1.1" = {
       name = "uue";
       packageName = "uue";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uue/-/uue-3.1.0.tgz";
-        sha1 = "5d67d37030e66efebbb4b8aac46daf9b55befbf6";
+        url = "https://registry.npmjs.org/uue/-/uue-3.1.1.tgz";
+        sha512 = "29ykgvcsrhwbifm7aa4mf8876c6z2ksc26cnpxf3ljwhg7vfrjz2asvl7ylkjj91alnp2d7n1xvi5qphmn0a1ci091a20mdmnbzg91i";
       };
     };
     "uuid-2.0.3" = {
@@ -25684,6 +25900,15 @@ let
         sha512 = "3x5mi85l1559nkb35pfksjjgiyfyqrcvmcf0nly1xjl1kb0d37jnxd6sk0b8d331waadnqbf60nfssb563x9pvnjcw87lrh976sv18c";
       };
     };
+    "uuid-3.2.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+        sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
+      };
+    };
     "uws-0.14.5" = {
       name = "uws";
       packageName = "uws";
@@ -26314,15 +26539,6 @@ let
         sha1 = "b4315bb4214a3d7058ebeee892e13fa24d98b075";
       };
     };
-    "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";
-      };
-    };
     "windows-no-runnable-0.0.6" = {
       name = "windows-no-runnable";
       packageName = "windows-no-runnable";
@@ -26846,13 +27062,13 @@ let
         sha1 = "185a888c04eca46c3e4070d99f7b49de3528992d";
       };
     };
-    "xmlhttprequest-ssl-1.5.4" = {
+    "xmlhttprequest-ssl-1.5.5" = {
       name = "xmlhttprequest-ssl";
       packageName = "xmlhttprequest-ssl";
-      version = "1.5.4";
+      version = "1.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz";
-        sha1 = "04f560915724b389088715cc0ed7813e9677bf57";
+        url = "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz";
+        sha1 = "c2876b06168aadc40e57d97e81191ac8f4398b3e";
       };
     };
     "xoauth2-0.1.8" = {
@@ -26900,6 +27116,15 @@ let
         sha1 = "52a63e56ca0b84a7f3a5f3d61872f126ad7a5943";
       };
     };
+    "xregexp-4.0.0" = {
+      name = "xregexp";
+      packageName = "xregexp";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz";
+        sha512 = "0b2p3pxs6fa0knpdw3qhcpqh47ci9w9r4lfhav4nsg7p7l73izpig0b3knkrsl72nq5ll4pk79is30vwm1c044lnbqyxfi8qkx8qz1w";
+      };
+    };
     "xsalsa20-1.0.2" = {
       name = "xsalsa20";
       packageName = "xsalsa20";
@@ -26918,15 +27143,6 @@ let
         sha1 = "f164263325ae671f53836fb210c7ddbcfda46598";
       };
     };
-    "xtend-2.1.2" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
-        sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
-      };
-    };
     "xtend-3.0.0" = {
       name = "xtend";
       packageName = "xtend";
@@ -26990,13 +27206,13 @@ let
         sha512 = "1vn6jsqrhybxddyhmvkh0d43n2lk1z8081glfq80zpjfs4xgwpk0mmgdiry9zgsihmv9a2qidmp5hhyqqq8mzzkr037wla0qd1nk80f";
       };
     };
-    "yargs-10.1.1" = {
+    "yargs-10.1.2" = {
       name = "yargs";
       packageName = "yargs";
-      version = "10.1.1";
+      version = "10.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-10.1.1.tgz";
-        sha512 = "25hbaxlg6lk0q1aj9ssggl2wni5jadnl657nv85vmkm9j8bk3mfvx1d040fxqq3m3d79zc2h84yxqw4kv4mzzik84svf2axfva4pr7f";
+        url = "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz";
+        sha512 = "25gvc8vjalpbv69v0frmh10x203dsnl0jrnx8c2mww3qrxl69kms5ppzry3lp51lgaby524hc6qa80kgrz0zcdvas8flq26l33aix4a";
       };
     };
     "yargs-3.10.0" = {
@@ -27275,7 +27491,7 @@ in
       sources."chalk-1.1.3"
       sources."chmodr-1.0.2"
       sources."colors-1.1.2"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.5.1"
       sources."core-js-2.5.3"
@@ -27391,7 +27607,7 @@ in
       sources."chromium-pickle-js-0.2.0"
       sources."co-4.6.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       (sources."cryptiles-3.1.2" // {
@@ -27470,7 +27686,7 @@ in
       sources."traverse-0.3.9"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."wrappy-1.0.2"
     ];
@@ -27493,8 +27709,9 @@ in
     };
     dependencies = [
       sources."@types/form-data-2.2.1"
-      sources."@types/node-8.5.8"
-      sources."@types/request-2.0.9"
+      sources."@types/node-8.5.9"
+      sources."@types/request-2.0.13"
+      sources."@types/tough-cookie-2.3.2"
       sources."@types/uuid-3.4.3"
       sources."JSV-4.0.2"
       sources."adal-node-0.1.21"
@@ -27835,7 +28052,7 @@ in
           sources."boom-2.10.1"
           sources."caseless-0.11.0"
           sources."chalk-1.1.3"
-          sources."commander-2.12.2"
+          sources."commander-2.13.0"
           sources."cryptiles-2.0.5"
           sources."extend-3.0.1"
           sources."form-data-1.0.1"
@@ -27889,7 +28106,7 @@ in
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
       sources."utile-0.2.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validator-5.2.0"
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
@@ -28024,7 +28241,7 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."signal-exit-3.0.2"
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
@@ -28055,10 +28272,10 @@ in
   browserify = nodeEnv.buildNodePackage {
     name = "browserify";
     packageName = "browserify";
-    version = "15.0.0";
+    version = "15.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-15.0.0.tgz";
-      sha512 = "17abx33xjyyd4ilaf2lsbq250gkc53622hqh4r65acmjhdp8i5g8jr5rm7s9shq8r5spby33h0lfl8caxamsy50rlaagjbq767p2i3l";
+      url = "https://registry.npmjs.org/browserify/-/browserify-15.2.0.tgz";
+      sha512 = "353sai3zpq5rmqrw5xqkmvxpm866zpv2kiqmp90qp506vij6zvdjrk1zhlpvwmdvsyfjm07q3z2gk5z8ndx2mg55x134pmnz4a34xi0";
     };
     dependencies = [
       sources."@browserify/acorn5-object-spread-5.0.1"
@@ -28075,7 +28292,7 @@ in
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.8"
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.2"
+      sources."browser-pack-6.0.3"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -28092,7 +28309,7 @@ in
       sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.1"
       sources."cipher-base-1.0.4"
-      sources."combine-source-map-0.7.2"
+      sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.5.2" // {
         dependencies = [
@@ -28137,7 +28354,11 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.0.1"
+      (sources."insert-module-globals-7.0.1" // {
+        dependencies = [
+          sources."combine-source-map-0.7.2"
+        ];
+      })
       sources."is-buffer-1.1.6"
       sources."isarray-1.0.0"
       sources."json-stable-stringify-0.0.1"
@@ -28155,7 +28376,8 @@ in
       sources."minimalistic-assert-1.0.0"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
       (sources."module-deps-5.0.1" // {
         dependencies = [
           sources."acorn-5.3.0"
@@ -28185,16 +28407,20 @@ in
       sources."resolve-1.5.0"
       sources."ripemd160-2.0.1"
       sources."safe-buffer-5.1.1"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."source-map-0.5.7"
       sources."stream-browserify-2.0.1"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.7.2"
+      sources."stream-http-2.8.0"
       sources."stream-splicer-2.0.0"
       sources."string_decoder-1.0.3"
-      sources."subarg-1.0.0"
+      (sources."subarg-1.0.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."syntax-error-1.3.0"
       sources."through-2.3.8"
       sources."through2-2.0.3"
@@ -28278,7 +28504,7 @@ in
       sources."codepage-1.4.0"
       sources."colour-0.7.1"
       sources."combined-stream-0.0.7"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."compact2string-1.4.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.0"
@@ -28473,11 +28699,11 @@ in
       sources."router-0.6.2"
       sources."run-parallel-1.1.6"
       sources."run-series-1.1.4"
-      sources."rusha-0.8.11"
+      sources."rusha-0.8.12"
       sources."rx-2.5.3"
       sources."safe-buffer-5.1.1"
       sources."sax-1.2.4"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
       sources."simple-get-2.7.0"
@@ -28564,6 +28790,26 @@ in
     production = true;
     bypassCache = false;
   };
+  clean-css = nodeEnv.buildNodePackage {
+    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";
+    };
+    dependencies = [
+      sources."source-map-0.5.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A well-tested CSS minifier";
+      homepage = https://github.com/jakubpawlowicz/clean-css;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
   coffee-script = nodeEnv.buildNodePackage {
     name = "coffee-script";
     packageName = "coffee-script";
@@ -28584,84 +28830,49 @@ in
   coinmon = nodeEnv.buildNodePackage {
     name = "coinmon";
     packageName = "coinmon";
-    version = "0.0.9";
+    version = "0.0.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.9.tgz";
-      sha512 = "3hzlrghgwyf65qhz9hm1w3np5djhjjl8f1v9bpa7bmqi3593q3i0589c6lbd493i802ai74pvdkx3zp6qb6r224nyz2jx80kqi5bvp6";
+      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.13.tgz";
+      sha512 = "2q865h8b8fks806q7qhdm728xhcw684xv37fmlphqv0rdy5y7zfj9nffcnzjmlg5b2qgfrybdpp25q27pm26c4mnxl6lq7jdk7hr6f5";
     };
     dependencies = [
-      sources."ansi-regex-1.1.1"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."axios-0.17.1"
-      sources."babel-runtime-6.22.0"
-      sources."camel-case-3.0.0"
-      (sources."cfonts-1.1.3" // {
-        dependencies = [
-          sources."commander-2.9.0"
-        ];
-      })
-      sources."chalk-1.0.0"
-      sources."change-case-3.0.0"
+      sources."camelo-1.1.11"
+      sources."chalk-1.1.3"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.1.0"
-      (sources."cli-table2-0.2.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
+      sources."cli-table2-0.2.0"
       sources."code-point-at-1.1.0"
       sources."colors-1.1.2"
-      sources."commander-2.12.2"
-      sources."constant-case-2.0.0"
-      sources."core-js-2.5.3"
+      sources."commander-2.13.0"
       sources."debug-3.1.0"
-      sources."dot-case-2.1.1"
+      sources."emojic-1.1.14"
+      sources."emojilib-2.2.12"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.3.0"
-      sources."get-stdin-4.0.1"
-      sources."graceful-readlink-1.0.1"
-      sources."has-ansi-1.0.3"
-      sources."header-case-1.0.1"
+      sources."follow-redirects-1.4.1"
+      sources."has-ansi-2.0.0"
       sources."humanize-plus-1.8.2"
       sources."is-buffer-1.1.6"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-lower-case-1.1.3"
-      sources."is-upper-case-1.1.2"
+      sources."iterate-object-1.3.2"
       sources."lodash-3.10.1"
       sources."log-symbols-1.0.2"
-      sources."lower-case-1.1.4"
-      sources."lower-case-first-1.0.2"
       sources."mimic-fn-1.1.0"
       sources."ms-2.0.0"
-      sources."no-case-2.3.2"
       sources."number-is-nan-1.0.1"
       sources."onetime-2.0.1"
-      (sources."ora-1.3.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."chalk-1.1.3"
-          sources."has-ansi-2.0.0"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-        ];
-      })
-      sources."param-case-2.1.1"
-      sources."pascal-case-2.0.1"
-      sources."path-case-2.1.1"
-      sources."regenerator-runtime-0.10.5"
+      sources."ora-1.3.0"
+      sources."r-json-1.2.8"
+      sources."regex-escape-3.4.8"
       sources."restore-cursor-2.0.0"
-      sources."sentence-case-2.1.1"
       sources."signal-exit-3.0.2"
-      sources."snake-case-2.1.0"
       sources."string-width-1.0.2"
-      sources."strip-ansi-2.0.1"
-      sources."supports-color-1.3.1"
-      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."window-size-0.3.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."uc-first-array-1.1.8"
+      sources."ucfirst-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -28672,6 +28883,40 @@ in
     production = true;
     bypassCache = false;
   };
+  configurable-http-proxy = nodeEnv.buildNodePackage {
+    name = "configurable-http-proxy";
+    packageName = "configurable-http-proxy";
+    version = "3.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-3.1.1.tgz";
+      sha512 = "13wdwd1dgc2laqsv0mjz91pz1mmfy0c0ihbgvmd4lqi6v5gas17cp85885nkdz2y5w87yizqlb2w4l04bbxwvcw6spaq2aw5q3z3rvv";
+    };
+    dependencies = [
+      sources."async-1.0.0"
+      sources."colors-1.0.3"
+      sources."commander-2.13.0"
+      sources."cycle-1.0.3"
+      sources."eventemitter3-1.2.0"
+      sources."eyes-0.1.8"
+      sources."http-proxy-1.16.2"
+      sources."isstream-0.1.2"
+      sources."lynx-0.2.0"
+      sources."mersenne-0.0.4"
+      sources."requires-port-1.0.0"
+      sources."stack-trace-0.0.10"
+      sources."statsd-parser-0.0.4"
+      sources."strftime-0.10.0"
+      sources."winston-2.4.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A configurable-on-the-fly HTTP Proxy";
+      homepage = "https://github.com/jupyterhub/configurable-http-proxy#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
   cordova = nodeEnv.buildNodePackage {
     name = "cordova";
     packageName = "cordova";
@@ -28719,7 +28964,7 @@ in
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.8"
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.2"
+      sources."browser-pack-6.0.3"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -28751,9 +28996,9 @@ in
       sources."cli-cursor-1.0.2"
       sources."cli-width-1.1.1"
       sources."code-point-at-1.1.0"
-      sources."combine-source-map-0.7.2"
+      sources."combine-source-map-0.8.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."compressible-2.0.12"
       sources."compression-1.7.1"
       sources."concat-map-0.0.1"
@@ -28790,6 +29035,7 @@ in
         dependencies = [
           sources."acorn-4.0.13"
           sources."base64-js-1.2.1"
+          sources."combine-source-map-0.7.2"
           sources."glob-7.1.1"
           sources."hash-base-2.0.2"
           sources."isarray-1.0.0"
@@ -28803,7 +29049,7 @@ in
           sources."q-1.0.1"
           sources."qs-6.3.2"
           sources."shelljs-0.3.0"
-          sources."uuid-3.1.0"
+          sources."uuid-3.2.1"
           sources."xmlbuilder-8.2.2"
         ];
       })
@@ -28830,7 +29076,7 @@ in
           sources."underscore-1.2.1"
         ];
       })
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       (sources."dependency-ls-1.1.1" // {
         dependencies = [
           sources."q-1.4.1"
@@ -28851,7 +29097,7 @@ in
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.6"
       sources."elliptic-6.4.0"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -28889,7 +29135,11 @@ in
       sources."hoek-2.16.3"
       sources."hosted-git-info-2.5.0"
       sources."htmlescape-1.1.1"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.1.1"
       sources."https-browserify-1.0.0"
       sources."iconv-lite-0.4.19"
@@ -28913,7 +29163,7 @@ in
           })
           sources."minimist-1.2.0"
           sources."mute-stream-0.0.5"
-          sources."uuid-3.1.0"
+          sources."uuid-3.2.1"
         ];
       })
       sources."interpret-1.1.0"
@@ -29021,7 +29271,7 @@ in
       sources."randomfill-1.0.3"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."read-1.0.7"
       sources."read-all-stream-3.1.0"
       sources."read-only-stream-2.0.0"
@@ -29040,12 +29290,12 @@ in
       sources."rx-lite-3.1.2"
       sources."safe-buffer-5.1.1"
       sources."sax-0.3.5"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."setprototypeof-1.1.0"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."shelljs-0.5.3"
@@ -29066,7 +29316,7 @@ in
       sources."stream-browserify-2.0.1"
       sources."stream-buffers-2.2.0"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.7.2"
+      sources."stream-http-2.8.0"
       sources."stream-shift-1.0.0"
       sources."stream-splicer-2.0.0"
       sources."string-length-1.0.1"
@@ -29166,26 +29416,20 @@ in
   dat = nodeEnv.buildNodePackage {
     name = "dat";
     packageName = "dat";
-    version = "13.9.2";
+    version = "13.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dat/-/dat-13.9.2.tgz";
-      sha512 = "05x3ij83al1f0r7fiaq788q4k81vlbmydsa1g829pq0q6795p57b12mmmx8nvc8khbbv1iphr065c7h3d7kc9ylps39xn1qdg64jz90";
+      url = "https://registry.npmjs.org/dat/-/dat-13.10.0.tgz";
+      sha512 = "05s22v6dv8mgh50m49cadbiw6ykzjl9q81j3zd4zw5zvpj9zl8xbpazw7kbyvzh58rhr6ydl44llghkl24vpn564gqbig3gnxxgmh8z";
     };
     dependencies = [
       sources."abstract-random-access-1.1.2"
-      sources."acorn-5.3.0"
       sources."ajv-5.5.2"
-      sources."amdefine-1.0.1"
       sources."ansi-diff-stream-1.2.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.0"
       sources."anymatch-1.3.2"
       sources."ap-0.1.0"
-      (sources."append-tree-2.4.0" // {
-        dependencies = [
-          sources."xtend-4.0.1"
-        ];
-      })
+      sources."append-tree-2.4.1"
       sources."arr-diff-2.0.0"
       sources."arr-flatten-1.1.0"
       sources."array-lru-1.1.1"
@@ -29198,17 +29442,16 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
       sources."balanced-match-1.0.0"
-      sources."base64-to-uint8array-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bencode-1.0.0"
       sources."bitfield-rle-2.1.0"
-      (sources."bittorrent-dht-7.8.2" // {
+      (sources."bittorrent-dht-7.10.0" // {
         dependencies = [
           sources."debug-3.1.0"
         ];
       })
       sources."blake2b-2.1.2"
-      sources."blake2b-wasm-1.1.4"
+      sources."blake2b-wasm-1.1.7"
       sources."body-0.1.0"
       sources."boom-4.3.1"
       sources."brace-expansion-1.1.8"
@@ -29217,9 +29460,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."brfs-1.4.3"
       sources."buffer-alloc-unsafe-1.0.0"
-      sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
       sources."buffer-indexof-1.1.1"
       sources."bulk-write-stream-1.1.3"
@@ -29253,16 +29494,18 @@ in
         dependencies = [
           sources."debug-2.6.9"
           sources."lru-2.0.1"
+          sources."pump-1.0.3"
         ];
       })
-      sources."dat-encoding-4.0.2"
+      sources."dat-encoding-5.0.1"
       sources."dat-ignore-2.0.0"
       (sources."dat-json-1.0.1" // {
         dependencies = [
+          sources."dat-encoding-4.0.2"
           sources."debug-2.6.9"
         ];
       })
-      (sources."dat-link-resolve-1.1.1" // {
+      (sources."dat-link-resolve-2.1.0" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
@@ -29270,40 +29513,22 @@ in
       sources."dat-log-1.1.1"
       (sources."dat-node-3.5.6" // {
         dependencies = [
-          sources."dat-encoding-5.0.1"
-          (sources."dat-link-resolve-2.1.0" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."esprima-1.0.4"
-          sources."estraverse-1.3.2"
-          sources."isarray-0.0.1"
           sources."minimist-0.0.8"
-          sources."object-keys-0.4.0"
-          sources."readable-stream-1.0.34"
-          sources."string_decoder-0.10.31"
+          sources."pump-1.0.3"
           sources."unordered-set-2.0.0"
           sources."varint-5.0.0"
         ];
       })
       sources."dat-registry-4.0.0"
       sources."dat-secret-storage-4.0.0"
-      (sources."dat-storage-1.0.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
-          sources."xtend-2.1.2"
-        ];
-      })
+      sources."dat-storage-1.0.3"
       sources."dat-swarm-defaults-1.0.0"
       sources."datland-swarm-defaults-1.0.2"
       sources."debug-3.1.0"
       sources."deep-equal-0.2.2"
       sources."delayed-stream-1.0.0"
       sources."directory-index-html-2.1.0"
-      sources."discovery-channel-5.4.6"
+      sources."discovery-channel-5.4.7"
       (sources."discovery-swarm-4.4.2" // {
         dependencies = [
           sources."thunky-0.1.0"
@@ -29314,30 +29539,20 @@ in
           sources."thunky-0.1.0"
         ];
       })
-      sources."dns-packet-1.3.0"
-      sources."dns-socket-1.6.2"
+      sources."dns-packet-1.3.1"
+      sources."dns-socket-1.6.3"
       sources."dns-txt-2.0.2"
       sources."dom-walk-0.1.1"
-      (sources."duplexer2-0.0.2" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-        ];
-      })
       sources."duplexify-3.5.3"
       sources."ecc-jsbn-0.1.1"
       sources."end-of-stream-1.4.1"
       sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.3.3"
-      sources."esprima-1.1.1"
-      sources."estraverse-1.5.1"
-      sources."esutils-1.0.0"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
       sources."extend-3.0.1"
       sources."extglob-0.3.2"
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
-      sources."falafel-2.1.0"
       sources."fast-deep-equal-1.0.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fd-read-stream-1.1.0"
@@ -29347,14 +29562,10 @@ in
       sources."for-each-0.3.2"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
-      sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."generate-function-2.0.0"
-      sources."generate-object-property-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.2"
       sources."glob-base-0.3.0"
@@ -29362,23 +29573,19 @@ in
       sources."global-4.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
-      sources."has-1.0.1"
       sources."has-flag-2.0.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
-      (sources."hypercore-6.11.0" // {
+      (sources."hypercore-6.12.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
       })
-      sources."hypercore-protocol-6.5.0"
-      (sources."hyperdrive-9.12.0" // {
+      sources."hypercore-protocol-6.5.2"
+      (sources."hyperdrive-9.12.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
           sources."varint-4.0.1"
         ];
       })
@@ -29404,7 +29611,6 @@ in
       sources."is-number-2.1.0"
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-property-1.0.2"
       sources."is-string-1.0.4"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -29434,17 +29640,11 @@ in
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."mirror-folder-2.1.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."mirror-folder-2.1.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."multi-random-access-2.1.1"
-      sources."multicast-dns-6.2.1"
+      sources."multicast-dns-6.2.2"
       sources."multicb-1.2.2"
       sources."mute-stream-0.0.7"
       sources."mutexify-1.2.0"
@@ -29463,15 +29663,12 @@ in
       sources."node-gyp-build-3.2.2"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.8.2"
-      sources."object-inspect-0.4.0"
-      sources."object-keys-1.0.11"
       sources."object.omit-2.0.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."parse-glob-3.0.4"
       sources."parse-headers-2.0.1"
       sources."path-is-absolute-1.0.1"
-      sources."path-parse-1.0.5"
       sources."performance-now-2.1.0"
       sources."pkginfo-0.4.1"
       sources."preserve-0.2.0"
@@ -29485,12 +29682,10 @@ in
           sources."async-1.0.0"
         ];
       })
-      sources."protocol-buffers-3.2.1"
-      sources."protocol-buffers-schema-3.3.2"
-      sources."pump-1.0.3"
+      sources."protocol-buffers-encodings-1.1.0"
+      sources."pump-2.0.1"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
-      sources."quote-stream-1.0.2"
       (sources."random-access-file-1.8.1" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -29516,12 +29711,10 @@ in
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."request-2.83.0"
-      sources."resolve-1.5.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
-      sources."rusha-0.8.11"
+      sources."rusha-0.8.12"
       sources."safe-buffer-5.1.1"
-      sources."shallow-copy-0.0.1"
       sources."signed-varint-2.0.1"
       sources."simple-sha1-2.1.0"
       sources."siphash24-1.1.0"
@@ -29532,22 +29725,10 @@ in
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.1.0"
       sources."sorted-indexof-1.0.0"
-      sources."source-map-0.1.43"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.0.0"
       sources."sshpk-1.13.1"
       sources."stack-trace-0.0.10"
-      (sources."static-eval-0.2.4" // {
-        dependencies = [
-          sources."escodegen-0.0.28"
-        ];
-      })
-      (sources."static-module-1.5.0" // {
-        dependencies = [
-          sources."quote-stream-0.0.0"
-          sources."through2-0.4.2"
-        ];
-      })
       sources."status-logger-3.1.1"
       sources."stream-collector-1.0.1"
       sources."stream-each-1.2.2"
@@ -29571,7 +29752,7 @@ in
       sources."through2-2.0.3"
       sources."thunky-1.0.2"
       sources."to-buffer-1.1.0"
-      sources."toiletdb-1.4.0"
+      sources."toiletdb-1.4.1"
       sources."tough-cookie-2.3.3"
       sources."township-client-1.3.2"
       sources."trim-0.0.1"
@@ -29587,7 +29768,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
       sources."utp-native-1.6.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."varint-3.0.1"
       sources."verror-1.10.0"
       (sources."winston-2.1.1" // {
@@ -29789,7 +29970,7 @@ in
       sources."bl-0.8.2"
       sources."bytewise-1.1.0"
       sources."bytewise-core-1.2.3"
-      sources."cookie-signature-1.0.6"
+      sources."cookie-signature-1.1.0"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.4"
       sources."deferred-leveldown-0.2.0"
@@ -29871,13 +30052,13 @@ in
       sources."pull-cat-1.1.11"
       sources."pull-level-2.0.3"
       sources."pull-live-1.0.1"
-      sources."pull-pushable-2.1.1"
+      sources."pull-pushable-2.1.2"
       sources."pull-stream-3.6.1"
       sources."pull-window-2.1.4"
       sources."pump-1.0.3"
-      (sources."pumpify-1.3.6" // {
+      (sources."pumpify-1.4.0" // {
         dependencies = [
-          sources."pump-2.0.0"
+          sources."pump-2.0.1"
         ];
       })
       sources."readable-stream-1.1.14"
@@ -29938,7 +30119,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.0"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.179.0"
+      sources."aws-sdk-2.187.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
       sources."base64-js-1.2.1"
@@ -29946,12 +30127,9 @@ in
       sources."boom-4.3.1"
       sources."buffer-4.9.1"
       sources."caseless-0.12.0"
-      sources."cipher-base-1.0.4"
       sources."co-4.6.0"
       sources."combined-stream-1.0.5"
       sources."core-util-is-1.0.2"
-      sources."create-hash-1.1.3"
-      sources."create-hmac-1.1.6"
       (sources."cryptiles-3.1.2" // {
         dependencies = [
           sources."boom-5.2.0"
@@ -29970,12 +30148,10 @@ in
       sources."getpass-0.1.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
-      sources."hash-base-2.0.2"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
       sources."http-signature-1.2.0"
       sources."ieee754-1.1.8"
-      sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -30002,10 +30178,8 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."ripemd160-2.0.1"
       sources."safe-buffer-5.1.1"
       sources."sax-1.2.1"
-      sources."sha.js-2.4.9"
       sources."sntp-2.1.0"
       sources."sshpk-1.13.1"
       sources."stringstream-0.0.5"
@@ -30078,7 +30252,7 @@ in
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-4.0.0"
@@ -30217,7 +30391,7 @@ in
       sources."tunnel-agent-0.4.3"
       sources."tweetnacl-0.14.5"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."which-1.3.0"
       sources."wrappy-1.0.2"
@@ -30250,7 +30424,7 @@ in
       sources."array-find-index-1.0.2"
       sources."arrify-1.0.1"
       sources."asap-2.0.6"
-      sources."auto-bind-1.1.0"
+      sources."auto-bind-1.2.0"
       sources."babel-code-frame-6.26.0"
       sources."babel-core-6.26.0"
       sources."babel-generator-6.26.0"
@@ -30414,7 +30588,7 @@ in
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."setimmediate-1.0.5"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -30459,10 +30633,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "4.15.0";
+    version = "4.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-4.15.0.tgz";
-      sha512 = "3l1j4qy0gqa8rkwpdsmkkbqcmbx23ym8h64d1bbj5i5ds5ks0g91myldzp0y25r6b3ba9646hy4i2jiad2jmm8h68z89i2larkvyhyc";
+      url = "https://registry.npmjs.org/eslint/-/eslint-4.16.0.tgz";
+      sha512 = "330nda1zwh0sqsxsfmlmhbg903gz6n9n4zy870gc2k95wrg1bc7jysfyn98nk2bd8p821xszpygp1vs1i7csapxfb3q2dp1n3hxamb1";
     };
     dependencies = [
       sources."acorn-5.3.0"
@@ -30530,7 +30704,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-11.1.0"
+      sources."globals-11.2.0"
       sources."globby-5.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-ansi-2.0.0"
@@ -30546,7 +30720,7 @@ in
       sources."is-path-in-cwd-1.0.0"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
-      sources."is-resolvable-1.0.1"
+      sources."is-resolvable-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-3.0.2"
@@ -30587,7 +30761,7 @@ in
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -30679,7 +30853,7 @@ in
       sources."del-2.2.2"
       sources."doctrine-2.1.0"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-4.15.0" // {
+      (sources."eslint-4.16.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."ansi-styles-3.2.0"
@@ -30710,7 +30884,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.2"
-      sources."globals-11.1.0"
+      sources."globals-11.2.0"
       sources."globby-5.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-ansi-2.0.0"
@@ -30726,7 +30900,7 @@ in
       sources."is-path-in-cwd-1.0.0"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
-      sources."is-resolvable-1.0.1"
+      sources."is-resolvable-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-3.0.2"
@@ -30769,7 +30943,7 @@ in
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -30866,7 +31040,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.1"
       sources."error-ex-1.3.1"
-      sources."es6-promise-4.2.2"
+      sources."es6-promise-4.2.4"
       sources."escape-string-regexp-1.0.5"
       sources."exit-hook-1.1.1"
       sources."extend-3.0.1"
@@ -30963,7 +31137,7 @@ in
       sources."request-progress-2.0.1"
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."signal-exit-3.0.2"
       sources."sntp-2.1.0"
       sources."spdx-correct-1.0.2"
@@ -30984,7 +31158,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."verror-1.10.0"
       sources."which-1.3.0"
@@ -31208,7 +31382,7 @@ in
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.0.0"
-      sources."simple-git-1.85.0"
+      sources."simple-git-1.89.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -31410,7 +31584,7 @@ in
       })
       sources."cache-base-1.0.1"
       sources."chalk-1.1.3"
-      (sources."class-utils-0.3.5" // {
+      (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
         ];
@@ -31441,7 +31615,7 @@ in
       sources."expand-tilde-2.0.2"
       sources."extend-3.0.1"
       sources."extend-shallow-2.0.1"
-      (sources."extglob-2.0.3" // {
+      (sources."extglob-2.0.4" // {
         dependencies = [
           sources."kind-of-5.1.0"
         ];
@@ -31476,7 +31650,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."globule-0.1.0"
-      sources."glogg-1.0.0"
+      sources."glogg-1.0.1"
       sources."graceful-fs-3.0.11"
       (sources."gulp-util-3.0.8" // {
         dependencies = [
@@ -31825,8 +31999,9 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.5.7"
-      (sources."uglify-js-3.3.5" // {
+      (sources."uglify-js-3.3.8" // {
         dependencies = [
+          sources."commander-2.13.0"
           sources."source-map-0.6.1"
         ];
       })
@@ -31845,14 +32020,14 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "3.19.0";
+    version = "3.19.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-3.19.0.tgz";
-      sha512 = "34pv92cpzkfq8r6q0k2r47n2pj7v5n0hnldrjgh443cacc1ifbbh5n0xfgrd93l88w3pwk7gc64xnipw37d6cbk5zv9kawy88b1j6bs";
+      url = "https://registry.npmjs.org/ionic/-/ionic-3.19.1.tgz";
+      sha512 = "11hpd51qzi8fms87q1xqwc347dp9mxhvzci2jlw94ayvs1v2n3iaqwdic1g1213k91xwzp52z6y17a08via45l936bgda3pi6zfbmsk";
     };
     dependencies = [
       sources."@ionic/cli-framework-0.1.2"
-      (sources."@ionic/cli-utils-1.19.0" // {
+      (sources."@ionic/cli-utils-1.19.1" // {
         dependencies = [
           sources."bytes-1.0.0"
           sources."debug-2.6.9"
@@ -31922,12 +32097,12 @@ in
       sources."dargs-5.1.0"
       sources."debug-3.1.0"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-3.4.0"
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."error-7.0.2"
       sources."escape-html-1.0.3"
@@ -31959,7 +32134,11 @@ in
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.1.11"
       sources."has-flag-2.0.0"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-parser-js-0.4.9"
       sources."http-proxy-1.16.2"
       sources."http-proxy-middleware-0.17.4"
@@ -31987,7 +32166,7 @@ in
       sources."kind-of-3.2.2"
       sources."lazystream-1.0.0"
       sources."leek-0.0.24"
-      sources."livereload-js-2.2.2"
+      sources."livereload-js-2.3.0"
       sources."lodash-4.17.4"
       sources."lodash._baseassign-3.2.0"
       sources."lodash._basecopy-3.0.1"
@@ -32027,7 +32206,7 @@ in
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."opn-5.1.0"
+      sources."opn-5.2.0"
       sources."os-name-2.0.1"
       sources."os-tmpdir-1.0.2"
       sources."parse-glob-3.0.4"
@@ -32066,7 +32245,7 @@ in
       sources."safe-buffer-5.1.1"
       sources."safe-json-parse-1.0.1"
       sources."sax-1.1.4"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."set-immediate-shim-1.0.1"
@@ -32083,22 +32262,23 @@ in
       sources."strip-ansi-4.0.0"
       sources."superagent-3.8.2"
       sources."supports-color-4.5.0"
-      (sources."tar-4.2.0" // {
+      (sources."tar-4.3.0" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
       sources."tar-stream-1.5.5"
       sources."through-2.3.8"
-      sources."tiny-lr-1.0.5"
+      sources."tiny-lr-1.1.0"
       sources."tmp-0.0.33"
-      sources."tslib-1.8.1"
+      sources."tslib-1.9.0"
       sources."type-is-1.6.15"
       sources."ultron-1.1.1"
       sources."unpipe-1.0.0"
+      sources."untildify-3.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."websocket-driver-0.7.0"
       sources."websocket-extensions-0.1.3"
@@ -32249,7 +32429,7 @@ in
       sources."check-error-1.0.2"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."deep-eql-3.0.1"
       sources."deep-equal-1.0.1"
@@ -32288,7 +32468,7 @@ in
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."thriftrw-3.11.1"
-      sources."type-detect-4.0.5"
+      sources."type-detect-4.0.7"
       sources."typescript-2.4.2"
       sources."vscode-jsonrpc-3.5.0"
       sources."vscode-languageserver-3.5.0"
@@ -32453,7 +32633,7 @@ in
     dependencies = [
       sources."abbrev-1.1.1"
       sources."bluebird-3.5.1"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."config-chain-1.1.11"
       sources."editorconfig-0.13.3"
       sources."ini-1.3.5"
@@ -32463,7 +32643,7 @@ in
       sources."nopt-3.0.6"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."sigmund-1.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -32516,6 +32696,30 @@ in
     production = true;
     bypassCache = false;
   };
+  json-diff = nodeEnv.buildNodePackage {
+    name = "json-diff";
+    packageName = "json-diff";
+    version = "0.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/json-diff/-/json-diff-0.5.2.tgz";
+      sha512 = "03nqzpjpb0422fm5k7prlfcyb7wbs7dq7arwzq0za8zq3jy4wvbjjsbm25vr8ar5y6y87k9y1iqyc018zfysh2b675ql3qx6jjimfip";
+    };
+    dependencies = [
+      sources."cli-color-0.1.7"
+      sources."difflib-0.2.4"
+      sources."dreamopt-0.6.0"
+      sources."es5-ext-0.8.2"
+      sources."heap-0.2.6"
+      sources."wordwrap-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JSON diff";
+      homepage = https://github.com/andreyvit/json-diff;
+    };
+    production = true;
+    bypassCache = false;
+  };
   json-refs = nodeEnv.buildNodePackage {
     name = "json-refs";
     packageName = "json-refs";
@@ -32631,13 +32835,13 @@ in
       sources."decamelize-1.2.0"
       sources."deep-extend-0.4.2"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."errorhandler-1.5.0"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -32675,7 +32879,11 @@ in
       sources."has-flag-2.0.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."import-lazy-2.1.0"
@@ -32755,14 +32963,14 @@ in
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
       sources."request-2.83.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       sources."send-0.16.1"
       sources."serve-static-1.13.1"
@@ -32794,7 +33002,7 @@ in
       sources."update-notifier-2.3.0"
       sources."url-parse-lax-1.0.0"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."which-1.3.0"
@@ -32810,7 +33018,7 @@ in
       sources."xdg-basedir-3.0.0"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
-      (sources."yargs-10.1.1" // {
+      (sources."yargs-10.1.2" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
           sources."is-fullwidth-code-point-1.0.0"
@@ -32865,6 +33073,11 @@ in
       sources."after-0.8.2"
       sources."agent-base-2.1.1"
       sources."ajv-5.5.2"
+      (sources."amqplib-0.5.2" // {
+        dependencies = [
+          sources."readable-stream-1.1.14"
+        ];
+      })
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."anymatch-1.3.2"
@@ -32902,6 +33115,7 @@ in
       sources."bcrypt-pbkdf-1.0.1"
       sources."better-assert-1.0.2"
       sources."binary-extensions-1.11.0"
+      sources."bitsyntax-0.0.4"
       sources."bl-1.1.2"
       sources."blob-0.0.4"
       sources."bluebird-3.5.1"
@@ -32915,7 +33129,7 @@ in
         ];
       })
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.2"
+      sources."browser-pack-6.0.3"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -32924,6 +33138,7 @@ in
       (sources."browserify-14.5.0" // {
         dependencies = [
           sources."acorn-5.3.0"
+          sources."combine-source-map-0.7.2"
           sources."hash-base-2.0.2"
           sources."isarray-0.0.1"
           sources."source-map-0.5.7"
@@ -32936,6 +33151,7 @@ in
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
       sources."buffer-5.0.8"
+      sources."buffer-more-ints-0.0.2"
       sources."buffer-xor-1.0.3"
       sources."buildmail-4.0.1"
       sources."builtin-status-codes-3.0.0"
@@ -32946,13 +33162,13 @@ in
       sources."chalk-1.1.3"
       sources."chokidar-1.7.0"
       sources."cipher-base-1.0.4"
-      sources."circular-json-0.4.0"
+      sources."circular-json-0.5.1"
       sources."co-4.6.0"
       sources."colors-1.1.2"
       sources."combine-lists-1.0.1"
-      sources."combine-source-map-0.7.2"
+      sources."combine-source-map-0.8.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
@@ -32994,7 +33210,7 @@ in
       sources."defined-1.0.0"
       sources."degenerator-1.0.4"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."deps-sort-2.0.0"
       sources."des.js-1.0.0"
       sources."detective-4.7.1"
@@ -33007,7 +33223,7 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
       sources."elliptic-6.4.0"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."engine.io-3.1.4"
       sources."engine.io-client-3.1.4"
       sources."engine.io-parser-2.1.2"
@@ -33075,7 +33291,11 @@ in
       sources."hmac-drbg-1.0.1"
       sources."hoek-4.2.0"
       sources."htmlescape-1.1.1"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-proxy-1.16.2"
       sources."http-proxy-agent-1.0.0"
       sources."http-signature-1.2.0"
@@ -33128,7 +33348,7 @@ in
       sources."libqp-1.1.0"
       sources."lodash-4.17.4"
       sources."lodash.memoize-3.0.4"
-      (sources."log4js-2.4.1" // {
+      (sources."log4js-2.5.2" // {
         dependencies = [
           sources."assert-plus-0.2.0"
           sources."aws-sign2-0.6.0"
@@ -33269,16 +33489,16 @@ in
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."request-2.83.0"
-      sources."requestretry-1.12.2"
+      sources."requestretry-1.13.0"
       sources."requires-port-1.0.0"
       sources."resolve-1.5.0"
       sources."rimraf-2.6.2"
       sources."ripemd160-2.0.1"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-immediate-shim-1.0.1"
       sources."setprototypeof-1.0.3"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."slack-node-0.2.0"
@@ -33300,7 +33520,7 @@ in
       sources."statuses-1.4.0"
       sources."stream-browserify-2.0.1"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.7.2"
+      sources."stream-http-2.8.0"
       sources."stream-splicer-2.0.0"
       sources."streamroller-0.7.0"
       sources."string_decoder-1.0.3"
@@ -33350,7 +33570,7 @@ in
       })
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."uws-0.14.5"
       sources."verror-1.10.0"
       sources."vm-browserify-0.0.4"
@@ -33359,7 +33579,7 @@ in
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
       sources."ws-3.3.3"
-      sources."xmlhttprequest-ssl-1.5.4"
+      sources."xmlhttprequest-ssl-1.5.5"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.1"
       sources."yeast-0.1.2"
@@ -33494,7 +33714,7 @@ in
       sources."readable-stream-1.1.14"
       (sources."response-time-2.3.2" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."depd-1.1.2"
         ];
       })
       sources."rndm-1.2.0"
@@ -33508,7 +33728,7 @@ in
       sources."serve-index-1.7.3"
       (sources."serve-static-1.10.3" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."depd-1.1.2"
           sources."ms-0.7.1"
         ];
       })
@@ -33537,10 +33757,10 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "2.6.0";
+    version = "2.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-2.6.0.tgz";
-      sha512 = "2l5xsq07gg1gh9h5hkwsxcchj28xj5crm2hifyvzwx2pb9csbyg8hk75d6ab40wd5r7syyyzzbigr0crlvigc41wb7i44zvxv4zg1qj";
+      url = "https://registry.npmjs.org/lerna/-/lerna-2.8.0.tgz";
+      sha512 = "2admd5d0lmnck38apsqbblrk0pffnq52s25bb591q8sazykcfz68kz9pn534sgazjl26p57y23758n8n7xvw0ilb9hd5ri6j34i7kxn";
     };
     dependencies = [
       sources."JSONStream-1.3.2"
@@ -33683,15 +33903,17 @@ in
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
+      sources."json-parse-better-errors-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
       sources."jsonparse-1.3.1"
       sources."kind-of-3.2.2"
       sources."lazy-cache-1.0.4"
       sources."lcid-1.0.0"
-      (sources."load-json-file-3.0.0" // {
+      (sources."load-json-file-4.0.0" // {
         dependencies = [
-          sources."parse-json-3.0.0"
+          sources."parse-json-4.0.0"
+          sources."pify-3.0.0"
           sources."strip-bom-3.0.0"
         ];
       })
@@ -33753,13 +33975,12 @@ in
       sources."process-nextick-args-1.0.7"
       sources."pseudomap-1.0.2"
       sources."q-1.5.1"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."read-cmd-shim-1.0.1"
-      (sources."read-pkg-2.0.0" // {
+      (sources."read-pkg-3.0.0" // {
         dependencies = [
-          sources."load-json-file-2.0.0"
-          sources."path-type-2.0.0"
-          sources."strip-bom-3.0.0"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
         ];
       })
       sources."read-pkg-up-1.0.1"
@@ -33778,7 +33999,7 @@ in
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -33808,7 +34029,7 @@ in
       (sources."temp-write-3.4.0" // {
         dependencies = [
           sources."pify-3.0.0"
-          sources."uuid-3.1.0"
+          sources."uuid-3.2.1"
         ];
       })
       sources."tempfile-1.1.1"
@@ -33860,7 +34081,11 @@ in
           })
           sources."execa-0.7.0"
           sources."is-fullwidth-code-point-1.0.0"
+          sources."load-json-file-2.0.0"
+          sources."path-type-2.0.0"
+          sources."read-pkg-2.0.0"
           sources."read-pkg-up-2.0.0"
+          sources."strip-bom-3.0.0"
         ];
       })
       sources."yargs-parser-7.0.0"
@@ -33874,6 +34099,116 @@ in
     production = true;
     bypassCache = false;
   };
+  less = nodeEnv.buildNodePackage {
+    name = "less";
+    packageName = "less";
+    version = "2.7.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/less/-/less-2.7.3.tgz";
+      sha512 = "04jbm6adzhknlcwjjdd94n8dhqwgsg0fyampis9854jf23z9g9lxs8593908ymwldl88bjipf9b9rw6xfibb29vv7s0c44wllj4ixr8";
+    };
+    dependencies = [
+      sources."ajv-4.11.8"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.3"
+      sources."assert-plus-0.2.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.6.0"
+      sources."aws4-1.6.0"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."boom-2.10.1"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.5"
+      sources."core-util-is-1.0.2"
+      sources."cryptiles-2.0.5"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.1"
+      sources."errno-0.1.6"
+      sources."extend-3.0.1"
+      sources."extsprintf-1.3.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.1.4"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-1.0.5"
+      sources."har-validator-4.2.1"
+      sources."hawk-3.1.3"
+      sources."hoek-2.16.3"
+      sources."http-signature-1.1.1"
+      sources."image-size-0.5.5"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-stable-stringify-1.0.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonify-0.0.0"
+      (sources."jsprim-1.4.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."mime-1.6.0"
+      sources."mime-db-1.30.0"
+      sources."mime-types-2.1.17"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-0.2.0"
+      sources."promise-7.3.1"
+      sources."prr-1.0.1"
+      sources."punycode-1.4.1"
+      sources."qs-6.4.0"
+      sources."request-2.81.0"
+      sources."safe-buffer-5.1.1"
+      sources."sntp-1.0.9"
+      sources."source-map-0.5.7"
+      (sources."sshpk-1.13.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uuid-3.2.1"
+      sources."verror-1.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Leaner CSS";
+      homepage = http://lesscss.org/;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  less-plugin-clean-css = nodeEnv.buildNodePackage {
+    name = "less-plugin-clean-css";
+    packageName = "less-plugin-clean-css";
+    version = "1.5.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/less-plugin-clean-css/-/less-plugin-clean-css-1.5.1.tgz";
+      sha1 = "cc57af7aa3398957e56decebe63cb60c23429703";
+    };
+    dependencies = [
+      sources."amdefine-1.0.1"
+      sources."clean-css-3.4.28"
+      sources."commander-2.8.1"
+      sources."graceful-readlink-1.0.1"
+      sources."source-map-0.4.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "clean-css plugin for less.js";
+      homepage = http://lesscss.org/;
+    };
+    production = true;
+    bypassCache = false;
+  };
   lcov-result-merger = nodeEnv.buildNodePackage {
     name = "lcov-result-merger";
     packageName = "lcov-result-merger";
@@ -34073,12 +34408,12 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
       sources."emoji-regex-6.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."engine.io-3.1.4"
       sources."engine.io-client-3.1.4"
       sources."engine.io-parser-2.1.2"
@@ -34120,7 +34455,11 @@ in
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
       sources."html-entities-1.2.1"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."indexof-0.0.1"
@@ -34171,7 +34510,7 @@ in
       sources."object-component-0.0.3"
       sources."object.omit-2.0.1"
       sources."on-finished-2.3.0"
-      sources."opn-5.1.0"
+      sources."opn-5.2.0"
       sources."parse-glob-3.0.4"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
@@ -34232,12 +34571,12 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."uws-0.14.5"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."ws-3.3.3"
-      sources."xmlhttprequest-ssl-1.5.4"
+      sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -34284,11 +34623,11 @@ in
       sources."core-util-is-1.0.2"
       sources."cors-2.8.4"
       sources."debug-2.2.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."duplexer-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."event-stream-3.3.4"
@@ -34308,7 +34647,11 @@ in
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.1.11"
       sources."http-auth-3.1.3"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-parser-js-0.4.9"
       sources."inherits-2.0.3"
       sources."is-binary-path-1.0.1"
@@ -34345,7 +34688,7 @@ in
       sources."object.omit-2.0.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.1"
-      sources."opn-5.1.0"
+      sources."opn-5.2.0"
       sources."parse-glob-3.0.4"
       sources."parseurl-1.3.2"
       sources."path-is-absolute-1.0.1"
@@ -34393,7 +34736,7 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.0"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."websocket-driver-0.7.0"
       sources."websocket-extensions-0.1.3"
@@ -34446,10 +34789,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "4.1.0";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz";
-      sha512 = "0s6517vczlh2vm9syq4kpwkwrr7panih1cip6aq8qjn9cw2gvbl14lql0y81dh10ims8p1f2qm4vkbifcrs2hw1v7cca9j71n76f5fi";
+      url = "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz";
+      sha512 = "3rxvm15qz9qdiyihc9pq4kc008iz89cqdqjlca43swmk3fc7bydlaqk1qyhaj19r5m8cxxrpiwxz5cwrp9im26fin4sgqdfbxs7ch5s";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -34497,7 +34840,7 @@ in
       sources."argparse-1.0.9"
       sources."asynckit-0.4.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.1"
       sources."core-util-is-1.0.2"
@@ -34699,7 +35042,7 @@ in
       sources."typedarray-0.0.6"
       sources."uid-number-0.0.5"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."validate-npm-package-name-3.0.0"
       sources."verror-1.10.0"
@@ -34824,7 +35167,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."which-1.3.0"
       sources."wide-align-1.1.2"
@@ -34928,12 +35271,12 @@ in
       sources."default-browser-id-1.0.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-libc-1.0.3"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."error-ex-1.3.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
@@ -34961,7 +35304,11 @@ in
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
       sources."hosted-git-info-2.5.0"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.19"
       sources."indent-string-2.1.0"
@@ -35042,7 +35389,7 @@ in
       sources."qs-6.5.1"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-2.3.3"
@@ -35091,13 +35438,13 @@ in
       sources."untildify-2.1.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       (sources."v8-debug-1.0.1" // {
         dependencies = [
           sources."glob-7.1.2"
           sources."qs-6.4.0"
           sources."rimraf-2.6.2"
-          sources."semver-5.4.1"
+          sources."semver-5.5.0"
         ];
       })
       sources."v8-profiler-5.7.0"
@@ -35219,7 +35566,7 @@ in
       sources."process-nextick-args-1.0.7"
       sources."punycode-1.4.1"
       sources."qs-6.4.0"
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -35228,7 +35575,7 @@ in
       sources."request-2.81.0"
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sntp-1.0.9"
@@ -35249,7 +35596,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."uid-number-0.0.6"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
@@ -35266,148 +35613,252 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "1.14.10";
+    version = "1.14.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.14.10.tgz";
-      sha512 = "02jb9bm9vxlzipgnh193ayzhynymmvl9m593ajjqclg7jlrdlzmkhn445ywqmicfxnc8hfdablnx2hkgw441hjva4fp6iwz4fj3fwwm";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.14.11.tgz";
+      sha512 = "11wlzxf5xjrdybvf0lr1acr7bqhdy7s66m1w5cm02g8pzbd567xziphv1pjx6i27s34qh18rjhp6prc1rapp68x1lr8gkaxi8zfwvfz";
     };
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.0"
-      sources."anymatch-1.3.2"
-      sources."arr-diff-2.0.0"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+        ];
+      })
+      sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
-      sources."array-unique-0.2.1"
+      sources."arr-union-3.1.0"
+      sources."array-unique-0.3.2"
+      sources."assign-symbols-1.0.0"
       sources."async-each-1.0.1"
+      sources."atob-2.0.3"
       sources."balanced-match-1.0.0"
-      sources."binary-extensions-1.11.0"
-      sources."boxen-1.3.0"
-      sources."brace-expansion-1.1.8"
-      (sources."braces-1.8.5" // {
+      (sources."base-0.11.2" // {
         dependencies = [
-          sources."kind-of-4.0.0"
+          (sources."define-property-1.0.0" // {
+            dependencies = [
+              sources."kind-of-6.0.2"
+            ];
+          })
+          sources."kind-of-3.2.2"
         ];
       })
+      sources."binary-extensions-1.11.0"
+      sources."boxen-1.3.0"
+      sources."brace-expansion-1.1.8"
+      sources."braces-2.3.0"
+      sources."cache-base-1.0.1"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.0"
       sources."chalk-2.3.0"
-      sources."chokidar-1.7.0"
+      (sources."chokidar-2.0.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."has-values-0.1.4"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-3.2.2"
+        ];
+      })
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
       sources."cli-boxes-1.0.0"
+      sources."collection-visit-1.0.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
+      sources."component-emitter-1.2.1"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.1"
+      sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      sources."debug-2.6.9"
+      sources."debug-3.1.0"
+      sources."decode-uri-component-0.2.0"
       sources."deep-extend-0.4.2"
+      sources."define-property-1.0.0"
       sources."dot-prop-4.2.0"
       sources."duplexer-0.1.1"
       sources."duplexer3-0.1.4"
       sources."escape-string-regexp-1.0.5"
       sources."event-stream-3.3.4"
       sources."execa-0.7.0"
-      sources."expand-brackets-0.1.5"
-      sources."expand-range-1.8.2"
-      sources."extglob-0.3.2"
-      sources."filename-regex-2.0.1"
-      sources."fill-range-2.2.3"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."extend-shallow-2.0.1"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."fill-range-4.0.0"
       sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
+      sources."fragment-cache-0.2.1"
       sources."from-0.1.7"
       sources."fsevents-1.1.3"
       sources."get-stream-3.0.0"
-      sources."glob-base-0.3.0"
-      sources."glob-parent-2.0.0"
+      sources."get-value-2.0.6"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.1.11"
       sources."has-flag-2.0.0"
+      sources."has-value-1.0.0"
+      sources."has-values-1.0.0"
       sources."ignore-by-default-1.0.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
+      sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
-      sources."is-extglob-1.0.0"
+      sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-glob-2.0.1"
+      sources."is-glob-4.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."is-obj-1.0.1"
+      (sources."is-odd-1.0.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
       sources."is-path-inside-1.0.1"
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
+      sources."is-plain-object-2.0.4"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.1.0"
       sources."is-stream-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-2.1.0"
-      sources."kind-of-3.2.2"
+      sources."isobject-3.0.1"
+      sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
+      sources."lazy-cache-2.0.2"
       sources."lowercase-keys-1.0.0"
       sources."lru-cache-4.1.1"
       sources."make-dir-1.1.0"
+      sources."map-cache-0.2.2"
       sources."map-stream-0.1.0"
-      sources."micromatch-2.3.11"
+      sources."map-visit-1.0.0"
+      (sources."micromatch-3.1.5" // {
+        dependencies = [
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+        ];
+      })
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
+      sources."mixin-deep-1.3.0"
       sources."ms-2.0.0"
       sources."nan-2.8.0"
+      (sources."nanomatch-1.2.7" // {
+        dependencies = [
+          sources."kind-of-5.1.0"
+        ];
+      })
       sources."nopt-1.0.10"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
-      sources."object.omit-2.0.1"
+      sources."object-copy-0.1.0"
+      sources."object-visit-1.0.1"
+      sources."object.pick-1.3.0"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."parse-glob-3.0.4"
+      sources."pascalcase-0.1.1"
+      sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."pause-stream-0.0.11"
       sources."pify-3.0.0"
+      sources."posix-character-classes-0.1.1"
       sources."prepend-http-1.0.4"
-      sources."preserve-0.2.0"
       sources."process-nextick-args-1.0.7"
       sources."ps-tree-1.1.0"
       sources."pseudomap-1.0.2"
       sources."pstree.remy-1.1.0"
-      (sources."randomatic-1.1.7" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-        ];
-      })
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."readable-stream-2.3.3"
       sources."readdirp-2.1.0"
-      sources."regex-cache-0.4.4"
+      sources."regex-not-1.0.0"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
+      sources."resolve-url-0.2.1"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
+      sources."set-getter-0.1.0"
       sources."set-immediate-shim-1.0.1"
+      sources."set-value-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
+      (sources."snapdragon-0.8.1" // {
+        dependencies = [
+          (sources."define-property-0.2.5" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."snapdragon-node-2.1.1"
+      sources."snapdragon-util-3.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.1"
+      sources."source-map-url-0.4.0"
       sources."split-0.3.3"
+      (sources."split-string-3.1.0" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."static-extend-0.1.2"
       sources."stream-combiner-0.0.4"
       sources."string-width-2.1.1"
       sources."string_decoder-1.0.3"
@@ -35418,12 +35869,39 @@ in
       sources."term-size-1.2.0"
       sources."through-2.3.8"
       sources."timed-out-4.0.1"
+      sources."to-object-path-0.3.0"
+      (sources."to-regex-3.0.1" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+        ];
+      })
+      sources."to-regex-range-2.1.1"
       sources."touch-3.1.0"
-      sources."undefsafe-0.0.3"
+      (sources."undefsafe-2.0.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."set-value-0.4.3"
+        ];
+      })
       sources."unique-string-1.0.0"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+        ];
+      })
       sources."unzip-response-2.0.1"
       sources."update-notifier-2.3.0"
+      sources."urix-0.1.0"
       sources."url-parse-lax-1.0.0"
+      sources."use-2.0.2"
       sources."util-deprecate-1.0.2"
       sources."which-1.3.0"
       sources."widest-line-2.0.0"
@@ -35539,7 +36017,7 @@ in
       sources."deep-extend-0.4.2"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."dicer-0.2.5"
       sources."dom-serializer-0.1.0"
@@ -35549,7 +36027,7 @@ in
       sources."duplexify-3.5.3"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.1"
@@ -35605,7 +36083,7 @@ in
       sources."hawk-3.1.3"
       (sources."help-me-1.1.0" // {
         dependencies = [
-          sources."pump-2.0.0"
+          sources."pump-2.0.1"
         ];
       })
       sources."hoek-2.16.3"
@@ -35614,7 +36092,11 @@ in
           sources."domelementtype-1.3.0"
         ];
       })
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.1.1"
       sources."i18next-1.10.6"
       sources."i18next-client-1.10.3"
@@ -35798,13 +36280,13 @@ in
       sources."process-nextick-args-1.0.7"
       sources."proxy-addr-1.1.5"
       sources."pump-1.0.3"
-      sources."pumpify-1.3.6"
+      sources."pumpify-1.4.0"
       sources."punycode-1.4.1"
       sources."qs-6.4.0"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.0"
       sources."raw-body-2.2.0"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."readable-stream-2.3.3"
       sources."reinterval-1.1.0"
       sources."remove-trailing-separator-1.1.0"
@@ -35866,8 +36348,8 @@ in
       sources."utf7-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.0"
-      sources."uue-3.1.0"
-      sources."uuid-3.1.0"
+      sources."uue-3.1.1"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."websocket-stream-5.1.1"
@@ -35987,7 +36469,7 @@ in
       sources."qs-0.5.1"
       sources."rai-0.1.12"
       sources."range-parser-0.0.4"
-      sources."raw-socket-1.5.1"
+      sources."raw-socket-1.5.2"
       sources."redis-0.7.3"
       sources."semver-1.1.0"
       sources."send-0.1.0"
@@ -36200,7 +36682,7 @@ in
       sources."underscore-1.4.4"
       sources."underscore.string-2.3.3"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."walk-2.3.9"
       sources."wide-align-1.1.2"
@@ -36257,7 +36739,7 @@ in
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."colors-1.0.3"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       (sources."configstore-1.4.0" // {
         dependencies = [
@@ -36353,7 +36835,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.6"
       sources."nconf-0.7.2"
-      sources."needle-2.1.0"
+      sources."needle-2.1.1"
       sources."nested-error-stacks-1.0.2"
       sources."node-alias-1.0.4"
       sources."node-status-codes-1.0.0"
@@ -36395,7 +36877,7 @@ in
       sources."pseudomap-1.0.2"
       sources."punycode-1.3.2"
       sources."querystring-0.2.0"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."rc-config-loader-2.0.1"
       sources."read-all-stream-3.1.0"
       sources."read-pkg-1.1.0"
@@ -36414,7 +36896,7 @@ in
       sources."rx-4.1.0"
       sources."safe-buffer-5.1.1"
       sources."sax-1.2.4"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       sources."semver-utils-1.1.1"
       sources."set-blocking-2.0.0"
@@ -36427,7 +36909,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."slide-1.1.6"
-      (sources."snyk-1.67.0" // {
+      (sources."snyk-1.69.3" // {
         dependencies = [
           sources."async-0.9.2"
           sources."camelcase-3.0.0"
@@ -36454,7 +36936,7 @@ in
       (sources."snyk-nuget-plugin-1.3.9" // {
         dependencies = [
           sources."debug-3.1.0"
-          sources."es6-promise-4.2.2"
+          sources."es6-promise-4.2.4"
         ];
       })
       (sources."snyk-php-plugin-1.3.2" // {
@@ -36463,7 +36945,7 @@ in
         ];
       })
       sources."snyk-policy-1.10.1"
-      sources."snyk-python-plugin-1.4.1"
+      sources."snyk-python-plugin-1.5.3"
       sources."snyk-recursive-readdir-2.0.0"
       sources."snyk-resolve-1.0.0"
       (sources."snyk-resolve-deps-1.7.0" // {
@@ -36473,7 +36955,7 @@ in
           sources."uuid-2.0.3"
         ];
       })
-      sources."snyk-sbt-plugin-1.2.0"
+      sources."snyk-sbt-plugin-1.2.2"
       sources."snyk-tree-1.0.0"
       sources."snyk-try-require-1.2.0"
       sources."spawn-please-0.3.0"
@@ -36531,7 +37013,7 @@ in
       sources."url-0.11.0"
       sources."url-parse-lax-1.0.0"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."which-1.3.0"
       sources."which-module-1.0.0"
@@ -36569,7 +37051,7 @@ in
       sha512 = "0hbwm017cl5ybzw14l44mbinhnv38jrnbpg1ngkdibhc5hiimm8hqr2pi5dzh6flvxr0x6nym93029i7j41clr6rlvn1ab6r5cgdl4f";
     };
     dependencies = [
-      sources."agent-base-4.1.2"
+      sources."agent-base-4.2.0"
       sources."ansi-escapes-3.0.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.0"
@@ -36595,7 +37077,7 @@ in
       sources."debug-3.1.0"
       sources."decamelize-1.2.0"
       sources."error-ex-1.3.1"
-      sources."es6-promise-4.2.2"
+      sources."es6-promise-4.2.4"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
@@ -36660,7 +37142,7 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -36810,17 +37292,17 @@ in
       sources."decamelize-1.2.0"
       sources."define-properties-1.1.2"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."dicer-0.2.5"
       sources."diff-1.4.0"
       sources."dnscache-1.0.1"
       sources."dom-storage-2.0.2"
       sources."domino-1.0.30"
-      sources."dtrace-provider-0.8.5"
+      sources."dtrace-provider-0.8.6"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."entities-1.1.1"
       sources."error-ex-1.3.1"
       sources."escape-html-1.0.3"
@@ -36871,7 +37353,11 @@ in
       sources."hoek-4.2.0"
       sources."hosted-git-info-2.5.0"
       sources."hot-shots-4.8.0"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."inflight-1.0.6"
@@ -36964,11 +37450,11 @@ in
       sources."rimraf-2.4.5"
       sources."safe-buffer-5.1.1"
       sources."safe-json-stringify-1.0.4"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."send-0.16.1"
       sources."serve-favicon-2.4.5"
       sources."serve-static-1.13.1"
-      (sources."service-runner-2.4.8" // {
+      (sources."service-runner-2.5.0" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."minimist-0.0.8"
@@ -37007,7 +37493,7 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
@@ -37092,7 +37578,7 @@ in
       sources."deep-equal-1.0.1"
       sources."deep-extend-0.4.2"
       sources."dns-equal-1.0.0"
-      sources."dns-packet-1.3.0"
+      sources."dns-packet-1.3.1"
       sources."dns-txt-2.0.2"
       sources."end-of-stream-1.4.1"
       sources."error-ex-1.3.1"
@@ -37161,7 +37647,7 @@ in
       sources."minimist-1.2.0"
       sources."mkdirp-0.3.5"
       sources."ms-2.0.0"
-      sources."multicast-dns-6.2.1"
+      sources."multicast-dns-6.2.2"
       sources."multicast-dns-service-types-1.1.0"
       sources."mute-stream-0.0.6"
       sources."network-address-1.1.2"
@@ -37207,7 +37693,7 @@ in
       sources."random-iterate-1.0.1"
       sources."randombytes-2.0.6"
       sources."range-parser-1.2.0"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."re-emitter-1.1.3"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
@@ -37220,10 +37706,10 @@ in
       sources."run-async-2.3.0"
       sources."run-parallel-1.1.6"
       sources."run-series-1.1.4"
-      sources."rusha-0.8.11"
+      sources."rusha-0.8.12"
       sources."rx-4.1.0"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."server-destroy-1.0.1"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
@@ -37531,14 +38017,14 @@ in
       sources."request-2.16.6"
       (sources."response-time-2.3.2" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."depd-1.1.2"
         ];
       })
       sources."rimraf-2.6.2"
       sources."rndm-1.2.0"
       sources."run-parallel-1.1.6"
       sources."run-series-1.1.4"
-      sources."rusha-0.8.11"
+      sources."rusha-0.8.12"
       sources."safe-buffer-5.1.1"
       (sources."send-0.13.0" // {
         dependencies = [
@@ -37549,7 +38035,7 @@ in
       sources."serve-index-1.7.3"
       (sources."serve-static-1.10.3" // {
         dependencies = [
-          sources."depd-1.1.1"
+          sources."depd-1.1.2"
           sources."ms-0.7.1"
         ];
       })
@@ -37659,7 +38145,7 @@ in
       sources."caseless-0.11.0"
       sources."chalk-1.1.3"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.5.0"
       sources."core-util-is-1.0.2"
@@ -37763,10 +38249,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.10.1";
+    version = "1.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.10.1.tgz";
-      sha512 = "1qrig7kh73z8801vicnvjfj3y3kiwp0zsxwfdk9700dda4bwdi7wk6kayvxd9fkw1bbbbxb28jc4ddxcl9hamzjqgyrndrg3ghg3x4l";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.10.2.tgz";
+      sha512 = "1k0h7nzg4lg3lf86xy0z7adx2z7nhj8r1y7c5s0gwhfb7qn4qp0845w5agq9zy48ll7sldv7ak2haypkm7akspajvdq25hn0ahlvisd";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -37811,7 +38297,7 @@ in
         ];
       })
       sources."brorand-1.1.0"
-      sources."browser-pack-6.0.2"
+      sources."browser-pack-6.0.3"
       (sources."browser-resolve-1.11.2" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -37820,6 +38306,7 @@ in
       (sources."browserify-13.3.0" // {
         dependencies = [
           sources."acorn-5.3.0"
+          sources."combine-source-map-0.7.2"
           (sources."concat-stream-1.5.2" // {
             dependencies = [
               sources."readable-stream-2.0.6"
@@ -37849,7 +38336,7 @@ in
       sources."chokidar-1.7.0"
       sources."cipher-base-1.0.4"
       sources."colors-1.1.2"
-      sources."combine-source-map-0.7.2"
+      sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.0"
       sources."console-browserify-1.1.0"
@@ -37986,13 +38473,13 @@ in
       sources."ripemd160-2.0.1"
       sources."safe-buffer-5.1.1"
       sources."set-immediate-shim-1.0.1"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."source-map-0.5.7"
       sources."stream-browserify-2.0.1"
       sources."stream-combiner2-1.1.1"
-      sources."stream-http-2.7.2"
+      sources."stream-http-2.8.0"
       sources."stream-splicer-2.0.0"
       sources."string-stream-0.0.7"
       sources."string_decoder-0.10.31"
@@ -38089,7 +38576,7 @@ in
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."console-control-strings-1.1.0"
       sources."constantinople-3.1.0"
       sources."content-disposition-0.5.2"
@@ -38105,12 +38592,12 @@ in
       sources."deep-extend-0.4.2"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."doctypes-1.1.0"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."errno-0.1.6"
       sources."escape-html-1.0.3"
@@ -38142,7 +38629,11 @@ in
       sources."has-unicode-2.0.1"
       sources."hawk-3.1.3"
       sources."hoek-2.16.3"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.1.1"
       sources."httpolyglot-0.1.2"
       sources."iconv-lite-0.4.19"
@@ -38250,14 +38741,14 @@ in
       sources."qtdatastream-0.7.1"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."readable-stream-2.3.3"
       sources."repeat-string-1.6.1"
       sources."request-2.81.0"
       sources."resolve-1.5.0"
       sources."right-align-0.1.3"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."send-0.16.1"
       (sources."serve-favicon-2.3.2" // {
         dependencies = [
@@ -38298,7 +38789,7 @@ in
       sources."unzip-response-1.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."void-elements-2.0.1"
@@ -38335,7 +38826,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base62-0.1.1"
       sources."brace-expansion-1.1.8"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."commoner-0.10.8"
       sources."concat-map-0.0.1"
       sources."defined-1.0.0"
@@ -38372,6 +38863,71 @@ in
     production = true;
     bypassCache = false;
   };
+  react-native-cli = nodeEnv.buildNodePackage {
+    name = "react-native-cli";
+    packageName = "react-native-cli";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/react-native-cli/-/react-native-cli-2.0.1.tgz";
+      sha1 = "f2cd3c7aa1b83828cdfba630e2dfd817df766d54";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."async-0.2.10"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.8"
+      sources."chalk-1.1.3"
+      sources."colors-0.6.2"
+      sources."concat-map-0.0.1"
+      sources."cycle-1.0.3"
+      sources."deep-equal-1.0.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."eyes-0.1.8"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."has-ansi-2.0.0"
+      sources."i-0.3.6"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isstream-0.1.2"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."mkdirp-0.5.1"
+      sources."mute-stream-0.0.7"
+      sources."ncp-0.4.2"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."pkginfo-0.4.1"
+      (sources."prompt-0.2.14" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."read-1.0.7"
+      sources."revalidator-0.1.8"
+      sources."rimraf-2.6.2"
+      sources."semver-5.5.0"
+      sources."stack-trace-0.0.10"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."utile-0.2.1"
+      (sources."winston-0.8.3" // {
+        dependencies = [
+          sources."pkginfo-0.3.1"
+        ];
+      })
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The React Native CLI tools";
+      homepage = "https://github.com/facebook/react-native#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
   s3http = nodeEnv.buildNodePackage {
     name = "s3http";
     packageName = "s3http";
@@ -38500,7 +39056,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."uid2-0.0.3"
       sources."util-0.4.9"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."xml2js-0.2.4"
       sources."xmlbuilder-0.4.2"
@@ -38514,10 +39070,10 @@ in
   semver = nodeEnv.buildNodePackage {
     name = "semver";
     packageName = "semver";
-    version = "5.4.1";
+    version = "5.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz";
-      sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
+      url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+      sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -38531,12 +39087,13 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "6.4.4";
+    version = "6.4.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-6.4.4.tgz";
-      sha512 = "0h7ih1cyaks25qy2v86n3frrgdysv7gpdi1bvjzaqhjl2nm6g334srjd1qv9ivhj4kinld2hwsd40xqd6vv374qh04kd4cn30rl7zc0";
+      url = "https://registry.npmjs.org/serve/-/serve-6.4.9.tgz";
+      sha512 = "2241nrhci4lgj15pxzvspx6m3vjdpcsih532sz1mi17fby8yiadv33d84v05z1465cszh35xhzf7kx3yirwzq5zbi7zvzhw13ddsqy0";
     };
     dependencies = [
+      sources."@zeit/check-updates-1.0.5"
       sources."accepts-1.3.4"
       sources."address-1.0.3"
       sources."align-text-0.1.4"
@@ -38581,11 +39138,15 @@ in
       sources."deep-extend-0.4.2"
       sources."depd-1.1.1"
       sources."destroy-1.0.4"
-      sources."detect-port-1.2.2"
+      (sources."detect-port-1.2.2" // {
+        dependencies = [
+          sources."ms-2.0.0"
+        ];
+      })
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
@@ -38600,6 +39161,7 @@ in
       (sources."handlebars-4.0.11" // {
         dependencies = [
           sources."camelcase-1.2.1"
+          sources."minimist-0.0.10"
           sources."wordwrap-0.0.2"
         ];
       })
@@ -38631,7 +39193,7 @@ in
       sources."lowercase-keys-1.0.0"
       sources."lru-cache-4.1.1"
       sources."make-dir-1.1.0"
-      sources."micro-9.0.2"
+      sources."micro-9.1.0"
       sources."micro-compress-1.0.0"
       sources."mime-1.4.1"
       sources."mime-db-1.32.0"
@@ -38640,9 +39202,9 @@ in
           sources."mime-db-1.30.0"
         ];
       })
-      sources."minimist-0.0.10"
+      sources."minimist-1.2.0"
       sources."mri-1.1.0"
-      sources."ms-2.0.0"
+      sources."ms-2.1.1"
       sources."negotiator-0.6.1"
       sources."node-version-1.1.0"
       sources."npm-run-path-2.0.2"
@@ -38662,16 +39224,17 @@ in
       sources."pseudomap-1.0.2"
       sources."range-parser-1.2.0"
       sources."raw-body-2.3.2"
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
       sources."repeat-string-1.6.1"
       sources."right-align-0.1.3"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       (sources."send-0.16.1" // {
         dependencies = [
+          sources."ms-2.0.0"
           sources."statuses-1.3.1"
         ];
       })
@@ -38699,11 +39262,7 @@ in
       sources."universalify-0.1.1"
       sources."unpipe-1.0.0"
       sources."unzip-response-2.0.1"
-      (sources."update-notifier-2.3.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."update-notifier-2.3.0"
       sources."url-parse-lax-1.0.0"
       sources."vary-1.1.2"
       sources."which-1.3.0"
@@ -38768,7 +39327,7 @@ in
       })
       sources."co-4.6.0"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
       sources."component-inherit-0.0.3"
@@ -38785,7 +39344,7 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."dom-serializer-0.0.1"
       sources."domelementtype-1.3.0"
@@ -38795,7 +39354,7 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
       sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       (sources."engine.io-1.3.1" // {
         dependencies = [
           sources."debug-0.6.0"
@@ -38831,7 +39390,11 @@ in
           sources."entities-1.0.0"
         ];
       })
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."indexof-0.0.1"
@@ -38923,7 +39486,7 @@ in
       sources."unpipe-1.0.0"
       sources."utf8-2.0.0"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."ws-0.4.31"
@@ -38980,16 +39543,12 @@ in
       })
       sources."bytes-1.0.0"
       sources."caseless-0.12.0"
-      (sources."chalk-2.3.0" // {
-        dependencies = [
-          sources."supports-color-4.5.0"
-        ];
-      })
+      sources."chalk-2.3.0"
       sources."co-4.6.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."compressible-2.0.12"
       (sources."compression-1.7.1" // {
         dependencies = [
@@ -39012,7 +39571,7 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       (sources."dom-serializer-0.1.0" // {
         dependencies = [
@@ -39022,10 +39581,10 @@ in
       sources."domelementtype-1.3.0"
       sources."domhandler-2.4.1"
       sources."domutils-1.6.2"
-      sources."dtrace-provider-0.8.5"
+      sources."dtrace-provider-0.8.6"
       sources."ecc-jsbn-0.1.1"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."entities-1.1.1"
       sources."es6-shim-0.21.1"
       sources."escape-html-1.0.3"
@@ -39058,7 +39617,11 @@ in
       sources."highlight.js-8.9.1"
       sources."hoek-4.2.0"
       sources."htmlparser2-3.9.2"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.8"
       sources."inflight-1.0.6"
@@ -39126,6 +39689,7 @@ in
         dependencies = [
           sources."readable-stream-2.3.3"
           sources."source-map-0.6.1"
+          sources."supports-color-5.1.0"
         ];
       })
       (sources."request-2.83.0" // {
@@ -39142,7 +39706,7 @@ in
       })
       sources."safe-buffer-5.1.1"
       sources."safe-json-stringify-1.0.4"
-      sources."sanitize-html-1.16.3"
+      sources."sanitize-html-1.17.0"
       sources."semver-4.3.6"
       sources."send-0.15.6"
       sources."serve-static-1.12.6"
@@ -39157,7 +39721,7 @@ in
       sources."statuses-1.3.1"
       sources."string_decoder-1.0.3"
       sources."stringstream-0.0.5"
-      sources."supports-color-5.1.0"
+      sources."supports-color-4.5.0"
       sources."through-2.3.8"
       sources."tough-cookie-2.3.3"
       sources."tunnel-agent-0.6.0"
@@ -39168,7 +39732,7 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.0"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."wordwrap-0.0.3"
@@ -39409,7 +39973,7 @@ in
       sources."ultron-1.1.1"
       sources."uws-0.14.5"
       sources."ws-3.3.3"
-      sources."xmlhttprequest-ssl-1.5.4"
+      sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -39560,7 +40124,11 @@ in
       sources."css-tree-1.0.0-alpha25"
       sources."css-url-regex-1.1.0"
       sources."css-what-2.1.0"
-      sources."csso-3.4.0"
+      (sources."csso-3.5.0" // {
+        dependencies = [
+          sources."css-tree-1.0.0-alpha.27"
+        ];
+      })
       sources."define-properties-1.1.2"
       (sources."dom-serializer-0.1.0" // {
         dependencies = [
@@ -39581,7 +40149,7 @@ in
       sources."is-regex-1.0.4"
       sources."is-symbol-1.0.1"
       sources."js-yaml-3.10.0"
-      sources."mdn-data-1.0.0"
+      sources."mdn-data-1.1.0"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."nth-check-1.0.1"
@@ -39680,7 +40248,7 @@ in
       sources."cliui-2.1.0"
       sources."colors-1.1.2"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."core-util-is-1.0.2"
       sources."cryptiles-2.0.5"
       sources."cycle-1.0.3"
@@ -39780,7 +40348,7 @@ in
         ];
       })
       sources."uglify-to-browserify-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."window-size-0.1.0"
       (sources."winston-1.1.2" // {
@@ -39957,7 +40525,7 @@ in
       sources."promise-finally-3.0.0"
       sources."pseudomap-1.0.2"
       sources."punycode-1.4.1"
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -40003,7 +40571,7 @@ in
         dependencies = [
           sources."ansi-styles-3.2.0"
           sources."chalk-2.3.0"
-          sources."semver-5.4.1"
+          sources."semver-5.5.0"
           sources."supports-color-4.5.0"
         ];
       })
@@ -40032,13 +40600,13 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.3.5";
+    version = "3.3.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.5.tgz";
-      sha512 = "2p95asc8ny3p8js91asggdsb396x2hkllc76gpvf3nqrw2al85p67f4v1grlnckhjwiqj7vzcy197fq2axh37mjyq4gabq193dcrrk5";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.8.tgz";
+      sha512 = "1vxvyq08n6jidg18kiph7m0bjzr4v1dh188b7zgj60mkv4x1qkqrgc8756drldaj3awmn71mwsxja0zhvdm8nqqw5finrajv8dc0j2z";
     };
     dependencies = [
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."source-map-0.6.1"
     ];
     buildInputs = globalBuildInputs;
@@ -40053,10 +40621,10 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.4.3";
+    version = "1.4.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.3.tgz";
-      sha512 = "07wnk6qj95z58lfj51gwl26sfzx1jmb369sn5ff20gjikndvbglsyhrxlvsbdcplnwqvhajw8208xh3v4rnjlahwkzcq20sz5c81dcn";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.7.tgz";
+      sha512 = "1fg2pwdf3d1qnlly7y0kpm8ghx56kc35993ww9v4xgpkdn7ga1s53190yjsifi6dj6j3v6602y8dnr5y0jyp4qm6v4rdb385dw5p2xs";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -40135,7 +40703,7 @@ in
       sources."deep-extend-0.4.2"
       sources."delayed-stream-0.0.5"
       sources."delegates-1.0.0"
-      sources."depd-1.1.1"
+      sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-3.4.0"
       (sources."diff2html-2.3.3" // {
@@ -40147,7 +40715,7 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."editions-1.3.3"
       sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.1"
+      sources."encodeurl-1.0.2"
       sources."engine.io-3.1.4"
       sources."engine.io-client-3.1.4"
       sources."engine.io-parser-2.1.2"
@@ -40193,7 +40761,11 @@ in
       sources."hoek-4.2.0"
       sources."hogan.js-3.0.2"
       sources."hosted-git-info-2.5.0"
-      sources."http-errors-1.6.2"
+      (sources."http-errors-1.6.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.19"
       sources."ignore-3.3.7"
@@ -40226,7 +40798,7 @@ in
           sources."superagent-0.21.0"
         ];
       })
-      sources."knockout-3.4.2"
+      sources."knockout-3.5.0-beta"
       sources."lcid-1.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.4"
@@ -40312,7 +40884,7 @@ in
         ];
       })
       sources."raw-body-2.3.2"
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -40361,11 +40933,12 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      (sources."superagent-3.5.2" // {
+      (sources."superagent-3.8.2" // {
         dependencies = [
           sources."combined-stream-1.0.5"
           sources."component-emitter-1.2.1"
           sources."cookiejar-2.1.1"
+          sources."debug-3.1.0"
           sources."delayed-stream-1.0.0"
           sources."extend-3.0.1"
           sources."form-data-2.3.1"
@@ -40394,7 +40967,7 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."uws-0.14.5"
       sources."validate-npm-package-license-3.0.1"
       sources."validate-npm-package-name-3.0.0"
@@ -40417,10 +40990,10 @@ in
       })
       sources."wrappy-1.0.2"
       sources."ws-3.3.3"
-      sources."xmlhttprequest-ssl-1.5.4"
+      sources."xmlhttprequest-ssl-1.5.5"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
-      (sources."yargs-10.1.1" // {
+      (sources."yargs-10.1.2" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."is-fullwidth-code-point-2.0.0"
@@ -40465,7 +41038,7 @@ in
       sources."caseless-0.11.0"
       sources."chalk-1.1.3"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
+      sources."commander-2.13.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.5.0"
       (sources."config-chain-1.1.11" // {
@@ -40657,13 +41230,13 @@ in
       sources."decamelize-1.2.0"
       sources."des.js-1.0.0"
       sources."diffie-hellman-5.0.2"
-      sources."domain-browser-1.1.7"
+      sources."domain-browser-1.2.0"
       sources."elliptic-6.4.0"
       sources."emojis-list-2.1.0"
       sources."enhanced-resolve-3.4.1"
       sources."errno-0.1.6"
       sources."error-ex-1.3.1"
-      sources."es5-ext-0.10.37"
+      sources."es5-ext-0.10.38"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-set-0.1.5"
@@ -40807,11 +41380,11 @@ in
       sources."right-align-0.1.3"
       sources."ripemd160-2.0.1"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."set-immediate-shim-1.0.1"
       sources."setimmediate-1.0.5"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -40821,7 +41394,7 @@ in
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
       sources."stream-browserify-2.0.1"
-      sources."stream-http-2.7.2"
+      sources."stream-http-2.8.0"
       sources."string-width-2.1.1"
       sources."string_decoder-1.0.3"
       sources."strip-ansi-3.0.1"
@@ -40829,7 +41402,7 @@ in
       sources."strip-eof-1.0.0"
       sources."supports-color-4.5.0"
       sources."tapable-0.2.8"
-      sources."timers-browserify-2.0.4"
+      sources."timers-browserify-2.0.6"
       sources."to-arraybuffer-1.0.1"
       sources."tty-browserify-0.0.0"
       sources."uglify-js-2.8.29"
@@ -40889,10 +41462,10 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "2.3.1";
+    version = "2.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-2.3.1.tgz";
-      sha1 = "b5b2cdd0d9a486d2f43fe29f9881e1f42f2f28d0";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-2.3.2.tgz";
+      sha1 = "45c7cb50cbea90d6127a3c4bb128802a67f67c93";
     };
     dependencies = [
       sources."@types/node-9.3.0"
@@ -40906,7 +41479,7 @@ in
       sources."adbkit-2.11.0"
       sources."adbkit-logcat-1.1.0"
       sources."adbkit-monkey-1.0.1"
-      (sources."addons-linter-0.32.0" // {
+      (sources."addons-linter-0.33.0" // {
         dependencies = [
           sources."ajv-keywords-1.5.1"
           sources."ansi-escapes-1.4.0"
@@ -40915,9 +41488,10 @@ in
           sources."async-2.6.0"
           sources."cli-cursor-1.0.2"
           sources."debug-3.1.0"
+          sources."decamelize-1.2.0"
           sources."domelementtype-1.1.3"
           sources."figures-1.7.0"
-          sources."globals-11.1.0"
+          sources."globals-11.2.0"
           sources."inquirer-0.12.0"
           sources."is-fullwidth-code-point-1.0.0"
           sources."mute-stream-0.0.5"
@@ -40930,15 +41504,12 @@ in
           sources."rx-lite-3.1.2"
           sources."slice-ansi-0.0.4"
           sources."source-map-0.6.1"
-          (sources."source-map-support-0.4.18" // {
-            dependencies = [
-              sources."source-map-0.5.7"
-            ];
-          })
+          sources."source-map-support-0.5.1"
           sources."string-width-1.0.2"
           sources."strip-ansi-4.0.0"
           sources."supports-color-4.5.0"
           sources."table-3.8.3"
+          sources."underscore-1.6.0"
           (sources."yargs-10.0.3" // {
             dependencies = [
               sources."ansi-regex-2.1.1"
@@ -40997,6 +41568,7 @@ in
       (sources."babel-register-6.26.0" // {
         dependencies = [
           sources."chalk-1.1.3"
+          sources."source-map-support-0.4.18"
         ];
       })
       sources."babel-runtime-6.26.0"
@@ -41066,8 +41638,8 @@ in
       sources."colors-0.5.1"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.5"
-      sources."commander-2.12.2"
-      sources."common-tags-1.6.0"
+      sources."commander-2.13.0"
+      sources."common-tags-1.7.2"
       sources."compress-commons-1.2.2"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.0"
@@ -41092,7 +41664,7 @@ in
       sources."dashdash-1.14.1"
       sources."debounce-1.1.0"
       sources."debug-2.6.9"
-      sources."decamelize-1.2.0"
+      sources."decamelize-2.0.0"
       sources."deep-extend-0.4.2"
       sources."deep-is-0.1.3"
       sources."deepcopy-0.6.3"
@@ -41113,19 +41685,20 @@ in
       sources."domhandler-2.4.1"
       sources."domutils-1.5.1"
       sources."dot-prop-4.2.0"
-      sources."dtrace-provider-0.8.5"
+      sources."dtrace-provider-0.8.6"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.1"
       sources."ecdsa-sig-formatter-1.0.9"
       sources."emoji-regex-6.1.3"
+      sources."encoding-0.1.12"
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.1"
       sources."error-ex-1.3.1"
-      sources."es5-ext-0.10.37"
+      sources."es5-ext-0.10.38"
       sources."es6-error-4.1.1"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
-      sources."es6-promise-4.2.2"
+      sources."es6-promise-4.2.4"
       sources."es6-promisify-5.0.0"
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
@@ -41152,6 +41725,7 @@ in
           })
           sources."globals-9.18.0"
           sources."is-fullwidth-code-point-2.0.0"
+          sources."shelljs-0.7.8"
           sources."string-width-2.1.1"
           sources."strip-ansi-3.0.1"
           sources."supports-color-2.0.0"
@@ -41179,7 +41753,7 @@ in
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-safe-stringify-1.2.2"
+      sources."fast-safe-stringify-1.2.3"
       sources."fd-slicer-1.0.1"
       sources."figures-2.0.0"
       sources."file-entry-cache-2.0.0"
@@ -41218,6 +41792,7 @@ in
       sources."get-caller-file-1.0.2"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
+      sources."gettext-parser-1.1.0"
       (sources."git-rev-sync-1.9.1" // {
         dependencies = [
           sources."shelljs-0.7.7"
@@ -41237,6 +41812,7 @@ in
       sources."har-validator-5.0.3"
       sources."has-1.0.1"
       sources."has-ansi-2.0.0"
+      sources."has-color-0.1.7"
       sources."has-flag-2.0.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
@@ -41285,7 +41861,7 @@ in
       sources."is-property-1.0.2"
       sources."is-redirect-1.0.0"
       sources."is-relative-0.1.3"
-      sources."is-resolvable-1.0.1"
+      sources."is-resolvable-1.1.0"
       sources."is-retry-allowed-1.1.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
@@ -41368,7 +41944,8 @@ in
         ];
       })
       sources."node-forge-0.7.1"
-      sources."node-notifier-5.1.2"
+      sources."node-notifier-5.2.1"
+      sources."nomnom-1.8.1"
       sources."normalize-package-data-2.4.0"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
@@ -41408,6 +41985,13 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pino-4.10.3"
       sources."pluralize-7.0.0"
+      (sources."po2json-0.4.5" // {
+        dependencies = [
+          sources."ansi-styles-1.0.0"
+          sources."chalk-0.4.0"
+          sources."strip-ansi-0.1.1"
+        ];
+      })
       sources."postcss-6.0.14"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-1.0.4"
@@ -41421,10 +42005,10 @@ in
       sources."process-nextick-args-1.0.7"
       sources."progress-2.0.0"
       sources."pseudomap-1.0.2"
-      sources."pump-2.0.0"
+      sources."pump-2.0.1"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
-      sources."quick-format-unescaped-1.1.1"
+      sources."quick-format-unescaped-1.1.2"
       (sources."randomatic-1.1.7" // {
         dependencies = [
           (sources."is-number-3.0.0" // {
@@ -41434,7 +42018,7 @@ in
           })
         ];
       })
-      sources."rc-1.2.3"
+      sources."rc-1.2.4"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-2.3.3"
@@ -41479,11 +42063,11 @@ in
       sources."semver-diff-2.1.0"
       sources."set-blocking-2.0.0"
       sources."set-immediate-shim-1.0.1"
-      sources."sha.js-2.4.9"
+      sources."sha.js-2.4.10"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.6.1"
-      sources."shelljs-0.7.8"
+      sources."shelljs-0.8.0"
       sources."shellwords-0.1.1"
       (sources."sign-addon-0.2.2" // {
         dependencies = [
@@ -41515,7 +42099,7 @@ in
       sources."slice-ansi-1.0.0"
       sources."sntp-2.1.0"
       sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.0" // {
+      (sources."source-map-support-0.5.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -41560,6 +42144,7 @@ in
       sources."tmp-0.0.33"
       sources."to-fast-properties-1.0.3"
       sources."topo-1.1.0"
+      sources."tosource-1.0.0"
       sources."tough-cookie-2.3.3"
       sources."tr46-1.0.1"
       sources."traverse-0.6.6"
@@ -41590,7 +42175,7 @@ in
       sources."url-parse-lax-1.0.0"
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."verror-1.10.0"
       sources."vfile-1.4.0"
@@ -41617,12 +42202,14 @@ in
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.4"
       sources."xmldom-0.1.27"
+      sources."xregexp-4.0.0"
       sources."xtend-4.0.1"
       sources."y18n-3.2.1"
       sources."yallist-2.1.2"
       (sources."yargs-6.6.0" // {
         dependencies = [
           sources."camelcase-3.0.0"
+          sources."decamelize-1.2.0"
           sources."find-up-1.1.2"
           sources."is-fullwidth-code-point-1.0.0"
           sources."os-locale-1.4.0"
@@ -41689,12 +42276,13 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "2.0.0";
+    version = "2.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-2.0.0.tgz";
-      sha512 = "3maxk0a2p7xyz9bkfyx3jd0inm9y7a3wc8b7rqx8p5fsmx8qkqnbvhxwn4210l689vd5p3xphn147dyclqsqmmgp7cqyswyyfsmm1lr";
+      url = "https://registry.npmjs.org/yo/-/yo-2.0.1.tgz";
+      sha512 = "390n0gdbxr25mr804mrwfqw6r6srk4q9spnsnnlfvlsfvr6dwd93nrgh0l2sr76a9jdw2jiycwc0241h6zch6hi0jlhg3w8hk6i4hyy";
     };
     dependencies = [
+      sources."@sindresorhus/is-0.7.0"
       sources."aggregate-error-1.0.0"
       sources."ajv-5.5.2"
       sources."ansi-0.3.1"
@@ -41725,6 +42313,7 @@ in
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.8"
       sources."builtin-modules-1.1.1"
+      sources."cacheable-request-2.1.4"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."capture-stack-trace-1.0.0"
@@ -41738,6 +42327,7 @@ in
       sources."cli-width-2.2.0"
       sources."clone-1.0.3"
       sources."clone-regexp-1.0.0"
+      sources."clone-response-1.0.2"
       sources."clone-stats-0.0.1"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
@@ -41761,6 +42351,8 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-response-3.3.0"
       sources."deep-extend-0.4.2"
       sources."default-uid-1.0.0"
       sources."delayed-stream-1.0.0"
@@ -41768,7 +42360,6 @@ in
       sources."diff-3.4.0"
       sources."dot-prop-4.2.0"
       sources."downgrade-root-1.2.2"
-      sources."duplexer2-0.1.4"
       sources."duplexer3-0.1.4"
       sources."each-async-1.1.1"
       sources."ecc-jsbn-0.1.1"
@@ -41790,6 +42381,7 @@ in
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.1"
+      sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
       (sources."fullname-3.3.0" // {
         dependencies = [
@@ -41805,17 +42397,20 @@ in
       sources."glob-7.1.2"
       sources."global-dirs-0.1.1"
       sources."globby-6.1.0"
-      sources."got-6.7.1"
+      sources."got-8.0.3"
       sources."graceful-fs-4.1.11"
       sources."grouped-queue-0.3.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-2.0.0"
+      sources."has-symbol-support-x-1.4.1"
+      sources."has-to-string-tag-x-1.4.1"
       sources."has-unicode-2.0.1"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
       sources."hosted-git-info-2.5.0"
+      sources."http-cache-semantics-3.8.1"
       sources."http-signature-1.2.0"
       sources."humanize-string-1.0.1"
       sources."iconv-lite-0.4.19"
@@ -41859,6 +42454,7 @@ in
           sources."xdg-basedir-2.0.0"
         ];
       })
+      sources."into-stream-3.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-builtin-module-1.0.0"
       sources."is-docker-1.1.0"
@@ -41867,7 +42463,9 @@ in
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
       sources."is-obj-1.0.1"
+      sources."is-object-1.0.1"
       sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
       sources."is-regexp-1.0.0"
@@ -41881,11 +42479,14 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
+      sources."isurl-1.0.0"
       sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.0"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.3.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
+      sources."keyv-3.0.0"
       sources."latest-version-3.1.0"
       sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
@@ -41913,18 +42514,20 @@ in
       sources."mime-db-1.30.0"
       sources."mime-types-2.1.17"
       sources."mimic-fn-1.1.0"
+      sources."mimic-response-1.0.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
-      sources."node-status-codes-1.0.0"
       sources."normalize-package-data-2.4.0"
-      (sources."npm-keyword-4.2.0" // {
+      sources."normalize-url-2.0.1"
+      (sources."npm-keyword-5.0.0" // {
         dependencies = [
-          sources."got-5.7.1"
-          sources."timed-out-3.1.3"
-          sources."unzip-response-1.0.2"
+          sources."got-7.1.0"
+          sources."p-timeout-1.2.1"
+          sources."prepend-http-1.0.4"
+          sources."url-parse-lax-1.0.0"
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -41947,16 +42550,19 @@ in
       sources."osenv-0.1.4"
       sources."osx-release-1.1.0"
       sources."p-any-1.1.0"
+      sources."p-cancelable-0.3.0"
       sources."p-finally-1.0.0"
+      sources."p-is-promise-1.1.0"
       sources."p-limit-1.2.0"
       sources."p-locate-2.0.0"
       sources."p-some-2.0.1"
+      sources."p-timeout-2.0.1"
       sources."p-try-1.0.0"
-      (sources."package-json-2.4.0" // {
+      (sources."package-json-4.0.1" // {
         dependencies = [
-          sources."got-5.7.1"
-          sources."timed-out-3.1.3"
-          sources."unzip-response-1.0.2"
+          sources."got-6.7.1"
+          sources."prepend-http-1.0.4"
+          sources."url-parse-lax-1.0.0"
         ];
       })
       sources."pad-component-0.0.1"
@@ -41976,13 +42582,13 @@ in
       sources."pify-3.0.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."prepend-http-1.0.4"
+      sources."prepend-http-2.0.0"
       sources."process-nextick-args-1.0.7"
       sources."pseudomap-1.0.2"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
-      sources."rc-1.2.3"
-      sources."read-all-stream-3.1.0"
+      sources."query-string-5.0.1"
+      sources."rc-1.2.4"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-2.0.0" // {
         dependencies = [
@@ -42003,6 +42609,7 @@ in
       sources."repeating-2.0.1"
       sources."replace-ext-0.0.1"
       sources."request-2.83.0"
+      sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."root-check-1.0.0"
       sources."run-async-2.3.0"
@@ -42011,12 +42618,12 @@ in
       sources."rx-lite-aggregates-4.0.8"
       sources."safe-buffer-5.1.1"
       sources."scoped-regex-1.0.0"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
       (sources."semver-truncate-1.1.2" // {
         dependencies = [
-          sources."semver-5.4.1"
+          sources."semver-5.5.0"
         ];
       })
       sources."set-immediate-shim-1.0.1"
@@ -42025,12 +42632,14 @@ in
       sources."signal-exit-3.0.2"
       sources."slide-1.1.6"
       sources."sntp-2.1.0"
+      sources."sort-keys-2.0.0"
       sources."sort-on-2.0.0"
       sources."spawn-sync-1.0.15"
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
       sources."sshpk-1.13.1"
+      sources."strict-uri-encode-1.1.0"
       sources."string-length-1.0.1"
       sources."string-width-2.1.1"
       sources."string_decoder-1.0.3"
@@ -42081,14 +42690,14 @@ in
           sources."camelcase-4.1.0"
           sources."chalk-2.3.0"
           sources."execa-0.7.0"
-          sources."package-json-4.0.1"
           sources."supports-color-4.5.0"
         ];
       })
-      sources."url-parse-lax-1.0.0"
+      sources."url-parse-lax-3.0.0"
+      sources."url-to-options-1.0.1"
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."validate-npm-package-license-3.0.1"
       sources."verror-1.10.0"
       sources."vinyl-1.2.0"
@@ -42123,7 +42732,7 @@ in
           sources."ansi-styles-3.2.0"
           sources."chalk-2.3.0"
           sources."debug-3.1.0"
-          sources."log-symbols-2.1.0"
+          sources."log-symbols-2.2.0"
           sources."pify-2.3.0"
           sources."supports-color-4.5.0"
         ];
diff --git a/pkgs/development/node-packages/node-packages-v8.json b/pkgs/development/node-packages/node-packages-v8.json
index d7f054569895..744894de4ffd 100644
--- a/pkgs/development/node-packages/node-packages-v8.json
+++ b/pkgs/development/node-packages/node-packages-v8.json
@@ -8,6 +8,7 @@
 , "node-gyp"
 , "node-gyp-build"
 , "node-pre-gyp"
+, "pnpm"
 , "semver"
 , "sloc"
 ]
diff --git a/pkgs/development/node-packages/node-packages-v8.nix b/pkgs/development/node-packages/node-packages-v8.nix
index 7c257fdd3e5b..7397866ccea8 100644
--- a/pkgs/development/node-packages/node-packages-v8.nix
+++ b/pkgs/development/node-packages/node-packages-v8.nix
@@ -4,6 +4,429 @@
 
 let
   sources = {
+    "@most/multicast-1.3.0" = {
+      name = "_at_most_slash_multicast";
+      packageName = "@most/multicast";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@most/multicast/-/multicast-1.3.0.tgz";
+        sha512 = "2zs8n5gpgl9frbw960m4q63svcgvqkbb9iay3klw3qcj4c0hwbw6llbkj9h4v13s1fh5gc4k6zg2cxpz4vipbp6kzbrd9v0500zqq8d";
+      };
+    };
+    "@most/prelude-1.7.0" = {
+      name = "_at_most_slash_prelude";
+      packageName = "@most/prelude";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@most/prelude/-/prelude-1.7.0.tgz";
+        sha512 = "0cdx6nag042jl38sm34c4cpc70wya0xns7f5j9i3hs8kwca8lkgbss9db6jkgd090hpvxq2qh5fzxnfnw705ph1zklgmnxf9wgw4l1s";
+      };
+    };
+    "@pnpm/check-package-1.0.0" = {
+      name = "_at_pnpm_slash_check-package";
+      packageName = "@pnpm/check-package";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/check-package/-/check-package-1.0.0.tgz";
+        sha512 = "1hg0g5snqp1lkmnmis335fpvg7xz93snvlbzqmyxxmyl0ab2d4wdlar6rwl7gr59113cpsyn2k3sawh656zrp6fp8q1rdy6x24a3pxc";
+      };
+    };
+    "@pnpm/default-fetcher-0.3.2" = {
+      name = "_at_pnpm_slash_default-fetcher";
+      packageName = "@pnpm/default-fetcher";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/default-fetcher/-/default-fetcher-0.3.2.tgz";
+        sha512 = "25lb4pf7sqsw31h5rdaqii969bl19ypip4l3x19i28p3c2174zi1hk152y3r6z36rfp66sfwq0p6f6gvnx10lf46vigw02ppv7szk49";
+      };
+    };
+    "@pnpm/default-resolver-0.1.2" = {
+      name = "_at_pnpm_slash_default-resolver";
+      packageName = "@pnpm/default-resolver";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/default-resolver/-/default-resolver-0.1.2.tgz";
+        sha512 = "3smnd8xcmslnba22i9p10f7a724whjm2wvjz3l9fvw23fw8d5nwn78xdkgrvpraqb7xw75xwq8cxj3nvmvib1iqpmp3pcx7j4px5fhx";
+      };
+    };
+    "@pnpm/fs-locker-1.0.1" = {
+      name = "_at_pnpm_slash_fs-locker";
+      packageName = "@pnpm/fs-locker";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/fs-locker/-/fs-locker-1.0.1.tgz";
+        sha512 = "3nadpl6sinl2h484m7nnn1vsry8pp0kfxgw8apbnyhajqsq00chx3f2v93hl26xnxri2wlhz0s2pc15617xb0xlpln9n1lzrr43fqw2";
+      };
+    };
+    "@pnpm/git-fetcher-0.2.0" = {
+      name = "_at_pnpm_slash_git-fetcher";
+      packageName = "@pnpm/git-fetcher";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/git-fetcher/-/git-fetcher-0.2.0.tgz";
+        sha512 = "2ax9drzzzrc2c7risivkxbv76nxdxafhfckl5g481b3k92gc8r8hl4j6kwrq8vl62sav010ssd7giadxs0b0h0nxqgwppsf0v942492";
+      };
+    };
+    "@pnpm/git-resolver-0.3.0" = {
+      name = "_at_pnpm_slash_git-resolver";
+      packageName = "@pnpm/git-resolver";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/git-resolver/-/git-resolver-0.3.0.tgz";
+        sha512 = "3xh8kq7pykgpp39g7pjd7x9f834q2dj3jxw3fcrikim1vpn0xiim3g17mz9s87ci0cxrgxcrn2sd4qcap99z9jg5s577af64z4pj6qw";
+      };
+    };
+    "@pnpm/local-resolver-0.1.1" = {
+      name = "_at_pnpm_slash_local-resolver";
+      packageName = "@pnpm/local-resolver";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/local-resolver/-/local-resolver-0.1.1.tgz";
+        sha512 = "3i66qx6iw71i07pg21k5j044r807ysq2ijy8q4a92jdg2a17w55ah2j59rs2mxsljl9kkxvp06852q8x00j2g8bbw2v5iivl5191h7y";
+      };
+    };
+    "@pnpm/logger-1.0.0" = {
+      name = "_at_pnpm_slash_logger";
+      packageName = "@pnpm/logger";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/logger/-/logger-1.0.0.tgz";
+        sha512 = "2yi5y7s91gz8dhv7gjqar4mp7j6mr2m05irm9l85v2xlzsaqx7mcjw0gap3xmpfmbi1di5rb1g57l7k3zh4nrh0mzcixfd2ykkq86jm";
+      };
+    };
+    "@pnpm/npm-resolver-0.3.11" = {
+      name = "_at_pnpm_slash_npm-resolver";
+      packageName = "@pnpm/npm-resolver";
+      version = "0.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/npm-resolver/-/npm-resolver-0.3.11.tgz";
+        sha512 = "1mjzlk9hv180r3igrcg3kmgvkp5wkv2ipsr4aqmcjzky8sgz152g22292ps6sndcggri71a8ivjzi61f36bxcz60vz55zvmi6mnawdz";
+      };
+    };
+    "@pnpm/outdated-0.2.5" = {
+      name = "_at_pnpm_slash_outdated";
+      packageName = "@pnpm/outdated";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/outdated/-/outdated-0.2.5.tgz";
+        sha512 = "08y7lv6gzw8yyzj24djya1pzh8r41rciz102lhb3nq279dyg5sgzr18z6fqlff8krdw160a8adx5s4csmlmfah2akawpczz9h8zy609";
+      };
+    };
+    "@pnpm/package-requester-0.7.1" = {
+      name = "_at_pnpm_slash_package-requester";
+      packageName = "@pnpm/package-requester";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/package-requester/-/package-requester-0.7.1.tgz";
+        sha512 = "09azfnn5831bniyy2va2bjwaxx2pvgbxwqzd82f4p4y4610b26ii3mpyhpd5l19via1il1ylxc73na8ih2ihgv8xi9x9jd4dv6lfnfz";
+      };
+    };
+    "@pnpm/pkgid-to-filename-1.0.0" = {
+      name = "_at_pnpm_slash_pkgid-to-filename";
+      packageName = "@pnpm/pkgid-to-filename";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/pkgid-to-filename/-/pkgid-to-filename-1.0.0.tgz";
+        sha512 = "17f44ay160i8pd1sl26v7ph8vdbx6bhydp0jhdc6mslhlyp4bwd1i9220hjvpiyiqkx4hwb4pa5b6hqzq3nyz8ldmna084wfz5q6x8y";
+      };
+    };
+    "@pnpm/server-0.7.1" = {
+      name = "_at_pnpm_slash_server";
+      packageName = "@pnpm/server";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/server/-/server-0.7.1.tgz";
+        sha512 = "0y2h510ps6kg1ssdwfpi0wrb4ps7jr28qrng2hfwh01r969f2j1nskajzvn6wa68hnfjq2ysajl66nwccrqydsj24w6dn2kl1jbl0b6";
+      };
+    };
+    "@pnpm/tarball-fetcher-0.3.4" = {
+      name = "_at_pnpm_slash_tarball-fetcher";
+      packageName = "@pnpm/tarball-fetcher";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/tarball-fetcher/-/tarball-fetcher-0.3.4.tgz";
+        sha512 = "1mpgr0ywrzkxq013ci9rjc9w9jdmr4lp5x121wwnnlybnzsxb98vzkh9mhmlrm77i98sb2drv880d82wgkdxkzx2d445pcmcsmf4z0w";
+      };
+    };
+    "@pnpm/tarball-resolver-0.1.0" = {
+      name = "_at_pnpm_slash_tarball-resolver";
+      packageName = "@pnpm/tarball-resolver";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/tarball-resolver/-/tarball-resolver-0.1.0.tgz";
+        sha512 = "3rdjpckjhhcamkin62ycyqqssvjxd1kx7k927z8m7ing9sqgsf2ascpg2wpp2kh1shbgl5kkldgbalnqm41xv09fqa9ka9rd3saxrr1";
+      };
+    };
+    "@pnpm/types-1.7.0" = {
+      name = "_at_pnpm_slash_types";
+      packageName = "@pnpm/types";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/types/-/types-1.7.0.tgz";
+        sha512 = "2bww115m0q5d4m69xvm0kn8xmidncrp3xc8rn2sj03xpkhnd78mcn3m0ib13sq0mlhl4fgq3abvdhlhmxicdp3g6j9zb8awxkif0zm6";
+      };
+    };
+    "@sindresorhus/is-0.7.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
+        sha512 = "2ilygr40l2yqbk6lix4xnnnqsq6fxa6sysdxg49bg1ax5gzhwy3bcjbdlk7lndgh9055slpx6fybs3p8mhvbsnnjkmkqzrfy8l5mn1q";
+      };
+    };
+    "@types/archy-0.0.31" = {
+      name = "_at_types_slash_archy";
+      packageName = "@types/archy";
+      version = "0.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/archy/-/archy-0.0.31.tgz";
+        sha512 = "08lzn97gp9rbcmfs592xib111b3fn7nlvmnkn3vpxm2ins5as3p3s3447d5y22lgx6zr6696q9dv27mjgm1cabi1zh2amq57f5p3rxz";
+      };
+    };
+    "@types/byline-4.2.31" = {
+      name = "_at_types_slash_byline";
+      packageName = "@types/byline";
+      version = "4.2.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/byline/-/byline-4.2.31.tgz";
+        sha1 = "0e61fcb9c03e047d21c4496554c7116297ab60cd";
+      };
+    };
+    "@types/chalk-0.4.31" = {
+      name = "_at_types_slash_chalk";
+      packageName = "@types/chalk";
+      version = "0.4.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/chalk/-/chalk-0.4.31.tgz";
+        sha1 = "a31d74241a6b1edbb973cf36d97a2896834a51f9";
+      };
+    };
+    "@types/common-tags-1.4.0" = {
+      name = "_at_types_slash_common-tags";
+      packageName = "@types/common-tags";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.4.0.tgz";
+        sha512 = "1s47pidf7gs7k79gxz1yy0rwhamf147h9ylvg9b6wfc8p3ixpzsq2xlj2w99mq9pi2j1g2flia2z21babjhrdzln1snggivxx46v38w";
+      };
+    };
+    "@types/get-port-3.2.0" = {
+      name = "_at_types_slash_get-port";
+      packageName = "@types/get-port";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz";
+        sha512 = "3axab8z99gfcfzqvrqs2dq6qa24abjxblh17grpqxxgcz0wyg5xrabj5ss8zzcn7ybpgx2n2gy401hbdxgz96zvwig3g3343pqn08sf";
+      };
+    };
+    "@types/got-7.1.6" = {
+      name = "_at_types_slash_got";
+      packageName = "@types/got";
+      version = "7.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/got/-/got-7.1.6.tgz";
+        sha512 = "0l95rpnrhc6n7khfjm4cl59206f387xap0j2qrk1j6z5gginkxfnkps2l0jw4jq842ii0hzdcakgxnllc2zxmdzsdg2z1wkm28jqf1i";
+      };
+    };
+    "@types/load-json-file-2.0.7" = {
+      name = "_at_types_slash_load-json-file";
+      packageName = "@types/load-json-file";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/load-json-file/-/load-json-file-2.0.7.tgz";
+        sha512 = "1gwn4lafk2nq3nrxl8vjbndpb1ky25hkj4h7hjxh8kyxzlqmhk8258ah4a5g4fdv5yap970nkpsn8vsss3iwh7qah1b9vsmz66gmc9n";
+      };
+    };
+    "@types/mem-1.1.2" = {
+      name = "_at_types_slash_mem";
+      packageName = "@types/mem";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mem/-/mem-1.1.2.tgz";
+        sha1 = "e3c8b095f2f2563b518f0aad59df9fe6a8b82065";
+      };
+    };
+    "@types/mz-0.0.32" = {
+      name = "_at_types_slash_mz";
+      packageName = "@types/mz";
+      version = "0.0.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mz/-/mz-0.0.32.tgz";
+        sha512 = "3i9s14bzsibxc5700404s654iygj7j301kvrkmyf1wy5ncglr1m9rcgysfy5zhmsjpp96g009fm66hy1py92imjfa77pb51n9wz4bbk";
+      };
+    };
+    "@types/node-7.0.52" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "7.0.52";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.0.52.tgz";
+        sha512 = "3jzvdqsd0pgl0ax2vbn9h8iawx4m6pjf21wb8lqz34glnacjz5l4qv2b3h53j2dbs497g6aqdvkxfahrwvkc9a1q5zy3c46q9174flf";
+      };
+    };
+    "@types/node-8.5.9" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "8.5.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-8.5.9.tgz";
+        sha512 = "2j38fqqziiv6m51w16lz6lgivrkycvn4nwch7sdpg32hbl5kv5m2ngg4y4jrf0v1s7iryi5gyh9729b8l1p48cf9hf0gj567h13grxk";
+      };
+    };
+    "@types/node-9.3.0" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "9.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-9.3.0.tgz";
+        sha512 = "0mhmzddyv8rhkha7ibpbsa5dfygzaa90438aqzpg9w7d31n093a7spx2zg4zfki4qrab71xrfb381hmqajn826cnrw9kc7kv2y5zl60";
+      };
+    };
+    "@types/nopt-3.0.29" = {
+      name = "_at_types_slash_nopt";
+      packageName = "@types/nopt";
+      version = "3.0.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/nopt/-/nopt-3.0.29.tgz";
+        sha1 = "f19df3db4c97ee1459a2740028320a71d70964ce";
+      };
+    };
+    "@types/npm-2.0.29" = {
+      name = "_at_types_slash_npm";
+      packageName = "@types/npm";
+      version = "2.0.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/npm/-/npm-2.0.29.tgz";
+        sha512 = "1ccspslp1mil7f8w4dj3khyxxv5fpakkky4s4bnvvsd2b1hgvwahpv8bk83rr9aq2as2q6hi3143g3b6aynh3ybpf6d9mlksw6qdjii";
+      };
+    };
+    "@types/p-limit-1.1.2" = {
+      name = "_at_types_slash_p-limit";
+      packageName = "@types/p-limit";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/p-limit/-/p-limit-1.1.2.tgz";
+        sha512 = "21nzl33ss5mcflc6p0b0wgfhijb97nf1zr3s52ffvq8xy1l0svqwy3alqpj8g1ycsjisblh4xrcigrn2bzak702z4jnpxpbss02jx96";
+      };
+    };
+    "@types/p-queue-1.1.0" = {
+      name = "_at_types_slash_p-queue";
+      packageName = "@types/p-queue";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/p-queue/-/p-queue-1.1.0.tgz";
+        sha512 = "1881hys9v61yxxzjmwckxgf0z5i562ix7xb6ibzfb6qmf40hl1ah8l2dlbqiq3vsglmy56vbjcndsx7skjnzrcapamdnhwapfcazdwl";
+      };
+    };
+    "@types/p-series-1.0.1" = {
+      name = "_at_types_slash_p-series";
+      packageName = "@types/p-series";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/p-series/-/p-series-1.0.1.tgz";
+        sha512 = "0vpq52z9kblmkbqdp6icimy1qiyklhjarryn4n4svpa96srz4q7k98496rf3dcgy1wpn79jfvg4ddibvw88x7rbbb2jkrhz9gmzs2vp";
+      };
+    };
+    "@types/ramda-0.25.16" = {
+      name = "_at_types_slash_ramda";
+      packageName = "@types/ramda";
+      version = "0.25.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.16.tgz";
+        sha512 = "1an84z8hbgidxn2dbkg8ln94z7si3a6a4cchv3ax86ci9bryiqm6q576m1chfbfag5zjm2pxk2h7s16n0b6qgd3i5y9wj541w95mp4c";
+      };
+    };
+    "@types/rc-0.0.1" = {
+      name = "_at_types_slash_rc";
+      packageName = "@types/rc";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/rc/-/rc-0.0.1.tgz";
+        sha1 = "1f5b8a1b3b1ac6d1fee137c53fac5fa0f28ae0d7";
+      };
+    };
+    "@types/retry-0.10.2" = {
+      name = "_at_types_slash_retry";
+      packageName = "@types/retry";
+      version = "0.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.10.2.tgz";
+        sha512 = "18ksn4fqz03wac8179aagjcfibm1k6lrzlpy8nzig47jn083sr64bsw1mdzbdwfxypi8flimg2l1g9prq6r0fqjbqyjvvahhmin98if";
+      };
+    };
+    "@types/semver-5.4.0" = {
+      name = "_at_types_slash_semver";
+      packageName = "@types/semver";
+      version = "5.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/semver/-/semver-5.4.0.tgz";
+        sha512 = "256379swd2mh4gi5vxsgk9pf7387g32xkw1vsj1jhs7q4njds107nmkkxpaddjv5w5cqwbiwl64sil7bgqdcg8fyjfdg13wxyyc449w";
+      };
+    };
+    "@types/update-notifier-1.0.3" = {
+      name = "_at_types_slash_update-notifier";
+      packageName = "@types/update-notifier";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/update-notifier/-/update-notifier-1.0.3.tgz";
+        sha512 = "0fivfj3sqfmhj3z8sp11iqc0hgzyyn50pximpbx56jk7rkvvw40pl0qzdlzcf97vm5c6yvdsixasgm0vh24gh79grxm237n2cvavd04";
+      };
+    };
+    "@types/uuid-3.4.3" = {
+      name = "_at_types_slash_uuid";
+      packageName = "@types/uuid";
+      version = "3.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.3.tgz";
+        sha512 = "1psrs8sjpmhz8sz2zjkkd7743vzdi7q7vcj8p219q1pkfawr619rl1m5pczp69hbm1769kn8zwlbayjylhl7an5hkvkdd2bi04lpx75";
+      };
+    };
+    "@types/write-json-file-2.2.1" = {
+      name = "_at_types_slash_write-json-file";
+      packageName = "@types/write-json-file";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/write-json-file/-/write-json-file-2.2.1.tgz";
+        sha512 = "2sasn3m49kqb3y62b2k4avvmb5536z98sq6rkmq7wb441pxaxvqj1ajfxn08jxgg7d4bznfc7gf7knwdnbp2m8k83nimxg6jd9bzlr5";
+      };
+    };
+    "@zkochan/cmd-shim-2.2.4" = {
+      name = "_at_zkochan_slash_cmd-shim";
+      packageName = "@zkochan/cmd-shim";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-2.2.4.tgz";
+        sha512 = "0s6wbip576kwjkjcvgf3l6fszrbp1n7ijpjhwjy02hvdfb0hj9ynfi92ninp5blfd1mdhfp361cb76c2y4z1dbyxyc8q5cs7sivag04";
+      };
+    };
+    "@zkochan/libnpx-9.6.1" = {
+      name = "_at_zkochan_slash_libnpx";
+      packageName = "@zkochan/libnpx";
+      version = "9.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@zkochan/libnpx/-/libnpx-9.6.1.tgz";
+        sha512 = "3lwjqxnqxn1jq5fnsdh31mvy9q4y5i000qd7xmra7wlmalxag1py7903f36s1l8bxfxh8j409vpnrz8pkhnc5vwipdn91kdzl8qvxj7";
+      };
+    };
+    "@zkochan/npm-package-arg-1.0.0" = {
+      name = "_at_zkochan_slash_npm-package-arg";
+      packageName = "@zkochan/npm-package-arg";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@zkochan/npm-package-arg/-/npm-package-arg-1.0.0.tgz";
+        sha512 = "2v87vqr2pjg6phz5h8mngbymf3b4fmqawisjfng2c424qib6bwldhfvkwqxqfla4s2bzry1qb5dm89if3lddvi3dbp2xqvy9k1h3wxr";
+      };
+    };
+    "JSONStream-1.3.2" = {
+      name = "JSONStream";
+      packageName = "JSONStream";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz";
+        sha1 = "c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea";
+      };
+    };
     "abbrev-1.1.1" = {
       name = "abbrev";
       packageName = "abbrev";
@@ -22,13 +445,31 @@ let
         sha1 = "9a8eac8ff79866f3f9b4bb1443ca778f1598aeda";
       };
     };
-    "acorn-5.3.0" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "5.3.0";
+    "add-subtract-date-1.0.13" = {
+      name = "add-subtract-date";
+      packageName = "add-subtract-date";
+      version = "1.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz";
-        sha512 = "197zp88clmmxjyvhahqv32kv07q825hf87facxaq8qmvb1swfqnpyy4398dl56sr2fa44f7gjpzzlwy1szqzwww6746y3kmwb6gxs31";
+        url = "https://registry.npmjs.org/add-subtract-date/-/add-subtract-date-1.0.13.tgz";
+        sha512 = "1jpp2jqxqm1ljj8a6xs15yl579jc48fdx4kflfd0faa78gy91gda0svy4jdv5dqqj1c5ccssq24kyz1ck5c3g4qykia2x32qmc2rc5x";
+      };
+    };
+    "agent-base-4.2.0" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz";
+        sha512 = "0i6q0c347f7z5c56gi1cggjiwvdhl3p9zfsysq66gqggk3prlqildnpva900rz8f8gfc8rav8jk7m51z9dhias0z7v3rnzyjm9pzr3k";
+      };
+    };
+    "agentkeepalive-3.3.0" = {
+      name = "agentkeepalive";
+      packageName = "agentkeepalive";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.3.0.tgz";
+        sha512 = "0svpj8gbh57a1l3zcds9kd8dkh4r2fyacpkrxvffbpj5pgvbf26h93q31niqbqsciswdxlx0fhikljqwg40lvmwxl299nb2gfjmqa7p";
       };
     };
     "ajv-4.11.8" = {
@@ -49,13 +490,13 @@ let
         sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
       };
     };
-    "amdefine-1.0.1" = {
-      name = "amdefine";
-      packageName = "amdefine";
-      version = "1.0.1";
+    "ansi-align-2.0.0" = {
+      name = "ansi-align";
+      packageName = "ansi-align";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
-        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
       };
     };
     "ansi-diff-stream-1.2.0" = {
@@ -67,6 +508,51 @@ let
         sha1 = "eb325c20ac3623ecd592011a9295d76d97de460e";
       };
     };
+    "ansi-escapes-1.4.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+      };
+    };
+    "ansi-escapes-3.0.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz";
+        sha512 = "06szfav8g7xywvqsis16nnkjqs2snhv37r4m53l1ax8k2sahvqv9id2klam32jajqd08ylw8g9wbcjr971igx6vh8idan76drrjby9v";
+      };
+    };
+    "ansi-parser-2.0.0" = {
+      name = "ansi-parser";
+      packageName = "ansi-parser";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-parser/-/ansi-parser-2.0.0.tgz";
+        sha1 = "433498af32fee8c2a1df2c4e47941bc029bcf407";
+      };
+    };
+    "ansi-parser-3.0.0" = {
+      name = "ansi-parser";
+      packageName = "ansi-parser";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-parser/-/ansi-parser-3.0.0.tgz";
+        sha1 = "945c0e7232caf5675217375b3eb8892008c14629";
+      };
+    };
+    "ansi-parser-3.2.8" = {
+      name = "ansi-parser";
+      packageName = "ansi-parser";
+      version = "3.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-parser/-/ansi-parser-3.2.8.tgz";
+        sha1 = "ad80a6351ac5e58cc7e8a761abc037b5505041d0";
+      };
+    };
     "ansi-regex-2.1.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
@@ -85,6 +571,15 @@ let
         sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
       };
     };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
     "ansi-styles-3.2.0" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
@@ -94,6 +589,42 @@ let
         sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
       };
     };
+    "ansicolors-0.3.2" = {
+      name = "ansicolors";
+      packageName = "ansicolors";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
+        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
+      };
+    };
+    "ansistyles-0.1.3" = {
+      name = "ansistyles";
+      packageName = "ansistyles";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
+        sha1 = "5de60415bda071bb37127854c864f41b23254539";
+      };
+    };
+    "ansy-1.0.13" = {
+      name = "ansy";
+      packageName = "ansy";
+      version = "1.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansy/-/ansy-1.0.13.tgz";
+        sha512 = "1a13d7ws8k5vnckqfbrlmmmdxxmj0fjlsgs4h1g8ymmm6fz019gykr01kr479dsqzikgcbmz56jnfj1jjknllij7b840w7mzhvpxvyc";
+      };
+    };
+    "any-promise-1.3.0" = {
+      name = "any-promise";
+      packageName = "any-promise";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz";
+        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+      };
+    };
     "anymatch-1.3.2" = {
       name = "anymatch";
       packageName = "anymatch";
@@ -112,13 +643,13 @@ let
         sha1 = "d8a3f26615379398a1b53ca6cc1a666a0fbfe150";
       };
     };
-    "append-tree-2.4.0" = {
+    "append-tree-2.4.1" = {
       name = "append-tree";
       packageName = "append-tree";
-      version = "2.4.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/append-tree/-/append-tree-2.4.0.tgz";
-        sha512 = "1ym9wsmz3fjv0wf675xclbnjp825cyvxp3a9x8af96yms45dbk8c79jrx5vgdii1zimcnr2pg305g9sw79k5yqah9267k71lsz5vv35";
+        url = "https://registry.npmjs.org/append-tree/-/append-tree-2.4.1.tgz";
+        sha512 = "2zb14nlfxs726ng8jhfpf6n9b9kw32smg2krcl0vj90dfrkcc20fm36j2zgdd49b2ln1z4jz2wvvy4qgss14zzfr3rps719h6vlyjg7";
       };
     };
     "aproba-1.2.0" = {
@@ -130,6 +661,15 @@ let
         sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
       };
     };
+    "archy-1.0.0" = {
+      name = "archy";
+      packageName = "archy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
+        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+      };
+    };
     "are-we-there-yet-1.1.4" = {
       name = "are-we-there-yet";
       packageName = "are-we-there-yet";
@@ -139,6 +679,15 @@ let
         sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
       };
     };
+    "argparse-1.0.9" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz";
+        sha1 = "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86";
+      };
+    };
     "arr-diff-2.0.0" = {
       name = "arr-diff";
       packageName = "arr-diff";
@@ -157,6 +706,33 @@ let
         sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
       };
     };
+    "array-find-index-1.0.2" = {
+      name = "array-find-index";
+      packageName = "array-find-index";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";
+        sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
+      };
+    };
+    "array-flatten-2.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz";
+        sha1 = "426bb9da84090c1838d812c8150af20a8331e296";
+      };
+    };
+    "array-includes-3.0.3" = {
+      name = "array-includes";
+      packageName = "array-includes";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    };
     "array-lru-1.1.1" = {
       name = "array-lru";
       packageName = "array-lru";
@@ -166,6 +742,24 @@ let
         sha1 = "0c7e1b4e022ae166ff1e8448c595f3181fcd3337";
       };
     };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
     "array-unique-0.2.1" = {
       name = "array-unique";
       packageName = "array-unique";
@@ -175,6 +769,33 @@ let
         sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
       };
     };
+    "arrify-1.0.1" = {
+      name = "arrify";
+      packageName = "arrify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    };
+    "as-table-1.0.31" = {
+      name = "as-table";
+      packageName = "as-table";
+      version = "1.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/as-table/-/as-table-1.0.31.tgz";
+        sha1 = "d00180024ecbb6d1a747150df751d3716aea8166";
+      };
+    };
+    "asap-2.0.6" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    };
     "asn1-0.2.3" = {
       name = "asn1";
       packageName = "asn1";
@@ -274,6 +895,15 @@ let
         sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
       };
     };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    };
     "balanced-match-1.0.0" = {
       name = "balanced-match";
       packageName = "balanced-match";
@@ -283,13 +913,13 @@ let
         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "base64-to-uint8array-1.0.0" = {
-      name = "base64-to-uint8array";
-      packageName = "base64-to-uint8array";
-      version = "1.0.0";
+    "base64-js-0.0.8" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "0.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-to-uint8array/-/base64-to-uint8array-1.0.0.tgz";
-        sha512 = "01a4ip2ivflpjsx4flnww5fqvdcsy2sqnjgp2cii6b2gnkkccr02vbf2y8r2wlcab4pb8x47qb3jpahca61v584bmz9xcwyqx0xdf3n";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz";
+        sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
       };
     };
     "bcrypt-pbkdf-1.0.1" = {
@@ -310,6 +940,15 @@ let
         sha512 = "1kvjv5hs1c53b5g2vghpnncn4zj397sa0vpbx1pzpn8ngq52s3xq9923gnl2kzkh1mhyrl277jrh87a766yks89qvz8b4jczr44xr9p";
       };
     };
+    "bindings-1.3.0" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz";
+        sha512 = "15lvjac4av3h7xmks8jgd56vryz5xb27r8xcpfwhfyr9dv305lms5llc1x6nx6nfvha873d4vg04nfi89aj4jkxplrnjiyc9kjf34hf";
+      };
+    };
     "bitfield-rle-2.1.0" = {
       name = "bitfield-rle";
       packageName = "bitfield-rle";
@@ -319,13 +958,22 @@ let
         sha1 = "ae29e9382a7ba4898de9f48bb23fd338c4fbdcf8";
       };
     };
-    "bittorrent-dht-7.8.2" = {
+    "bittorrent-dht-7.10.0" = {
       name = "bittorrent-dht";
       packageName = "bittorrent-dht";
-      version = "7.8.2";
+      version = "7.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.10.0.tgz";
+        sha512 = "10md5792s6q3xwdrmwh1a8ax9w128g607b5qsbxzw8x0gl9184g754hprchl6mq8lmf4f8qylk2h8vavsnbn9yy9gzjnyh2kwrzmxky";
+      };
+    };
+    "bl-1.2.1" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-7.8.2.tgz";
-        sha512 = "33jcwf8rh9r7m810lw75s1ij9k0bv1kjmnc24488i6nd1ri9a1p2gmci5z1xdfriyb8j7x8h1ch3aj5a1chdglwn6pbsll7cx4j6wd4";
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz";
+        sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
       };
     };
     "blake2b-2.1.2" = {
@@ -337,13 +985,13 @@ let
         sha1 = "6880eddca35cfede92c4fb2724221334f989145a";
       };
     };
-    "blake2b-wasm-1.1.4" = {
+    "blake2b-wasm-1.1.7" = {
       name = "blake2b-wasm";
       packageName = "blake2b-wasm";
-      version = "1.1.4";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.4.tgz";
-        sha512 = "3hgcz1c3h2hxgavmlf5r4dwk0wy2sg9y4lfs5ifj4spdlwyy3ki9i1i4hjaw0029c896d6yw424mw2j1nf4qyibkz2lbh1ws6z6rdlg";
+        url = "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz";
+        sha512 = "1q4aaql83818qzgh01c6x9jvcchmd6bq7r0kfs3f364vhwxnp7qc25y3h2ij5751mi1zhh96874ib0afn8an92xh3ag1kv5g2yhflm0";
       };
     };
     "block-stream-0.0.9" = {
@@ -355,6 +1003,15 @@ let
         sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
       };
     };
+    "bluebird-3.5.1" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz";
+        sha512 = "2631bhp784qng0ifbypsmvijn6kjfvkhq2335kdz8ix5qi3wb3lbpg94xjn1av2s6i95ygr5a4y9j1721dw6zdbywwh1m48by4qpa1h";
+      };
+    };
     "body-0.1.0" = {
       name = "body";
       packageName = "body";
@@ -364,6 +1021,15 @@ let
         sha1 = "e714fe28cd8848aa34cdf2c9f242bbe2e15d1cd8";
       };
     };
+    "bole-3.0.2" = {
+      name = "bole";
+      packageName = "bole";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bole/-/bole-3.0.2.tgz";
+        sha1 = "bc8a483ca94049da9b837c1ad11cdfebee6e0514";
+      };
+    };
     "boom-2.10.1" = {
       name = "boom";
       packageName = "boom";
@@ -391,6 +1057,15 @@ let
         sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
       };
     };
+    "boxen-1.3.0" = {
+      name = "boxen";
+      packageName = "boxen";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz";
+        sha512 = "0pmn5jcnph7yfgfhlncg1lys066cq44kavj4d9qhmyy9705w61pabpwlma09xg4xplzbxh78d3m4xwvjwk478r3xyqnmpzq79yy7lsc";
+      };
+    };
     "brace-expansion-1.1.8" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
@@ -409,15 +1084,6 @@ let
         sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
       };
     };
-    "brfs-1.4.3" = {
-      name = "brfs";
-      packageName = "brfs";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brfs/-/brfs-1.4.3.tgz";
-        sha1 = "db675d6f5e923e6df087fca5859c9090aaed3216";
-      };
-    };
     "browser-stdout-1.3.0" = {
       name = "browser-stdout";
       packageName = "browser-stdout";
@@ -427,6 +1093,24 @@ let
         sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
       };
     };
+    "browserify-zlib-0.1.4" = {
+      name = "browserify-zlib";
+      packageName = "browserify-zlib";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+      };
+    };
+    "buffer-3.6.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz";
+        sha1 = "a72c936f77b96bf52f5f7e7b467180628551defb";
+      };
+    };
     "buffer-alloc-unsafe-1.0.0" = {
       name = "buffer-alloc-unsafe";
       packageName = "buffer-alloc-unsafe";
@@ -436,15 +1120,6 @@ let
         sha1 = "474aa88f34e7bc75fa311d2e6457409c5846c3fe";
       };
     };
-    "buffer-equal-0.0.1" = {
-      name = "buffer-equal";
-      packageName = "buffer-equal";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
-        sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
-      };
-    };
     "buffer-equals-1.0.4" = {
       name = "buffer-equals";
       packageName = "buffer-equals";
@@ -463,6 +1138,33 @@ let
         sha512 = "3bgz1zhq9ng3gypq825f00p9qi9y6z7wvkkf28nhjlyifnb3lk1dkmbya84k0ja79zv8kmmhvalwcnnz92533ip7pnjp3is1w9cxyp3";
       };
     };
+    "bug-killer-4.4.4" = {
+      name = "bug-killer";
+      packageName = "bug-killer";
+      version = "4.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bug-killer/-/bug-killer-4.4.4.tgz";
+        sha1 = "96e0322b9437a2b0672d78aacd1ed2bef11f945a";
+      };
+    };
+    "builtin-modules-1.1.1" = {
+      name = "builtin-modules";
+      packageName = "builtin-modules";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    };
+    "builtins-1.0.3" = {
+      name = "builtins";
+      packageName = "builtins";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz";
+        sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
+      };
+    };
     "bulk-write-stream-1.1.3" = {
       name = "bulk-write-stream";
       packageName = "bulk-write-stream";
@@ -472,6 +1174,15 @@ let
         sha1 = "d29ca385fbd53f357aee5bd3d3028732b62ae275";
       };
     };
+    "byline-5.0.0" = {
+      name = "byline";
+      packageName = "byline";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz";
+        sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1";
+      };
+    };
     "bytes-3.0.0" = {
       name = "bytes";
       packageName = "bytes";
@@ -481,6 +1192,51 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
+    "bzip2-maybe-1.0.0" = {
+      name = "bzip2-maybe";
+      packageName = "bzip2-maybe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bzip2-maybe/-/bzip2-maybe-1.0.0.tgz";
+        sha1 = "c9aef7008a6b943cbe99cc617125eb4bd478296b";
+      };
+    };
+    "cacache-10.0.2" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "10.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-10.0.2.tgz";
+        sha512 = "1nn7is7pd6vgcf96b9hym6ia3a0adgw2r4a4ckbb9ykm6risqsnw16kgqfrwvi37mpkzizricfnkns7d0d7agh1laws73imv7nxnn3n";
+      };
+    };
+    "cacache-9.2.9" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "9.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-9.2.9.tgz";
+        sha512 = "11qjza6qy62lkvynngcvx7nf2vhxvvp4g0l07a8zw5pzqc5iy0zznxzgs0dw1bb2i10dr2v7i624x6v9pkzp55snam9wk5jjf7ka642";
+      };
+    };
+    "cacheable-request-2.1.4" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
+        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
+      };
+    };
+    "call-limit-1.1.0" = {
+      name = "call-limit";
+      packageName = "call-limit";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz";
+        sha1 = "6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea";
+      };
+    };
     "call-me-maybe-1.0.1" = {
       name = "call-me-maybe";
       packageName = "call-me-maybe";
@@ -490,6 +1246,24 @@ let
         sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
       };
     };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    };
+    "capture-stack-trace-1.0.0" = {
+      name = "capture-stack-trace";
+      packageName = "capture-stack-trace";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
+        sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
+      };
+    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -499,6 +1273,15 @@ let
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
     "chalk-2.3.0" = {
       name = "chalk";
       packageName = "chalk";
@@ -508,6 +1291,69 @@ let
         sha512 = "3fj8njcdcvyplivm2fj19lqw8qv7gb8v7gd6a223pmn8f3di4zwkhyb09vzlmw3pnk4ib88kp4cg8r9i5k5rskalzdfh1l23ljp6gh3";
       };
     };
+    "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";
+      };
+    };
+    "ci-info-1.1.2" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz";
+        sha512 = "1jbmihk48iby72h0b6k4rvhrnaydml49qyjcb83ix310ivjzd4zmdk3yxx1ssn6ryjblm7xzaswnwj53rxwcyn1fr0jm7bzvhy8hcdr";
+      };
+    };
+    "cidr-regex-1.0.6" = {
+      name = "cidr-regex";
+      packageName = "cidr-regex";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cidr-regex/-/cidr-regex-1.0.6.tgz";
+        sha1 = "74abfd619df370b9d54ab14475568e97dd64c0c1";
+      };
+    };
+    "class-methods-1.0.10" = {
+      name = "class-methods";
+      packageName = "class-methods";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-methods/-/class-methods-1.0.10.tgz";
+        sha512 = "2j59qyqmhdcldp2k34mrcfx2rqblcv1c2902zzin1fzqamys2jxs32q341k4faclld17w96w7x3hnv2vjinn0jq0b6a7ld1icaay2wv";
+      };
+    };
+    "cli-box-5.0.0" = {
+      name = "cli-box";
+      packageName = "cli-box";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-box/-/cli-box-5.0.0.tgz";
+        sha1 = "870ea8aa77e7c25179416ceccfe5ed0690804602";
+      };
+    };
+    "cli-boxes-1.0.0" = {
+      name = "cli-boxes";
+      packageName = "cli-boxes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz";
+        sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
+      };
+    };
+    "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-table-0.3.1" = {
       name = "cli-table";
       packageName = "cli-table";
@@ -517,6 +1363,15 @@ let
         sha1 = "f53b05266a8b1a0b934b3d0821e6e2dc5914ae23";
       };
     };
+    "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";
+      };
+    };
     "cli-truncate-1.1.0" = {
       name = "cli-truncate";
       packageName = "cli-truncate";
@@ -535,6 +1390,51 @@ let
         sha1 = "69431c7cb5af723774b0d3911b4c37512431910f";
       };
     };
+    "cliui-3.2.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    };
+    "clone-1.0.3" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz";
+        sha1 = "298d7e2231660f40c003c2ed3140decf3f53085f";
+      };
+    };
+    "clone-response-1.0.2" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    };
+    "clp-3.2.1" = {
+      name = "clp";
+      packageName = "clp";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clp/-/clp-3.2.1.tgz";
+        sha1 = "af1ed66db895a5c9ce9b6d32e9c33dee02b3edf2";
+      };
+    };
+    "cmd-shim-2.0.2" = {
+      name = "cmd-shim";
+      packageName = "cmd-shim";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz";
+        sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb";
+      };
+    };
     "co-4.6.0" = {
       name = "co";
       packageName = "co";
@@ -598,6 +1498,15 @@ let
         sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
       };
     };
+    "columnify-1.5.4" = {
+      name = "columnify";
+      packageName = "columnify";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz";
+        sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
+      };
+    };
     "combined-stream-1.0.5" = {
       name = "combined-stream";
       packageName = "combined-stream";
@@ -625,6 +1534,15 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
+    "common-tags-1.7.2" = {
+      name = "common-tags";
+      packageName = "common-tags";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz";
+        sha512 = "0jx2cncv7x5ms1gg2vks5bhxi9c5jbwymfk42dzmp9vrxrmhrl9vaw4wsh4lvf65shxmq1v8f8s0i3rkyk2x8mrfpq2m30famkgv24f";
+      };
+    };
     "concat-map-0.0.1" = {
       name = "concat-map";
       packageName = "concat-map";
@@ -643,6 +1561,24 @@ let
         sha1 = "0aac662fd52be78964d5532f694784e70110acf7";
       };
     };
+    "config-chain-1.1.11" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+      };
+    };
+    "configstore-3.1.1" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz";
+        sha512 = "2zmidvkp20q25yv6a5d7k1daawdg0w6ppgayxzpwfhyvmgwybkkv7ni0j4b2j9c8wjn8z33zf5d4bjr8jywb5qixc75vypyy87n90z6";
+      };
+    };
     "connections-1.4.2" = {
       name = "connections";
       packageName = "connections";
@@ -670,6 +1606,24 @@ let
         sha1 = "0e790b3abfef90f6ecb77ae8585db9099caf7578";
       };
     };
+    "copy-concurrently-1.0.5" = {
+      name = "copy-concurrently";
+      packageName = "copy-concurrently";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha512 = "3c1ggiqqnjgqlwdnimx94gm176c8rjsrih5qw2lbm642l8x7grx07v065k4j89c1p0adkm7v6sz11drb6j6sp51np2m1cazvycnhrvz";
+      };
+    };
+    "core-js-2.5.3" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz";
+        sha1 = "8acc38345824f16d8365b7c9b4259168e8ed603e";
+      };
+    };
     "core-util-is-1.0.2" = {
       name = "core-util-is";
       packageName = "core-util-is";
@@ -688,6 +1642,51 @@ let
         sha1 = "11a45bc47ab30c54d00bb869ea1802fbcd9a09d0";
       };
     };
+    "couleurs-5.0.0" = {
+      name = "couleurs";
+      packageName = "couleurs";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/couleurs/-/couleurs-5.0.0.tgz";
+        sha1 = "1cd3ace5cca1bec0041578b27464b2676387f6db";
+      };
+    };
+    "couleurs-6.0.9" = {
+      name = "couleurs";
+      packageName = "couleurs";
+      version = "6.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/couleurs/-/couleurs-6.0.9.tgz";
+        sha1 = "b2b2a3ee37dae51875c9efd243ec7e7894afbc9e";
+      };
+    };
+    "create-error-class-3.0.2" = {
+      name = "create-error-class";
+      packageName = "create-error-class";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
+        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
+      };
+    };
+    "credentials-by-uri-1.0.0" = {
+      name = "credentials-by-uri";
+      packageName = "credentials-by-uri";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/credentials-by-uri/-/credentials-by-uri-1.0.0.tgz";
+        sha512 = "3c5r91jgf91szpxfh7rh0c5wi3xzck43b8kzgmxi3ppw29hj9v9is6a3jh5divbgg7dr5diw6zysri7mpvji5jagh2ain0mcj81knjs";
+      };
+    };
+    "cross-spawn-5.1.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+      };
+    };
     "cryptiles-2.0.5" = {
       name = "cryptiles";
       packageName = "cryptiles";
@@ -706,6 +1705,42 @@ let
         sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
       };
     };
+    "crypto-random-string-1.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
+        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
+      };
+    };
+    "csv-parser-1.12.0" = {
+      name = "csv-parser";
+      packageName = "csv-parser";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csv-parser/-/csv-parser-1.12.0.tgz";
+        sha512 = "3amd2y4wd86nqpmj4ngich00g73ldp4di353338vjdsgch52zgc7fl6mgh1yfm9n46nlifh7p0c6y8i8p5al90crkbfnsxw561m9lli";
+      };
+    };
+    "currently-unhandled-0.4.1" = {
+      name = "currently-unhandled";
+      packageName = "currently-unhandled";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+        sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+      };
+    };
+    "custom-return-1.0.10" = {
+      name = "custom-return";
+      packageName = "custom-return";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/custom-return/-/custom-return-1.0.10.tgz";
+        sha512 = "3pk09pi85idb0ycy2hmh3k2cbphacc3hr7rdv157gb93vvk9hfgjnc9dv0k1qvb11h46zpya9njb07f9whrmn31zbx8cf1hchmknpaq";
+      };
+    };
     "cycle-1.0.3" = {
       name = "cycle";
       packageName = "cycle";
@@ -715,6 +1750,15 @@ let
         sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
       };
     };
+    "cyclist-0.2.2" = {
+      name = "cyclist";
+      packageName = "cyclist";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz";
+        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
+      };
+    };
     "dashdash-1.14.1" = {
       name = "dashdash";
       packageName = "dashdash";
@@ -778,15 +1822,6 @@ let
         sha512 = "13nn20vg6jx1h8ypazv9zn236hvv29wwq52mdbbfl77zrg8d7syni933v2mm3y1jsk25c7dc2gs1876fz0yblniryncnbjxrf0aq0nq";
       };
     };
-    "dat-link-resolve-1.1.1" = {
-      name = "dat-link-resolve";
-      packageName = "dat-link-resolve";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dat-link-resolve/-/dat-link-resolve-1.1.1.tgz";
-        sha512 = "3a3rmwv687r07qnzdp4k15ng7xbbgibssjiqjvhhhrxq5mc22m34g7hi1h15rqjs3zzlajn291j3xv9af22j3fynpygky13zzvxj367";
-      };
-    };
     "dat-link-resolve-2.1.0" = {
       name = "dat-link-resolve";
       packageName = "dat-link-resolve";
@@ -850,6 +1885,24 @@ let
         sha1 = "ba7d58c309cf60c3924afad869b75192b61fe354";
       };
     };
+    "data-uri-to-buffer-2.0.0" = {
+      name = "data-uri-to-buffer";
+      packageName = "data-uri-to-buffer";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.0.tgz";
+        sha512 = "1pvmcndfngvwy1z5x3vhy8jvrcpaahgc8jhq7cpnjcb2zfacai445afjpykxyzy8s6css19p1rl3ab91vz22fa1ffkqhgygncs85ck1";
+      };
+    };
+    "date-unit-ms-1.1.12" = {
+      name = "date-unit-ms";
+      packageName = "date-unit-ms";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-unit-ms/-/date-unit-ms-1.1.12.tgz";
+        sha512 = "39jwcz9i3f80f9sqx06abcpk9zs9dw90gyy2pb603h1h5q0ph2qpx005wzmmn0phfg83d4nx2d14p3lgfn1ywa6yfcc71rnnbw3l3f3";
+      };
+    };
     "datland-swarm-defaults-1.0.2" = {
       name = "datland-swarm-defaults";
       packageName = "datland-swarm-defaults";
@@ -859,6 +1912,24 @@ let
         sha1 = "277b895a39f1aa7f96a495a02fb3662a5ed9f2e0";
       };
     };
+    "daty-1.1.4" = {
+      name = "daty";
+      packageName = "daty";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/daty/-/daty-1.1.4.tgz";
+        sha512 = "0a8n1f6rfaa6k4r76b2rqgvfp9qvw5xj7w0lzjfv1g4fxcjllk519vj3jfrx540jiv2mbpky6jv17d3zhwc0jg0a9rbnc0k1m4m5dgs";
+      };
+    };
+    "days-1.1.1" = {
+      name = "days";
+      packageName = "days";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/days/-/days-1.1.1.tgz";
+        sha512 = "13wlz4m9gk0wf2w3x44y2gph1mmqmj8z1mfkhxpxhjk3rs7h28gj6lc8x0b6i966w00dvrws86da672vmizmy31whvj08q4bg0qhdxz";
+      };
+    };
     "debug-2.6.9" = {
       name = "debug";
       packageName = "debug";
@@ -877,6 +1948,51 @@ let
         sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
       };
     };
+    "debuglog-1.0.1" = {
+      name = "debuglog";
+      packageName = "debuglog";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
+        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "decode-uri-component-0.2.0" = {
+      name = "decode-uri-component";
+      packageName = "decode-uri-component";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    };
+    "decompress-maybe-1.0.0" = {
+      name = "decompress-maybe";
+      packageName = "decompress-maybe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-maybe/-/decompress-maybe-1.0.0.tgz";
+        sha1 = "adfe78c66cc069e64e824bd1405b85e75e6d1cbb";
+      };
+    };
+    "decompress-response-3.3.0" = {
+      name = "decompress-response";
+      packageName = "decompress-response";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    };
     "deep-equal-0.2.2" = {
       name = "deep-equal";
       packageName = "deep-equal";
@@ -895,6 +2011,51 @@ let
         sha1 = "48b699c27e334bf89f10892be432f6e4c7d34a7f";
       };
     };
+    "defaults-1.0.3" = {
+      name = "defaults";
+      packageName = "defaults";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    };
+    "deffy-2.0.0" = {
+      name = "deffy";
+      packageName = "deffy";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deffy/-/deffy-2.0.0.tgz";
+        sha1 = "f82e08eea518c4a0a30b1f03ec504d248af28932";
+      };
+    };
+    "deffy-2.2.2" = {
+      name = "deffy";
+      packageName = "deffy";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deffy/-/deffy-2.2.2.tgz";
+        sha1 = "088f40913cb47078653fa6f697c206e03471d523";
+      };
+    };
+    "define-properties-1.1.2" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz";
+        sha1 = "83a73f2fea569898fb737193c8f873caf6d45c94";
+      };
+    };
+    "delay-2.0.0" = {
+      name = "delay";
+      packageName = "delay";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delay/-/delay-2.0.0.tgz";
+        sha1 = "9112eadc03e4ec7e00297337896f273bbd91fae5";
+      };
+    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -913,6 +2074,33 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
+    "dependencies-hierarchy-2.0.1" = {
+      name = "dependencies-hierarchy";
+      packageName = "dependencies-hierarchy";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dependencies-hierarchy/-/dependencies-hierarchy-2.0.1.tgz";
+        sha512 = "1sfyf5x0ffhb2yh04wcwd0szfknjfrf21ibabzk780m31ww4fnzm01ddr9h3j1wfn4ib15pjvg24kylhs2l9g5fg9gnkirpa7zphyxz";
+      };
+    };
+    "dependency-path-1.2.0" = {
+      name = "dependency-path";
+      packageName = "dependency-path";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dependency-path/-/dependency-path-1.2.0.tgz";
+        sha512 = "3fx4g67dcmnhggas6gyk3qd0376f5ff9imzi9n3npqjdbnxqd0niagdl591n64mlk8l8rrnkp39fj7cgbd05az9k5b2ir5pr73lf9aq";
+      };
+    };
+    "detect-indent-5.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz";
+        sha1 = "3871cc0a6a002e8c3e5b3cf7f336264675f06b9d";
+      };
+    };
     "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
@@ -922,6 +2110,24 @@ let
         sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
+    "dezalgo-1.0.3" = {
+      name = "dezalgo";
+      packageName = "dezalgo";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz";
+        sha1 = "7f742de066fc748bc8db820569dddce49bf0d456";
+      };
+    };
+    "diable-4.0.1" = {
+      name = "diable";
+      packageName = "diable";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diable/-/diable-4.0.1.tgz";
+        sha512 = "3xs7mj78f1pz54n7lgqczhksnznrsj1bz0733lnrsarqshqci89980q25yms1iva430jfxsjd9kgk4f1f30y3xpyi8krd0vkb57xkl6";
+      };
+    };
     "diff-3.3.1" = {
       name = "diff";
       packageName = "diff";
@@ -931,6 +2137,33 @@ let
         sha512 = "31pj7v5gg5igmvwzk6zxw1wbvwjg6m9sfl0h3bs1x4q6idcw98vr8z8wcqk2603q0blpqkmkxp659kjj91wksr03yr8xlh16djcg8rh";
       };
     };
+    "diff-dates-1.0.11" = {
+      name = "diff-dates";
+      packageName = "diff-dates";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff-dates/-/diff-dates-1.0.11.tgz";
+        sha512 = "3n24i042lak0xiwsf39kqkmgfjpk3yy7b7s5j4yli6a41h438lh8khdn0zg71jz30vmz0iil8bpjbm0amy24mmbyf4vz5jwp7z312fj";
+      };
+    };
+    "dint-2.0.2" = {
+      name = "dint";
+      packageName = "dint";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dint/-/dint-2.0.2.tgz";
+        sha512 = "1kj5zqj3mz3jr7624dszj4qnypqa6z1ll8ysn56mibmchrdfb6x82ncfr8jl1h2igla24kp7kbivpmzzjp1zbb29s2gwj9y0zzrmf9v";
+      };
+    };
+    "dir-glob-2.0.0" = {
+      name = "dir-glob";
+      packageName = "dir-glob";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha512 = "1m705yfirf97v4w87gfvylhhq9jlwjsgfp5x0p0cp33mc180ldmvgbs06zmr7by48d7r01n3awx4xz3m3vzba99gqww1wgka2na5fnz";
+      };
+    };
     "directory-index-html-2.1.0" = {
       name = "directory-index-html";
       packageName = "directory-index-html";
@@ -940,13 +2173,13 @@ let
         sha1 = "4d5afc5187edba67ec6ab0e55f6422a0e2cb7338";
       };
     };
-    "discovery-channel-5.4.6" = {
+    "discovery-channel-5.4.7" = {
       name = "discovery-channel";
       packageName = "discovery-channel";
-      version = "5.4.6";
+      version = "5.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.6.tgz";
-        sha1 = "1b0f25e58124507e861b6dc3ecb744366bb53cad";
+        url = "https://registry.npmjs.org/discovery-channel/-/discovery-channel-5.4.7.tgz";
+        sha512 = "3c8npbdr7r6725kkj76h5zy72l3gd8ndb3dy4dwbapxapfzccl9f6iy0zdy3wxywcfb6cc64w4mf089v00rcr1aqcjdlvn483pnzs78";
       };
     };
     "discovery-swarm-4.4.2" = {
@@ -967,22 +2200,22 @@ let
         sha512 = "2hda8mbvxc2r10g5p9dsrjk3qdrp7gpk66ps0dikwzcdgn9bvsf8ih9k19kxw7wr299cm7hav2q6rjp5m76zyb6mb19bfa3g6zxyvmg";
       };
     };
-    "dns-packet-1.3.0" = {
+    "dns-packet-1.3.1" = {
       name = "dns-packet";
       packageName = "dns-packet";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.0.tgz";
-        sha512 = "0qcs9idjrq4z4gmc95kaarjl2xahwl72136h2frf1hbj1kgfcs8yjv9crfsr6iw8jyyvvvbn4hj1yfqwnvz3amrcx1mb56yklaqa8xv";
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha512 = "19g682cvkba33mwrism28hibd2nv9xd16k5bj807jx3ih1cc7ff9dn8chmfjnqgglzl6lq3m3jarxng9vbarccgchd0aq118d15yk6i";
       };
     };
-    "dns-socket-1.6.2" = {
+    "dns-socket-1.6.3" = {
       name = "dns-socket";
       packageName = "dns-socket";
-      version = "1.6.2";
+      version = "1.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-1.6.2.tgz";
-        sha512 = "0ibd2ndmlqbk96vdcimsl4w1njplh9gplvqa5f7653km79f9kqpd6d7f0f3lq1sz548lqcbjfcgcr7fc9159b4gzzk1g86kjxzxmmk6";
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-1.6.3.tgz";
+        sha512 = "2g9g9jqx44qpiawlxfn1g647dqwwz2djjpy350c83d1z79d5wa21cknh1jz4wrwsjkvgn14vhmjjxqxf5n8fqq6fjyzw85aa7fk4rgy";
       };
     };
     "dns-txt-2.0.2" = {
@@ -1003,13 +2236,49 @@ let
         sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
       };
     };
-    "duplexer2-0.0.2" = {
-      name = "duplexer2";
-      packageName = "duplexer2";
-      version = "0.0.2";
+    "dot-prop-4.2.0" = {
+      name = "dot-prop";
+      packageName = "dot-prop";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha512 = "2wyv9brsq3dzp724y1q5z5j5ja83y834hgc193lnarfdycwz1ii3xg02qxx3dg05x3skwjm1di5s5a8hqi8l5v1afx2bia436pifhxm";
+      };
+    };
+    "dotenv-4.0.0" = {
+      name = "dotenv";
+      packageName = "dotenv";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz";
+        sha1 = "864ef1379aced55ce6f95debecdce179f7a0cd1d";
+      };
+    };
+    "drive-by-path-1.0.0" = {
+      name = "drive-by-path";
+      packageName = "drive-by-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/drive-by-path/-/drive-by-path-1.0.0.tgz";
+        sha512 = "2qa8hminmq4ccas79iblr6bhpi5db7pr4wprwabf3b26mzky20grbamh8w91x0305gr9ab0hg314dqbhk7fjqylrzc5f8aq21mkl9hm";
+      };
+    };
+    "drivelist-5.2.12" = {
+      name = "drivelist";
+      packageName = "drivelist";
+      version = "5.2.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/drivelist/-/drivelist-5.2.12.tgz";
+        sha512 = "16zzhdm5j9sxfgcgh547v4s5y3han38a5iwj8ap8glp5ql6vbrl01jj6dsjpiqlbjf56pxla8shnz64yjngvnq0zcdkabns4cr1i0lp";
+      };
+    };
+    "duplexer3-0.1.4" = {
+      name = "duplexer3";
+      packageName = "duplexer3";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
-        sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
+        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
+        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
       };
     };
     "duplexify-3.5.3" = {
@@ -1030,6 +2299,33 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
+    "editor-1.0.0" = {
+      name = "editor";
+      packageName = "editor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz";
+        sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742";
+      };
+    };
+    "encode-registry-1.1.0" = {
+      name = "encode-registry";
+      packageName = "encode-registry";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encode-registry/-/encode-registry-1.1.0.tgz";
+        sha512 = "0s849n20b958rnb9r35b9i0l6zvpk0vx49c6xap06fy5iq1zz0ls0wqc1bdskw1v39z5xz4a8sfaigsw0rjfckic6xlxmw4ybvn9vf1";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    };
     "end-of-stream-1.4.1" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
@@ -1039,76 +2335,121 @@ let
         sha512 = "3cjrpi6n5i6gf8jaiwg31y2xkgx59szhhcj9myqwmdw16s9r6yvwznxd2lhqf96mpm6knyb3w2bcnksg5nzkrq6iada0k6nvdj2pjfl";
       };
     };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
+    "err-code-1.1.2" = {
+      name = "err-code";
+      packageName = "err-code";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        url = "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz";
+        sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
       };
     };
-    "escodegen-0.0.28" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "0.0.28";
+    "errno-0.1.6" = {
+      name = "errno";
+      packageName = "errno";
+      version = "0.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
-        sha1 = "0e4ff1715f328775d6cab51ac44a406cd7abffd3";
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz";
+        sha512 = "0vny3xisd56kx193rhv6vpccjxlajjn9ss5wk96l1ya8zbpkwbjrrgrm9wpfm3xc8apx8z9xb0kjkw0y5qnc6gy1hf2qsas79093hr2";
       };
     };
-    "escodegen-1.3.3" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "1.3.3";
+    "error-ex-1.3.1" = {
+      name = "error-ex";
+      packageName = "error-ex";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
-        sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz";
+        sha1 = "f855a86ce61adc4e8621c3cda21e7a7612c3a8dc";
       };
     };
-    "esprima-1.0.4" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "1.0.4";
+    "es-abstract-1.10.0" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz";
+        sha512 = "04nd5ylkfffc08vn5kjhz0saqh44nj19f5j3ahrrhf3zvc9da5rf6snnh63xv4gfhacjbax1jajzgqv4zpm77v806jf883a2w77zs7y";
+      };
+    };
+    "es-to-primitive-1.1.1" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz";
+        sha1 = "45355248a88979034b6792e19bb81f2b7975dd0d";
+      };
+    };
+    "es6-promise-4.2.4" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz";
+        sha512 = "10hlgvxhshjxlbwvm1gnf1b01sv1fmh191a97l0h5gmcs9am1b6x937wnhkvvj5fkin10qscii8pcwnp9rlnpkgnrhfdyk0a9jlvmzw";
+      };
+    };
+    "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";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
-    "esprima-1.1.1" = {
+    "esprima-4.0.0" = {
       name = "esprima";
       packageName = "esprima";
-      version = "1.1.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
-        sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz";
+        sha512 = "27mkhd94y9vrr8pb97br0ym5h85rawwb0biswgwdfp31x0387y12k9p9598bi4fc83fif6crfzqiqmmjs4x7gcb22ml3z1fldqm7yx1";
       };
     };
-    "estraverse-1.3.2" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "1.3.2";
+    "exclude-arr-1.0.9" = {
+      name = "exclude-arr";
+      packageName = "exclude-arr";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
-        sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42";
+        url = "https://registry.npmjs.org/exclude-arr/-/exclude-arr-1.0.9.tgz";
+        sha512 = "1j9b7mbjp9g840wwzgq7jmqx66qv2xwxl3z3330891qd1a4yrm1x3jsig1g0adx6q1lj9d9f6dsb0snm564f4ff8lxhiag0k645vap7";
       };
     };
-    "estraverse-1.5.1" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "1.5.1";
+    "execa-0.7.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
-        sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
+        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
       };
     };
-    "esutils-1.0.0" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "1.0.0";
+    "execa-0.8.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
-        sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
+        url = "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz";
+        sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da";
+      };
+    };
+    "execa-0.9.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.9.0.tgz";
+        sha512 = "2c2sw5624513vxbr2q2ay9x3qc80zfnwyr60n8cw35m1ji76yxhxv4nrk47iqd2wj1rv5l07klmncr2lfdzhfa0cn3si1pq4l30rd85";
       };
     };
     "expand-brackets-0.1.5" = {
@@ -1129,6 +2470,15 @@ let
         sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
       };
     };
+    "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";
+      };
+    };
     "extend-3.0.1" = {
       name = "extend";
       packageName = "extend";
@@ -1165,15 +2515,6 @@ let
         sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
       };
     };
-    "falafel-2.1.0" = {
-      name = "falafel";
-      packageName = "falafel";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz";
-        sha1 = "96bb17761daba94f46d001738b3cedf3a67fe06c";
-      };
-    };
     "fast-deep-equal-1.0.0" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
@@ -1192,6 +2533,15 @@ let
         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
+    "fast-safe-stringify-1.1.13" = {
+      name = "fast-safe-stringify";
+      packageName = "fast-safe-stringify";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.1.13.tgz";
+        sha1 = "a01e9cd9c9e491715c98a75a42d5f0bbd107ff76";
+      };
+    };
     "fd-read-stream-1.1.0" = {
       name = "fd-read-stream";
       packageName = "fd-read-stream";
@@ -1201,6 +2551,15 @@ let
         sha1 = "d303ccbfee02a9a56a3493fb08bcb59691aa53b1";
       };
     };
+    "fetch-from-npm-registry-0.1.0" = {
+      name = "fetch-from-npm-registry";
+      packageName = "fetch-from-npm-registry";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fetch-from-npm-registry/-/fetch-from-npm-registry-0.1.0.tgz";
+        sha512 = "1264ixqa9c8kzm56hlq6y91d7rhzfkvbjy0asvj4xkdspwb5sy363n9g9frai3w415j9xyqfw8k73rcpw295gmhp790rnl5p1w0m88g";
+      };
+    };
     "filename-regex-2.0.1" = {
       name = "filename-regex";
       packageName = "filename-regex";
@@ -1219,6 +2578,33 @@ let
         sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
       };
     };
+    "fillo-1.0.11" = {
+      name = "fillo";
+      packageName = "fillo";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fillo/-/fillo-1.0.11.tgz";
+        sha512 = "36l602p8x6jkfpk75skz4dwjlpy9bna1zqpx7jgfjlalqbwa7b67wb8rv23cd6m5saklalf77irgvly60b5ziy611a4477idbrrr1fx";
+      };
+    };
+    "find-packages-2.1.2" = {
+      name = "find-packages";
+      packageName = "find-packages";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-packages/-/find-packages-2.1.2.tgz";
+        sha512 = "18j6pnfzxysg3ylhx9npp90infzxgczn174pd3mvy8mw13cshll2rzf6i9b27qfyzgq4chk7wbwy8wr1flmzlpll5g22c0ryp6dq2rh";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
     "findup-sync-0.3.0" = {
       name = "findup-sync";
       packageName = "findup-sync";
@@ -1228,6 +2614,15 @@ let
         sha1 = "37930aa5d816b777c03445e1966cc6790a4c0b16";
       };
     };
+    "flat-colors-3.0.0" = {
+      name = "flat-colors";
+      packageName = "flat-colors";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat-colors/-/flat-colors-3.0.0.tgz";
+        sha1 = "253ab1a23989c321f13b0acd4bf73fff4072ecb7";
+      };
+    };
     "flat-tree-1.6.0" = {
       name = "flat-tree";
       packageName = "flat-tree";
@@ -1237,6 +2632,15 @@ let
         sha1 = "fca30cddb9006fb656eb5ebc79aeb274e7fde9ed";
       };
     };
+    "flush-write-stream-1.0.2" = {
+      name = "flush-write-stream";
+      packageName = "flush-write-stream";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz";
+        sha1 = "c81b90d8746766f1a609a46809946c45dd8ae417";
+      };
+    };
     "for-each-0.3.2" = {
       name = "for-each";
       packageName = "for-each";
@@ -1300,6 +2704,24 @@ let
         sha1 = "6fb94fbd71885306d73d15cc497fe4cc4ecd44bf";
       };
     };
+    "formatoid-1.2.2" = {
+      name = "formatoid";
+      packageName = "formatoid";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formatoid/-/formatoid-1.2.2.tgz";
+        sha512 = "3z818q9sgzw7jky4kc4gfmx15k3hhh7lj1dy17j30vcyzmx1p14k38d0a8nvl23f2sfm4bszam36wzz8niwkznr4m992wz009ipr6yy";
+      };
+    };
+    "from2-1.3.0" = {
+      name = "from2";
+      packageName = "from2";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz";
+        sha1 = "88413baaa5f9a597cfde9221d86986cd3c061dfd";
+      };
+    };
     "from2-2.3.0" = {
       name = "from2";
       packageName = "from2";
@@ -1309,6 +2731,24 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
+    "fs-vacuum-1.2.10" = {
+      name = "fs-vacuum";
+      packageName = "fs-vacuum";
+      version = "1.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz";
+        sha1 = "b7629bec07a4031a2548fdf99f5ecf1cc8b31e36";
+      };
+    };
+    "fs-write-stream-atomic-1.0.10" = {
+      name = "fs-write-stream-atomic";
+      packageName = "fs-write-stream-atomic";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -1345,6 +2785,15 @@ let
         sha512 = "38chm1mh077ksx6hy2sssfz4q29hf0ncb9k6ila7si54zqcpl5fxd1rh6wi82blqp7jcspf4aynr7jqhbsg2yc9y42xpqqp6c1jz2n8";
       };
     };
+    "function.name-1.0.10" = {
+      name = "function.name";
+      packageName = "function.name";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function.name/-/function.name-1.0.10.tgz";
+        sha512 = "02zis7zxfkwajdf08z58mr0z2axddibclbk8xd849mkz7pq3y29s781fjycqigp3fdnwmy2mlvcnsg4z5hrfm44sr7gw30wx2p41x10";
+      };
+    };
     "gauge-2.7.4" = {
       name = "gauge";
       packageName = "gauge";
@@ -1354,13 +2803,13 @@ let
         sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
       };
     };
-    "generate-function-2.0.0" = {
+    "generate-function-1.1.0" = {
       name = "generate-function";
       packageName = "generate-function";
-      version = "2.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+        url = "https://registry.npmjs.org/generate-function/-/generate-function-1.1.0.tgz";
+        sha1 = "54c21b080192b16d9877779c5bb81666e772365f";
       };
     };
     "generate-object-property-1.2.0" = {
@@ -1372,6 +2821,69 @@ let
         sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
       };
     };
+    "genfun-4.0.1" = {
+      name = "genfun";
+      packageName = "genfun";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz";
+        sha1 = "ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1";
+      };
+    };
+    "get-caller-file-1.0.2" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz";
+        sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
+      };
+    };
+    "get-npm-tarball-url-2.0.1" = {
+      name = "get-npm-tarball-url";
+      packageName = "get-npm-tarball-url";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.0.1.tgz";
+        sha512 = "051jj5v45fys9v10fpvga4wby8aq0wjydhfgynfip8bgyl7db3zkjzssqn4rv264br9b04mdc25hr9479zgqyffzdq7xxcjdi2dbsiw";
+      };
+    };
+    "get-port-3.2.0" = {
+      name = "get-port";
+      packageName = "get-port";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz";
+        sha1 = "dd7ce7de187c06c8bf353796ac71e099f0980ebc";
+      };
+    };
+    "get-source-1.0.24" = {
+      name = "get-source";
+      packageName = "get-source";
+      version = "1.0.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-source/-/get-source-1.0.24.tgz";
+        sha1 = "898dcc7b5592adba02e8bb82b8d2cda60cdae5c5";
+      };
+    };
+    "get-stream-2.3.1" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz";
+        sha1 = "5f38f93f346009666ee0150a054167f91bdd95de";
+      };
+    };
+    "get-stream-3.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    };
     "getpass-0.1.7" = {
       name = "getpass";
       packageName = "getpass";
@@ -1381,6 +2893,15 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
+    "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";
+      };
+    };
     "glob-5.0.15" = {
       name = "glob";
       packageName = "glob";
@@ -1426,6 +2947,42 @@ let
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     };
+    "global-dirs-0.1.1" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz";
+        sha1 = "b319c0dd4607f353f3be9cca4c72fc148c49f445";
+      };
+    };
+    "globby-7.1.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz";
+        sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
+      };
+    };
+    "got-6.7.1" = {
+      name = "got";
+      packageName = "got";
+      version = "6.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
+        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
+      };
+    };
+    "got-8.0.3" = {
+      name = "got";
+      packageName = "got";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-8.0.3.tgz";
+        sha512 = "2bglci1j77rvr4z2klmnr6d2qfqk0f60nm1myj9m0g2rzh7pd68hzki9nm8f5dpaxqr98ncjbd4rfzw75j35nvsfcyb2i1l9jjailak";
+      };
+    };
     "graceful-fs-4.1.11" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -1435,6 +2992,15 @@ let
         sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
+    "graceful-git-1.0.1" = {
+      name = "graceful-git";
+      packageName = "graceful-git";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-git/-/graceful-git-1.0.1.tgz";
+        sha512 = "31ajgk1zmq4zym3ckmr9n1x6n7sidg8naa3n8d2v6p8vr67g4gl7xxij5la1dxp6c9475pbrzq5vab7psp2dbjxvwdrzrlb8xwq83xp";
+      };
+    };
     "graceful-readlink-1.0.1" = {
       name = "graceful-readlink";
       packageName = "graceful-readlink";
@@ -1444,6 +3010,15 @@ let
         sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
+    "graph-sequencer-2.0.0" = {
+      name = "graph-sequencer";
+      packageName = "graph-sequencer";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graph-sequencer/-/graph-sequencer-2.0.0.tgz";
+        sha1 = "bfb809b8af584f6f5287cdce507a30d4aea6ee70";
+      };
+    };
     "growl-1.10.3" = {
       name = "growl";
       packageName = "growl";
@@ -1462,6 +3037,15 @@ let
         sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
       };
     };
+    "gunzip-maybe-1.4.1" = {
+      name = "gunzip-maybe";
+      packageName = "gunzip-maybe";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz";
+        sha512 = "3d6jyhcq21cxy2n6mnalnxcdxl9i00n8qka7awrqamggss8yllz57msx7c480knv037snkzkymq6npl36wlpl71h54x511dlchavnxa";
+      };
+    };
     "har-schema-1.0.5" = {
       name = "har-schema";
       packageName = "har-schema";
@@ -1507,6 +3091,24 @@ let
         sha1 = "8461733f538b0837c9361e39a9ab9e9704dc2f28";
       };
     };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "has-flag-1.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
+        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+      };
+    };
     "has-flag-2.0.0" = {
       name = "has-flag";
       packageName = "has-flag";
@@ -1516,6 +3118,24 @@ let
         sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
       };
     };
+    "has-symbol-support-x-1.4.1" = {
+      name = "has-symbol-support-x";
+      packageName = "has-symbol-support-x";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz";
+        sha512 = "0qgqbqmrlx51w4ixcln9ljr5hs2jj8fvryq7i8cg9a739p7y2c5z8wpplp9jhnfn4a3xn6li2b2npmhfm2x80khm9di3vllyyv9wii6";
+      };
+    };
+    "has-to-string-tag-x-1.4.1" = {
+      name = "has-to-string-tag-x";
+      packageName = "has-to-string-tag-x";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz";
+        sha512 = "0bqvhd628h3lrsydbp1xllh7jp23c58j7d4z0x0v9ddffindkk1zfrqmzm28z47ipjp0zxlmzvmlzk98zf9mzjsc47bmp1ydizcmmmx";
+      };
+    };
     "has-unicode-2.0.1" = {
       name = "has-unicode";
       packageName = "has-unicode";
@@ -1570,6 +3190,24 @@ let
         sha512 = "2cz0q3nnv67drgaw2rm7q57r9rgdax1qa0n4z46is7db1w8vwmh574xcr0d73xl5lg80vb85xg2gdhxzh9gbllagp7xk2q228pw4idz";
       };
     };
+    "hosted-git-info-2.5.0" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz";
+        sha512 = "355g980qsk8k9hkv60z58llbvpscjl5yqkh4wx719s8jcq2swzn4ynzinj8azmvdgs10r22wb297rmixh9vvsml55sbysdf2i8ipn54";
+      };
+    };
+    "http-cache-semantics-3.8.1" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
+        sha512 = "3gsj16kpvygynld5ajbvg8ii3n3bka4waamdzx30wwhz72mdr6wvffm20rfnxwzid9fq49d5g333yjq5dz1qqbnk9bwcmrj9f5bda75";
+      };
+    };
     "http-methods-0.1.0" = {
       name = "http-methods";
       packageName = "http-methods";
@@ -1579,6 +3217,15 @@ let
         sha1 = "29691b6fc58f4f7e81a3605dca82682b068e4430";
       };
     };
+    "http-proxy-agent-2.0.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.0.0.tgz";
+        sha1 = "46482a2f0523a4d6082551709f469cb3e4a85ff4";
+      };
+    };
     "http-signature-1.1.1" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -1597,31 +3244,49 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
-    "hypercore-6.11.0" = {
+    "https-proxy-agent-2.1.1" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.1.tgz";
+        sha512 = "0rxbj60hs8fhs3i02lgb6ypcf9m9v8ybd4lfvfvpy0f1iyy54f1686lmv0rvkyxxihwvs4yizjgv8r8jksh385c4c9yjm3z8i0svbic";
+      };
+    };
+    "humanize-ms-1.2.1" = {
+      name = "humanize-ms";
+      packageName = "humanize-ms";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
+        sha1 = "c46e3159a293f6b896da29316d8b6fe8bb79bbed";
+      };
+    };
+    "hypercore-6.12.0" = {
       name = "hypercore";
       packageName = "hypercore";
-      version = "6.11.0";
+      version = "6.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.11.0.tgz";
-        sha512 = "0q0972kpj73qndhwb3msk3xkfpx1zldfw1ld815kncb0lbr7mdhawjz701y230zji0lamnznrv61cmcnx2zlqjhvcyrf9fyyr93r6ds";
+        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.12.0.tgz";
+        sha512 = "00xsmbx8jcjzsibwwgknlpjvndb7zv6jdxik5skqnbizbdssvcwa2r5a7gd1cf7mpr2827067sxqqca9fmmknjnin2vvm16yb1pn5g8";
       };
     };
-    "hypercore-protocol-6.5.0" = {
+    "hypercore-protocol-6.5.2" = {
       name = "hypercore-protocol";
       packageName = "hypercore-protocol";
-      version = "6.5.0";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.0.tgz";
-        sha512 = "0yny0rl9fgh2hyv0clfzp6z6zb7pmmw1494h76n37gqb37awz73zclfcmad75dj60r04rlfxr9syvgim7zlpnb0qvcqlcpyfwnv65l0";
+        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.5.2.tgz";
+        sha512 = "03l77nma8ga06ywa469jzqgc13hjk9bg3w2cv95g3fwnqy2fvz8qpczcih65jscvk0ira5kpm3sk2vqh2whzzvnm19jlqrzi78v80n3";
       };
     };
-    "hyperdrive-9.12.0" = {
+    "hyperdrive-9.12.2" = {
       name = "hyperdrive";
       packageName = "hyperdrive";
-      version = "9.12.0";
+      version = "9.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-9.12.0.tgz";
-        sha512 = "285nxd3xfdr51r8av9d7dal8hqa3lfrac1m46gn9b73ljwivlhhsxpbrqyhdf80v7bnmw8vpy61x77gm8cfmwv5z8pffmmnla2p8l5y";
+        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-9.12.2.tgz";
+        sha512 = "133iwkp8w88awfxffdjjfxl2wsrj99cdw1p2rvbv65q7mgficva14skid7vsd55r750lrvg0wbmlz0h4m44w6ypd7cvpb4hjvb2f815";
       };
     };
     "hyperdrive-http-4.2.2" = {
@@ -1651,6 +3316,78 @@ let
         sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
       };
     };
+    "iconv-lite-0.4.19" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz";
+        sha512 = "0jj1pdq3j9ak8cixn2kjp7ip8hf3xgnb85j4jr32yf9rry620v9072c0kk577mllfk1zl9wzs5ypwzbp7vbhf7j31d5rrqgwb0nldm1";
+      };
+    };
+    "ieee754-1.1.8" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz";
+        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
+      };
+    };
+    "iferr-0.1.5" = {
+      name = "iferr";
+      packageName = "iferr";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    };
+    "ignore-3.3.7" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "3.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz";
+        sha512 = "0f6xhxww989yic6hwdm8mbylcyakfkrrn22a39wdcc9k842xxyyhzfxkmi79s9gjk3rp3h07n265lf4n51z8yafpdm78d617dxbfqb0";
+      };
+    };
+    "ignore-walk-3.0.1" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha512 = "2ajgs5klg786rkdxs37mbxn0p8ah2ai0nj0bjv5vbrfir4y0pvrhxxadv46s8g1hqkq5p3fjssys3n6qvz60p4jzjsgfq683lrnad8d";
+      };
+    };
+    "import-lazy-2.1.0" = {
+      name = "import-lazy";
+      packageName = "import-lazy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "individual-3.0.0" = {
+      name = "individual";
+      packageName = "individual";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz";
+        sha1 = "e7ca4f85f8957b018734f285750dc22ec2f9862d";
+      };
+    };
     "inflight-1.0.6" = {
       name = "inflight";
       packageName = "inflight";
@@ -1678,6 +3415,42 @@ let
         sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
+    "init-package-json-1.10.1" = {
+      name = "init-package-json";
+      packageName = "init-package-json";
+      version = "1.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.1.tgz";
+        sha1 = "cd873a167796befb99612b28762a0b6393fd8f6a";
+      };
+    };
+    "into-stream-2.0.1" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-2.0.1.tgz";
+        sha1 = "db9b003694453eae091d8a5c84cc11507b781d31";
+      };
+    };
+    "into-stream-3.1.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+      };
+    };
+    "invert-kv-1.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    };
     "ip-1.1.5" = {
       name = "ip";
       packageName = "ip";
@@ -1687,6 +3460,15 @@ let
         sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
       };
     };
+    "is-arrayish-0.2.1" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    };
     "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
@@ -1696,6 +3478,69 @@ let
         sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
       };
     };
+    "is-builtin-module-1.0.0" = {
+      name = "is-builtin-module";
+      packageName = "is-builtin-module";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
+        sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
+      };
+    };
+    "is-bzip2-1.0.0" = {
+      name = "is-bzip2";
+      packageName = "is-bzip2";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz";
+        sha1 = "5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc";
+      };
+    };
+    "is-callable-1.1.3" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz";
+        sha1 = "86eb75392805ddc33af71c92a0eedf74ee7604b2";
+      };
+    };
+    "is-ci-1.1.0" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz";
+        sha512 = "0m66alrh568wj40xwshf8q99gsjfk1jr0czp4jc2sm519wfzzzprkl5zjvw2r5h49p72d50ywj9qg67dnyazq0ijy4flgny2b1ygd3k";
+      };
+    };
+    "is-cidr-1.0.0" = {
+      name = "is-cidr";
+      packageName = "is-cidr";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-cidr/-/is-cidr-1.0.0.tgz";
+        sha1 = "fb5aacf659255310359da32cae03e40c6a1c2afc";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-deflate-1.0.0" = {
+      name = "is-deflate";
+      packageName = "is-deflate";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz";
+        sha1 = "c862901c3c161fb09dac7cdc7e784f80e98f2f14";
+      };
+    };
     "is-dotfile-1.0.3" = {
       name = "is-dotfile";
       packageName = "is-dotfile";
@@ -1768,6 +3613,42 @@ let
         sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
       };
     };
+    "is-gzip-1.0.0" = {
+      name = "is-gzip";
+      packageName = "is-gzip";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz";
+        sha1 = "6ca8b07b99c77998025900e555ced8ed80879a83";
+      };
+    };
+    "is-inner-link-2.0.2" = {
+      name = "is-inner-link";
+      packageName = "is-inner-link";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-inner-link/-/is-inner-link-2.0.2.tgz";
+        sha512 = "2xbj75av7s092kdl27ic28ckwnfnxvl4wr3x879djhamp0waw1js8c0zrakfnbjbsp5vh087brimykngrg319zfzhgwjvni994m2bv1";
+      };
+    };
+    "is-installed-globally-0.1.0" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
+        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
+      };
+    };
+    "is-npm-1.0.0" = {
+      name = "is-npm";
+      packageName = "is-npm";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
+        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+      };
+    };
     "is-number-2.1.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -1786,6 +3667,42 @@ let
         sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
       };
     };
+    "is-obj-1.0.1" = {
+      name = "is-obj";
+      packageName = "is-obj";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    };
+    "is-object-1.0.1" = {
+      name = "is-object";
+      packageName = "is-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
+        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
+      };
+    };
+    "is-path-inside-1.0.1" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    };
+    "is-plain-obj-1.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    };
     "is-posix-bracket-0.1.1" = {
       name = "is-posix-bracket";
       packageName = "is-posix-bracket";
@@ -1813,6 +3730,51 @@ let
         sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
       };
     };
+    "is-redirect-1.0.0" = {
+      name = "is-redirect";
+      packageName = "is-redirect";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
+        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+      };
+    };
+    "is-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-retry-allowed-1.1.0" = {
+      name = "is-retry-allowed";
+      packageName = "is-retry-allowed";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
+        sha1 = "11a060568b67339444033d0125a61a20d564fb34";
+      };
+    };
+    "is-ssh-1.3.0" = {
+      name = "is-ssh";
+      packageName = "is-ssh";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz";
+        sha1 = "ebea1169a2614da392a63740366c3ce049d8dff6";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
     "is-string-1.0.4" = {
       name = "is-string";
       packageName = "is-string";
@@ -1822,6 +3784,24 @@ let
         sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
       };
     };
+    "is-subdir-1.0.2" = {
+      name = "is-subdir";
+      packageName = "is-subdir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-subdir/-/is-subdir-1.0.2.tgz";
+        sha512 = "2czdnl66p1ls8xjwh0vx5ydk118b9m1zhnc4khf16v7bh9n8nwjhafr4aigvd6kj2igl0ylbzznc181pf0ppxm4bgiv9kwyvlryyzfq";
+      };
+    };
+    "is-symbol-1.0.1" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz";
+        sha1 = "3cc59f00025194b6ab2e38dbae6689256b660572";
+      };
+    };
     "is-typedarray-1.0.0" = {
       name = "is-typedarray";
       packageName = "is-typedarray";
@@ -1831,6 +3811,15 @@ let
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     };
+    "is-windows-1.0.1" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz";
+        sha1 = "310db70f742d259a16a369202b51af84233310d9";
+      };
+    };
     "isarray-0.0.1" = {
       name = "isarray";
       packageName = "isarray";
@@ -1876,6 +3865,24 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
+    "isurl-1.0.0" = {
+      name = "isurl";
+      packageName = "isurl";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz";
+        sha512 = "3vs53bpdrwiwwcql2xs20jmd8qha27k4iypdhr0b3isgdaj18vz80nhxwvvqxk6y3x5vj3slchxl0r91gjhz487xmkkp52gridg5zyl";
+      };
+    };
+    "iterate-object-1.3.2" = {
+      name = "iterate-object";
+      packageName = "iterate-object";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.2.tgz";
+        sha1 = "24ec15affa5d0039e8839695a21c2cae1f45b66b";
+      };
+    };
     "iterators-0.1.0" = {
       name = "iterators";
       packageName = "iterators";
@@ -1885,6 +3892,15 @@ let
         sha1 = "d03f666ca4e6130138565997cacea54164203156";
       };
     };
+    "js-yaml-3.10.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz";
+        sha512 = "0h26sq1bwxc45bm0hvlcadrbk4bizzaw729wvw690ya7mpys45bqfzdqwhjkdrnq0i44dzxckykz4bix22jfdyfg1asybg3yzczjsrv";
+      };
+    };
     "jsbn-0.1.1" = {
       name = "jsbn";
       packageName = "jsbn";
@@ -1894,6 +3910,24 @@ let
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
+    "json-buffer-3.0.0" = {
+      name = "json-buffer";
+      packageName = "json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    };
+    "json-parse-better-errors-1.0.1" = {
+      name = "json-parse-better-errors";
+      packageName = "json-parse-better-errors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz";
+        sha512 = "05ndp7b03ikx2vqivfxlm6c73yagjyrdp22ay8z592pqxldbsm7hjzpa3asal2vys99lvirqar3ly3sb1ibhhngls4sqc4nwp2jj967";
+      };
+    };
     "json-schema-0.2.3" = {
       name = "json-schema";
       packageName = "json-schema";
@@ -1930,6 +3964,15 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
+    "json2yaml-1.1.0" = {
+      name = "json2yaml";
+      packageName = "json2yaml";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json2yaml/-/json2yaml-1.1.0.tgz";
+        sha1 = "5414d907f9816586b80c513ec2e3aeb2ab819a6c";
+      };
+    };
     "jsonify-0.0.0" = {
       name = "jsonify";
       packageName = "jsonify";
@@ -1939,6 +3982,15 @@ let
         sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
       };
     };
+    "jsonparse-1.3.1" = {
+      name = "jsonparse";
+      packageName = "jsonparse";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
+        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
+      };
+    };
     "jsprim-1.4.1" = {
       name = "jsprim";
       packageName = "jsprim";
@@ -1975,6 +4027,15 @@ let
         sha512 = "02w1ih1lh86i5ap7c3dy2ml7g5a11r0w300iyxdf6v02qr0j1x3vf78hx5q9dgg3drifab018mgm851m457zzzi05i2z2r1s3zlflc3";
       };
     };
+    "keyv-3.0.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
+        sha512 = "32ga97c763vprf4sjbb2f7gbngfppq9n1hy4cpq2h4yb1msrhh2zjimxib7p09mzgynm6askbigxlsqsm11p644avp4sf5nmng8f2vs";
+      };
+    };
     "kind-of-3.2.2" = {
       name = "kind-of";
       packageName = "kind-of";
@@ -2002,6 +4063,42 @@ let
         sha1 = "c1bfd0cbcb46790ec9156b8d1aee8fcb86cda22a";
       };
     };
+    "latest-version-3.1.0" = {
+      name = "latest-version";
+      packageName = "latest-version";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz";
+        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
+      };
+    };
+    "lazy-property-1.0.0" = {
+      name = "lazy-property";
+      packageName = "lazy-property";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz";
+        sha1 = "84ddc4b370679ba8bd4cdcfa4c06b43d57111147";
+      };
+    };
+    "lcid-1.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    };
+    "le-table-4.0.0" = {
+      name = "le-table";
+      packageName = "le-table";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/le-table/-/le-table-4.0.0.tgz";
+        sha1 = "3bfeb72d24cbfc37752f01539f9006d711d9be93";
+      };
+    };
     "length-prefixed-message-3.0.3" = {
       name = "length-prefixed-message";
       packageName = "length-prefixed-message";
@@ -2011,6 +4108,69 @@ let
         sha1 = "245474d69abc0614dca368dc35aa8074982a23ac";
       };
     };
+    "libnpx-9.6.0" = {
+      name = "libnpx";
+      packageName = "libnpx";
+      version = "9.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/libnpx/-/libnpx-9.6.0.tgz";
+        sha512 = "28v6bsd92dcqj92yr2bk9r29ajwbqx46fd46mriva2934nr7s6hhkxy6f7xbf4nd7p93fxsbpzfx0ghq0y788x1zj8gnh1iswgd89sz";
+      };
+    };
+    "load-json-file-2.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    };
+    "load-json-file-4.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    };
+    "load-yaml-file-0.1.0" = {
+      name = "load-yaml-file";
+      packageName = "load-yaml-file";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.1.0.tgz";
+        sha1 = "f680066e691b3eeb45017672e4a3956af5b83b89";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "lockfile-1.0.3" = {
+      name = "lockfile";
+      packageName = "lockfile";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz";
+        sha1 = "2638fc39a0331e9cac1a04b71799931c9c50df79";
+      };
+    };
+    "lodash-3.10.1" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "3.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz";
+        sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
+      };
+    };
     "lodash-4.17.4" = {
       name = "lodash";
       packageName = "lodash";
@@ -2020,6 +4180,42 @@ let
         sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
       };
     };
+    "lodash._baseuniq-4.6.0" = {
+      name = "lodash._baseuniq";
+      packageName = "lodash._baseuniq";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
+        sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
+      };
+    };
+    "lodash._createset-4.0.3" = {
+      name = "lodash._createset";
+      packageName = "lodash._createset";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz";
+        sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
+      };
+    };
+    "lodash._root-3.0.1" = {
+      name = "lodash._root";
+      packageName = "lodash._root";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz";
+        sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
+      };
+    };
+    "lodash.clonedeep-4.5.0" = {
+      name = "lodash.clonedeep";
+      packageName = "lodash.clonedeep";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    };
     "lodash.flattendeep-4.4.0" = {
       name = "lodash.flattendeep";
       packageName = "lodash.flattendeep";
@@ -2038,6 +4234,60 @@ let
         sha1 = "c23e91b710242ac70c37f1e1cda9274cc39bf2f4";
       };
     };
+    "lodash.union-4.6.0" = {
+      name = "lodash.union";
+      packageName = "lodash.union";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz";
+        sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88";
+      };
+    };
+    "lodash.uniq-4.5.0" = {
+      name = "lodash.uniq";
+      packageName = "lodash.uniq";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    };
+    "lodash.without-4.4.0" = {
+      name = "lodash.without";
+      packageName = "lodash.without";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz";
+        sha1 = "3cd4574a00b67bae373a94b748772640507b7aac";
+      };
+    };
+    "log-update-2.3.0" = {
+      name = "log-update";
+      packageName = "log-update";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz";
+        sha1 = "88328fd7d1ce7938b29283746f0b1bc126b24708";
+      };
+    };
+    "loud-rejection-1.6.0" = {
+      name = "loud-rejection";
+      packageName = "loud-rejection";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
+        sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+      };
+    };
+    "lowercase-keys-1.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    };
     "lru-2.0.1" = {
       name = "lru";
       packageName = "lru";
@@ -2056,6 +4306,60 @@ let
         sha1 = "ea7fb8546d83733396a13091d76cfeb4c06837d5";
       };
     };
+    "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";
+      };
+    };
+    "make-dir-1.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz";
+        sha512 = "1q7686aqgkxk9l6nqhzbil3599f9pxiz364kdbfy7pdr9sny7zylpm6yf4rwz4i0aa11lmf35mh8jmj7g7vxm37pvqvl9qbij5jxyfh";
+      };
+    };
+    "make-fetch-happen-2.6.0" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz";
+        sha512 = "1kmyri7r2lpf3fjzwbbdramk86mhplv53x5pl535frn1vryq9xl7hmzkb3awxw6c31n19w0i20mv0h3zj8mmcw5yjkiysrlsaab8nhl";
+      };
+    };
+    "meant-1.0.1" = {
+      name = "meant";
+      packageName = "meant";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz";
+        sha512 = "2b6yi25bkxg4hd38w2cpfjy0xyka4iqiyzhsnkklx3nxwbgnzr4hfl07xxpflccjvnb03zvnssw0y9fspxdk2fmq3abd4fab0n1baai";
+      };
+    };
+    "mem-1.1.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
+        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+      };
+    };
+    "mem-3.0.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-3.0.0.tgz";
+        sha1 = "84e58ad4dfbdf5d105b26b6548a398b2b3aa8a21";
+      };
+    };
     "memory-pager-1.1.0" = {
       name = "memory-pager";
       packageName = "memory-pager";
@@ -2110,6 +4414,24 @@ let
         sha1 = "09d7a393f03e995a79f8af857b70a9e0ab16557a";
       };
     };
+    "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";
+      };
+    };
+    "mimic-response-1.0.0" = {
+      name = "mimic-response";
+      packageName = "mimic-response";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz";
+        sha1 = "df3d3652a73fded6b9b0b24146e6fd052353458e";
+      };
+    };
     "min-document-2.19.0" = {
       name = "min-document";
       packageName = "min-document";
@@ -2146,6 +4468,24 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
+    "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.1.0" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
+        sha512 = "2agpbdf9h90nhafdam3jwrw8gcz3jw1i40cx6bhwaw8qaf2s863gi2b77l73dc3hmf5dx491hv5km1rqzabgsbpkjxrvdcwy6pr8gp1";
+      };
+    };
     "mirror-folder-2.1.1" = {
       name = "mirror-folder";
       packageName = "mirror-folder";
@@ -2155,6 +4495,15 @@ let
         sha1 = "1ad3b777b39e403cc27bf52086c23e41ef4c9604";
       };
     };
+    "mississippi-1.3.1" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-1.3.1.tgz";
+        sha512 = "2vfagk7xiqrqmyp78yz1cpnjsaibgix7q22cgxggwzf5kqr7y1p21dbi67vcvsvip1g2s6mrvskw7d8a2288sala5n0nv65hpqw3apz";
+      };
+    };
     "mkdirp-0.5.1" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -2164,6 +4513,51 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
+    "mkdirp-promise-5.0.1" = {
+      name = "mkdirp-promise";
+      packageName = "mkdirp-promise";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz";
+        sha1 = "e9b8f68e552c68a9c1713b84883f7a1dd039b8a1";
+      };
+    };
+    "months-1.2.0" = {
+      name = "months";
+      packageName = "months";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/months/-/months-1.2.0.tgz";
+        sha512 = "0wl48vfgi3c46vwy8cfa0j4z65rbar2j8cwgns9jcgi3cc3n79fm7yjg6wlbd90y3jhhfj03i2xs0as0sv3kkb0jc32d2bk9a2knlyc";
+      };
+    };
+    "most-1.7.2" = {
+      name = "most";
+      packageName = "most";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/most/-/most-1.7.2.tgz";
+        sha512 = "1jxsiagsdkjmd2h0ys7kkc34rw79bswfdlyijd2fv434d0sxk8i8j055fhmpfs4ca1j9wgi6pj9k4b2cyq7di528vykwgf7mr8v6d4c";
+      };
+    };
+    "most-last-1.0.0" = {
+      name = "most-last";
+      packageName = "most-last";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/most-last/-/most-last-1.0.0.tgz";
+        sha1 = "4e3f0b289c24cf90b9d8384676de90a26e376171";
+      };
+    };
+    "move-concurrently-1.0.1" = {
+      name = "move-concurrently";
+      packageName = "move-concurrently";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    };
     "ms-2.0.0" = {
       name = "ms";
       packageName = "ms";
@@ -2173,6 +4567,15 @@ let
         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
+    "ms-2.1.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+        sha512 = "352z145jr1zx0w6kmlz2jxcaw6j2pwwg9va3x4gk731zw1agka2b213avw12zx6hgn071ibm0f3p80n5cdv896npay4s6jwbrv7w2mn";
+      };
+    };
     "multi-random-access-2.1.1" = {
       name = "multi-random-access";
       packageName = "multi-random-access";
@@ -2182,13 +4585,13 @@ let
         sha1 = "6462f1b204109ccc644601650110a828443d66e2";
       };
     };
-    "multicast-dns-6.2.1" = {
+    "multicast-dns-6.2.2" = {
       name = "multicast-dns";
       packageName = "multicast-dns";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz";
-        sha512 = "3gm760icxiv0bkil78dgsjkss4vwg3ya76jl3v8a5fa86wdv0ksvi1n7lnzisk4x4sa8chxnfxasyfpgay45ilaykqz2zbc8xrgypdr";
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.2.tgz";
+        sha512 = "06b9ps5a1ymag21szz55z4xzs2ncp0frcqsaldnggmz0m5ijhjv8f553cpkp9zkm37av1pm2y8pn70jbfzk888n1hap6i321babhcy5";
       };
     };
     "multicb-1.2.2" = {
@@ -2218,6 +4621,15 @@ let
         sha512 = "2hha5ly9j3v9pqpfvkbq8spn9sz7qz5bv8p303zmdisskhcn6i7ia5dviv8xhs3xlwi9562i4r4rm6mkk5gg0abm34zm1dkvp2z76m2";
       };
     };
+    "mz-2.7.0" = {
+      name = "mz";
+      packageName = "mz";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz";
+        sha512 = "3cpmwzmngnmxhklvicnsbl5dchvsy0yikzgf705cq1cplyps3waa03xbjp306bjf167wnplibwki0csnavz98dihq2877g7xqs4dkfg";
+      };
+    };
     "nan-2.8.0" = {
       name = "nan";
       packageName = "nan";
@@ -2263,6 +4675,33 @@ let
         sha1 = "d15367e5cb87432ba117d2bf80fdf45aecfb4246";
       };
     };
+    "ncp-2.0.0" = {
+      name = "ncp";
+      packageName = "ncp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz";
+        sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
+      };
+    };
+    "ndjson-1.5.0" = {
+      name = "ndjson";
+      packageName = "ndjson";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz";
+        sha1 = "ae603b36b134bcec347b452422b0bf98d5832ec8";
+      };
+    };
+    "neat-csv-2.1.0" = {
+      name = "neat-csv";
+      packageName = "neat-csv";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/neat-csv/-/neat-csv-2.1.0.tgz";
+        sha1 = "06f58360c4c3b955bd467ddc85ae4511a3907a4c";
+      };
+    };
     "neat-log-1.1.2" = {
       name = "neat-log";
       packageName = "neat-log";
@@ -2272,6 +4711,15 @@ let
         sha512 = "15fbq2bchsjk85zklc34xl74skmdxbipsf0zjf1k6jfq1fr31h5bn7c6438ff55i9yzrhf11k85ahvahyb73khfjl4sj59zjrqksj9d";
       };
     };
+    "nerf-dart-1.0.0" = {
+      name = "nerf-dart";
+      packageName = "nerf-dart";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz";
+        sha1 = "e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a";
+      };
+    };
     "nets-3.2.0" = {
       name = "nets";
       packageName = "nets";
@@ -2290,6 +4738,33 @@ let
         sha1 = "4aa7bfd43f03f0b81c9702b13d6a858ddb326f3e";
       };
     };
+    "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";
+      };
+    };
+    "node-fetch-npm-2.0.2" = {
+      name = "node-fetch-npm";
+      packageName = "node-fetch-npm";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz";
+        sha512 = "0bw6m444q0jc2gmw1yb0im1jv6vhky6d071p72c26ajvf2a7710jq8cp5ampf8j7kdbki7j0mbsi15dh93vrhkpvqpkw0i6ajdk34lw";
+      };
+    };
+    "node-gyp-3.6.2" = {
+      name = "node-gyp";
+      packageName = "node-gyp";
+      version = "3.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
+        sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
+      };
+    };
     "node-gyp-build-3.2.2" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
@@ -2299,6 +4774,24 @@ let
         sha512 = "34hwi28wvvh5nn8bv71n0fb83xjyk84jsn8j9zgkaqnfigpv2hk6fs9jaffsn7qi3yi4n7iwd9yjyagd1rh74ckzdf5s6l59b8vzidp";
       };
     };
+    "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";
+      };
+    };
+    "noop6-1.0.7" = {
+      name = "noop6";
+      packageName = "noop6";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/noop6/-/noop6-1.0.7.tgz";
+        sha1 = "96767bf2058ba59ca8cb91559347ddc80239fa8e";
+      };
+    };
     "nopt-3.0.6" = {
       name = "nopt";
       packageName = "nopt";
@@ -2317,6 +4810,15 @@ let
         sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
       };
     };
+    "normalize-package-data-2.4.0" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha512 = "01wzws79ps84ylshjb7rfpjykgiqxnpr89s52p2yyzfx8nfvyh5flvf1almiiavsi75xgi8g3s5davc1mmgz7gn8yvlqz6gnhax8f7n";
+      };
+    };
     "normalize-path-2.1.1" = {
       name = "normalize-path";
       packageName = "normalize-path";
@@ -2326,6 +4828,159 @@ let
         sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
       };
     };
+    "normalize-registry-url-1.0.0" = {
+      name = "normalize-registry-url";
+      packageName = "normalize-registry-url";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-registry-url/-/normalize-registry-url-1.0.0.tgz";
+        sha512 = "3s6mrnn04pf7i9gqc04l6c4mnwdwy08235c4rd1rzw080z1a27bs1xwh2fcbzc8p1lbm4xjbby1g11pd38i4wsfjarbsvvmrvir7znj";
+      };
+    };
+    "normalize-ssh-1.0.0" = {
+      name = "normalize-ssh";
+      packageName = "normalize-ssh";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-ssh/-/normalize-ssh-1.0.0.tgz";
+        sha1 = "22a8308fa7cd932bdb49af74ecac644cf4a6196b";
+      };
+    };
+    "normalize-url-2.0.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
+        sha512 = "0rykwifg14xfgm9m6md48rkqqxa2cya4xdsv7jjciacis2nz6dzaccpzyldlpvy14rvihpxbdiysfn49a8x8x5jw84klmxzh9di98qg";
+      };
+    };
+    "not-bundled-npm-5.5.1" = {
+      name = "not-bundled-npm";
+      packageName = "not-bundled-npm";
+      version = "5.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/not-bundled-npm/-/not-bundled-npm-5.5.1.tgz";
+        sha512 = "1mzbw8sibjcs0c9ldxq90v7z5nrni5jz1khkbv7yvxf2gxqdp12b85fzs9qw3lrxjjcxk5w32rzadaz0q0llpqs72ikxcpi3i4wak9a";
+      };
+    };
+    "npm-bundled-1.0.3" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
+        sha512 = "0xk8ky1cjf8q2wkbgfzplpn04sm9xnl6i71dwnc29rfh8m2glan5nd6l4k3q7ikci7xpwfpcmyy3frr873zndjmhbr344grkyh3f907";
+      };
+    };
+    "npm-cache-filename-1.0.2" = {
+      name = "npm-cache-filename";
+      packageName = "npm-cache-filename";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz";
+        sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11";
+      };
+    };
+    "npm-install-checks-3.0.0" = {
+      name = "npm-install-checks";
+      packageName = "npm-install-checks";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz";
+        sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
+      };
+    };
+    "npm-lifecycle-1.0.3" = {
+      name = "npm-lifecycle";
+      packageName = "npm-lifecycle";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-1.0.3.tgz";
+        sha512 = "0iapgirmdb46ia3apm6fsb9qv9c0hi4k9jflrxlgnrm0jhliqgas49lmpz06xafncx1sxgjngl0fw3gr472c7kapzdvpivf0fp5miqa";
+      };
+    };
+    "npm-lifecycle-2.0.0" = {
+      name = "npm-lifecycle";
+      packageName = "npm-lifecycle";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.0.0.tgz";
+        sha512 = "1rwl5baayxqs7bcgbrjjbrl8lj46p9r4b4k9ad9gnkvgcs5ghsdr9fi6s4xmd0a9dlli0hfwf5mrd9h0rxmlh9zbn553lwfbp9wfkk8";
+      };
+    };
+    "npm-package-arg-5.1.2" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz";
+        sha512 = "36g1gm57qcvdgb4lm6ibl9pgma8lgx8l8i2jzap6w3v36wfzsqa7vb411zd26yp9rgcq23951vl5j6pac22qd5h9x7jm9raznnnr460";
+      };
+    };
+    "npm-package-arg-6.0.0" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.0.0.tgz";
+        sha512 = "15a1x3fjip5waxap8dbjkm88j0c2bcnay8pw14p74h1499wznynw2if91shrqlrbzwia09x4xiphp6wkxga5z8vf9k08bjarn1vn047";
+      };
+    };
+    "npm-packlist-1.1.10" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz";
+        sha512 = "1c5z9bibdf07na26xffshagxk8gfnsbaav802dkvbrlgj4mixz4giji96yb1zs7p9yl9n28mlkhjp9jklq55j27c0i837vk507v8001";
+      };
+    };
+    "npm-pick-manifest-1.0.4" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz";
+        sha512 = "02pmkjkn2nbr1ypwzwybyd6bfckdwr8cr0nah5bwadz21yd7cd9fbvxqalfdc41n88p1zv8qbgp149knkaixnrl8l7jnrwfxislvb1h";
+      };
+    };
+    "npm-profile-2.0.5" = {
+      name = "npm-profile";
+      packageName = "npm-profile";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-profile/-/npm-profile-2.0.5.tgz";
+        sha512 = "2325avpmbzxl4vi1hxnxv96rw9j0y712ym3mph3hrsvgq4p8d0yh44vnja22plnw9vplskcx661j2spzqka65zsszzngvwm806skfdl";
+      };
+    };
+    "npm-registry-client-8.5.0" = {
+      name = "npm-registry-client";
+      packageName = "npm-registry-client";
+      version = "8.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.0.tgz";
+        sha512 = "1nwp5cfjmy4k14g6ziz7zpia8f66ximhrdhw49cj2w173bibq1sgc4d5w951ql5dqf0hcmia956ld9y7qs2q1fx6s2j446zhvdk0irn";
+      };
+    };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
+    "npm-user-validate-1.0.0" = {
+      name = "npm-user-validate";
+      packageName = "npm-user-validate";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz";
+        sha1 = "8ceca0f5cea04d4e93519ef72d0557a75122e951";
+      };
+    };
     "npmlog-4.1.2" = {
       name = "npmlog";
       packageName = "npmlog";
@@ -2362,24 +5017,6 @@ let
         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
       };
     };
-    "object-inspect-0.4.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz";
-        sha1 = "f5157c116c1455b243b06ee97703392c5ad89fec";
-      };
-    };
-    "object-keys-0.4.0" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
-        sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
-      };
-    };
     "object-keys-1.0.11" = {
       name = "object-keys";
       packageName = "object-keys";
@@ -2389,6 +5026,15 @@ let
         sha1 = "c54601778ad560f1142ce0e01bcca8b56d13426d";
       };
     };
+    "object.getownpropertydescriptors-2.0.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    };
     "object.omit-2.0.1" = {
       name = "object.omit";
       packageName = "object.omit";
@@ -2398,6 +5044,15 @@ let
         sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
       };
     };
+    "observatory-1.0.0" = {
+      name = "observatory";
+      packageName = "observatory";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/observatory/-/observatory-1.0.0.tgz";
+        sha1 = "2baa606e8299e6866914ec9c8a4db6a41136e59b";
+      };
+    };
     "once-1.4.0" = {
       name = "once";
       packageName = "once";
@@ -2407,6 +5062,24 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
+    "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";
+      };
+    };
+    "opener-1.4.3" = {
+      name = "opener";
+      packageName = "opener";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz";
+        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
+      };
+    };
     "optparse-1.0.5" = {
       name = "optparse";
       packageName = "optparse";
@@ -2425,6 +5098,15 @@ let
         sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
       };
     };
+    "os-locale-2.1.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
+        sha512 = "0lafrp0i2ajapsnma0x74q7zscn97a56i5hh58a0nyig2igfx9fqn4ain9kvjrr06as5gzdrv2wdf52qc5m861fd0f4cv69ghdjbjyy";
+      };
+    };
     "os-tmpdir-1.0.2" = {
       name = "os-tmpdir";
       packageName = "os-tmpdir";
@@ -2443,6 +5125,186 @@ let
         sha1 = "42fe6d5953df06c8064be6f176c3d05aaaa34644";
       };
     };
+    "overlap-2.0.0" = {
+      name = "overlap";
+      packageName = "overlap";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/overlap/-/overlap-2.0.0.tgz";
+        sha1 = "b29b6bb2ad7569c4e66faef28cb5d74361179cb4";
+      };
+    };
+    "p-cancelable-0.3.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz";
+        sha512 = "35jir2yjv2l3v8aj062w0hfinzgwpb1sbhmaym8h4xn78j498naj7mkf4rpv74n5bfkysxb7l893l2yw3dpqk5dgb2yiwr8pcydjmj5";
+      };
+    };
+    "p-defer-1.0.0" = {
+      name = "p-defer";
+      packageName = "p-defer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    };
+    "p-every-1.0.2" = {
+      name = "p-every";
+      packageName = "p-every";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-every/-/p-every-1.0.2.tgz";
+        sha1 = "4e01d85c23da19ed71a4afba319bdb4d94c85e00";
+      };
+    };
+    "p-filter-1.0.0" = {
+      name = "p-filter";
+      packageName = "p-filter";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-filter/-/p-filter-1.0.0.tgz";
+        sha1 = "629d317150209c8fd508ba137713ef4bb920e9db";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-is-promise-1.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
+        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
+      };
+    };
+    "p-limit-1.2.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz";
+        sha512 = "2g0r6r6bbcdp6lrxbj2zbcihr1byd55kycm1ijz80l2zvmcvhqsbd7rhmfqylp004d61fibvmwzk4ig89dbyk4azpwgll7dllhsvwv3";
+      };
+    };
+    "p-locate-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "p-map-1.2.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz";
+        sha512 = "084pyivsr35xi3fdmpznf0c0nc9jz15hak8iyh3v24n25b376blg13ngb4mgpm71zdnfp9b17zbyn728z0jjz1r674k71hd4c0cmb5g";
+      };
+    };
+    "p-queue-2.3.0" = {
+      name = "p-queue";
+      packageName = "p-queue";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-2.3.0.tgz";
+        sha1 = "65d55e71bc1500fc413122da98ae457ff8a7c038";
+      };
+    };
+    "p-reduce-1.0.0" = {
+      name = "p-reduce";
+      packageName = "p-reduce";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    };
+    "p-series-1.0.0" = {
+      name = "p-series";
+      packageName = "p-series";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-series/-/p-series-1.0.0.tgz";
+        sha1 = "7ec9e7b4406cc32066298a6f9860e55e91b36e07";
+      };
+    };
+    "p-timeout-2.0.1" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
+        sha512 = "0h1wg3bw3pyf3vlnxxfnrs3h33lwbx5n1lz4cz8ivh7bi8vjd6makxf6p1xz1d70ww3gj2ghryhbg6w1myxacgirk51ym23qzksdizk";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "package-json-4.0.1" = {
+      name = "package-json";
+      packageName = "package-json";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz";
+        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
+      };
+    };
+    "package-store-0.15.2" = {
+      name = "package-store";
+      packageName = "package-store";
+      version = "0.15.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-store/-/package-store-0.15.2.tgz";
+        sha512 = "074xsl6ca8j68cvbh8gj3h846g9rxgcxwxhbryab9f72brc5lmcq3dcj80kbjbykkzgpikzxj4qdmvxzwrhj3bilgncbbm0ladlv17r";
+      };
+    };
+    "pacote-6.0.4" = {
+      name = "pacote";
+      packageName = "pacote";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pacote/-/pacote-6.0.4.tgz";
+        sha512 = "36bx0mnsvm3fvq0vbcl05j6fsjf4v4gks1hlxqyga0jxz491cis9y38j8q9cmmfdfbx9xaz3n3h93h0ik4bkn82rb3nz2413wk7xfxi";
+      };
+    };
+    "pako-0.2.9" = {
+      name = "pako";
+      packageName = "pako";
+      version = "0.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz";
+        sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75";
+      };
+    };
+    "parallel-transform-1.1.0" = {
+      name = "parallel-transform";
+      packageName = "parallel-transform";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz";
+        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
+      };
+    };
     "parse-glob-3.0.4" = {
       name = "parse-glob";
       packageName = "parse-glob";
@@ -2461,6 +5323,69 @@ let
         sha1 = "6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536";
       };
     };
+    "parse-it-1.0.8" = {
+      name = "parse-it";
+      packageName = "parse-it";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-it/-/parse-it-1.0.8.tgz";
+        sha1 = "e9a53bde18c8049e7bb415b73e16d3292df8eae7";
+      };
+    };
+    "parse-json-2.2.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    };
+    "parse-json-4.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    };
+    "parse-npm-tarball-url-1.0.2" = {
+      name = "parse-npm-tarball-url";
+      packageName = "parse-npm-tarball-url";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-npm-tarball-url/-/parse-npm-tarball-url-1.0.2.tgz";
+        sha512 = "26zvr85a2wbbkqrwzyy3226waj0p5z3vrh19gxxvkgxf98qgvl1jdz20hvsr20x5f1viwqm9n2yr8yi61kkb9h0cd1kszw2yv8542cs";
+      };
+    };
+    "parse-url-1.3.11" = {
+      name = "parse-url";
+      packageName = "parse-url";
+      version = "1.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz";
+        sha1 = "57c15428ab8a892b1f43869645c711d0e144b554";
+      };
+    };
+    "path-absolute-1.0.0" = {
+      name = "path-absolute";
+      packageName = "path-absolute";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-absolute/-/path-absolute-1.0.0.tgz";
+        sha512 = "2fjzk70izrnlxrvqprakq310j8b1zcvsln7aji0qfljcl5is8c7aip8bc6ly07v8qg6l4rsrgzyj411rlbzyhmgnsiwzlnlhkr1lk5k";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
     "path-is-absolute-1.0.1" = {
       name = "path-is-absolute";
       packageName = "path-is-absolute";
@@ -2470,13 +5395,58 @@ let
         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     };
-    "path-parse-1.0.5" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.5";
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
+    "path-name-1.0.0" = {
+      name = "path-name";
+      packageName = "path-name";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-name/-/path-name-1.0.0.tgz";
+        sha1 = "8ca063a63de7982dfa95760edaffd10214494f24";
+      };
+    };
+    "path-type-2.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    };
+    "path-type-3.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
+        sha512 = "2z1csf4c3fmlwl0ahk533z5zqkjdf36ccfx11kakl9xran9f5asxm4cxjq4lx1kwqdp8gki786cgpldvgrkvfc7pcvh07j5ssqm8rjg";
+      };
+    };
+    "peek-stream-1.1.2" = {
+      name = "peek-stream";
+      packageName = "peek-stream";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
-        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+        url = "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.2.tgz";
+        sha1 = "97eb76365bcfd8c89e287f55c8b69d4c3e9bcc52";
       };
     };
     "performance-now-0.2.0" = {
@@ -2497,6 +5467,42 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-3.0.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
     "pkginfo-0.3.1" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -2515,6 +5521,96 @@ let
         sha1 = "b5418ef0439de5425fc4995042dced14fb2a84ff";
       };
     };
+    "pkgs-graph-2.0.0-0" = {
+      name = "pkgs-graph";
+      packageName = "pkgs-graph";
+      version = "2.0.0-0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkgs-graph/-/pkgs-graph-2.0.0-0.tgz";
+        sha512 = "3p1llv78shph6qwba9p8vd14hxanjdp1zmzivmn94dzfff2diqkvsc0zar9pj40pl2fwkbqg3p266ilcjbj6ajhzn8kcpmir5fx2f0c";
+      };
+    };
+    "pnpm-default-reporter-0.11.8" = {
+      name = "pnpm-default-reporter";
+      packageName = "pnpm-default-reporter";
+      version = "0.11.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-default-reporter/-/pnpm-default-reporter-0.11.8.tgz";
+        sha512 = "2x14yf0yi5q5dvq1777khbvah4wpcm92l4il946nq0f7nyra450llgp09q56161rk6qk6x7gr9hffii97c25b98a35pr7gwgc8yfrwz";
+      };
+    };
+    "pnpm-file-reporter-0.0.1" = {
+      name = "pnpm-file-reporter";
+      packageName = "pnpm-file-reporter";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-file-reporter/-/pnpm-file-reporter-0.0.1.tgz";
+        sha1 = "f7c3e2164c5cc955a0b3ed661314e6357b3f2e63";
+      };
+    };
+    "pnpm-install-checks-1.1.0" = {
+      name = "pnpm-install-checks";
+      packageName = "pnpm-install-checks";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-install-checks/-/pnpm-install-checks-1.1.0.tgz";
+        sha1 = "741d9979762fdfad93f3e469deb4a814d3430008";
+      };
+    };
+    "pnpm-list-2.0.1" = {
+      name = "pnpm-list";
+      packageName = "pnpm-list";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-list/-/pnpm-list-2.0.1.tgz";
+        sha512 = "0rrmch43p1dncghmvb6mwv59c0gan88d87fdbvzsmg4lj6j5l4bkfrr5x6gmi9z8f4nf3lqddf5b5wg8l7bb5if6c5wknim1w3l2vlb";
+      };
+    };
+    "pnpm-logger-0.0.0" = {
+      name = "pnpm-logger";
+      packageName = "pnpm-logger";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-logger/-/pnpm-logger-0.0.0.tgz";
+        sha1 = "28701b97618a1fc32d2fee1bf410746588bb1a85";
+      };
+    };
+    "pnpm-shrinkwrap-5.1.1" = {
+      name = "pnpm-shrinkwrap";
+      packageName = "pnpm-shrinkwrap";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pnpm-shrinkwrap/-/pnpm-shrinkwrap-5.1.1.tgz";
+        sha512 = "0nrnbsdiq01q2383pib07a7hrc602bpl9sf2j05pmjk5xn7hipicp90jdwlzf36wln2bqjzi1zgv5a5fhw41zx3zfad6affppkf8c5d";
+      };
+    };
+    "prebuild-install-2.5.0" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.0.tgz";
+        sha512 = "137vbrb6szyda92qg093yp1l6d2l4s1nb7c0dznjgbyrzsm252spxnrdpmj8nmf170fcq404pgsn0p65sxm4z74p2fyqyd415k742fz";
+      };
+    };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
+    "prepend-http-2.0.0" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    };
     "preserve-0.2.0" = {
       name = "preserve";
       packageName = "preserve";
@@ -2533,6 +5629,15 @@ let
         sha1 = "994b02aa46f699c50b6257b5faaa7fe2557e62d6";
       };
     };
+    "pretty-bytes-4.0.2" = {
+      name = "pretty-bytes";
+      packageName = "pretty-bytes";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz";
+        sha1 = "b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9";
+      };
+    };
     "pretty-hash-1.0.1" = {
       name = "pretty-hash";
       packageName = "pretty-hash";
@@ -2542,6 +5647,24 @@ let
         sha1 = "16e0579188def56bdb565892bcd05a5d65324807";
       };
     };
+    "printable-characters-1.0.38" = {
+      name = "printable-characters";
+      packageName = "printable-characters";
+      version = "1.0.38";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.38.tgz";
+        sha1 = "76ef84accfd7f8366fb7138fb92466a916d599bc";
+      };
+    };
+    "proc-output-1.0.6" = {
+      name = "proc-output";
+      packageName = "proc-output";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proc-output/-/proc-output-1.0.6.tgz";
+        sha1 = "9ffcfb3ac6a156ee32b7ebd69f024a4f6d896350";
+      };
+    };
     "process-0.5.2" = {
       name = "process";
       packageName = "process";
@@ -2551,6 +5674,15 @@ let
         sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
       };
     };
+    "process-exists-3.0.0" = {
+      name = "process-exists";
+      packageName = "process-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-exists/-/process-exists-3.0.0.tgz";
+        sha512 = "3lwxdzkx3bzfvb8qvrjccjdk90advh7p3j52d1b4hn3v2d7cf780k7wbvy94w6chgpq6lrrs6m0n122463q7g8z06aajbjqncq0db9h";
+      };
+    };
     "process-nextick-args-1.0.7" = {
       name = "process-nextick-args";
       packageName = "process-nextick-args";
@@ -2569,6 +5701,24 @@ let
         sha512 = "07n7s98b5fqdx9jspg14zkw0dndfdpbrd12f5nj5c7m6aifvl4nn27qdbrgy6gzb837cs86cakldqh5kwbi7fv6ra9ll9q83qhsya97";
       };
     };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
+    "promise-retry-1.1.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz";
+        sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d";
+      };
+    };
     "prompt-1.0.0" = {
       name = "prompt";
       packageName = "prompt";
@@ -2578,22 +5728,85 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "protocol-buffers-3.2.1" = {
-      name = "protocol-buffers";
-      packageName = "protocol-buffers";
-      version = "3.2.1";
+    "promzard-0.3.0" = {
+      name = "promzard";
+      packageName = "promzard";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz";
+        sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee";
+      };
+    };
+    "proper-lockfile-2.0.1" = {
+      name = "proper-lockfile";
+      packageName = "proper-lockfile";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz";
+        sha1 = "159fb06193d32003f4b3691dd2ec1a634aa80d1d";
+      };
+    };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
+    "protocol-buffers-encodings-1.1.0" = {
+      name = "protocol-buffers-encodings";
+      packageName = "protocol-buffers-encodings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.0.tgz";
+        sha512 = "28vhf9zv4h6gc3nia9pshzn16jm1h6r58nj2mwmkji35fjbscjwxrxigwy87j82y8wayn29qgc31939b1fyk6dmvvhwv1gp0ywc8s2a";
+      };
+    };
+    "protocols-1.4.6" = {
+      name = "protocols";
+      packageName = "protocols";
+      version = "1.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz";
+        sha1 = "f8bb263ea1b5fd7a7604d26b8be39bd77678bf8a";
+      };
+    };
+    "protoduck-4.0.0" = {
+      name = "protoduck";
+      packageName = "protoduck";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz";
+        sha1 = "fe4874d8c7913366cfd9ead12453a22cd3657f8e";
+      };
+    };
+    "prr-1.0.1" = {
+      name = "prr";
+      packageName = "prr";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers/-/protocol-buffers-3.2.1.tgz";
-        sha1 = "37258e17e24a082f06ebb17731e92851d1c76889";
+        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
       };
     };
-    "protocol-buffers-schema-3.3.2" = {
-      name = "protocol-buffers-schema";
-      packageName = "protocol-buffers-schema";
-      version = "3.3.2";
+    "ps-list-4.0.0" = {
+      name = "ps-list";
+      packageName = "ps-list";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz";
-        sha512 = "3rvq2xsb9y9vfy8vgf6ja08362bjcg132kxcwcfdik1j6j17dvlk535agpwiqzj47g1d7shcwq5h6zk5jy1ny25n4z6bzh1rfkv5mjx";
+        url = "https://registry.npmjs.org/ps-list/-/ps-list-4.0.0.tgz";
+        sha1 = "57c8b3d38161ee8977811cd32a5dc52237fdb299";
+      };
+    };
+    "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";
       };
     };
     "pump-1.0.3" = {
@@ -2605,6 +5818,24 @@ let
         sha512 = "2mj8bx34brvh97wd2xcn5phgyd2wh3l1ma2xfd0m53yf68w1izp46pmz0s9az5f36mhlvl0mvfd6hp5abhi75fhyrz9wyx6jnx0jkgj";
       };
     };
+    "pump-2.0.1" = {
+      name = "pump";
+      packageName = "pump";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
+        sha512 = "288hcmlwdnqda84ylx9cv413ic0r59k0dp71hy7a200jsb7h1y63277jwdp1jdp13c1b3pl6g2gzr5gjv9p72f5sp7w3p0d34swrqxf";
+      };
+    };
+    "pumpify-1.4.0" = {
+      name = "pumpify";
+      packageName = "pumpify";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz";
+        sha512 = "1h37biy199n445y10vpyiswwcxv8zigfqp0b1xwgbyjq51f2dhjn1pcggjc4j5ccbd64l1ivfi0bqinx4m5clcawvwggy7jv93qsjfs";
+      };
+    };
     "punycode-1.4.1" = {
       name = "punycode";
       packageName = "punycode";
@@ -2614,6 +5845,15 @@ let
         sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     };
+    "qrcode-terminal-0.11.0" = {
+      name = "qrcode-terminal";
+      packageName = "qrcode-terminal";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz";
+        sha1 = "ffc6c28a2fc0bfb47052b47e23f4f446a5fbdb9e";
+      };
+    };
     "qs-6.4.0" = {
       name = "qs";
       packageName = "qs";
@@ -2632,22 +5872,40 @@ let
         sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
       };
     };
-    "quote-stream-0.0.0" = {
-      name = "quote-stream";
-      packageName = "quote-stream";
-      version = "0.0.0";
+    "query-string-5.0.1" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz";
-        sha1 = "cde29e94c409b16e19dc7098b89b6658f9721d3b";
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.0.1.tgz";
+        sha512 = "0lcnspv96dv03600bgjxk2ypak8mysp77n47jkddpz6ldcgscwyan1akqjrddii4abb2brz6gr6yq9pcbdx63m9i16kk8m5028qrkv8";
       };
     };
-    "quote-stream-1.0.2" = {
-      name = "quote-stream";
-      packageName = "quote-stream";
-      version = "1.0.2";
+    "qw-1.0.1" = {
+      name = "qw";
+      packageName = "qw";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz";
+        sha1 = "efbfdc740f9ad054304426acb183412cc8b996d4";
+      };
+    };
+    "ramda-0.24.1" = {
+      name = "ramda";
+      packageName = "ramda";
+      version = "0.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz";
+        sha1 = "c3b7755197f35b8dc3502228262c4c91ddb6b857";
+      };
+    };
+    "ramda-0.25.0" = {
+      name = "ramda";
+      packageName = "ramda";
+      version = "0.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz";
-        sha1 = "84963f8c9c26b942e153feeb53aae74652b7e0b2";
+        url = "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz";
+        sha512 = "1qixam46hr8jsw2f4g0rvhn8jf493dpjqhi65ggacz83ndqwnal1m8kiy18d3ak9x4lapcjb1fvrx18zj26jfhlxp51vhsghnnmyyhr";
       };
     };
     "random-access-file-1.8.1" = {
@@ -2695,13 +5953,13 @@ let
         sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
       };
     };
-    "rc-1.2.3" = {
+    "rc-1.2.4" = {
       name = "rc";
       packageName = "rc";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.3.tgz";
-        sha1 = "51575a900f8dd68381c710b4712c2154c3e2035b";
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz";
+        sha1 = "a0f606caae2a3b862bbd0ef85482c0125b315fa3";
       };
     };
     "read-1.0.7" = {
@@ -2713,13 +5971,67 @@ let
         sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
       };
     };
-    "readable-stream-1.0.34" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "1.0.34";
+    "read-cmd-shim-1.0.1" = {
+      name = "read-cmd-shim";
+      packageName = "read-cmd-shim";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz";
+        sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b";
+      };
+    };
+    "read-installed-4.0.3" = {
+      name = "read-installed";
+      packageName = "read-installed";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz";
+        sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067";
+      };
+    };
+    "read-package-json-2.0.12" = {
+      name = "read-package-json";
+      packageName = "read-package-json";
+      version = "2.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz";
-        sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.12.tgz";
+        sha512 = "15w2z3m1iysjf0zwvyc5mix8nypx42shx90alil4sslq6caj3pgk59zsn2ppxn95nls6bs7yw7khl5rmlq9gljv27w3vs2gxg9wigwv";
+      };
+    };
+    "read-package-tree-5.1.6" = {
+      name = "read-package-tree";
+      packageName = "read-package-tree";
+      version = "5.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz";
+        sha512 = "0v1k32zqj8bnqzyp5h0jxnkvpgpzpa6z7iyqbpm3p0ylqafbb2zm656mw6gs16zf98l7y218ygpx2kzks00qcycwwx2cny67mlza98l";
+      };
+    };
+    "read-pkg-2.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    };
+    "read-pkg-3.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    };
+    "read-pkg-up-2.0.0" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
       };
     };
     "readable-stream-1.1.14" = {
@@ -2740,6 +6052,15 @@ let
         sha512 = "1wlizkv2wnz2nyb0lfxgs1m27zzcvasp3n5cfrd7hm4ch1wn79df2nbhzfadba5qqdfb28vhmw3drhp46vk2q6xk524qagvr76v7slv";
       };
     };
+    "readdir-scoped-modules-1.0.2" = {
+      name = "readdir-scoped-modules";
+      packageName = "readdir-scoped-modules";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz";
+        sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747";
+      };
+    };
     "readdirp-2.1.0" = {
       name = "readdirp";
       packageName = "readdirp";
@@ -2758,6 +6079,15 @@ let
         sha1 = "912e2d62a83c8b388d288c4343495f247bc43f8e";
       };
     };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "03d4l8l8cyywh93wf5vw84lq56jh1b1d7jll4ny4z060j9hvx7w5q3q0b8q227jm93749k1c9h86r2pz0bm2xq5vp14g3r2kbvqc2rj";
+      };
+    };
     "regex-cache-0.4.4" = {
       name = "regex-cache";
       packageName = "regex-cache";
@@ -2767,6 +6097,51 @@ let
         sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
       };
     };
+    "regex-escape-3.4.8" = {
+      name = "regex-escape";
+      packageName = "regex-escape";
+      version = "3.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.8.tgz";
+        sha512 = "15ylzlxx4y88jldg7cgwv0dmw3ljpq27f9qf17d3g76dqh6ir1ig7dzvqv9nqpr3da1yd2r5ay8jqa6yk7ni5fbbrzgkhf3yha1av8c";
+      };
+    };
+    "registry-auth-token-3.3.1" = {
+      name = "registry-auth-token";
+      packageName = "registry-auth-token";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz";
+        sha1 = "fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006";
+      };
+    };
+    "registry-url-3.1.0" = {
+      name = "registry-url";
+      packageName = "registry-url";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
+        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+      };
+    };
+    "remedial-1.0.7" = {
+      name = "remedial";
+      packageName = "remedial";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remedial/-/remedial-1.0.7.tgz";
+        sha1 = "d6674413a65676007be00dd400980987b2c300c1";
+      };
+    };
+    "remove-all-except-outer-links-1.0.3" = {
+      name = "remove-all-except-outer-links";
+      packageName = "remove-all-except-outer-links";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-all-except-outer-links/-/remove-all-except-outer-links-1.0.3.tgz";
+        sha512 = "27mlgakm2rw58mad07fnzfmjk893mr23qqi393b30qsqv2wyng86j0mqn1d06wi2cjzhlcq86zxzz1i3rvd58ajhq71crrm27dyblw7";
+      };
+    };
     "remove-trailing-separator-1.1.0" = {
       name = "remove-trailing-separator";
       packageName = "remove-trailing-separator";
@@ -2776,6 +6151,15 @@ let
         sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
       };
     };
+    "rename-overwrite-1.0.0" = {
+      name = "rename-overwrite";
+      packageName = "rename-overwrite";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rename-overwrite/-/rename-overwrite-1.0.0.tgz";
+        sha1 = "b45a74ceb93d1073e31c5b701c428de5796523d8";
+      };
+    };
     "repeat-element-1.1.2" = {
       name = "repeat-element";
       packageName = "repeat-element";
@@ -2794,6 +6178,15 @@ let
         sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
       };
     };
+    "replace-string-1.1.0" = {
+      name = "replace-string";
+      packageName = "replace-string";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-string/-/replace-string-1.1.0.tgz";
+        sha1 = "87062117f823fe5800c306bacb2cfa359b935fea";
+      };
+    };
     "request-2.81.0" = {
       name = "request";
       packageName = "request";
@@ -2812,6 +6205,24 @@ let
         sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
       };
     };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-1.0.1" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    };
     "resolve-1.1.7" = {
       name = "resolve";
       packageName = "resolve";
@@ -2821,13 +6232,49 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.5.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.5.0";
+    "resolve-from-4.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha512 = "3i345pdv74jb3xbprqb38xq1zfhsbxzm6b1h0mbcvhfpzz907m4amq35s0spijdj3phs508sha4cnr3incg4w8in4r0kd7ccmicrgx5";
+      };
+    };
+    "resolve-link-target-1.0.1" = {
+      name = "resolve-link-target";
+      packageName = "resolve-link-target";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz";
-        sha512 = "25scf9zkhf5yc9x3d7mfq2im5vyxmq3ih939na6jzblal7mgfcijmadl2maz501mkccykj714gvdhhmlzi86hbk7k03r9ipnwd142l6";
+        url = "https://registry.npmjs.org/resolve-link-target/-/resolve-link-target-1.0.1.tgz";
+        sha512 = "144pdhsw05w6zrwzh2daxd63x0qv6qgf5cimbkbvz9m4ncclp5z9xj6ym5ayhd6xvc2s7pwymj4x439k00czm5jz2h7z1dhgzipf9xs";
+      };
+    };
+    "responselike-1.0.2" = {
+      name = "responselike";
+      packageName = "responselike";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    };
+    "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";
+      };
+    };
+    "retry-0.10.1" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz";
+        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
       };
     };
     "revalidator-0.1.8" = {
@@ -2848,13 +6295,31 @@ let
         sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
       };
     };
-    "rusha-0.8.11" = {
+    "rimraf-then-1.0.1" = {
+      name = "rimraf-then";
+      packageName = "rimraf-then";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf-then/-/rimraf-then-1.0.1.tgz";
+        sha1 = "bd4458a79eb561b7548aaec0ac3753ef429fe70b";
+      };
+    };
+    "run-queue-1.0.3" = {
+      name = "run-queue";
+      packageName = "run-queue";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    };
+    "rusha-0.8.12" = {
       name = "rusha";
       packageName = "rusha";
-      version = "0.8.11";
+      version = "0.8.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.11.tgz";
-        sha1 = "caa8963b1dbfd229d90626dd3f2a784430d6058d";
+        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.12.tgz";
+        sha1 = "5d838ce1fce8b145674ee771eaad5bcb2575e64b";
       };
     };
     "safe-buffer-5.1.1" = {
@@ -2866,6 +6331,15 @@ let
         sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
       };
     };
+    "sec-1.0.0" = {
+      name = "sec";
+      packageName = "sec";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sec/-/sec-1.0.0.tgz";
+        sha1 = "033d60a3ad20ecf2e00940d14f97823465774335";
+      };
+    };
     "semver-5.3.0" = {
       name = "semver";
       packageName = "semver";
@@ -2884,6 +6358,33 @@ let
         sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
       };
     };
+    "semver-5.5.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+        sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
+      };
+    };
+    "semver-diff-2.1.0" = {
+      name = "semver-diff";
+      packageName = "semver-diff";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz";
+        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+      };
+    };
+    "semver-regex-1.0.0" = {
+      name = "semver-regex";
+      packageName = "semver-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz";
+        sha1 = "92a4969065f9c70c694753d55248fc68f8f652c9";
+      };
+    };
     "set-blocking-2.0.0" = {
       name = "set-blocking";
       packageName = "set-blocking";
@@ -2902,13 +6403,31 @@ let
         sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
       };
     };
-    "shallow-copy-0.0.1" = {
-      name = "shallow-copy";
-      packageName = "shallow-copy";
-      version = "0.0.1";
+    "sha-2.0.1" = {
+      name = "sha";
+      packageName = "sha";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
-        sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
+        url = "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz";
+        sha1 = "6030822fbd2c9823949f8f72ed6411ee5cf25aae";
+      };
+    };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
       };
     };
     "signal-exit-3.0.2" = {
@@ -2929,6 +6448,15 @@ let
         sha1 = "50a9989da7c98c2c61dad119bc97470ef8528129";
       };
     };
+    "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";
+      };
+    };
     "simple-sha1-2.1.0" = {
       name = "simple-sha1";
       packageName = "simple-sha1";
@@ -2947,6 +6475,15 @@ let
         sha512 = "17nq5vsq9227bsp0msljjp4lfra2d2f0338xk2z2m1523s3d990appvqrar9j9l3akw6bbjmbw92b9g386fggqiqz76xslvj88q8c4w";
       };
     };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
     "slasp-0.0.4" = {
       name = "slasp";
       packageName = "slasp";
@@ -2965,6 +6502,24 @@ let
         sha512 = "1xd3zsk02nck4y601rn98n8cicrphaw5bdix278mk1yizmjv9s0wpa6akcqggd7d99c55s3byf4ylqdxkshyfsfnfx7lvwbmq2b3siw";
       };
     };
+    "slide-1.1.6" = {
+      name = "slide";
+      packageName = "slide";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      };
+    };
+    "smart-buffer-1.1.15" = {
+      name = "smart-buffer";
+      packageName = "smart-buffer";
+      version = "1.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz";
+        sha1 = "7f114b5b65fab3e2a35aa775bb12f0d1c649bf16";
+      };
+    };
     "sntp-1.0.9" = {
       name = "sntp";
       packageName = "sntp";
@@ -2983,6 +6538,24 @@ let
         sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
+    "socks-1.1.10" = {
+      name = "socks";
+      packageName = "socks";
+      version = "1.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz";
+        sha1 = "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a";
+      };
+    };
+    "socks-proxy-agent-3.0.1" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz";
+        sha512 = "2a5lsw4fry6nqk3jdxvwqrnpasypvl8c4d0kg32912820lc72l7s9jzidfsrn2an9c66xqicspxb2vnir5cjspprs9qklxnd75060b7";
+      };
+    };
     "sodium-javascript-0.5.4" = {
       name = "sodium-javascript";
       packageName = "sodium-javascript";
@@ -3010,6 +6583,15 @@ let
         sha512 = "2rd6r7v2i3z76rzvllqx9ywk5f64q23944njcf14vv7x3l0illqn41bgdiifik4kswgys99mxsrqinq8akf3n7b15r9871km74mbivj";
       };
     };
+    "sort-keys-2.0.0" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz";
+        sha1 = "658535584861ec97d730d6cf41822e1f56684128";
+      };
+    };
     "sorted-array-functions-1.1.0" = {
       name = "sorted-array-functions";
       packageName = "sorted-array-functions";
@@ -3028,13 +6610,31 @@ let
         sha1 = "17c742ff7cf187e2f59a15df9b81f17a62ce0899";
       };
     };
-    "source-map-0.1.43" = {
+    "sorted-object-2.0.1" = {
+      name = "sorted-object";
+      packageName = "sorted-object";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz";
+        sha1 = "7d631f4bd3a798a24af1dffcfbfe83337a5df5fc";
+      };
+    };
+    "sorted-union-stream-2.1.3" = {
+      name = "sorted-union-stream";
+      packageName = "sorted-union-stream";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz";
+        sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7";
+      };
+    };
+    "source-map-0.6.1" = {
       name = "source-map";
       packageName = "source-map";
-      version = "0.1.43";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
-        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
       };
     };
     "sparse-bitfield-3.0.3" = {
@@ -3046,6 +6646,42 @@ let
         sha1 = "ff4ae6e68656056ba4b3e792ab3334d38273ca11";
       };
     };
+    "spawno-2.0.7" = {
+      name = "spawno";
+      packageName = "spawno";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spawno/-/spawno-2.0.7.tgz";
+        sha512 = "0h8xflvrqwdvz8gadif970wlj5mby4vxhar40h0g96ld6qv6b696msspl89rs2l6n8zv3d9yd5lm85v1g5qk7fpjhqiai2862anzyrc";
+      };
+    };
+    "spdx-correct-1.0.2" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz";
+        sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+      };
+    };
+    "spdx-expression-parse-1.0.4" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz";
+        sha1 = "9bdf2f20e1f40ed447fbe273266191fced51626c";
+      };
+    };
+    "spdx-license-ids-1.2.2" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
+        sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+      };
+    };
     "speedometer-1.0.0" = {
       name = "speedometer";
       packageName = "speedometer";
@@ -3055,6 +6691,24 @@ let
         sha1 = "cd671cb06752c22bca3370e2f334440be4fc62e2";
       };
     };
+    "split2-2.2.0" = {
+      name = "split2";
+      packageName = "split2";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz";
+        sha512 = "1plzy1n554n2gwfpavi4azb4y45dm2mwj7dq8ma99yg1z55xcdxmkibsfhsh1h19qgsrcamm0ha5qi2c3has6skvx4bix5p67czc1j4";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
     "sshpk-1.13.1" = {
       name = "sshpk";
       packageName = "sshpk";
@@ -3064,6 +6718,33 @@ let
         sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
       };
     };
+    "ssri-4.1.6" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "4.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz";
+        sha512 = "283n1p781cl2pj3jk32blcvwjdlaixng0v5x2f9qi3ndxrmyg3hk4clsjpcfsszkymy40q426yz5skax4ivsmll2p9hhcc00ivc4ijr";
+      };
+    };
+    "ssri-5.0.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz";
+        sha512 = "0g0vz6pdy8f13fqnadimwxx39hq1ix1my6gv0cm308vpv7i06f7gk4ywp7q9aw5sbhrakf86x37ai9fn2y4jvw6lashjw8h5bih6vzg";
+      };
+    };
+    "ssri-5.1.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.1.0.tgz";
+        sha512 = "11f7imn7d4s1vs4z45yk8gkis18gbb5qn1z4v5liidy6vwairj5426xciyk10yh3gnxj77bkamzffip8v7v9mjr8ggs8h1iz3qw5ssd";
+      };
+    };
     "stack-trace-0.0.10" = {
       name = "stack-trace";
       packageName = "stack-trace";
@@ -3073,22 +6754,22 @@ let
         sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
-    "static-eval-0.2.4" = {
-      name = "static-eval";
-      packageName = "static-eval";
-      version = "0.2.4";
+    "stacktracey-1.2.100" = {
+      name = "stacktracey";
+      packageName = "stacktracey";
+      version = "1.2.100";
       src = fetchurl {
-        url = "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz";
-        sha1 = "b7d34d838937b969f9641ca07d48f8ede263ea7b";
+        url = "https://registry.npmjs.org/stacktracey/-/stacktracey-1.2.100.tgz";
+        sha1 = "9e32c7a7fa643eaf69a8f9572361339a8afb6b59";
       };
     };
-    "static-module-1.5.0" = {
-      name = "static-module";
-      packageName = "static-module";
-      version = "1.5.0";
+    "static-methods-1.0.10" = {
+      name = "static-methods";
+      packageName = "static-methods";
+      version = "1.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz";
-        sha1 = "27da9883c41a8cd09236f842f0c1ebc6edf63d86";
+        url = "https://registry.npmjs.org/static-methods/-/static-methods-1.0.10.tgz";
+        sha512 = "2vn92wnri9w5d8san58a7nyyz1ai56gl2qaic9w430bbyyscw98k0a89h3nhk3fkpg9p47hdizwmgp4cnx2g6kxjgk7la5mclk7vb2y";
       };
     };
     "status-logger-3.1.1" = {
@@ -3118,6 +6799,15 @@ let
         sha512 = "2h4ymczmf5aqldga4sj8acqlzc3almazi2vwiv7kx63k28sz1wwkqgzzv1hn47jf49k1x94w25fmmi001h5mj3n6g9in1s6b1n5vkcr";
       };
     };
+    "stream-iterate-1.2.0" = {
+      name = "stream-iterate";
+      packageName = "stream-iterate";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz";
+        sha1 = "2bd7c77296c1702a46488b8ad41f79865eecd4e1";
+      };
+    };
     "stream-parser-0.3.1" = {
       name = "stream-parser";
       packageName = "stream-parser";
@@ -3136,6 +6826,15 @@ let
         sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
       };
     };
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    };
     "string-width-1.0.2" = {
       name = "string-width";
       packageName = "string-width";
@@ -3199,6 +6898,33 @@ let
         sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
       };
     };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "strip-color-0.1.0" = {
+      name = "strip-color";
+      packageName = "strip-color";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz";
+        sha1 = "106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b";
+      };
+    };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
     "strip-json-comments-2.0.1" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -3217,6 +6943,33 @@ let
         sha1 = "5e4ceca5a3779e3365b1511e05f866877302f760";
       };
     };
+    "supi-0.12.1" = {
+      name = "supi";
+      packageName = "supi";
+      version = "0.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supi/-/supi-0.12.1.tgz";
+        sha512 = "1fb6fkng687rhx89agz3mqa854p424b8nwj1ix6ckfv40gnkz3saydxs0di4nildpccn2rgwf01flxk922pj2rap6wqg8fdr2c8crz7";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "supports-color-3.2.3" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz";
+        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+      };
+    };
     "supports-color-4.4.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -3235,6 +6988,24 @@ let
         sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b";
       };
     };
+    "symbol-observable-1.1.0" = {
+      name = "symbol-observable";
+      packageName = "symbol-observable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz";
+        sha512 = "19pk4fk1ddq50all5c15bb58iwchzck5lvmsvlx5va17sfrq89pda0qrrnlma34m1kzay4q3k3ghmfp32hlqvk8njlfnhvavdvj42km";
+      };
+    };
+    "symlink-dir-1.1.2" = {
+      name = "symlink-dir";
+      packageName = "symlink-dir";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symlink-dir/-/symlink-dir-1.1.2.tgz";
+        sha512 = "2bzpdrkxnd1iysdlc7n6i5pqwqm98s2m2srfp9br9872qdvv8pbnm3i7r27rqxbad6pypj2lzhkxf8zghfzp3psl9psk9bkbp02yw8r";
+      };
+    };
     "tar-2.2.1" = {
       name = "tar";
       packageName = "tar";
@@ -3244,6 +7015,24 @@ let
         sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
       };
     };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
     "tar-pack-3.4.1" = {
       name = "tar-pack";
       packageName = "tar-pack";
@@ -3253,6 +7042,60 @@ let
         sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
       };
     };
+    "tar-stream-1.5.5" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "1.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz";
+        sha512 = "219gn10gvilrq6h3yshbhn25fx46n0wlgg66h0v326jhzz8gmpxsinb8bnhx1py35z0cv2248v91k2vy6vmkajmvpmkfmizywn601wr";
+      };
+    };
+    "tasklist-3.1.0" = {
+      name = "tasklist";
+      packageName = "tasklist";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tasklist/-/tasklist-3.1.0.tgz";
+        sha1 = "873a98a4e45cbdecfa2c2ee18865353057e63696";
+      };
+    };
+    "term-size-1.2.0" = {
+      name = "term-size";
+      packageName = "term-size";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz";
+        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
+      };
+    };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
+    "thenify-3.3.0" = {
+      name = "thenify";
+      packageName = "thenify";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz";
+        sha1 = "e69e38a1babe969b0108207978b9f62b88604839";
+      };
+    };
+    "thenify-all-1.6.0" = {
+      name = "thenify-all";
+      packageName = "thenify-all";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz";
+        sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
+      };
+    };
     "throttle-1.0.3" = {
       name = "throttle";
       packageName = "throttle";
@@ -3262,13 +7105,13 @@ let
         sha1 = "8a32e4a15f1763d997948317c5ebe3ad8a41e4b7";
       };
     };
-    "through2-0.4.2" = {
-      name = "through2";
-      packageName = "through2";
-      version = "0.4.2";
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
-        sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
       };
     };
     "through2-2.0.3" = {
@@ -3298,6 +7141,24 @@ let
         sha1 = "a862e018e3fb1ea2ec3fce5d55605cf57f247371";
       };
     };
+    "timed-out-4.0.1" = {
+      name = "timed-out";
+      packageName = "timed-out";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
+        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+      };
+    };
+    "timeout-then-1.1.0" = {
+      name = "timeout-then";
+      packageName = "timeout-then";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timeout-then/-/timeout-then-1.1.0.tgz";
+        sha1 = "0145b06070159c17e2146fd292b01a1bd81e5fbc";
+      };
+    };
     "to-buffer-1.1.0" = {
       name = "to-buffer";
       packageName = "to-buffer";
@@ -3307,13 +7168,13 @@ let
         sha1 = "375bc03edae5c35a8fa0b3fe95a1f3985db1dcfa";
       };
     };
-    "toiletdb-1.4.0" = {
+    "toiletdb-1.4.1" = {
       name = "toiletdb";
       packageName = "toiletdb";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/toiletdb/-/toiletdb-1.4.0.tgz";
-        sha1 = "6c6f871834b22178c5490f9f832b58c3c7cba852";
+        url = "https://registry.npmjs.org/toiletdb/-/toiletdb-1.4.1.tgz";
+        sha512 = "0c9ayp39hvxd1lzl6cxvsxcys0jzfb698i3as3xrw3n9zpxwmx4sqwisv63bfsmdl10c6v4inpj5kvckhlr3nd3ny1pj264r0qags0l";
       };
     };
     "tough-cookie-2.3.3" = {
@@ -3334,6 +7195,15 @@ let
         sha512 = "3da1j7ba37apy5kqlv436dz265b8ni63ca069gy4wrj9krq236j7sp0r259ia6jk1a8d7qqg37kkk8kwmnaqwcy90wnwnjxxp8bnf78";
       };
     };
+    "tree-kill-1.2.0" = {
+      name = "tree-kill";
+      packageName = "tree-kill";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz";
+        sha512 = "1r0mixygpdqrm2fn92z4cyxzbnvimm16k5gdm2m2jxx8wrj3w0mql9s748hcqp2nzcnybnw74wkm211zlr9ld0j2x1q8f153mszlm8f";
+      };
+    };
     "trim-0.0.1" = {
       name = "trim";
       packageName = "trim";
@@ -3379,6 +7249,24 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
+    "typpy-2.0.0" = {
+      name = "typpy";
+      packageName = "typpy";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typpy/-/typpy-2.0.0.tgz";
+        sha1 = "adef3bacc12ff47aff920fab03a8ff3279d737d6";
+      };
+    };
+    "typpy-2.3.10" = {
+      name = "typpy";
+      packageName = "typpy";
+      version = "2.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typpy/-/typpy-2.3.10.tgz";
+        sha512 = "2m116608xyx0v7pl2hwvw0z7gw1yyxqx7yhp0l3a2nxrlsn7xav33rnys72xrc6jr0dwsg0r71f7qj42pdzgza15fz8l5wphycr5a0c";
+      };
+    };
     "uid-number-0.0.6" = {
       name = "uid-number";
       packageName = "uid-number";
@@ -3397,6 +7285,69 @@ let
         sha1 = "a310d94e4e5e0b02a95d678e33323f802bdc8428";
       };
     };
+    "ul-5.0.0" = {
+      name = "ul";
+      packageName = "ul";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ul/-/ul-5.0.0.tgz";
+        sha1 = "ca80d793025f3fd5dc9bf83469818d310a7c9a62";
+      };
+    };
+    "ul-5.2.13" = {
+      name = "ul";
+      packageName = "ul";
+      version = "5.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ul/-/ul-5.2.13.tgz";
+        sha1 = "9ff0504ea35ca1f74c0bf59e6480def009bad7b5";
+      };
+    };
+    "umask-1.1.0" = {
+      name = "umask";
+      packageName = "umask";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz";
+        sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
+      };
+    };
+    "unbzip2-stream-1.2.5" = {
+      name = "unbzip2-stream";
+      packageName = "unbzip2-stream";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz";
+        sha512 = "0xgvidx384p6cc8zh4m0qq000cn140dsckkijf95ka6iqi9j5nsrjrrf3mr3gxnybcvf2l4hxkaf0j7cqxncm3lnpq4ripw2j7zfc4b";
+      };
+    };
+    "unique-filename-1.1.0" = {
+      name = "unique-filename";
+      packageName = "unique-filename";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz";
+        sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3";
+      };
+    };
+    "unique-slug-2.0.0" = {
+      name = "unique-slug";
+      packageName = "unique-slug";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz";
+        sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
+      };
+    };
+    "unique-string-1.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
+        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
+      };
+    };
     "unixify-1.0.0" = {
       name = "unixify";
       packageName = "unixify";
@@ -3433,6 +7384,24 @@ let
         sha1 = "985a27e975baa20b8263aea7a791e9300941a9ec";
       };
     };
+    "unpack-stream-3.0.1" = {
+      name = "unpack-stream";
+      packageName = "unpack-stream";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpack-stream/-/unpack-stream-3.0.1.tgz";
+        sha512 = "3m37z48fshadh46ay1hibdw9fawz3rgx1c16wx63mgplka0bs71364xnn72awwzc83dns0gkhnv3slmk071k1mdrm1bzvbi8z1br8f9";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
     "untildify-3.0.2" = {
       name = "untildify";
       packageName = "untildify";
@@ -3442,6 +7411,69 @@ let
         sha1 = "7f1f302055b3fea0f3e81dc78eb36766cb65e3f1";
       };
     };
+    "unzip-response-1.0.2" = {
+      name = "unzip-response";
+      packageName = "unzip-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz";
+        sha1 = "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe";
+      };
+    };
+    "unzip-response-2.0.1" = {
+      name = "unzip-response";
+      packageName = "unzip-response";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
+        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
+      };
+    };
+    "update-notifier-2.2.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz";
+        sha1 = "1b5837cf90c0736d88627732b661c138f86de72f";
+      };
+    };
+    "update-notifier-2.3.0" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz";
+        sha1 = "4e8827a6bb915140ab093559d7014e3ebb837451";
+      };
+    };
+    "url-parse-lax-1.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
+        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+      };
+    };
+    "url-parse-lax-3.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    };
+    "url-to-options-1.0.1" = {
+      name = "url-to-options";
+      packageName = "url-to-options";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz";
+        sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
+      };
+    };
     "util-deprecate-1.0.2" = {
       name = "util-deprecate";
       packageName = "util-deprecate";
@@ -3451,6 +7483,24 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
+    "util-extend-1.0.3" = {
+      name = "util-extend";
+      packageName = "util-extend";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz";
+        sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
+      };
+    };
+    "util.promisify-1.0.0" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha512 = "28cvjkydplc2vpnqff8vylscx8851srnkl54y6i54pl6lhpr6548plvyj833jk2mfaf8h31gbn60s00azd28rzc5q5gm1hgcc1smvlb";
+      };
+    };
     "utile-0.3.0" = {
       name = "utile";
       packageName = "utile";
@@ -3478,6 +7528,33 @@ let
         sha512 = "3x5mi85l1559nkb35pfksjjgiyfyqrcvmcf0nly1xjl1kb0d37jnxd6sk0b8d331waadnqbf60nfssb563x9pvnjcw87lrh976sv18c";
       };
     };
+    "uuid-3.2.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz";
+        sha512 = "0843vl1c974n8kw5kn0kvhvhwk8y8jydr0xkwwl2963xxmkw4ingk6xj9c8m48jw2i95giglxzq5aw5v5mij9kv7fzln8pxav1cr6cd";
+      };
+    };
+    "validate-npm-package-license-3.0.1" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
+        sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+      };
+    };
+    "validate-npm-package-name-3.0.0" = {
+      name = "validate-npm-package-name";
+      packageName = "validate-npm-package-name";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz";
+        sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
+      };
+    };
     "varint-3.0.1" = {
       name = "varint";
       packageName = "varint";
@@ -3514,6 +7591,24 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
+    "version-selector-type-2.0.0" = {
+      name = "version-selector-type";
+      packageName = "version-selector-type";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/version-selector-type/-/version-selector-type-2.0.0.tgz";
+        sha512 = "3n7bidjd5r4lph1qq3sz6kyjk3isb2hjvvaccsqqsspphm2in151xgga6lzjimydbvl9a6cr9jy8q06qdgvalq4nxyggs1v49i150qm";
+      };
+    };
+    "wcwidth-1.0.1" = {
+      name = "wcwidth";
+      packageName = "wcwidth";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
+        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
+      };
+    };
     "which-1.3.0" = {
       name = "which";
       packageName = "which";
@@ -3523,6 +7618,15 @@ let
         sha512 = "358cfi3qak701qp5pwkq47n87ca4m8k4lvjl0pdybvmp92nwwd7azzhahy9gy3kg8lqrqdry9l6pl2csflzr0nvwnc3p6asjyi6khn5";
       };
     };
+    "which-module-2.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    };
     "wide-align-1.1.2" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -3532,6 +7636,15 @@ let
         sha512 = "39m5b8qc31vxhh0bz14vh9a1kf9znarvlpkf0v6vv1f2dxi61gihav2djq2mn7ns1z3yq6l8pyydj52fyzbm2q04rssrcrv4jbwnc4a";
       };
     };
+    "widest-line-2.0.0" = {
+      name = "widest-line";
+      packageName = "widest-line";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz";
+        sha1 = "0142a4e8a243f8882c0233aa0e0281aa76152273";
+      };
+    };
     "winston-2.1.1" = {
       name = "winston";
       packageName = "winston";
@@ -3541,6 +7654,24 @@ let
         sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e";
       };
     };
+    "worker-farm-1.5.2" = {
+      name = "worker-farm";
+      packageName = "worker-farm";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz";
+        sha512 = "28xgfshjpa79hz7v39axfrfnjhhjl371w30vy7dhs0kdzsdd42xi8lz85yjs2m0fp481iydiwscsy61gr99igkmkak7xrjd8vv9062z";
+      };
+    };
+    "wrap-ansi-2.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    };
     "wrap-ansi-3.0.1" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -3559,6 +7690,78 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
+    "write-file-atomic-1.3.4" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz";
+        sha1 = "f807a4f0b1d9e913ae7a48112e6cc3af1991b45f";
+      };
+    };
+    "write-file-atomic-2.1.0" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz";
+        sha512 = "0jpbx5znf640m7icywa21hdgyss5h6c811z27mzk7mh1yhv8sqcqd2y0cwgkrnigx57k2chv5cqwv0z8ff8z32gpdw8jw5imz8pcdni";
+      };
+    };
+    "write-file-atomic-2.3.0" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz";
+        sha512 = "2sgqxmcqzjd7nq9gjh6jz7vfb0gs0ag4jvqzdq93afq3bw3jrm88mhxql9sryyb04f3ipw5jkgjfiigsmdwlz9fgsnnm3cxhcmxxqy6";
+      };
+    };
+    "write-json-file-2.3.0" = {
+      name = "write-json-file";
+      packageName = "write-json-file";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz";
+        sha1 = "2b64c8a33004d54b8698c76d585a77ceb61da32f";
+      };
+    };
+    "write-pkg-3.1.0" = {
+      name = "write-pkg";
+      packageName = "write-pkg";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz";
+        sha1 = "030a9994cc9993d25b4e75a9f1a1923607291ce9";
+      };
+    };
+    "write-yaml-file-1.0.0" = {
+      name = "write-yaml-file";
+      packageName = "write-yaml-file";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-yaml-file/-/write-yaml-file-1.0.0.tgz";
+        sha1 = "7b4bd0df72ca13fbe9d6b0178fd83c077b8ea86b";
+      };
+    };
+    "x256-0.0.2" = {
+      name = "x256";
+      packageName = "x256";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x256/-/x256-0.0.2.tgz";
+        sha1 = "c9af18876f7a175801d564fe70ad9e8317784934";
+      };
+    };
+    "xdg-basedir-3.0.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
+        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
+      };
+    };
     "xhr-2.4.1" = {
       name = "xhr";
       packageName = "xhr";
@@ -3577,15 +7780,6 @@ let
         sha512 = "35rg34yxk4ag0qclk7bqxirgr3dgypcvkisqqj2g3y0ma16pkfy81iv79pcwff5p4spygwjh2m9v37llq7367fypqrx89s9kscwal43";
       };
     };
-    "xtend-2.1.2" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
-        sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
-      };
-    };
     "xtend-4.0.1" = {
       name = "xtend";
       packageName = "xtend";
@@ -3595,6 +7789,69 @@ let
         sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
       };
     };
+    "y18n-3.2.1" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "yargs-8.0.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz";
+        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+      };
+    };
+    "yargs-parser-7.0.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz";
+        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
+      };
+    };
+    "zen-observable-0.7.1" = {
+      name = "zen-observable";
+      packageName = "zen-observable";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz";
+        sha512 = "134nwk2ggcx46rx0n2cy1fqmlixar7c4sygxkym7kpd8wkqvdnlg1win4kns4zcxx99mxmbpr57jppq8bkva5z2ladfmjdl4wqrb3iq";
+      };
+    };
+    "zen-push-0.2.1" = {
+      name = "zen-push";
+      packageName = "zen-push";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz";
+        sha512 = "3bx83jgamf9vq3n0150j5h8ndbxck5psnhw21fwifmq7jz37vcmlm7wmirbxh824jhq3kv16lc4h6iki1kwxx0zsjwyf8hrryyjmzj2";
+      };
+    };
   };
 in
 {
@@ -3635,26 +7892,20 @@ in
   dat = nodeEnv.buildNodePackage {
     name = "dat";
     packageName = "dat";
-    version = "13.9.2";
+    version = "13.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dat/-/dat-13.9.2.tgz";
-      sha512 = "05x3ij83al1f0r7fiaq788q4k81vlbmydsa1g829pq0q6795p57b12mmmx8nvc8khbbv1iphr065c7h3d7kc9ylps39xn1qdg64jz90";
+      url = "https://registry.npmjs.org/dat/-/dat-13.10.0.tgz";
+      sha512 = "05s22v6dv8mgh50m49cadbiw6ykzjl9q81j3zd4zw5zvpj9zl8xbpazw7kbyvzh58rhr6ydl44llghkl24vpn564gqbig3gnxxgmh8z";
     };
     dependencies = [
       sources."abstract-random-access-1.1.2"
-      sources."acorn-5.3.0"
       sources."ajv-5.5.2"
-      sources."amdefine-1.0.1"
       sources."ansi-diff-stream-1.2.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.0"
       sources."anymatch-1.3.2"
       sources."ap-0.1.0"
-      (sources."append-tree-2.4.0" // {
-        dependencies = [
-          sources."xtend-4.0.1"
-        ];
-      })
+      sources."append-tree-2.4.1"
       sources."arr-diff-2.0.0"
       sources."arr-flatten-1.1.0"
       sources."array-lru-1.1.1"
@@ -3667,17 +7918,16 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
       sources."balanced-match-1.0.0"
-      sources."base64-to-uint8array-1.0.0"
       sources."bcrypt-pbkdf-1.0.1"
       sources."bencode-1.0.0"
       sources."bitfield-rle-2.1.0"
-      (sources."bittorrent-dht-7.8.2" // {
+      (sources."bittorrent-dht-7.10.0" // {
         dependencies = [
           sources."debug-3.1.0"
         ];
       })
       sources."blake2b-2.1.2"
-      sources."blake2b-wasm-1.1.4"
+      sources."blake2b-wasm-1.1.7"
       sources."body-0.1.0"
       sources."boom-4.3.1"
       sources."brace-expansion-1.1.8"
@@ -3686,9 +7936,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."brfs-1.4.3"
       sources."buffer-alloc-unsafe-1.0.0"
-      sources."buffer-equal-0.0.1"
       sources."buffer-equals-1.0.4"
       sources."buffer-indexof-1.1.1"
       sources."bulk-write-stream-1.1.3"
@@ -3722,16 +7970,18 @@ in
         dependencies = [
           sources."debug-2.6.9"
           sources."lru-2.0.1"
+          sources."pump-1.0.3"
         ];
       })
-      sources."dat-encoding-4.0.2"
+      sources."dat-encoding-5.0.1"
       sources."dat-ignore-2.0.0"
       (sources."dat-json-1.0.1" // {
         dependencies = [
+          sources."dat-encoding-4.0.2"
           sources."debug-2.6.9"
         ];
       })
-      (sources."dat-link-resolve-1.1.1" // {
+      (sources."dat-link-resolve-2.1.0" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
@@ -3739,40 +7989,22 @@ in
       sources."dat-log-1.1.1"
       (sources."dat-node-3.5.6" // {
         dependencies = [
-          sources."dat-encoding-5.0.1"
-          (sources."dat-link-resolve-2.1.0" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."esprima-1.0.4"
-          sources."estraverse-1.3.2"
-          sources."isarray-0.0.1"
           sources."minimist-0.0.8"
-          sources."object-keys-0.4.0"
-          sources."readable-stream-1.0.34"
-          sources."string_decoder-0.10.31"
+          sources."pump-1.0.3"
           sources."unordered-set-2.0.0"
           sources."varint-5.0.0"
         ];
       })
       sources."dat-registry-4.0.0"
       sources."dat-secret-storage-4.0.0"
-      (sources."dat-storage-1.0.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
-          sources."xtend-2.1.2"
-        ];
-      })
+      sources."dat-storage-1.0.3"
       sources."dat-swarm-defaults-1.0.0"
       sources."datland-swarm-defaults-1.0.2"
       sources."debug-3.1.0"
       sources."deep-equal-0.2.2"
       sources."delayed-stream-1.0.0"
       sources."directory-index-html-2.1.0"
-      sources."discovery-channel-5.4.6"
+      sources."discovery-channel-5.4.7"
       (sources."discovery-swarm-4.4.2" // {
         dependencies = [
           sources."thunky-0.1.0"
@@ -3783,30 +8015,20 @@ in
           sources."thunky-0.1.0"
         ];
       })
-      sources."dns-packet-1.3.0"
-      sources."dns-socket-1.6.2"
+      sources."dns-packet-1.3.1"
+      sources."dns-socket-1.6.3"
       sources."dns-txt-2.0.2"
       sources."dom-walk-0.1.1"
-      (sources."duplexer2-0.0.2" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-        ];
-      })
       sources."duplexify-3.5.3"
       sources."ecc-jsbn-0.1.1"
       sources."end-of-stream-1.4.1"
       sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.3.3"
-      sources."esprima-1.1.1"
-      sources."estraverse-1.5.1"
-      sources."esutils-1.0.0"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
       sources."extend-3.0.1"
       sources."extglob-0.3.2"
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
-      sources."falafel-2.1.0"
       sources."fast-deep-equal-1.0.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fd-read-stream-1.1.0"
@@ -3816,14 +8038,10 @@ in
       sources."for-each-0.3.2"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
-      sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."generate-function-2.0.0"
-      sources."generate-object-property-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.2"
       sources."glob-base-0.3.0"
@@ -3831,23 +8049,19 @@ in
       sources."global-4.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.0.3"
-      sources."has-1.0.1"
       sources."has-flag-2.0.0"
       sources."hawk-6.0.2"
       sources."hoek-4.2.0"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
-      (sources."hypercore-6.11.0" // {
+      (sources."hypercore-6.12.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
       })
-      sources."hypercore-protocol-6.5.0"
-      (sources."hyperdrive-9.12.0" // {
+      sources."hypercore-protocol-6.5.2"
+      (sources."hyperdrive-9.12.2" // {
         dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
           sources."varint-4.0.1"
         ];
       })
@@ -3873,7 +8087,6 @@ in
       sources."is-number-2.1.0"
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-property-1.0.2"
       sources."is-string-1.0.4"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -3903,17 +8116,11 @@ in
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."mirror-folder-2.1.1" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."mirror-folder-2.1.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."multi-random-access-2.1.1"
-      sources."multicast-dns-6.2.1"
+      sources."multicast-dns-6.2.2"
       sources."multicb-1.2.2"
       sources."mute-stream-0.0.7"
       sources."mutexify-1.2.0"
@@ -3932,15 +8139,12 @@ in
       sources."node-gyp-build-3.2.2"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.8.2"
-      sources."object-inspect-0.4.0"
-      sources."object-keys-1.0.11"
       sources."object.omit-2.0.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."parse-glob-3.0.4"
       sources."parse-headers-2.0.1"
       sources."path-is-absolute-1.0.1"
-      sources."path-parse-1.0.5"
       sources."performance-now-2.1.0"
       sources."pkginfo-0.4.1"
       sources."preserve-0.2.0"
@@ -3954,12 +8158,10 @@ in
           sources."async-1.0.0"
         ];
       })
-      sources."protocol-buffers-3.2.1"
-      sources."protocol-buffers-schema-3.3.2"
-      sources."pump-1.0.3"
+      sources."protocol-buffers-encodings-1.1.0"
+      sources."pump-2.0.1"
       sources."punycode-1.4.1"
       sources."qs-6.5.1"
-      sources."quote-stream-1.0.2"
       (sources."random-access-file-1.8.1" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -3985,12 +8187,10 @@ in
       sources."repeat-element-1.1.2"
       sources."repeat-string-1.6.1"
       sources."request-2.83.0"
-      sources."resolve-1.5.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
-      sources."rusha-0.8.11"
+      sources."rusha-0.8.12"
       sources."safe-buffer-5.1.1"
-      sources."shallow-copy-0.0.1"
       sources."signed-varint-2.0.1"
       sources."simple-sha1-2.1.0"
       sources."siphash24-1.1.0"
@@ -4001,22 +8201,10 @@ in
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.1.0"
       sources."sorted-indexof-1.0.0"
-      sources."source-map-0.1.43"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.0.0"
       sources."sshpk-1.13.1"
       sources."stack-trace-0.0.10"
-      (sources."static-eval-0.2.4" // {
-        dependencies = [
-          sources."escodegen-0.0.28"
-        ];
-      })
-      (sources."static-module-1.5.0" // {
-        dependencies = [
-          sources."quote-stream-0.0.0"
-          sources."through2-0.4.2"
-        ];
-      })
       sources."status-logger-3.1.1"
       sources."stream-collector-1.0.1"
       sources."stream-each-1.2.2"
@@ -4040,7 +8228,7 @@ in
       sources."through2-2.0.3"
       sources."thunky-1.0.2"
       sources."to-buffer-1.1.0"
-      sources."toiletdb-1.4.0"
+      sources."toiletdb-1.4.1"
       sources."tough-cookie-2.3.3"
       sources."township-client-1.3.2"
       sources."trim-0.0.1"
@@ -4056,7 +8244,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
       sources."utp-native-1.6.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."varint-3.0.1"
       sources."verror-1.10.0"
       (sources."winston-2.1.1" // {
@@ -4117,10 +8305,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "4.1.0";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz";
-      sha512 = "0s6517vczlh2vm9syq4kpwkwrr7panih1cip6aq8qjn9cw2gvbl14lql0y81dh10ims8p1f2qm4vkbifcrs2hw1v7cca9j71n76f5fi";
+      url = "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz";
+      sha512 = "3rxvm15qz9qdiyihc9pq4kc008iz89cqdqjlca43swmk3fc7bydlaqk1qyhaj19r5m8cxxrpiwxz5cwrp9im26fin4sgqdfbxs7ch5s";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -4284,7 +8472,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."which-1.3.0"
       sources."wide-align-1.1.2"
@@ -4409,7 +8597,7 @@ in
       sources."process-nextick-args-1.0.7"
       sources."punycode-1.4.1"
       sources."qs-6.4.0"
-      (sources."rc-1.2.3" // {
+      (sources."rc-1.2.4" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
@@ -4418,7 +8606,7 @@ in
       sources."request-2.81.0"
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
+      sources."semver-5.5.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sntp-1.0.9"
@@ -4439,7 +8627,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."uid-number-0.0.6"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.1.0"
+      sources."uuid-3.2.1"
       sources."verror-1.10.0"
       sources."wide-align-1.1.2"
       sources."wrappy-1.0.2"
@@ -4453,13 +8641,837 @@ in
     production = true;
     bypassCache = true;
   };
+  pnpm = nodeEnv.buildNodePackage {
+    name = "pnpm";
+    packageName = "pnpm";
+    version = "1.31.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-1.31.0.tgz";
+      sha1 = "7d971bb0e48c25d4e04db420eee8ee0bcb4c66d4";
+    };
+    dependencies = [
+      sources."@most/multicast-1.3.0"
+      sources."@most/prelude-1.7.0"
+      sources."@pnpm/check-package-1.0.0"
+      (sources."@pnpm/default-fetcher-0.3.2" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."debug-3.1.0"
+          sources."ms-2.0.0"
+          sources."ssri-5.0.0"
+        ];
+      })
+      (sources."@pnpm/default-resolver-0.1.2" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+        ];
+      })
+      sources."@pnpm/fs-locker-1.0.1"
+      sources."@pnpm/git-fetcher-0.2.0"
+      sources."@pnpm/git-resolver-0.3.0"
+      sources."@pnpm/local-resolver-0.1.1"
+      (sources."@pnpm/logger-1.0.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."@pnpm/npm-resolver-0.3.11"
+      (sources."@pnpm/outdated-0.2.5" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."pify-2.3.0"
+        ];
+      })
+      sources."@pnpm/package-requester-0.7.1"
+      sources."@pnpm/pkgid-to-filename-1.0.0"
+      (sources."@pnpm/server-0.7.1" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+        ];
+      })
+      sources."@pnpm/tarball-fetcher-0.3.4"
+      (sources."@pnpm/tarball-resolver-0.1.0" // {
+        dependencies = [
+          sources."@types/node-8.5.9"
+        ];
+      })
+      sources."@pnpm/types-1.7.0"
+      sources."@sindresorhus/is-0.7.0"
+      sources."@types/archy-0.0.31"
+      sources."@types/byline-4.2.31"
+      sources."@types/chalk-0.4.31"
+      sources."@types/common-tags-1.4.0"
+      sources."@types/get-port-3.2.0"
+      sources."@types/got-7.1.6"
+      sources."@types/load-json-file-2.0.7"
+      sources."@types/mem-1.1.2"
+      sources."@types/mz-0.0.32"
+      sources."@types/node-8.5.9"
+      sources."@types/nopt-3.0.29"
+      sources."@types/npm-2.0.29"
+      sources."@types/p-limit-1.1.2"
+      sources."@types/p-queue-1.1.0"
+      sources."@types/p-series-1.0.1"
+      sources."@types/ramda-0.25.16"
+      sources."@types/rc-0.0.1"
+      sources."@types/retry-0.10.2"
+      sources."@types/semver-5.4.0"
+      sources."@types/update-notifier-1.0.3"
+      sources."@types/uuid-3.4.3"
+      sources."@types/write-json-file-2.2.1"
+      sources."@zkochan/cmd-shim-2.2.4"
+      (sources."@zkochan/libnpx-9.6.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."execa-0.7.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."load-json-file-2.0.0"
+          sources."mem-1.1.0"
+          sources."pify-2.3.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."@zkochan/npm-package-arg-1.0.0"
+      sources."JSONStream-1.3.2"
+      sources."abbrev-1.1.1"
+      sources."add-subtract-date-1.0.13"
+      sources."agent-base-4.2.0"
+      sources."agentkeepalive-3.3.0"
+      sources."ajv-5.5.2"
+      sources."ansi-align-2.0.0"
+      sources."ansi-escapes-3.0.0"
+      sources."ansi-parser-3.2.8"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-3.2.0"
+      sources."ansicolors-0.3.2"
+      sources."ansistyles-0.1.3"
+      sources."ansy-1.0.13"
+      sources."any-promise-1.3.0"
+      sources."aproba-1.2.0"
+      sources."archy-1.0.0"
+      sources."are-we-there-yet-1.1.4"
+      sources."argparse-1.0.9"
+      sources."arr-flatten-1.1.0"
+      sources."array-find-index-1.0.2"
+      sources."array-flatten-2.1.1"
+      sources."array-includes-3.0.3"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."arrify-1.0.1"
+      sources."as-table-1.0.31"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.3"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.6.0"
+      sources."babel-runtime-6.26.0"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-0.0.8"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."bindings-1.3.0"
+      sources."bl-1.2.1"
+      sources."block-stream-0.0.9"
+      sources."bluebird-3.5.1"
+      sources."bole-3.0.2"
+      sources."boom-4.3.1"
+      (sources."boxen-1.3.0" // {
+        dependencies = [
+          sources."chalk-2.3.0"
+        ];
+      })
+      sources."brace-expansion-1.1.8"
+      sources."browserify-zlib-0.1.4"
+      sources."buffer-3.6.0"
+      sources."bug-killer-4.4.4"
+      sources."builtin-modules-1.1.1"
+      sources."builtins-1.0.3"
+      sources."byline-5.0.0"
+      sources."bzip2-maybe-1.0.0"
+      sources."cacache-10.0.2"
+      sources."cacheable-request-2.1.4"
+      sources."call-limit-1.1.0"
+      sources."camelcase-4.1.0"
+      sources."capture-stack-trace-1.0.0"
+      sources."caseless-0.12.0"
+      sources."chalk-2.3.0"
+      sources."chownr-1.0.1"
+      sources."ci-info-1.1.2"
+      sources."cidr-regex-1.0.6"
+      sources."class-methods-1.0.10"
+      sources."cli-box-5.0.0"
+      sources."cli-boxes-1.0.0"
+      sources."cli-cursor-2.1.0"
+      (sources."cli-table2-0.2.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      (sources."cliui-3.2.0" // {
+        dependencies = [
+          sources."string-width-1.0.2"
+        ];
+      })
+      sources."clone-1.0.3"
+      sources."clone-response-1.0.2"
+      (sources."clp-3.2.1" // {
+        dependencies = [
+          sources."typpy-2.0.0"
+          sources."ul-5.0.0"
+        ];
+      })
+      sources."cmd-shim-2.0.2"
+      sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."colors-1.1.2"
+      (sources."columnify-1.5.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."combined-stream-1.0.5"
+      sources."common-tags-1.7.2"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.0"
+      sources."config-chain-1.1.11"
+      sources."configstore-3.1.1"
+      sources."console-control-strings-1.1.0"
+      sources."copy-concurrently-1.0.5"
+      sources."core-js-2.5.3"
+      sources."core-util-is-1.0.2"
+      sources."couleurs-6.0.9"
+      sources."create-error-class-3.0.2"
+      sources."credentials-by-uri-1.0.0"
+      sources."cross-spawn-5.1.0"
+      (sources."cryptiles-3.1.2" // {
+        dependencies = [
+          sources."boom-5.2.0"
+        ];
+      })
+      sources."crypto-random-string-1.0.0"
+      sources."csv-parser-1.12.0"
+      sources."currently-unhandled-0.4.1"
+      sources."custom-return-1.0.10"
+      sources."cyclist-0.2.2"
+      sources."dashdash-1.14.1"
+      sources."data-uri-to-buffer-2.0.0"
+      sources."date-unit-ms-1.1.12"
+      sources."daty-1.1.4"
+      sources."days-1.1.1"
+      sources."debug-2.6.9"
+      sources."debuglog-1.0.1"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-maybe-1.0.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.4.2"
+      sources."defaults-1.0.3"
+      sources."deffy-2.2.2"
+      sources."define-properties-1.1.2"
+      sources."delay-2.0.0"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."dependencies-hierarchy-2.0.1"
+      sources."dependency-path-1.2.0"
+      sources."detect-indent-5.0.0"
+      sources."detect-libc-1.0.3"
+      sources."dezalgo-1.0.3"
+      (sources."diable-4.0.1" // {
+        dependencies = [
+          sources."ansi-parser-2.0.0"
+          sources."couleurs-5.0.0"
+          sources."deffy-2.0.0"
+          sources."has-flag-1.0.0"
+          sources."supports-color-3.2.3"
+        ];
+      })
+      sources."diff-dates-1.0.11"
+      sources."dint-2.0.2"
+      sources."dir-glob-2.0.0"
+      sources."dot-prop-4.2.0"
+      sources."dotenv-4.0.0"
+      (sources."drive-by-path-1.0.0" // {
+        dependencies = [
+          sources."ramda-0.24.1"
+        ];
+      })
+      sources."drivelist-5.2.12"
+      sources."duplexer3-0.1.4"
+      sources."duplexify-3.5.3"
+      sources."ecc-jsbn-0.1.1"
+      sources."editor-1.0.0"
+      sources."encode-registry-1.1.0"
+      sources."encoding-0.1.12"
+      sources."end-of-stream-1.4.1"
+      sources."err-code-1.1.2"
+      sources."errno-0.1.6"
+      sources."error-ex-1.3.1"
+      sources."es-abstract-1.10.0"
+      sources."es-to-primitive-1.1.1"
+      sources."es6-promise-4.2.4"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.0"
+      sources."exclude-arr-1.0.9"
+      sources."execa-0.8.0"
+      sources."expand-template-1.1.0"
+      sources."extend-3.0.1"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.0.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-safe-stringify-1.1.13"
+      (sources."fetch-from-npm-registry-0.1.0" // {
+        dependencies = [
+          sources."@types/node-8.5.9"
+        ];
+      })
+      sources."fillo-1.0.11"
+      (sources."find-packages-2.1.2" // {
+        dependencies = [
+          sources."path-type-3.0.0"
+          sources."read-pkg-3.0.0"
+        ];
+      })
+      sources."find-up-2.1.0"
+      sources."flat-colors-3.0.0"
+      sources."flush-write-stream-1.0.2"
+      sources."foreach-2.0.5"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.1"
+      sources."formatoid-1.2.2"
+      sources."from2-2.3.0"
+      sources."fs-vacuum-1.2.10"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fstream-1.0.11"
+      sources."function-bind-1.1.1"
+      sources."function.name-1.0.10"
+      sources."gauge-2.7.4"
+      sources."generate-function-1.1.0"
+      sources."generate-object-property-1.2.0"
+      sources."genfun-4.0.1"
+      sources."get-caller-file-1.0.2"
+      sources."get-npm-tarball-url-2.0.1"
+      sources."get-port-3.2.0"
+      sources."get-source-1.0.24"
+      sources."get-stream-3.0.0"
+      sources."getpass-0.1.7"
+      sources."github-from-package-0.0.0"
+      sources."glob-7.1.2"
+      sources."global-dirs-0.1.1"
+      sources."globby-7.1.1"
+      sources."got-8.0.3"
+      sources."graceful-fs-4.1.11"
+      sources."graceful-git-1.0.1"
+      sources."graph-sequencer-2.0.0"
+      sources."gunzip-maybe-1.4.1"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-1.0.1"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-2.0.0"
+      sources."has-symbol-support-x-1.4.1"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."has-unicode-2.0.1"
+      sources."hawk-6.0.2"
+      sources."hoek-4.2.0"
+      sources."hosted-git-info-2.5.0"
+      sources."http-cache-semantics-3.8.1"
+      sources."http-proxy-agent-2.0.0"
+      sources."http-signature-1.2.0"
+      sources."https-proxy-agent-2.1.1"
+      sources."humanize-ms-1.2.1"
+      sources."iconv-lite-0.4.19"
+      sources."ieee754-1.1.8"
+      sources."iferr-0.1.5"
+      sources."ignore-3.3.7"
+      sources."ignore-walk-3.0.1"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."individual-3.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."init-package-json-1.10.1"
+      sources."into-stream-3.1.0"
+      sources."invert-kv-1.0.0"
+      sources."ip-1.1.5"
+      sources."is-arrayish-0.2.1"
+      sources."is-builtin-module-1.0.0"
+      sources."is-bzip2-1.0.0"
+      sources."is-callable-1.1.3"
+      sources."is-ci-1.1.0"
+      sources."is-cidr-1.0.0"
+      sources."is-date-object-1.0.1"
+      sources."is-deflate-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-gzip-1.0.0"
+      sources."is-inner-link-2.0.2"
+      sources."is-installed-globally-0.1.0"
+      sources."is-npm-1.0.0"
+      sources."is-obj-1.0.1"
+      sources."is-object-1.0.1"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-property-1.0.2"
+      sources."is-redirect-1.0.0"
+      sources."is-regex-1.0.4"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-ssh-1.3.0"
+      sources."is-stream-1.1.0"
+      sources."is-subdir-1.0.2"
+      sources."is-symbol-1.0.1"
+      sources."is-typedarray-1.0.0"
+      sources."is-windows-1.0.1"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."isurl-1.0.0"
+      sources."iterate-object-1.3.2"
+      sources."js-yaml-3.10.0"
+      sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.0"
+      sources."json-parse-better-errors-1.0.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."json2yaml-1.1.0"
+      sources."jsonparse-1.3.1"
+      sources."jsprim-1.4.1"
+      sources."keyv-3.0.0"
+      sources."latest-version-3.1.0"
+      sources."lazy-property-1.0.0"
+      sources."lcid-1.0.0"
+      (sources."le-table-4.0.0" // {
+        dependencies = [
+          sources."ansi-parser-3.0.0"
+        ];
+      })
+      sources."libnpx-9.6.0"
+      (sources."load-json-file-4.0.0" // {
+        dependencies = [
+          sources."parse-json-4.0.0"
+        ];
+      })
+      sources."load-yaml-file-0.1.0"
+      sources."locate-path-2.0.0"
+      sources."lockfile-1.0.3"
+      sources."lodash-3.10.1"
+      sources."lodash._baseuniq-4.6.0"
+      sources."lodash._createset-4.0.3"
+      sources."lodash._root-3.0.1"
+      sources."lodash.clonedeep-4.5.0"
+      sources."lodash.union-4.6.0"
+      sources."lodash.uniq-4.5.0"
+      sources."lodash.without-4.4.0"
+      sources."log-update-2.3.0"
+      sources."loud-rejection-1.6.0"
+      sources."lowercase-keys-1.0.0"
+      sources."lru-cache-4.1.1"
+      sources."make-dir-1.1.0"
+      sources."make-fetch-happen-2.6.0"
+      sources."meant-1.0.1"
+      sources."mem-3.0.0"
+      sources."mime-db-1.30.0"
+      sources."mime-types-2.1.17"
+      sources."mimic-fn-1.1.0"
+      sources."mimic-response-1.0.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.2.1"
+      sources."minizlib-1.1.0"
+      sources."mississippi-1.3.1"
+      sources."mkdirp-0.5.1"
+      sources."mkdirp-promise-5.0.1"
+      sources."months-1.2.0"
+      sources."most-1.7.2"
+      sources."most-last-1.0.0"
+      sources."move-concurrently-1.0.1"
+      sources."ms-2.1.1"
+      sources."mute-stream-0.0.7"
+      sources."mz-2.7.0"
+      sources."nan-2.8.0"
+      sources."ncp-2.0.0"
+      sources."ndjson-1.5.0"
+      sources."neat-csv-2.1.0"
+      sources."nerf-dart-1.0.0"
+      sources."node-abi-2.1.2"
+      sources."node-fetch-npm-2.0.2"
+      (sources."node-gyp-3.6.2" // {
+        dependencies = [
+          sources."nopt-3.0.6"
+          sources."semver-5.3.0"
+          sources."tar-2.2.1"
+        ];
+      })
+      sources."noop-logger-0.1.1"
+      sources."noop6-1.0.7"
+      sources."nopt-4.0.1"
+      sources."normalize-package-data-2.4.0"
+      sources."normalize-path-2.1.1"
+      sources."normalize-registry-url-1.0.0"
+      sources."normalize-ssh-1.0.0"
+      sources."normalize-url-2.0.1"
+      (sources."not-bundled-npm-5.5.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."ansi-styles-2.2.1"
+          sources."cacache-9.2.9"
+          sources."chalk-1.1.3"
+          sources."execa-0.7.0"
+          sources."from2-1.3.0"
+          sources."got-6.7.1"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."isarray-0.0.1"
+          sources."minimist-1.2.0"
+          sources."prepend-http-1.0.4"
+          sources."semver-5.4.1"
+          sources."ssri-4.1.6"
+          sources."string-width-1.0.2"
+          sources."string_decoder-0.10.31"
+          sources."strip-ansi-4.0.0"
+          sources."supports-color-2.0.0"
+          (sources."update-notifier-2.2.0" // {
+            dependencies = [
+              sources."ansi-regex-2.1.1"
+              sources."string-width-2.1.1"
+              sources."strip-ansi-3.0.1"
+            ];
+          })
+          sources."url-parse-lax-1.0.0"
+          sources."uuid-3.1.0"
+          sources."write-file-atomic-2.1.0"
+          sources."yallist-3.0.2"
+        ];
+      })
+      sources."npm-bundled-1.0.3"
+      sources."npm-cache-filename-1.0.2"
+      sources."npm-install-checks-3.0.0"
+      sources."npm-lifecycle-1.0.3"
+      sources."npm-package-arg-5.1.2"
+      sources."npm-packlist-1.1.10"
+      sources."npm-pick-manifest-1.0.4"
+      sources."npm-profile-2.0.5"
+      sources."npm-registry-client-8.5.0"
+      sources."npm-run-path-2.0.2"
+      sources."npm-user-validate-1.0.0"
+      (sources."npmlog-4.1.2" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."object-keys-1.0.11"
+      sources."object.getownpropertydescriptors-2.0.3"
+      sources."observatory-1.0.0"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."opener-1.4.3"
+      sources."os-homedir-1.0.2"
+      sources."os-locale-2.1.0"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.4"
+      sources."overlap-2.0.0"
+      sources."p-cancelable-0.3.0"
+      sources."p-defer-1.0.0"
+      sources."p-every-1.0.2"
+      sources."p-filter-1.0.0"
+      sources."p-finally-1.0.0"
+      sources."p-is-promise-1.1.0"
+      sources."p-limit-1.2.0"
+      sources."p-locate-2.0.0"
+      sources."p-map-1.2.0"
+      sources."p-queue-2.3.0"
+      sources."p-reduce-1.0.0"
+      sources."p-series-1.0.0"
+      sources."p-timeout-2.0.1"
+      sources."p-try-1.0.0"
+      sources."package-json-4.0.1"
+      (sources."package-store-0.15.2" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."debug-3.1.0"
+          sources."minimist-1.2.0"
+          sources."ms-2.0.0"
+          sources."unzip-response-1.0.2"
+        ];
+      })
+      sources."pacote-6.0.4"
+      sources."pako-0.2.9"
+      sources."parallel-transform-1.1.0"
+      sources."parse-it-1.0.8"
+      sources."parse-json-2.2.0"
+      sources."parse-npm-tarball-url-1.0.2"
+      sources."parse-url-1.3.11"
+      sources."path-absolute-1.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-name-1.0.0"
+      sources."path-type-2.0.0"
+      sources."peek-stream-1.1.2"
+      sources."performance-now-2.1.0"
+      sources."pify-3.0.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      (sources."pkgs-graph-2.0.0-0" // {
+        dependencies = [
+          sources."npm-package-arg-6.0.0"
+        ];
+      })
+      (sources."pnpm-default-reporter-0.11.8" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+          sources."wrap-ansi-3.0.1"
+        ];
+      })
+      (sources."pnpm-file-reporter-0.0.1" // {
+        dependencies = [
+          sources."@types/node-7.0.52"
+          sources."ansi-escapes-1.4.0"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."pnpm-install-checks-1.1.0"
+      (sources."pnpm-list-2.0.1" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."npm-package-arg-6.0.0"
+        ];
+      })
+      sources."pnpm-logger-0.0.0"
+      sources."pnpm-shrinkwrap-5.1.1"
+      sources."prebuild-install-2.5.0"
+      sources."prepend-http-2.0.0"
+      sources."pretty-bytes-4.0.2"
+      sources."printable-characters-1.0.38"
+      sources."proc-output-1.0.6"
+      (sources."process-exists-3.0.0" // {
+        dependencies = [
+          sources."get-stream-2.3.1"
+          sources."into-stream-2.0.1"
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."process-nextick-args-1.0.7"
+      sources."promise-inflight-1.0.1"
+      sources."promise-retry-1.1.1"
+      sources."promzard-0.3.0"
+      sources."proper-lockfile-2.0.1"
+      sources."proto-list-1.2.4"
+      sources."protocols-1.4.6"
+      sources."protoduck-4.0.0"
+      sources."prr-1.0.1"
+      sources."ps-list-4.0.0"
+      sources."pseudomap-1.0.2"
+      sources."pump-1.0.3"
+      (sources."pumpify-1.4.0" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-1.4.1"
+      sources."qrcode-terminal-0.11.0"
+      sources."qs-6.5.1"
+      sources."query-string-5.0.1"
+      sources."qw-1.0.1"
+      sources."ramda-0.25.0"
+      sources."rc-1.2.4"
+      sources."read-1.0.7"
+      sources."read-cmd-shim-1.0.1"
+      sources."read-installed-4.0.3"
+      sources."read-package-json-2.0.12"
+      sources."read-package-tree-5.1.6"
+      sources."read-pkg-2.0.0"
+      sources."read-pkg-up-2.0.0"
+      sources."readable-stream-2.3.3"
+      sources."readdir-scoped-modules-1.0.2"
+      sources."regenerator-runtime-0.11.1"
+      sources."regex-escape-3.4.8"
+      sources."registry-auth-token-3.3.1"
+      sources."registry-url-3.1.0"
+      sources."remedial-1.0.7"
+      sources."remove-all-except-outer-links-1.0.3"
+      sources."remove-trailing-separator-1.1.0"
+      sources."rename-overwrite-1.0.0"
+      sources."replace-string-1.1.0"
+      sources."request-2.83.0"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."resolve-from-4.0.0"
+      sources."resolve-link-target-1.0.1"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-2.0.0"
+      sources."retry-0.10.1"
+      sources."rimraf-2.6.2"
+      sources."rimraf-then-1.0.1"
+      sources."run-queue-1.0.3"
+      sources."safe-buffer-5.1.1"
+      sources."sec-1.0.0"
+      sources."semver-5.5.0"
+      sources."semver-diff-2.1.0"
+      sources."semver-regex-1.0.0"
+      sources."set-blocking-2.0.0"
+      sources."sha-2.0.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      sources."simple-get-1.4.3"
+      sources."slash-1.0.0"
+      sources."slide-1.1.6"
+      sources."smart-buffer-1.1.15"
+      sources."sntp-2.1.0"
+      sources."socks-1.1.10"
+      sources."socks-proxy-agent-3.0.1"
+      sources."sort-keys-2.0.0"
+      sources."sorted-object-2.0.1"
+      (sources."sorted-union-stream-2.1.3" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-1.0.3"
+        ];
+      })
+      sources."source-map-0.6.1"
+      sources."spawno-2.0.7"
+      sources."spdx-correct-1.0.2"
+      sources."spdx-expression-parse-1.0.4"
+      sources."spdx-license-ids-1.2.2"
+      sources."split2-2.2.0"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.13.1"
+      sources."ssri-5.1.0"
+      (sources."stacktracey-1.2.100" // {
+        dependencies = [
+          sources."@types/node-8.5.9"
+        ];
+      })
+      sources."static-methods-1.0.10"
+      sources."stream-each-1.2.2"
+      (sources."stream-iterate-1.2.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.3"
+        ];
+      })
+      sources."stream-shift-1.0.0"
+      sources."strict-uri-encode-1.1.0"
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.0.3"
+      sources."stringstream-0.0.5"
+      sources."strip-ansi-3.0.1"
+      sources."strip-bom-3.0.0"
+      sources."strip-color-0.1.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-json-comments-2.0.1"
+      (sources."supi-0.12.1" // {
+        dependencies = [
+          sources."@types/node-9.3.0"
+          sources."execa-0.9.0"
+          sources."npm-lifecycle-2.0.0"
+          sources."pify-2.3.0"
+          sources."write-file-atomic-1.3.4"
+        ];
+      })
+      sources."supports-color-4.5.0"
+      sources."symbol-observable-1.1.0"
+      sources."symlink-dir-1.1.2"
+      sources."tar-4.0.2"
+      sources."tar-fs-1.16.0"
+      sources."tar-stream-1.5.5"
+      (sources."tasklist-3.1.0" // {
+        dependencies = [
+          sources."pify-2.3.0"
+        ];
+      })
+      sources."term-size-1.2.0"
+      sources."text-table-0.2.0"
+      sources."thenify-3.3.0"
+      sources."thenify-all-1.6.0"
+      sources."through-2.3.8"
+      sources."through2-2.0.3"
+      sources."timed-out-4.0.1"
+      sources."timeout-then-1.1.0"
+      sources."tough-cookie-2.3.3"
+      sources."tree-kill-1.2.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."typpy-2.3.10"
+      sources."uid-number-0.0.6"
+      (sources."ul-5.2.13" // {
+        dependencies = [
+          sources."deffy-2.2.2"
+        ];
+      })
+      sources."umask-1.1.0"
+      sources."unbzip2-stream-1.2.5"
+      sources."unique-filename-1.1.0"
+      sources."unique-slug-2.0.0"
+      sources."unique-string-1.0.0"
+      sources."unpack-stream-3.0.1"
+      sources."unpipe-1.0.0"
+      sources."unzip-response-2.0.1"
+      sources."update-notifier-2.3.0"
+      sources."url-parse-lax-3.0.0"
+      sources."url-to-options-1.0.1"
+      sources."util-deprecate-1.0.2"
+      sources."util-extend-1.0.3"
+      sources."util.promisify-1.0.0"
+      sources."uuid-3.2.1"
+      sources."validate-npm-package-license-3.0.1"
+      sources."validate-npm-package-name-3.0.0"
+      sources."verror-1.10.0"
+      sources."version-selector-type-2.0.0"
+      sources."wcwidth-1.0.1"
+      sources."which-1.3.0"
+      sources."which-module-2.0.0"
+      sources."wide-align-1.1.2"
+      sources."widest-line-2.0.0"
+      sources."worker-farm-1.5.2"
+      sources."wrap-ansi-2.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-2.3.0"
+      sources."write-json-file-2.3.0"
+      sources."write-pkg-3.1.0"
+      sources."write-yaml-file-1.0.0"
+      sources."x256-0.0.2"
+      sources."xdg-basedir-3.0.0"
+      sources."xtend-4.0.1"
+      sources."y18n-3.2.1"
+      sources."yallist-2.1.2"
+      sources."yargs-8.0.2"
+      sources."yargs-parser-7.0.0"
+      sources."zen-observable-0.7.1"
+      sources."zen-push-0.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fast, disk space efficient package manager";
+      homepage = https://pnpm.js.org/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   semver = nodeEnv.buildNodePackage {
     name = "semver";
     packageName = "semver";
-    version = "5.4.1";
+    version = "5.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz";
-      sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
+      url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+      sha512 = "0h32zh035y8m6dzcqhcymbhwgmc8839fa1hhj0jfh9ivp9kmqfj1sbwnsnkzcn9qm3sqn38sa8ys2g4c638lpnmzjr0a0qndmv7f8p1";
     };
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
index 49cc56a1db6a..a965d6ed1163 100644
--- a/pkgs/development/ocaml-modules/tyxml/default.nix
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -1,26 +1,21 @@
-{ stdenv, fetchzip, fetchpatch, ocaml, findlib, ocamlbuild, ocaml_oasis, camlp4, uutf, markup, ppx_tools, re
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camlp4, uutf, markup, ppx_tools_versioned, re
 }:
 
 assert stdenv.lib.versionAtLeast ocaml.version "4.02";
 
 stdenv.mkDerivation rec {
   pname = "tyxml";
-  version = "4.0.1";
+  version = "4.2.0";
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
   src = fetchzip {
     url = "http://github.com/ocsigen/tyxml/archive/${version}.tar.gz";
-    sha256 = "1mwkjvl78gvw7pvql5qp64cfjjca6aqsb04999qkllifyicaaq8y";
+    sha256 = "1zrkrmxyj5a2cdh4b9zr9anwfk320wv3x0ynxnyxl5za2ix8sld8";
   };
 
-  patches = [ (fetchpatch {
-    url = https://github.com/dbuenzli/tyxml/commit/a2bf5ccc0b6e684e7b81274ff19df8d72e2def8d.diff;
-    sha256 = "11sidgiwz3zqw815vlslbfzb456z0lndkh425mlmvnmck4d2v2i3";
-  })];
+  buildInputs = [ ocaml findlib ocamlbuild camlp4 ppx_tools_versioned markup ];
 
-  buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
-
-  propagatedBuildInputs = [uutf re ppx_tools markup];
+  propagatedBuildInputs = [ uutf re ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index a2a439b295b0..2737ad95d4b7 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -2,11 +2,11 @@
 
 buildPerlPackage rec {
   name = "DBD-SQLite-${version}";
-  version = "1.54";
+  version = "1.55_07";
 
   src = fetchurl {
-    url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz";
-    sha256 = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269";
+    url = "https://github.com/DBD-SQLite/DBD-SQLite/archive/${version}.tar.gz";
+    sha256 = "0213a31eb7b5afc2d7b3775ca2d1717d07fc7e9ed21ae73b2513a8d54ca222d8";
   };
 
   propagatedBuildInputs = [ DBI ];
@@ -17,8 +17,7 @@ buildPerlPackage rec {
     ./external-sqlite.patch
   ];
 
-  SQLITE_INC = sqlite.dev + "/include";
-  SQLITE_LIB = sqlite.out + "/lib";
+  makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
 
   preBuild =
     ''
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index 931239c09872..8af07ece6873 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -20,12 +20,12 @@
 
 buildPythonPackage rec {
   pname = "APScheduler";
-  version = "3.5.0";
+  version = "3.5.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ce44d5132b7951f4614067c88ca34cfee1ff97f6f0892581d79b636d83eab89";
+    sha256 = "952c8f46a11f32b9d5bfbe3e347dac2cdf0680d8b4799590dc9c3a9865b73b65";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/Pygments/default.nix b/pkgs/development/python-modules/Pygments/default.nix
index 11a6fc96eb2f..8ab846986f06 100644
--- a/pkgs/development/python-modules/Pygments/default.nix
+++ b/pkgs/development/python-modules/Pygments/default.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     homepage = http://pygments.org/;
     description = "A generic syntax highlighter";
     license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ nckx garbas ];
+    maintainers = with lib.maintainers; [ garbas ];
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index ca43e122a307..5e295bb9516e 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.1.7";
+  version = "0.1.9";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ea22ae860f3a556511291e7f1284942199c81377f47ec4248163defb1b9e6ee";
+    sha256 = "1c787e3bc7ef8fea7a8a79cf36b0c550b4bd66e13c05d1352fbc5786488befb0";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/adal/default.nix b/pkgs/development/python-modules/adal/default.nix
index a1fb96673957..bfd23ab584f9 100644
--- a/pkgs/development/python-modules/adal/default.nix
+++ b/pkgs/development/python-modules/adal/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "adal";
-  version = "0.4.7";
+  version = "0.5.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "114046ac85d0054791c21b00922f26286822bc6f2ba3716db42e7e57f762ef20";
+    sha256 = "120821f72ca9d59a7c7197fc14d0e27448ff8d331fae230f92d713b9b5c721f7";
   };
 
   propagatedBuildInputs =  [ requests pyjwt dateutil ];
diff --git a/pkgs/development/python-modules/afew/default.nix b/pkgs/development/python-modules/afew/default.nix
deleted file mode 100644
index ca00477d4086..000000000000
--- a/pkgs/development/python-modules/afew/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub
-, isPy3k , setuptools_scm, notmuch, chardet, subprocess32 }:
-
-buildPythonPackage rec {
-  pname = "afew";
-  version = "1.2.0";
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "afewmail";
-    repo = "afew";
-    rev = "3405475276a2433e1238be330e538ebf2a976e5e";
-    sha256 = "1h974avnfc6636az130yjqwm28z3aaqm49bjhpy3razx6zvyhzlf";
-  };
-
-  buildInputs = [ setuptools_scm ];
-  SETUPTOOLS_SCM_PRETEND_VERSION = "${version}";
-
-  propagatedBuildInputs = [
-    notmuch
-    chardet
-  ] ++ stdenv.lib.optional (!isPy3k) subprocess32;
-
-  postInstall = ''
-    wrapProgram $out/bin/afew \
-      --prefix LD_LIBRARY_PATH : ${notmuch}/lib
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/afewmail/afew;
-    description = "An initial tagging script for notmuch mail";
-    maintainers = with maintainers; [ garbas andir flokli ];
-  };
-}
diff --git a/pkgs/development/python-modules/agate-excel/default.nix b/pkgs/development/python-modules/agate-excel/default.nix
index cb0113c22b3d..b39df3959fae 100644
--- a/pkgs/development/python-modules/agate-excel/default.nix
+++ b/pkgs/development/python-modules/agate-excel/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "agate-excel";
-    version = "0.2.1";
+    version = "0.2.2";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1d28s01a0a8n8rdrd78w88cqgl3lawzy38h9afwm0iks618i0qn7";
+      sha256 = "8923f71ee2b5b7b21e52fb314a769b28fb902f647534f5cbbb41991d8710f4c7";
     };
 
     propagatedBuildInputs = [ agate openpyxl xlrd ];
diff --git a/pkgs/development/python-modules/agate-sql/default.nix b/pkgs/development/python-modules/agate-sql/default.nix
index 0167b40ea43f..34de9ea06e9c 100644
--- a/pkgs/development/python-modules/agate-sql/default.nix
+++ b/pkgs/development/python-modules/agate-sql/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "agate-sql";
-    version = "0.5.2";
+    version = "0.5.3";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0qlfwql6fnbs0r1rj7nxv4n5scad53b8dlh4qv6gyklvdk3wwn14";
+      sha256 = "877b7b85adb5f0325455bba8d50a1623fa32af33680b554feca7c756a15ad9b4";
     };
 
     propagatedBuildInputs = [ agate sqlalchemy ];
diff --git a/pkgs/development/python-modules/aiohttp/cors.nix b/pkgs/development/python-modules/aiohttp/cors.nix
index ab9595ec2b9c..9da239b524a6 100644
--- a/pkgs/development/python-modules/aiohttp/cors.nix
+++ b/pkgs/development/python-modules/aiohttp/cors.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-cors";
   version = "0.6.0";
-  name = "${pname}-${version}";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4";
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 44e19072057f..bea839f49e3d 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -6,31 +6,33 @@
 , multidict
 , async-timeout
 , yarl
+, idna-ssl
 , pytest
 , gunicorn
 , pytest-raisesregexp
+, pytest-mock
 }:
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "2.3.7";
-  name = "${pname}-${version}";
+  version = "2.3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe294df38e9c67374263d783a7a29c79372030f5962bd5734fa51c6f4bbfee3b";
+    sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
   };
 
   disabled = pythonOlder "3.4";
 
-  doCheck = false; # Too many tests fail.
+  checkInputs = [ pytest gunicorn pytest-raisesregexp pytest-mock ];
 
-  checkInputs = [ pytest gunicorn pytest-raisesregexp ];
-  propagatedBuildInputs = [ async-timeout chardet multidict yarl ];
+  propagatedBuildInputs = [ async-timeout chardet multidict yarl ]
+    ++ lib.optional (pythonOlder "3.7") idna-ssl;
 
-  meta = {
-    description = "Http client/server for asyncio";
-    license = with lib.licenses; [ asl20 ];
+  meta = with lib; {
+    description = "Asynchronous HTTP Client/Server for Python and asyncio";
+    license = licenses.asl20;
     homepage = https://github.com/KeepSafe/aiohttp/;
+    maintainers = with maintainers; [ dotlambda ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/aioimaplib/default.nix b/pkgs/development/python-modules/aioimaplib/default.nix
new file mode 100644
index 000000000000..d335cbc556cb
--- /dev/null
+++ b/pkgs/development/python-modules/aioimaplib/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, nose, asynctest, mock, pytz, tzlocal, imaplib2, docutils }:
+
+buildPythonPackage rec {
+  pname = "aioimaplib";
+  version = "0.7.13";
+
+  # PyPI tarball doesn't ship tests
+  src = fetchFromGitHub {
+    owner = "bamthomas";
+    repo = pname;
+    rev = version;
+    sha256 = "19yhk4ixfw46d0bvx6a40r23nvia5a83dzn5rzwaq1wdjr186bbn";
+  };
+
+  disbaled = pythonOlder "3.4";
+
+  checkInputs = [ nose asynctest mock pytz tzlocal imaplib2 docutils ];
+
+  meta = with lib; {
+    description = "Python asyncio IMAP4rev1 client library";
+    homepage = https://github.com/bamthomas/aioimaplib;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
index 364f4cf9a3ab..54e1a753597c 100644
--- a/pkgs/development/python-modules/alembic/default.nix
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "alembic";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "042851ebe9efa07be6dc1395b1793b6c1d8964a39b73a0ce1649e2bcd41ea732";
+    sha256 = "46f4849c6dce69f54dd5001b3215b6a983dee6b17512efee10e237fa11f20cfa";
   };
 
   buildInputs = [ pytest pytestcov mock coverage ];
diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix
index 6e61e84a5d53..ba60922856ef 100644
--- a/pkgs/development/python-modules/aniso8601/default.nix
+++ b/pkgs/development/python-modules/aniso8601/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "aniso8601";
-  version = "1.3.0";
+  version = "2.0.0";
   name = "${pname}-${version}";
 
   meta = with stdenv.lib; {
@@ -16,6 +16,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c3b5246f5601b6ae5671911bc4ee5b3e3fe94752e8afab5ce074d8b1232952f1";
+    sha256 = "085786415d3550e89785ffbedaa9bb37d41de0707a1268bdbba11249064b71d1";
   };
 }
diff --git a/pkgs/development/python-modules/ansicolor/default.nix b/pkgs/development/python-modules/ansicolor/default.nix
index ca29b631f471..26b182dfc08a 100644
--- a/pkgs/development/python-modules/ansicolor/default.nix
+++ b/pkgs/development/python-modules/ansicolor/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "ansicolor";
-  version = "0.2.4";
+  version = "0.2.6";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h";
+    sha256 = "d17e1b07b9dd7ded31699fbca53ae6cd373584f9b6dcbc124d1f321ebad31f1d";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/ansicolors/default.nix b/pkgs/development/python-modules/ansicolors/default.nix
index 9192186cd717..a737cb06ea22 100644
--- a/pkgs/development/python-modules/ansicolors/default.nix
+++ b/pkgs/development/python-modules/ansicolors/default.nix
@@ -1,15 +1,21 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
 
 buildPythonPackage rec {
   pname = "ansicolors";
-  version = "1.0.2";
-  name = "${pname}-${version}";
+  version = "1.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02lmh2fbqcwr98cq13l9ql0fvyad1dcb3ap3c5xq9qwjp45m6r3n";
+    extension = "zip";
+    sha256 = "99f94f5e3348a0bcd43c82e5fc4414013ccc19d70bd939ad71e0133ce9c372e0";
   };
 
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://github.com/verigak/colors/;
     description = "ANSI colors for Python";
diff --git a/pkgs/development/python-modules/argon2_cffi/default.nix b/pkgs/development/python-modules/argon2_cffi/default.nix
index 80985f868c7a..f46efd9f496e 100644
--- a/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/pkgs/development/python-modules/argon2_cffi/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "argon2_cffi";
-  version = "16.3.0";
+  version = "18.1.0";
   name    = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ap3il3j1pjyprrhpfyhc21izpmhzhfb5s69vlzc65zvd1nj99cr";
+    sha256 = "7e4b75611b73f53012117ad21cdde7a17b32d1e99ff6799f22d827eb83a2a59b";
   };
 
   propagatedBuildInputs = [ cffi six ];
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index 374b82225a1a..65f4ae79f4b3 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a15ecfddf334316e3ac8695e48c15d1be0d6038603b33043930dcf0e675c86ee";
+    sha256 = "a558d3b7b6ce7ffc74206a86c147052de23d3d4ef0e17c210dd478c53575c4cd";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/arxiv2bib/default.nix b/pkgs/development/python-modules/arxiv2bib/default.nix
new file mode 100644
index 000000000000..1182c36fc0ca
--- /dev/null
+++ b/pkgs/development/python-modules/arxiv2bib/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage, python, lib, fetchFromGitHub
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "arxiv2bib";
+  version = "1.0.8";
+
+  # Missing tests on Pypi
+  src = fetchFromGitHub {
+    owner = "nathangrigg";
+    repo = "arxiv2bib";
+    rev = version;
+    sha256 = "1kp2iyx20lpc9dv4qg5fgwf83a1wx6f7hj1ldqyncg0kn9xcrhbg";
+  };
+
+  # Required for tests only
+  checkInputs = [ mock ];
+
+  checkPhase = "${python.interpreter} -m unittest discover -s tests";
+
+  meta = with lib; {
+    description = "Get a BibTeX entry from an arXiv id number, using the arxiv.org API";
+    homepage = http://nathangrigg.github.io/arxiv2bib/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/asana/default.nix b/pkgs/development/python-modules/asana/default.nix
index 41a111c3167a..7990ece749b5 100644
--- a/pkgs/development/python-modules/asana/default.nix
+++ b/pkgs/development/python-modules/asana/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "asana";
-  version = "0.6.5";
+  version = "0.6.7";
   name = "${pname}-${version}";
 
   meta = {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eab8d24c2a4670b541b75da2f4bf5b995fe71559c1338da53ce9039f7b19c9a0";
+    sha256 = "d576601116764050c4cf63b417f1c24700b76cf6686f0e51e6b0b77d450e7973";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix
index fedd4b81a9d4..a2815fc0c86f 100644
--- a/pkgs/development/python-modules/asgiref/default.nix
+++ b/pkgs/development/python-modules/asgiref/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, six }:
 buildPythonPackage rec {
-  version = "2.0.1";
+  version = "2.1.1";
   pname = "asgiref";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgiref/${name}.tar.gz";
-    sha256 = "c3d70c473a2b7e525e18e68504630943e107f5b32f440c00c8543f94f565c855";
+    sha256 = "112828022d772925b47b22caf8108dadd3b26bb0af719eb01b2c3a807795429d";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/astor/default.nix b/pkgs/development/python-modules/astor/default.nix
index 6f50b7157e5d..9fb92b860a15 100644
--- a/pkgs/development/python-modules/astor/default.nix
+++ b/pkgs/development/python-modules/astor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
 
 buildPythonPackage rec {
   pname = "astor";
@@ -10,6 +10,12 @@ buildPythonPackage rec {
     sha256 = "ff6d2e2962d834acb125cc4dcc80c54a8c17c253f4cc9d9c43b5102a560bb75d";
   };
 
+  # disable tests broken with python3.6: https://github.com/berkerpeksag/astor/issues/89
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    py.test -k 'not check_expressions and not check_astunparse and not test_convert_stdlib and not test_codegen_as_submodule and not test_codegen_from_root'
+  '';
+
   meta = with stdenv.lib; {
     description = "Library for reading, writing and rewriting python AST";
     homepage = https://github.com/berkerpeksag/astor;
diff --git a/pkgs/development/python-modules/astral/default.nix b/pkgs/development/python-modules/astral/default.nix
new file mode 100644
index 000000000000..76dba87f9648
--- /dev/null
+++ b/pkgs/development/python-modules/astral/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytz, pytest }:
+
+buildPythonPackage rec {
+  pname = "astral";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "1zm1ypc6w279gh7lbgsfbzfxk2x4gihlq3rfh59hj70hmhjwiwp7";
+  };
+
+  propagatedBuildInputs = [ pytz ];
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    py.test -k "not test_GoogleLocator"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Calculations for the position of the sun and the moon";
+    homepage = https://github.com/sffjunkie/astral/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ flokli ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 862157f686a3..d22a10ec1502 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "astroid";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71dadba2110008e2c03f9fde662ddd2053db3c0489d0e03c94e828a0399edd4f";
+    sha256 = "f0a0e386dbca9f93ea9f3ea6f32b37a24720502b7baa9cb17c3976a680d43a06";
   };
 
   propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ]
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
new file mode 100644
index 000000000000..2b0348a87581
--- /dev/null
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchPypi, fetchFromGitHub, pythonOlder, python }:
+
+buildPythonPackage rec {
+  pname = "asynctest";
+  version = "0.11.1";
+
+  disabled = pythonOlder "3.4";
+
+  # PyPI tarball doesn't ship test/__init__.py
+  src = fetchFromGitHub {
+    owner = "Martiusweb";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vvh5vbq2fbz6426figs85z8779r7svb4dp2v3xynhhv05nh2y6v";
+  };
+
+  postPatch = ''
+    # Skip failing test, probably caused by file system access
+    substituteInPlace test/test_selector.py \
+      --replace "test_events_watched_outside_test_are_ignored" "xtest_events_watched_outside_test_are_ignored"
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest test
+  '';
+
+  meta = with lib; {
+    description = "Enhance the standard unittest package with features for testing asyncio libraries";
+    homepage = https://github.com/Martiusweb/asynctest;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 06ad939cfa8b..6e58e3485ab2 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "1.3.3";
+  version = "1.3.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c1gl648g2xnz3j0rsp71ld4i32zlglmqjvqf4q8r08jp3zpny7z";
+    sha256 = "c7be71ab0cb2f50c9c22c82f0c9acaafc6f57492c3fbfee9790c415005c2b9a5";
   };
 
   propagatedBuildInputs = [ pycodestyle ];
diff --git a/pkgs/development/python-modules/awesome-slugify/default.nix b/pkgs/development/python-modules/awesome-slugify/default.nix
index 105c70c28b34..945c941dec4e 100644
--- a/pkgs/development/python-modules/awesome-slugify/default.nix
+++ b/pkgs/development/python-modules/awesome-slugify/default.nix
@@ -3,13 +3,17 @@
 buildPythonPackage rec {
   pname = "awesome-slugify";
   version = "1.6.5";
-  name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0wgxrhr8s5vk2xmcz9s1z1aml4ppawmhkbggl9rp94c747xc7pmv";
   };
 
+  prePatch = ''
+    substituteInPlace setup.py \
+        --replace 'Unidecode>=0.04.14,<0.05' 'Unidecode>=0.04.14'
+  '';
+
   patches = [
     ./slugify_filename_test.patch # fixes broken test by new unidecode
   ];
diff --git a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
index 2442e132f1b9..0def8a2de2a0 100644
--- a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
+++ b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
@@ -2,9 +2,10 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools_scm
+, pythonOlder
 }:
 
-buildPythonPackage rec {
+if !(pythonOlder "3.3") then null else buildPythonPackage rec {
   pname = "backports.functools_lru_cache";
   version = "1.4";
 
diff --git a/pkgs/development/python-modules/backports_lzma/default.nix b/pkgs/development/python-modules/backports_lzma/default.nix
index 9b622eb6b065..a0643e82ae03 100644
--- a/pkgs/development/python-modules/backports_lzma/default.nix
+++ b/pkgs/development/python-modules/backports_lzma/default.nix
@@ -4,17 +4,18 @@
 , isPy3k
 , lzma
 , python
+, pythonOlder
 }:
 
-buildPythonPackage rec {
+if !(pythonOlder "3.3") then null else buildPythonPackage rec {
   pname = "backports.lzma";
-  version = "0.0.8";
+  version = "0.0.9";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "200584ad5079d8ca6b1bfe14890c7be58666ab0128d8ca26cfb2669b476085f3";
+    sha256 = "9ba5d94214a79900ee297a594b8e154cd8e4a54d26eb06243c0e2f3ad5286539";
   };
 
   buildInputs = [ lzma ];
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
new file mode 100644
index 000000000000..e4ccb0c92d66
--- /dev/null
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytestrunner
+, six
+, html5lib
+}:
+
+buildPythonPackage rec {
+  pname = "bleach";
+  version = "2.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "38fc8cbebea4e787d8db55d6f324820c7f74362b70db9142c1ac7920452d1a19";
+  };
+
+  checkInputs = [ pytest pytestrunner ];
+  propagatedBuildInputs = [ six html5lib ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace ",<3dev" ""
+  '';
+
+  meta = {
+    description = "An easy, HTML5, whitelisting HTML sanitizer";
+    longDescription = ''
+      Bleach is an HTML sanitizing library that escapes or strips markup and
+      attributes based on a white list. Bleach can also linkify text safely,
+      applying filters that Django's urlize filter cannot, and optionally
+      setting rel attributes, even on links already in the text.
+
+      Bleach is intended for sanitizing text from untrusted sources. If you
+      find yourself jumping through hoops to allow your site administrators
+      to do lots of things, you're probably outside the use cases. Either
+      trust those users, or don't.
+    '';
+    homepage = https://github.com/mozilla/bleach;
+    downloadPage = https://github.com/mozilla/bleach/releases;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ prikhi ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 1a20639c2dea..37c3ea5d72ac 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 = "38.2.5";
+    version = "38.4.0";
     format = "wheel";
-    sha256 = "bcf0d4f3e2f7890e658db11e218b8643afffb905a0e2f2a7d5a6a3e949bb87e6";
+    sha256 = "155c2ec9fdcc00c3973d966b416e1cf3a1e7ce75f4c09fb760b23f94b935926e";
   };
 
   # TODO: Shouldn't be necessary anymore for pip > 9.0.1!
@@ -46,7 +46,8 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
-  buildInputs = [ python makeWrapper unzip ];
+  nativeBuildInputs = [ makeWrapper unzip ];
+  buildInputs = [ python ];
 
   installPhase = ''
 
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index e50f1d46f49f..897e9c884072 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "botocore";
-  version = "1.8.26";
+  version = "1.8.36";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09j3b80l401hwc3ha0s2c2qq6z45x846an09ybc9y8cb1ky0kdlv";
+    sha256 = "b2c9e0fd6d14910f759a33c19f8315dddedbb3c5569472b7be7ceed4f001a675";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix
index 515494b5f931..f9ab331a3f64 100644
--- a/pkgs/development/python-modules/bpython/default.nix
+++ b/pkgs/development/python-modules/bpython/default.nix
@@ -1,14 +1,12 @@
-{ stdenv, buildPythonPackage, fetchurl, pygments, greenlet, curtsies, urwid, requests, mock }:
+{ stdenv, buildPythonPackage, fetchPypi, pygments, greenlet, curtsies, urwid, requests, mock }:
 
 buildPythonPackage rec {
   pname = "bpython";
   version = "0.17";
-  name  = "${pname}-${version}";
 
-  # 0.17 is still missing on PyPI, https://github.com/bpython/bpython/issues/706
-  src = fetchurl {
-    url = "https://bpython-interpreter.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "13fyyx06645ikvmj9zmkixr12kzk1c3a3f9s9i2rvaczjycn82lz";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l";
   };
 
   propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ];
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index 43a0a42f8e93..c4cde583f05b 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.10.0";
+  version = "2.11.0";
   name = "${pname}-nix-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "00wi0f6wpfl2gywr02x2yqvx6i1k0ll5w4lhdl0khijk4g7mk8dq";
+    sha256 = "092b0a147d5fb4e79ee0afde665570f85738e714463854f9e4f7f38d0b27ea82";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix
new file mode 100644
index 000000000000..fbb53828d2af
--- /dev/null
+++ b/pkgs/development/python-modules/can/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pyserial
+, nose
+, mock }:
+
+buildPythonPackage rec {
+  pname = "python-can";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c6zfd29ck9ffdklfb5xgxvfl52xdaqd89isykkypm1ll97yk2fs";
+  };
+
+  propagatedBuildInputs = [ pyserial ];
+  checkInputs = [ nose mock ];
+
+  meta = with lib; {
+    homepage = https://github.com/hardbyte/python-can;
+    description = "CAN support for Python";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ sorki ];
+  };
+}
diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix
new file mode 100644
index 000000000000..99ac6c3ec45b
--- /dev/null
+++ b/pkgs/development/python-modules/canmatrix/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, lxml
+, xlwt
+, xlrd
+, XlsxWriter
+, pyyaml
+, future }:
+
+buildPythonPackage rec {
+  pname = "canmatrix";
+  version = "0.6";
+
+  # uses fetchFromGitHub as PyPi release misses test/ dir
+  src = fetchFromGitHub {
+    owner = "ebroecker";
+    repo = pname;
+    rev = version;
+    sha256 = "1lb0krhchja2jqfsh5lsfgmqcchs1pd38akvc407jfmll96f4yqz";
+  };
+
+  checkPhase = ''
+    cd test
+    ${python.interpreter} ./test.py
+  '';
+
+  propagatedBuildInputs =
+    [ lxml
+      xlwt
+      xlrd
+      XlsxWriter
+      pyyaml
+      future
+    ];
+
+  meta = with lib; {
+    homepage = https://github.com/ebroecker/canmatrix;
+    description = "Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x)";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ sorki ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/canopen/default.nix b/pkgs/development/python-modules/canopen/default.nix
new file mode 100644
index 000000000000..08ae54e0b73b
--- /dev/null
+++ b/pkgs/development/python-modules/canopen/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, nose
+, can
+, canmatrix }:
+
+buildPythonPackage rec {
+  pname = "canopen";
+  version = "0.5.1";
+
+  # use fetchFromGitHub until version containing test/sample.eds
+  # is available on PyPi
+  # https://github.com/christiansandberg/canopen/pull/57
+
+  src = fetchFromGitHub {
+    owner = "christiansandberg";
+    repo = "canopen";
+    rev = "b20575d84c3aef790fe7c38c5fc77601bade0ea4";
+    sha256 = "1qg47qrkyvyxiwi13sickrkk89jp9s91sly2y90bz0jhws2bxh64";
+  };
+
+  #src = fetchPypi {
+  #  inherit pname version;
+  #  sha256 = "0806cykarpjb9ili3mf82hsd9gdydbks8532nxgz93qzg4zdbv2g";
+  #};
+
+  # test_pdo failure https://github.com/christiansandberg/canopen/issues/58
+  doCheck = false;
+
+  propagatedBuildInputs =
+    [ can
+      canmatrix
+    ];
+
+  checkInputs = [ nose ];
+
+  meta = with lib; {
+    homepage = https://github.com/christiansandberg/canopen/;
+    description = "CANopen stack implementation";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ sorki ];
+  };
+}
diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix
index 79eea0574546..d36f0f308d33 100644
--- a/pkgs/development/python-modules/certifi/default.nix
+++ b/pkgs/development/python-modules/certifi/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "certifi";
-  version = "2017.7.27.1";
+  version = "2018.1.18";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5";
+    sha256 = "edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/cffi/clang.patch b/pkgs/development/python-modules/cffi/clang.patch
deleted file mode 100644
index 27674edb58b4..000000000000
--- a/pkgs/development/python-modules/cffi/clang.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/testing/cffi1/test_recompiler.py b/testing/cffi1/test_recompiler.py
-index a3277b0..0d6e2c3 100644
---- a/testing/cffi1/test_recompiler.py
-+++ b/testing/cffi1/test_recompiler.py
-@@ -2270,7 +2270,7 @@ def test_char16_char32_type(no_cpp=False):
-         char32_t foo_4bytes(char32_t);
-     """)
-     lib = verify(ffi, "test_char16_char32_type" + no_cpp * "_nocpp", """
--    #if !defined(__cplusplus) || __cplusplus < 201103L
-+    #if !defined(__cplusplus)
-     typedef uint_least16_t char16_t;
-     typedef uint_least32_t char32_t;
-     #endif
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index f8e313d660eb..28d4a36aca7e 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,16 +2,14 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.11.2";
+  version = "1.11.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab87dd91c0c4073758d07334c1e5f712ce8fe48f007b86f8238773963ee700a6";
+    sha256 = "df9083a992b17a28cd4251a3f5c879e0198bb26c9e808c4647e0a18739f1d11d";
   };
 
-  patches = stdenv.lib.optional (isPy27 && stdenv.cc.isClang) ./clang.patch;
-
   outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ libffi pycparser ];
@@ -39,7 +37,7 @@ if isPyPy then null else buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ domenkozar lnl7 ];
     homepage = https://cffi.readthedocs.org/;
     license = with licenses; [ mit ];
     description = "Foreign Function Interface for Python calling C code";
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index 06a455176a2a..b7a58f11a15b 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mbc8kwk7pvg03bf0j57a48gr6rsdg4lzmyj0dak8y2l4lmyskpw";
+    sha256 = "0669375e5b09d687781a37d6c025ee0a6015f575b4d2c70a2ad09c33b8228f86";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/channels/default.nix b/pkgs/development/python-modules/channels/default.nix
index e5c92ffcde26..36191b95479b 100644
--- a/pkgs/development/python-modules/channels/default.nix
+++ b/pkgs/development/python-modules/channels/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   pname = "channels";
   name = "${pname}-${version}";
-  version = "1.1.8";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gsy3hwn1vd709jkw8ay44qrm6aw7qggr312z8xwzq0x4ihjda02";
+    sha256 = "c365492b90bd936c763e06cd76bda96cd3e70e5a5d2a196c25754e0c1d8da85a";
   };
 
   # Files are missing in the distribution
diff --git a/pkgs/development/python-modules/click-threading/default.nix b/pkgs/development/python-modules/click-threading/default.nix
new file mode 100644
index 000000000000..3fe2af19fef9
--- /dev/null
+++ b/pkgs/development/python-modules/click-threading/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, click
+, isPy3k
+, futures
+}:
+
+buildPythonPackage rec {
+  pname = "click-threading";
+  version = "0.4.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b2b0fada5bf184b56afaccc99d0d2548d8ab07feb2e95e29e490f6b99c605de7";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ click ] ++ lib.optional (!isPy3k) futures;
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Tests are broken on 3.x
+  doCheck = !isPy3k;
+
+  meta = {
+    homepage = https://github.com/click-contrib/click-threading/;
+    description = "Multithreaded Click apps made easy";
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/colorlog/default.nix b/pkgs/development/python-modules/colorlog/default.nix
new file mode 100644
index 000000000000..e737b8848975
--- /dev/null
+++ b/pkgs/development/python-modules/colorlog/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "colorlog";
+  version = "3.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0i21sd6pggr2gqza41vyq2rqyb552wf5iwl4bc16i7kqislbd53z";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test -p no:logging
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Log formatting with colors";
+    homepage = https://github.com/borntyping/python-colorlog;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/crayons/default.nix b/pkgs/development/python-modules/crayons/default.nix
new file mode 100644
index 000000000000..16b3998eb856
--- /dev/null
+++ b/pkgs/development/python-modules/crayons/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage, colorama }:
+
+buildPythonPackage rec {
+  pname = "crayons";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17c0v0dkk8sn8kyyy2w7myxq9981glrbczh6h8sdcr750lb6j5sy";
+  };
+
+  propagatedBuildInputs = [ colorama ];
+
+  meta = with stdenv.lib; {
+    description = "TextUI colors for Python";
+    homepage = https://github.com/kennethreitz/crayons;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
new file mode 100644
index 000000000000..606b174a514d
--- /dev/null
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, openssl
+, cryptography_vectors
+, darwin
+, idna
+, asn1crypto
+, packaging
+, six
+, pythonOlder
+, enum34
+, ipaddress
+, isPyPy
+, cffi
+, pytest
+, pretend
+, iso8601
+, pytz
+, hypothesis
+}:
+
+let
+  version = "2.1.4";
+in assert version == cryptography_vectors.version; buildPythonPackage rec {
+  # also bump cryptography_vectors
+  pname = "cryptography";
+  inherit version;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e4d967371c5b6b2e67855066471d844c5d52d210c36c28d49a8507b96e2c5291";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [ openssl cryptography_vectors ]
+             ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  propagatedBuildInputs = [
+    idna
+    asn1crypto
+    packaging
+    six
+  ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34
+  ++ stdenv.lib.optional (pythonOlder "3.3") ipaddress
+  ++ stdenv.lib.optional (!isPyPy) cffi;
+
+  checkInputs = [
+    pytest
+    pretend
+    iso8601
+    pytz
+    hypothesis
+  ];
+
+  # The test assumes that if we're on Sierra or higher, that we use `getentropy`, but for binary
+  # compatibility with pre-Sierra for binary caches, we hide that symbol so the library doesn't
+  # use it. This boils down to them checking compatibility with `getentropy` in two different places,
+  # so let's neuter the second test.
+  postPatch = ''
+    substituteInPlace ./tests/hazmat/backends/test_openssl.py --replace '"16.0"' '"99.0"'
+  '';
+
+  # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
+  # can do until nix 1.11's release
+  __impureHostDeps = [ "/usr/lib" ];
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/cryptography_vectors/default.nix b/pkgs/development/python-modules/cryptography_vectors/default.nix
new file mode 100644
index 000000000000..ce272d29ca19
--- /dev/null
+++ b/pkgs/development/python-modules/cryptography_vectors/default.nix
@@ -0,0 +1,18 @@
+{ buildPythonPackage
+, fetchPypi
+, cryptography
+}:
+
+buildPythonPackage rec {
+  # also bump cryptography
+  pname = "cryptography_vectors";
+  version = "2.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "78c4b4f3f84853ea5d038e2f53d355229dd8119fe9cf949c3e497c85c760a5ca";
+  };
+
+  # No tests included
+  doCheck = false;
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index 6ac91c0aa255..e020eafc04c8 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0si0ri8azxvxh3lpm4l4g60jf4nwzibi53yldbdbzb1svlqq060r";
+    sha256 = "7426f6332cb01513d2a6a687792dfa17c678ff64dd1b19b04559ddd5672c833f";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/curtsies/default.nix b/pkgs/development/python-modules/curtsies/default.nix
index a1e5f2352356..d9505b384af8 100644
--- a/pkgs/development/python-modules/curtsies/default.nix
+++ b/pkgs/development/python-modules/curtsies/default.nix
@@ -3,8 +3,6 @@
 buildPythonPackage rec {
   pname = "curtsies";
   version = "0.2.11";
-  name  = "${pname}-${version}";
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "1vljmw3sy6lrqahhpyg4gk13mzcx3mwhvg8s41698ms3cpgkjipc";
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index 83b1c893719d..9c5a2b2110ce 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -23,6 +23,12 @@ buildPythonPackage rec {
   checkInputs = [ nose ];
   propagatedBuildInputs = [ toolz ];
 
+  # File as accidentally included in release
+  # See https://github.com/pytoolz/cytoolz/issues/116#issuecomment-355770073
+  postPatch = ''
+    rm cytoolz/tests/test_curried_doctests.py
+  '';
+
   # Disable failing test https://github.com/pytoolz/cytoolz/issues/97
   checkPhase = ''
     NOSE_EXCLUDE=test_curried_exceptions nosetests -v $out/${python.sitePackages}
diff --git a/pkgs/development/python-modules/daphne/default.nix b/pkgs/development/python-modules/daphne/default.nix
index c90fb61ce03a..6fec8bf882c7 100644
--- a/pkgs/development/python-modules/daphne/default.nix
+++ b/pkgs/development/python-modules/daphne/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   pname = "daphne";
   name = "${pname}-${version}";
-  version = "1.3.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xmmjp21m1w88ljsgnkf6cbzw5nxamh9cfmfgzxffpn4cdmvn96i";
+    sha256 = "ecd43a2dd889fb74e16bf8b7f67c076c4ec1b36229ce782272e46c50d56174dd";
   };
 
   buildInputs = [ hypothesis ];
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index c3b45dc3c867..79e423d4847b 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "0.16.0";
+  version = "0.16.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40d150b73e3366c9521e9dde206046a66906330074f87be901b1e1013ce6cb73";
+    sha256 = "07a0609ce053c8c2675037e6d5242899f90ecfb5262e1d0b2d7264fe8814099c";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/datashape/default.nix b/pkgs/development/python-modules/datashape/default.nix
index 81ead8431695..9177e9f0ff48 100644
--- a/pkgs/development/python-modules/datashape/default.nix
+++ b/pkgs/development/python-modules/datashape/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytest
 , mock
 , numpy
@@ -8,14 +8,24 @@
 , dateutil
 }:
 
-buildPythonPackage rec {
+let
+  # Fetcher function looks similar to fetchPypi.
+  # Allows for easier overriding, without having to know
+  # how the source is actually fetched.
+  fetcher = {pname, version, sha256}: fetchFromGitHub {
+    owner = "blaze";
+    repo = pname;
+    rev = version;
+    inherit sha256;
+  };
+
+in buildPythonPackage rec {
   pname = "datashape";
-  version = "0.5.2";
-  name = "${pname}-${version}";
+  version = "0.5.4";
 
-  src = fetchPypi {
+  src = fetcher {
     inherit pname version;
-    sha256 = "2356ea690c3cf003c1468a243a9063144235de45b080b3652de4f3d44e57d783";
+    sha256 = "0rhlj2kjj1vx5m73wnc5518rd6cs1zsbgpsvzk893n516k69shcf";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/dateparser/default.nix b/pkgs/development/python-modules/dateparser/default.nix
index b73a1e9ec7fc..fdc408e1c4c1 100644
--- a/pkgs/development/python-modules/dateparser/default.nix
+++ b/pkgs/development/python-modules/dateparser/default.nix
@@ -1,41 +1,40 @@
-{ stdenv, fetchFromGitHub, buildPythonPackage, isPy3k
+{ lib, fetchPypi, buildPythonPackage, isPy3k
 , nose
-, nose-parameterized
+, parameterized
 , mock
 , glibcLocales
 , six
 , jdatetime
-, pyyaml
 , dateutil
 , umalqurra
 , pytz
 , tzlocal
 , regex
 , ruamel_yaml }:
+
 buildPythonPackage rec {
   pname = "dateparser";
-  version = "0.6.0";
+  version = "0.7.0";
 
-  src = fetchFromGitHub {
-    owner = "scrapinghub";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    sha256 = "0q2vyzvlj46r6pr0s6m1a0md1cpg9nv1n3xw286l4x2cc7fj2g3y";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "940828183c937bcec530753211b70f673c0a9aab831e43273489b310538dff86";
   };
 
-  # Upstream Issue: https://github.com/scrapinghub/dateparser/issues/364
-  disabled = isPy3k;
-
-  checkInputs = [ nose nose-parameterized mock glibcLocales ];
+  checkInputs = [ nose mock parameterized six glibcLocales ];
   preCheck =''
     # skip because of missing convertdate module, which is an extra requirement
     rm tests/test_jalali.py
   '';
 
-  propagatedBuildInputs = [ six jdatetime pyyaml dateutil
-            umalqurra pytz tzlocal regex ruamel_yaml ];
+  propagatedBuildInputs = [
+    # install_requires
+    dateutil pytz regex tzlocal
+    # extra_requires
+    jdatetime ruamel_yaml umalqurra
+  ];
 
-  meta = with stdenv.lib;{
+  meta = with lib; {
     description = "Date parsing library designed to parse dates from HTML pages";
     homepage = https://github.com/scrapinghub/dateparser;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index e3ee3117501b..e852ac0385ca 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "4.1.2";
+  version = "4.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5";
+    sha256 = "7d46dd9f3ea1cf5f06ee0e4e1277ae618cf48dfb10ada7c8427cd46c42702a0e";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/dendropy/default.nix b/pkgs/development/python-modules/dendropy/default.nix
new file mode 100644
index 000000000000..a455db96c22b
--- /dev/null
+++ b/pkgs/development/python-modules/dendropy/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, pkgs
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname   = "DendroPy";
+  version = "4.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bd5b35ce1a1c9253209b7b5f3939ac22beaa70e787f8129149b4f7ffe865d510";
+  };
+
+  prePatch = ''
+    # Test removed/disabled and reported upstream: https://github.com/jeetsukumaran/DendroPy/issues/74
+    rm -f dendropy/test/test_dataio_nexml_reader_tree_list.py
+  '';
+
+  preCheck = ''
+    # Needed for unicode python tests
+    export LC_ALL="en_US.UTF-8"
+  '';
+
+  checkInputs = [ pkgs.glibcLocales ];
+
+  meta = {
+    homepage = http://dendropy.org/;
+    description = "A Python library for phylogenetic computing";
+    maintainers = with lib.maintainers; [ unode ];
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/devpi-common/default.nix b/pkgs/development/python-modules/devpi-common/default.nix
index f2be8ec56381..c43d34a9b555 100644
--- a/pkgs/development/python-modules/devpi-common/default.nix
+++ b/pkgs/development/python-modules/devpi-common/default.nix
@@ -2,12 +2,12 @@
 
 with pythonPackages;buildPythonPackage rec {
   pname = "devpi-common";
-  version = "3.2.0";
+  version = "3.2.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rh119iw5hk41gsvbjr0wixvl1i4f0b1vcnw9ym35rmcp517z0wb";
+    sha256 = "e9afa277a9b227d92335c49fab40be2e9bb112c0f4dda84906c14addb1ded2f7";
   };
 
   propagatedBuildInputs = [ requests py ];
diff --git a/pkgs/development/python-modules/dicttoxml/default.nix b/pkgs/development/python-modules/dicttoxml/default.nix
new file mode 100644
index 000000000000..7d30aad69c45
--- /dev/null
+++ b/pkgs/development/python-modules/dicttoxml/default.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "dicttoxml";
+  version = "1.7.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ea44cc4ec6c0f85098c57a431a1ee891b3549347b07b7414c8a24611ecf37e45";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = {
+    description = "Converts a Python dictionary or other native data type into a valid XML string";
+    homepage = https://github.com/quandyfactory/dicttoxml;
+    license = lib.licenses.gpl2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
new file mode 100644
index 000000000000..b8286e7d6b1b
--- /dev/null
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildPythonPackage, fetchPypi, jinja2, jinja2_pluralize, pygments,
+  six, inflect, mock, nose, coverage, pycodestyle, flake8, pyflakes, git,
+  pylint, pydocstyle, fetchpatch }:
+
+buildPythonPackage rec {
+  pname = "diff_cover";
+  version = "1.0.2";
+
+  preCheck = ''
+    export LC_ALL=en_US.UTF-8;
+  '';
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1wbp0kfv2mjxwnq2jlqmwvb71fywwc4x4azxi7ll5dll6nhjyd61";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "tests-fix.patch";
+      url = "https://github.com/Bachmann1234/diff-cover/commit/85c30959c8ed2aa3848f400095a2418f15bb7777.patch";
+      sha256 = "0xni4syrxww9kdv8495f416vqgfdys4w2hgf5rdi35hy3ybfslh0";
+    })
+  ];
+
+  propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
+
+  checkInputs = [ mock nose coverage pycodestyle flake8 pyflakes pylint pydocstyle git ];
+
+  meta = with stdenv.lib; {
+    description = "Automatically find diff lines that need test coverage";
+    homepage = https://github.com/Bachmann1234/diff-cover;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix
index e11ee54f1a6f..e548781fde62 100644
--- a/pkgs/development/python-modules/discordpy/default.nix
+++ b/pkgs/development/python-modules/discordpy/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , pythonOlder
 , withVoice ? true, libopus
@@ -9,14 +9,12 @@
 , pynacl
 }:
 
-let
+buildPythonPackage rec {
   pname = "discord.py";
   version = "0.16.12";
-in buildPythonPackage rec {
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "17fb8814100fbaf7a79468baa432184db6cef3bbea4ad194fe297c7407d50108";
   };
 
@@ -38,5 +36,9 @@ in buildPythonPackage rec {
     description = "A python wrapper for the Discord API";
     homepage    = "https://discordpy.rtfd.org/";
     license     = lib.licenses.mit;
+
+    # discord.py requires websockets<4.0
+    # See https://github.com/Rapptz/discord.py/issues/973
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/django-ipware/default.nix b/pkgs/development/python-modules/django-ipware/default.nix
index c4d993ac03ba..1f3aedab8102 100644
--- a/pkgs/development/python-modules/django-ipware/default.nix
+++ b/pkgs/development/python-modules/django-ipware/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "django-ipware";
   name = "${pname}-${version}";
-  version = "1.1.6";
+  version = "2.0.1";
 
   meta = {
     description = "A Django application to retrieve user's IP address";
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00zah4g2h93nbsijz556j97v9qkn9sxcia1a2wrwdwnav2fhzack";
+    sha256 = "3fba8821298c8533ce5609debf31dc8a22f228c50e100f42d97637a9f9357d43";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django-polymorphic/default.nix b/pkgs/development/python-modules/django-polymorphic/default.nix
index e2fedfdaaf3e..1e3d60b765cd 100644
--- a/pkgs/development/python-modules/django-polymorphic/default.nix
+++ b/pkgs/development/python-modules/django-polymorphic/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "django-polymorphic";
-  version = "1.3";
+  version = "2.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8737b465ebf5fad772b4c52272189c352f5904f468d298584a3469187e3207ad";
+    sha256 = "78f666149ea10cdda08ac6c25ddf4b4e582ee380be87e7968bfed008ef39dfa5";
   };
 
   checkInputs = [ django ];
diff --git a/pkgs/development/python-modules/django/1_11.nix b/pkgs/development/python-modules/django/1_11.nix
index 9079fd86e1c2..ca0322cf607c 100644
--- a/pkgs/development/python-modules/django/1_11.nix
+++ b/pkgs/development/python-modules/django/1_11.nix
@@ -7,13 +7,13 @@
 buildPythonPackage rec {
   pname = "Django";
   name = "${pname}-${version}";
-  version = "1.11.8";
+  version = "1.11.9";
 
   disabled = pythonOlder "2.7";
 
   src = fetchurl {
     url = "http://www.djangoproject.com/m/releases/1.11/${name}.tar.gz";
-    sha256 = "04gphaarwj1yrhhpi9im6gsg77i2vv0iwyjc0pmxba53nndyglzy";
+    sha256 = "0d0hh9sh2rwazi7z2lnqvz1424bq6ps6c5h6ss04klp14agi4g9m";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django_guardian/default.nix b/pkgs/development/python-modules/django_guardian/default.nix
index a92a7038cd31..d2f8361bc7d6 100644
--- a/pkgs/development/python-modules/django_guardian/default.nix
+++ b/pkgs/development/python-modules/django_guardian/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ django six ];
 
   checkPhase = ''
-    ${python.interpreter} nix_run_setup.py test --addopts="--ignore build"
+    ${python.interpreter} nix_run_setup test --addopts="--ignore build"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 4ce013ac7976..e0ab354173e3 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -3,13 +3,13 @@
 , ipaddress, backports_ssl_match_hostname, docker_pycreds
 }:
 buildPythonPackage rec {
-  version = "2.7.0";
+  version = "3.0.0";
   pname = "docker";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/docker/${name}.tar.gz";
-    sha256 = "144248308e8ea31c4863c6d74e1b55daf97cc190b61d0fe7b7313ab920d6a76c";
+    sha256 = "4a1083656c6ac7615c19094d9b5e052f36e38d0b07e63d7e506c9b5b32c3abe2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dyn/default.nix b/pkgs/development/python-modules/dyn/default.nix
index 881f51b69aa0..efb9cab8048d 100644
--- a/pkgs/development/python-modules/dyn/default.nix
+++ b/pkgs/development/python-modules/dyn/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "dyn";
-  version = "1.8.0";
+  version = "1.8.1";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ab3cd9a1478674cf2d2aa6740fb0ddf77daaa9ab3e35e5d2bc92f60301f8523";
+    sha256 = "e112149d48b4500c18b3cfb6e0e6e780bb5aa0e56ff87cac412280200b9ec8bf";
   };
 
   buildInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix
index 25ca8dabf2bf..84830e7f2b83 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.2";
+  version = "0.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0509a90714448ef47ef727cb7aee3415995c883c945e972521b5838fa4c50e24";
+    sha256 = "ef3d95419d53368f52fb7d4b883b8df0dfc2dd19a76243422d24981c3e5f27bd";
   };
 
   buildInputs = [ hidapi pycrypto pillow protobuf future ];
diff --git a/pkgs/development/python-modules/edward/default.nix b/pkgs/development/python-modules/edward/default.nix
index d29174209a9d..b09bef9fec4e 100644
--- a/pkgs/development/python-modules/edward/default.nix
+++ b/pkgs/development/python-modules/edward/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "edward";
-  version = "1.3.4";
+  version = "1.3.5";
   name  = "${pname}-${version}";
 
   disabled = !(isPy27 || pythonAtLeast "3.4");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10d6d7886235f4b9fa4ba401daef87c27937a04d2763f507643d730e51de37b6";
+    sha256 = "3818b39e77c26fc1a37767a74fdd5e7d02877d75ed901ead2f40bd03baaa109f";
   };
 
   # disabled for now due to Tensorflow trying to create files in $HOME:
diff --git a/pkgs/development/python-modules/elasticsearch/default.nix b/pkgs/development/python-modules/elasticsearch/default.nix
index 9b90b09c5f5f..88399d316975 100644
--- a/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/pkgs/development/python-modules/elasticsearch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage (rec {
   pname = "elasticsearch";
-  version = "6.0.0";
+  version = "6.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "029q603g95fzkh87xkbxxmjfq5s9xkr9y27nfik6d4prsl0zxmlz";
+    sha256 = "8d91a3fce12123a187b673f18c23bcffa6e7b49ba057555d59eeeded0ba15dce";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/pkgs/development/python-modules/eve/default.nix b/pkgs/development/python-modules/eve/default.nix
index d77b912fe0de..fe6daf73339f 100644
--- a/pkgs/development/python-modules/eve/default.nix
+++ b/pkgs/development/python-modules/eve/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "Eve";
-  version = "0.7.5";
+  version = "0.7.6";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dd4ffbc4725220ffdc8e32f8566c8870efaecdc238d0f96b18e1e83227eca55d";
+    sha256 = "1ba84ab471bc2203a728fe4707a9279c44420224180b418601778125f51577ff";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/fedpkg/default.nix b/pkgs/development/python-modules/fedpkg/default.nix
index c3aeed0abbeb..0230466e6e36 100644
--- a/pkgs/development/python-modules/fedpkg/default.nix
+++ b/pkgs/development/python-modules/fedpkg/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "Subclass of the rpkg project for dealing with rpm packaging";
     homepage = https://pagure.io/fedpkg;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix
index a22e1581b68d..46d26e80d563 100644
--- a/pkgs/development/python-modules/filelock/default.nix
+++ b/pkgs/development/python-modules/filelock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "2.0.14";
+  version = "3.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee355eb66e4c2e5d95689e1253515aad5b3177c274abdd00a57d5ab1aa6d071a";
+    sha256 = "011327d4ed939693a5b28c0fdf2fd9bda1f68614c1d6d0643a89382ce9843a71";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/flask-common/default.nix b/pkgs/development/python-modules/flask-common/default.nix
new file mode 100644
index 000000000000..31fe2a677c39
--- /dev/null
+++ b/pkgs/development/python-modules/flask-common/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage
+, crayons, flask, flask_cache, gunicorn, maya, meinheld, whitenoise }:
+
+buildPythonPackage rec {
+  pname = "Flask-Common";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f6ibvkxpxgczxs4qcbh5bj8rf9ggggbagi2dkaphx5w29xbbys4";
+  };
+
+  propagatedBuildInputs = [ crayons flask flask_cache gunicorn maya meinheld whitenoise ];
+
+  meta = with stdenv.lib; {
+    description = "Flask extension with lots of common time-savers";
+    homepage = https://github.com/kennethreitz/flask-common;
+    license = licenses.asl20; # XXX: setup.py lists BSD but git repo has Apache 2.0 LICENSE
+  };
+}
diff --git a/pkgs/development/python-modules/flask-limiter/default.nix b/pkgs/development/python-modules/flask-limiter/default.nix
new file mode 100644
index 000000000000..a60c5a993ea3
--- /dev/null
+++ b/pkgs/development/python-modules/flask-limiter/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage, flask, limits }:
+
+buildPythonPackage rec {
+  pname = "Flask-Limiter";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f0diannnc6rc0ngsh222lws3qf89wxm0aschaxxvwjvybf9iklc";
+  };
+
+  propagatedBuildInputs = [ flask limits ];
+
+  meta = with stdenv.lib; {
+    description = "Rate limiting for flask applications";
+    homepage = https://flask-limiter.readthedocs.org/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index f7dfb5a8edf5..80fc3893f17c 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.21.1";
+  version = "3.21.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1whama3bm34xp9l7f543sz2h9dms77ci820sdbxi5dl9krs4xkxb";
+    sha256 = "96b636793c806206b1925e21224f4ab2ce5bea8ae0990ed181b8ac8d30848f47";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/fpdf/default.nix b/pkgs/development/python-modules/fpdf/default.nix
new file mode 100644
index 000000000000..c09d54ad5555
--- /dev/null
+++ b/pkgs/development/python-modules/fpdf/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, writeText, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "fpdf";
+  version = "1.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0yb73c2clv581sgak5jvlvkj4wy3jav6ms5ia8jx3rw969w40n0j";
+  };
+
+  # No tests available
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/reingart/pyfpdf;
+    description = "Simple PDF generation for Python";
+    license = lib.licenses.lgpl3;
+    maintainers = with lib.maintainers; [ geistesk ];
+  };
+}
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
new file mode 100644
index 000000000000..ced7d7bdcd4a
--- /dev/null
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, lxml, requests, tkinter }:
+
+buildPythonPackage rec {
+  pname = "fritzconnection";
+  version = "0.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14g3sxprq65lxbgkf3rjgb1bjqnj2jc5p1swlq9sk9gwnl6ca3ds";
+  };
+
+  prePatch = ''
+    substituteInPlace fritzconnection/test.py \
+      --replace "from fritzconnection import" "from .fritzconnection import"
+  '';
+
+  propagatedBuildInputs = [ lxml requests tkinter ];
+
+  meta = with stdenv.lib; {
+    description = "Python-Tool to communicate with the AVM FritzBox using the TR-064 protocol";
+    homepage = https://bitbucket.org/kbr/fritzconnection;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index e54531017f4c..d88c894009c1 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -11,11 +11,11 @@ buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "ftfy";
   # latest is 5.1.1, buy spaCy requires 4.4.3
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b9f84a1437f68ad0bb964fd9da9f6b88d090113ec9e78f290f6d6d0221468e38";
+    sha256 = "0ba702d5138f9b35df32b55920c9466208608108f1f3d5de1a68c17e3d68cb7f";
   };
 
   propagatedBuildInputs = [ html5lib wcwidth];
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index 4edd9ac3e551..0c1ffacd827b 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -13,10 +13,10 @@
 buildPythonPackage rec {
   pname = "gensim";
   name = "${pname}-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db00b68c6567ba0598d400b917c889e8801adf249170ce0a80ec38187d1b0797";
+    sha256 = "6b2a813887583e63c8cedd26a91782e5f1e416a11f85394a92ae3ff908e0be03";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
new file mode 100644
index 000000000000..4f36a5c1b771
--- /dev/null
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, flake8
+, nose2
+, mock
+, requests
+, pyjwt
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "globus-sdk";
+  version = "1.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nwdhhn9ib5ln56q8h3g42dl93jl67xlxkgl1wqkh7pacg00r4vs";
+  };
+
+  checkPhase = ''
+    py.test tests
+  '';
+
+  # No tests in archive
+  doCheck = false;
+  
+  checkInputs = [ flake8 nose2 mock ];
+  
+  propagatedBuildInputs = [ requests pyjwt  ];
+ 
+  meta = with lib; {
+    description = "A convenient Pythonic interface to Globus REST APIs, including the Transfer API and the Globus Auth API.";
+    homepage =  https://github.com/globus/globus-sdk-python;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_api_core/default.nix b/pkgs/development/python-modules/google_api_core/default.nix
index c4275c47a424..2899eeb4a8af 100644
--- a/pkgs/development/python-modules/google_api_core/default.nix
+++ b/pkgs/development/python-modules/google_api_core/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03bc4b1ab69c0e113af07e706edee50f583abe8219fe1e1d529dee191cb8e0bf";
+    sha256 = "0144d467083ed54d2e8ccb4212d42c3724fe0b844b7d3a0ff85aea54b7ae8347";
   };
 
   propagatedBuildInputs = [ google_auth protobuf googleapis_common_protos requests grpcio ];
diff --git a/pkgs/development/python-modules/google_auth/default.nix b/pkgs/development/python-modules/google_auth/default.nix
index 04dfd26a0e8c..2076f3c34441 100644
--- a/pkgs/development/python-modules/google_auth/default.nix
+++ b/pkgs/development/python-modules/google_auth/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "041qpwlvpawggasvbfpkx39mkg4dgvivj831x7kinidayrf46w3i";
+    sha256 = "d119b5954393d81c4a986ab420cf2c8129fc95ff5c4c6bb8ab5c8f3e6446394f";
   };
 
   checkInputs = [ pytest mock oauth2client flask requests urllib3 pytest-localserver ];
diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix
index 796bd26febd0..a388c0fa70cb 100644
--- a/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ckigh6bfzhflhllqdnfygm8w0r6ncp0myf1midifx7sn880g4pa";
+    sha256 = "b0f6a542165750e42b1c92e6c465e8dc35c38d138ae7f08174971ab9b0df2a71";
   };
 
   propagatedBuildInputs = [ setuptools google_api_core google_gax google_cloud_core ];
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index eeb51fb58434..ea59bedc0359 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio";
-  version = "1.8.2";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ea1336f0d1158c4e00e96a94df84b75f6bbff9816abb6cc68cbdc9442a9ac55";
+    sha256 = "b61d3a7c45aa08f15dfa735a6a8282b5097be91ff36ad347594d3945ffc12181";
   };
 
   propagatedBuildInputs = [ six protobuf ]
diff --git a/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix b/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix
index e0b36de56729..08b42b807999 100644
--- a/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix
+++ b/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix
@@ -1,11 +1,8 @@
 { stdenv, buildPythonPackage, sphinx, fetchPypi }:
 
-
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "guzzle_sphinx_theme";
   version = "0.7.11";
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v";
diff --git a/pkgs/development/python-modules/habanero/default.nix b/pkgs/development/python-modules/habanero/default.nix
new file mode 100644
index 000000000000..09d82d74f2b1
--- /dev/null
+++ b/pkgs/development/python-modules/habanero/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub
+, requests
+, nose, vcrpy
+}:
+
+buildPythonPackage rec {
+  pname = "habanero";
+  version = "0.6.0";
+
+  # Install from Pypi is failing because of a missing file (Changelog.rst)
+  src = fetchFromGitHub {
+    owner = "sckott";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1l2cgl6iiq8jff2w2pib6w8dwaj8344crhwsni2zzq0p44dwi13d";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ nose vcrpy ];
+  checkPhase = "make test";
+
+  meta = {
+    description = "Python interface to Library Genesis";
+    homepage = http://habanero.readthedocs.io/en/latest/;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/hbmqtt/default.nix b/pkgs/development/python-modules/hbmqtt/default.nix
new file mode 100644
index 000000000000..379aa1c3cf42
--- /dev/null
+++ b/pkgs/development/python-modules/hbmqtt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, transitions, websockets, passlib, docopt, pyyaml, nose }:
+
+buildPythonPackage rec {
+  pname = "hbmqtt";
+  version = "0.9.1";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04lqqcy84f9gcwqhrlvzp689r3mkdd8ipsnfzw8gryfny4lh8wrx";
+  };
+
+  propagatedBuildInputs = [ transitions websockets passlib docopt pyyaml ];
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests -e test_connect_tcp
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/beerfactory/hbmqtt;
+    description = "MQTT client/broker using Python asynchronous I/O";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/hglib/default.nix b/pkgs/development/python-modules/hglib/default.nix
index 4e96f9389918..8acaf9f06376 100644
--- a/pkgs/development/python-modules/hglib/default.nix
+++ b/pkgs/development/python-modules/hglib/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "python-hglib";
-  version = "2.4";
+  version = "2.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qll9cc9ndqizby00gxdcf6d0cysdhjkr8670a4ffrk55bcnwgb9";
+    sha256 = "fee180bb6796e5d2d25158b2d3c9f048648e427dd28b23a58d369adb14dd67cb";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/httpbin/default.nix b/pkgs/development/python-modules/httpbin/default.nix
index 2f24a1ab72bd..77dc27f1096e 100644
--- a/pkgs/development/python-modules/httpbin/default.nix
+++ b/pkgs/development/python-modules/httpbin/default.nix
@@ -1,24 +1,38 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , flask
+, flask-common
+, flask-limiter
 , markupsafe
 , decorator
 , itsdangerous
+, raven
 , six
+, brotlipy
 }:
 
 buildPythonPackage rec {
   pname = "httpbin";
   version = "0.6.2";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0afa0486a76305cac441b5cc80d5d4ccd82b20875da7c5119ecfe616cefef45f";
   };
 
-  propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
+  patches = [
+    # https://github.com/kennethreitz/httpbin/issues/403
+    # https://github.com/kennethreitz/flask-common/issues/7
+    # https://github.com/evansd/whitenoise/issues/166
+    (fetchpatch {
+      url = "https://github.com/javabrett/httpbin/commit/5735c888e1e51b369fcec41b91670a90535e661e.patch";
+      sha256 = "167h8mscdjagml33dyqk8nziiz3dqbggnkl6agsirk5270nl5f7q";
+    })
+  ];
+
+  propagatedBuildInputs = [ brotlipy flask flask-common flask-limiter markupsafe decorator itsdangerous raven six ];
 
   # No tests
   doCheck = false;
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index ab56cde9c131..91939d146887 100644
--- a/pkgs/development/python-modules/hypothesis/default.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python
 , pythonOlder, pythonAtLeast, enum34
-, doCheck ? true, pytest, pytest_xdist, flake8, flaky
+, doCheck ? true, pytest, pytest_xdist, flake8, flaky, mock
 }:
 buildPythonPackage rec {
   # http://hypothesis.readthedocs.org/en/latest/packaging.html
@@ -9,7 +9,7 @@ buildPythonPackage rec {
   # pytz fake_factory django numpy pytest
   # If you need these, you can just add them to your environment.
 
-  version = "3.11.1";
+  version = "3.27.0";
   pname = "hypothesis";
   name = "${pname}-${version}";
 
@@ -18,10 +18,10 @@ buildPythonPackage rec {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "${version}";
-    sha256 = "0damf6zbm0db2a3gfwrbbj92yal576wpmhhchc0w0np8vdnax70n";
-  };
+    sha256 = "1lvhd8jrwajyc5w1alb9vinsi97fjfqpkxkh8g8j527831lig0j0";
+ };
 
-  checkInputs = stdenv.lib.optionals doCheck [ pytest pytest_xdist flake8 flaky ];
+  checkInputs = stdenv.lib.optionals doCheck [ pytest pytest_xdist flake8 flaky mock];
   propagatedBuildInputs = stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   inherit doCheck;
@@ -38,7 +38,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python library for property based testing";
-    homepage = https://github.com/DRMacIver/hypothesis;
+    homepage = https://github.com/HypothesisWorks/hypothesis;
     license = licenses.mpl20;
   };
 }
diff --git a/pkgs/development/python-modules/idna-ssl/default.nix b/pkgs/development/python-modules/idna-ssl/default.nix
new file mode 100644
index 000000000000..177e68f62950
--- /dev/null
+++ b/pkgs/development/python-modules/idna-ssl/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, idna }:
+
+buildPythonPackage rec {
+  pname = "idna_ssl";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1227e44039bd31e02adaeafdbba61281596d623d222643fb021f87f2144ea147";
+  };
+
+  propagatedBuildInputs = [ idna ];
+
+  # Infinite recursion: tests require aiohttp, aiohttp requires idna-ssl
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Patch ssl.match_hostname for Unicode(idna) domains support";
+    homepage = https://github.com/aio-libs/idna-ssl;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/imaplib2/default.nix b/pkgs/development/python-modules/imaplib2/default.nix
new file mode 100644
index 000000000000..0ceff353f9a6
--- /dev/null
+++ b/pkgs/development/python-modules/imaplib2/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "imaplib2";
+  version = "2.45.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a35b6d88258696e80aabecfb784e08730b8558fcaaa3061ff2c7f8637afbd0b3";
+  };
+
+  # No tests on PyPI and no tags on GitHub :(
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A threaded Python IMAP4 client";
+    homepage = https://github.com/bcoe/imaplib2;
+    # See https://github.com/bcoe/imaplib2/issues/25
+    license = licenses.psfl;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/intervaltree/default.nix b/pkgs/development/python-modules/intervaltree/default.nix
index 69b35df29738..feccdff683e7 100644
--- a/pkgs/development/python-modules/intervaltree/default.nix
+++ b/pkgs/development/python-modules/intervaltree/default.nix
@@ -17,10 +17,8 @@ buildPythonPackage rec {
 
   checkPhase = ''
     runHook preCheck
-    # pytest will try to run tests for nix_run_setup.py / files in build/lib which fails
-    mv nix_run_setup.py run_setup
     rm build -rf
-    ${python.interpreter} run_setup test
+    ${python.interpreter} nix_run_setup test
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 8547a3ef99e9..330141fcd06e 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "4.7.0";
+  version = "4.8.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "354986612a38f0555c43d5af2425e2a67506b63b313a0325e38904003b9d977b";
+    sha256 = "dedc199df6a38725c732986dfa606c245fb8fe0fe999b33a0c305b73d80c6774";
   };
 
   buildInputs = [ nose ] ++ lib.optional isPy27 mock;
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index f77c3570c02f..b41f70c073c0 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.1.0";
+  version = "7.1.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e2be7dea4f97c9a4df71ef065cad9f2e420dd901127bf7cb690fb56d2b34ea3";
+    sha256 = "69e8c444e99601e6f9b9e9e596c87c19665fc73c2dd05cd507c94f35fba2959d";
   };
 
   # Tests are not distributed
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index cb0eb130a2f2..7432b3bb99c5 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -1,16 +1,13 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub
+{ stdenv, buildPythonPackage, fetchPypi
 , pytest, markupsafe }:
 
 buildPythonPackage rec {
   pname = "Jinja2";
-  version = "2.9.6";
-  name = "${pname}-${version}";
+  version = "2.10";
 
-  src = fetchFromGitHub {
-    owner = "pallets";
-    repo = "jinja";
-    rev = version;
-    sha256 = "1xxc5vdhz214aawmllv0fi4ak6d7zac662yb7gn1xfgqfz392pg5";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4";
   };
 
   checkInputs = [ pytest ];
@@ -29,7 +26,6 @@ buildPythonPackage rec {
       Django inspired non-XML syntax but supports inline expressions and
       an optional sandboxed environment.
     '';
-    platforms = platforms.all;
     maintainers = with maintainers; [ pierron garbas sjourdois ];
   };
 }
diff --git a/pkgs/development/python-modules/jinja2_pluralize/default.nix b/pkgs/development/python-modules/jinja2_pluralize/default.nix
new file mode 100644
index 000000000000..5f80f4e4b202
--- /dev/null
+++ b/pkgs/development/python-modules/jinja2_pluralize/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, jinja2, inflect }:
+
+buildPythonPackage rec {
+  pname = "jinja2_pluralize";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "071wnzzz20wjb0iw7grxgj1lb2f0kz50qyfbcq54rddr2x82sp6z";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+    inflect
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Jinja2 pluralize filters";
+    homepage = https://github.com/audreyr/jinja2_pluralize;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/pkgs/development/python-modules/jupyter_client/default.nix b/pkgs/development/python-modules/jupyter_client/default.nix
index e88b7f937a55..d94842ade126 100644
--- a/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/pkgs/development/python-modules/jupyter_client/default.nix
@@ -11,28 +11,25 @@
 , ipython
 , mock
 , pytest
+, tornado
 }:
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "5.2.0";
+  version = "5.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca30cf1786047925ebacd6f6faa3a993efaa004b584f7d83bc8b807f7cd3f6bb";
+    sha256 = "83d5e23132f0d8f79ccd3939f53fb9fa97f88a896a85114dc48d0e86909b06c4";
   };
 
   checkInputs = [ ipykernel ipython mock pytest ];
-  propagatedBuildInputs = [traitlets jupyter_core pyzmq dateutil] ++ lib.optional isPyPy py;
+  propagatedBuildInputs = [traitlets jupyter_core pyzmq dateutil tornado ] ++ lib.optional isPyPy py;
 
   checkPhase = ''
     py.test
   '';
 
-  patches = [
-    ./wheel_workaround.patch
-  ];
-
   # Circular dependency with ipykernel
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch b/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch
deleted file mode 100644
index 926fcb26448b..000000000000
--- a/pkgs/development/python-modules/jupyter_client/wheel_workaround.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 95d4774..ee72cbc 100644
---- a/setup.py
-+++ b/setup.py
-@@ -86,7 +86,7 @@ setup_args = dict(
-     extras_require   = {
-         'test': ['ipykernel', 'ipython', 'mock'],
-         'test:python_version == "3.3"': ['pytest<3.3.0'],
--        'test:python_version >= "3.4" or python_version == "2.7"': ['pytest'],
-+        'test:(python_version >= "3.4" or python_version == "2.7")': ['pytest'],
-     },
-     cmdclass         = {
-         'bdist_egg': bdist_egg if 'bdist_egg' in sys.argv else bdist_egg_disabled,
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
new file mode 100644
index 000000000000..dbd2e36b7b84
--- /dev/null
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -0,0 +1,122 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchPypi
+, fetchzip
+, alembic
+, ipython
+, jinja2
+, python-oauth2
+, pamela
+, sqlalchemy
+, tornado
+, traitlets
+, requests
+, pythonOlder
+, nodejs-8_x
+, nodePackages
+}:
+
+let
+  # js/css assets that setup.py tries to fetch via `npm install` when building
+  # from source.
+  bootstrap = 
+    fetchzip {
+      url = "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz";
+      sha256 = "0r7s54bbf68ri1na9bbabyf12mcpb6zk5ja2q6z82aw1fa4xi3yd";
+    };
+  font-awesome = 
+    fetchzip {
+      url = "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz";
+      sha256 = "1xnxbdlfdd60z5ix152m8r2kk9dkwlqwpypky1mm3dv64ajnzdbk";
+    };
+  jquery = 
+    fetchzip {
+      url = "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz";
+      sha256 = "1j6y18miwzafdj8kfpwbmbn9qvgnbnpc7l4arqrhqj33m04xrlgi";
+    };
+  moment = 
+    fetchzip {
+      url = "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz";
+      sha256 = "1b4vyvs24v6y92pf2iqjm5aa7jg7khcpspn00girc7lpi917f9vw";
+    };
+  requirejs = 
+    fetchzip {
+      url = "https://registry.npmjs.org/requirejs/-/requirejs-2.3.4.tgz";
+      sha256 = "0q6mkj0iv341kks06dya6lfs2kdw0n6vc7n4a7aa3ia530fk9vja";
+    };
+
+in
+
+buildPythonPackage rec {
+  pname = "jupyterhub";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "100cf18d539802807a45450d38fefbb376cf1c810f3b1b31be31638829a5c69c";
+  };
+
+  # Most of this only applies when building from source (e.g. js/css assets are
+  # pre-built and bundled in the official release tarball on pypi).
+  #
+  # Stuff that's always needed:
+  #   * At runtime, we need configurable-http-proxy, so we substitute the store
+  #     path.
+  #
+  # Other stuff that's only needed when building from source:
+  #   * js/css assets are fetched from npm.
+  #   * substitute store path for `lessc` commmand.
+  #   * set up NODE_PATH so `lessc` can find `less-plugin-clean-css`.
+  #   * don't run `npm install`.
+  preBuild = ''
+    export NODE_PATH=${nodePackages.less-plugin-clean-css}/lib/node_modules
+
+    substituteInPlace jupyterhub/proxy.py --replace \
+      "'configurable-http-proxy'" \
+      "'${nodePackages.configurable-http-proxy}/bin/configurable-http-proxy'"
+
+    substituteInPlace jupyterhub/tests/test_proxy.py --replace \
+      "'configurable-http-proxy'" \
+      "'${nodePackages.configurable-http-proxy}/bin/configurable-http-proxy'"
+
+    substituteInPlace setup.py --replace \
+      "'npm', 'run', 'lessc', '--'" \
+      "'${nodePackages.less}/bin/lessc'"
+
+    substituteInPlace setup.py --replace \
+      "'npm', 'install', '--progress=false'" \
+      "'true'"
+
+    declare -A deps
+    deps[bootstrap]=${bootstrap}
+    deps[font-awesome]=${font-awesome}
+    deps[jquery]=${jquery}
+    deps[moment]=${moment}
+    deps[requirejs]=${requirejs}
+
+    mkdir -p share/jupyter/hub/static/components
+    for dep in "''${!deps[@]}"; do
+      if [ ! -e share/jupyter/hub/static/components/$dep ]; then
+        cp -r ''${deps[$dep]} share/jupyter/hub/static/components/$dep
+      fi
+    done
+  '';
+
+  propagatedBuildInputs = [
+    alembic ipython jinja2 pamela python-oauth2 requests sqlalchemy tornado
+    traitlets
+  ];
+
+  # Disable tests because they take an excessive amount of time to complete.
+  doCheck = false;
+
+  disabled = pythonOlder "3.4";
+  
+  meta = with lib; {
+    description = "Serves multiple Jupyter notebook instances";
+    homepage = http://jupyter.org/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ixxie cstrahan ];
+  };
+}
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index b6c56cc8bc68..8ef263cdfa80 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.1.2";
+  version = "2.1.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ee56fc129d9d00b1916046e50056047836f97ada59df029e5661fb34442d5e8";
+    sha256 = "7ca3a381523bad40a6922e88951a316664cb088fd01cea07e5ec8ada3327e3c7";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index f88bdb84e0c3..8c97b18e9b61 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -1,23 +1,23 @@
 { stdenv, buildPythonPackage, fetchPypi
 , secretstorage
 , fs, gdata, python_keyczar, pyasn1, pycrypto, six, setuptools_scm
-, mock, pytest_28, pytestrunner }:
+, mock, pytest, pytestrunner }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "keyring";
-  version = "10.5.1";
+  version = "11.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f10674bb6ecbf82e2b713627c48ad0e84178e1c9d3dc1f0373261a0765402fb2";
+    sha256 = "b4607520a7c97be96be4ddc00f4b9dac65f47a45af4b4cd13ed5a8879641d646";
   };
 
   buildInputs = [
     fs gdata python_keyczar pyasn1 pycrypto six setuptools_scm
   ];
 
-  checkInputs = [ mock pytest_28 pytestrunner ];
+  checkInputs = [ mock pytest pytestrunner ];
 
   propagatedBuildInputs = [ secretstorage ];
 
diff --git a/pkgs/development/python-modules/kitchen/default.nix b/pkgs/development/python-modules/kitchen/default.nix
index a35737e69baf..b4b6c48201bd 100644
--- a/pkgs/development/python-modules/kitchen/default.nix
+++ b/pkgs/development/python-modules/kitchen/default.nix
@@ -12,6 +12,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Kitchen contains a cornucopia of useful code";
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 56865b336be8..f2073a48c589 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   '';
 
   meta = {
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
index 202bceafae39..a58090680cd9 100644
--- a/pkgs/development/python-modules/ldap3/default.nix
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage, gssapi, pyasn1 }:
 
 buildPythonPackage rec {
-  version = "2.4";
+  version = "2.4.1";
   pname = "ldap3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "888015f849eb33852583bbaf382f61593b03491cdac6098fd5d4d0252e0e7e66";
+    sha256 = "1a66pc00az0nx9kvhzidbg099pvk52ngycf891bp5jyfm1ahvzp8";
   };
 
   buildInputs = [ gssapi ];
diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix
index e8cecda75897..d6c96534d748 100644
--- a/pkgs/development/python-modules/libagent/default.nix
+++ b/pkgs/development/python-modules/libagent/default.nix
@@ -5,11 +5,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "libagent";
-  version = "0.9.5";
+  version = "0.9.7";
 
   src = fetchPypi{
     inherit pname version;
-    sha256 = "982b81c19dc9ee1158dc32fedbe1c36aff2b6872fa0dd42173b639b965ccfb2e";
+    sha256 = "3ae14dc14859f7b4b92583ab0d40884ac07f26dbe00c7b747df2d50f4b1af098";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 57f8d2c8114e..3fe0b3911c26 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchPypi, buildPythonPackage, pytest_29 }:
+{ stdenv, fetchPypi, buildPythonPackage, pytest }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "libtmux";
   version = "0.7.7";
 
@@ -10,11 +9,14 @@ buildPythonPackage rec {
     sha256 = "5670c8da8d0192d932ac1e34f010e0eeb098cdb2af6daad0307b5418e7a37733";
   };
 
-  buildInputs = [ pytest_29 ];
-  patchPhase = ''
+  checkInputs = [ pytest ];
+  postPatch = ''
     sed -i 's/==.*$//' requirements/test.txt
   '';
 
+  # No tests in archive
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Scripting library for tmux";
     homepage = https://libtmux.readthedocs.io/;
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
new file mode 100644
index 000000000000..57f47ff5fd82
--- /dev/null
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchPypi, buildPythonPackage, six }:
+
+buildPythonPackage rec {
+  pname = "limits";
+  version = "1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a017b8d9e9da6761f4574642149c337f8f540d4edfe573fb91ad2c4001a2bc76";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  doCheck = false; # ifilter
+
+  meta = with stdenv.lib; {
+    description = "Rate limiting utilities";
+    license = licenses.mit;
+    homepage = https://limits.readthedocs.org/;
+  };
+}
diff --git a/pkgs/development/python-modules/locustio/default.nix b/pkgs/development/python-modules/locustio/default.nix
index 0e9386f667c5..4bc48810e71d 100644
--- a/pkgs/development/python-modules/locustio/default.nix
+++ b/pkgs/development/python-modules/locustio/default.nix
@@ -2,7 +2,7 @@
 , fetchPypi
 , mock
 , unittest2
-, msgpack
+, msgpack-python
 , requests
 , flask
 , gevent
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     sed -i s/"pyzmq=="/"pyzmq>="/ setup.py
   '';
 
-  propagatedBuildInputs = [ msgpack requests flask gevent pyzmq ];
+  propagatedBuildInputs = [ msgpack-python requests flask gevent pyzmq ];
   buildInputs = [ mock unittest2 ];
 
   meta = {
diff --git a/pkgs/development/python-modules/luftdaten/default.nix b/pkgs/development/python-modules/luftdaten/default.nix
new file mode 100644
index 000000000000..dc40101284c0
--- /dev/null
+++ b/pkgs/development/python-modules/luftdaten/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, isPy3k, fetchPypi, aiohttp, async-timeout }:
+
+buildPythonPackage rec {
+  pname = "luftdaten";
+  version = "0.1.4";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d3e3af830ad2b731c36af223bbb5d47d68aa3786b2965411216917a7381e1179";
+  };
+
+  propagatedBuildInputs = [ aiohttp async-timeout ];
+
+  # No tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python API for interacting with luftdaten.info";
+    homepage = https://github.com/fabaff/python-luftdaten;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index b21643b4547a..6afe4cba00d4 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "magic-wormhole";
-  version = "0.10.3";
+  version = "0.10.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "48465d58f9c0d729dc586627cf280830e7ed59f9e7999946ae1d763c6b8db999";
+    sha256 = "cd3105975e71bc6437848c7fc9f0b23ef0e0c625c8b19ec66a5ddc727c6d11ae";
   };
 
   checkInputs = [ mock ];
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 33505b5f6187..3579c22e92b9 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -8,6 +8,7 @@
 , enableQt ? false, pyqt4
 , libcxx
 , Cocoa
+, pythonOlder
 }:
 
 assert enableGhostscript -> ghostscript != null;
@@ -20,13 +21,13 @@ assert enableTk -> (tcl != null)
 assert enableQt -> pyqt4 != null;
 
 buildPythonPackage rec {
-  version = "2.1.1";
+  version = "2.1.2";
   pname = "matplotlib";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/m/matplotlib/${name}.tar.gz";
-    sha256 = "659f5e1aa0e0f01488c61eff47560c43b8be511c6a29293d7f3896ae17bd8b23";
+    sha256 = "725a3f12739d133adfa381e1b33bd70c6f64db453bfc536e148824816e568894";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
@@ -39,8 +40,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs =
     [ cycler dateutil nose numpy pyparsing tornado freetype
-      libpng pkgconfig mock pytz backports_functools_lru_cache
-    ]
+      libpng pkgconfig mock pytz ]
+    ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
     ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
diff --git a/pkgs/development/python-modules/maya/default.nix b/pkgs/development/python-modules/maya/default.nix
new file mode 100644
index 000000000000..9c6cb241fea5
--- /dev/null
+++ b/pkgs/development/python-modules/maya/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchPypi, fetchpatch, buildPythonPackage
+, dateparser, humanize, pendulum, ruamel_yaml, tzlocal }:
+
+buildPythonPackage rec {
+  pname = "maya";
+  version = "0.3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1x88k4irpckvd7jf2yvqjw1s52hjqbxym1r1d928yb3fkj7rvlxs";
+  };
+
+  patches = [
+    (fetchpatch {
+      # https://github.com/kennethreitz/maya/issues/112
+      # Merged, so should be in next release.
+      url = "https://github.com/kennethreitz/maya/commit/f69a93b1103130139cdec30511777823957fb659.patch";
+      sha256 = "152ba7amv9dhhx1wcklfalsdzsxggik9f7rsrikms921lq9xqc8h";
+    })
+  ];
+
+  propagatedBuildInputs = [ dateparser humanize pendulum ruamel_yaml tzlocal ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Datetimes for Humans";
+    homepage = https://github.com/kennethreitz/maya;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/mdp/default.nix b/pkgs/development/python-modules/mdp/default.nix
index 28f6057e5633..9fbaced9b657 100644
--- a/pkgs/development/python-modules/mdp/default.nix
+++ b/pkgs/development/python-modules/mdp/default.nix
@@ -1,16 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest_29, future, numpy }:
+{ stdenv, buildPythonPackage, fetchPypi, pytest, future, numpy }:
 
 buildPythonPackage rec {
   pname = "MDP";
   version = "3.5";
-  name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0aw1zxmyvx6gfmmnixbqmdaah28jl7rmqkzhxv53091asc23iw9k";
   };
 
-  checkInputs = [ pytest_29 ];
+  checkInputs = [ pytest ];
   propagatedBuildInputs = [ future numpy ];
 
   # Tests disabled because of missing dependencies not in nix
diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix
new file mode 100644
index 000000000000..526cd3ed4eec
--- /dev/null
+++ b/pkgs/development/python-modules/meinheld/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchPypi, buildPythonPackage, greenlet }:
+
+buildPythonPackage rec {
+  pname = "meinheld";
+  version = "0.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rg5878njn66cc0x2fwrakikz24946r0cxxl6j8vvz5phd4zygi9";
+  };
+
+  propagatedBuildInputs = [ greenlet ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "High performance asynchronous Python WSGI Web Server";
+    homepage = http://meinheld.org/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index d5c40c67b36b..84096d8aa921 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.1.25";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d427d6e1a81e926c2b6a071453807b05f4736d65068493e1f3055ac7ee24ea21";
+    sha256 = "c42b894cdf35412c95f0c6b40309cf802436e049cd172dc5db7516c7b845191b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix
new file mode 100644
index 000000000000..2400a76bd6e1
--- /dev/null
+++ b/pkgs/development/python-modules/msgpack/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage
+, fetchPypi
+, pytest
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "msgpack";
+  version = "0.5.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13ckbs2qc4dww7fddnm9cw116j4spgxqab49ijmj6jr178ypwl80";
+  };
+
+  checkPhase = ''
+    py.test
+  '';
+
+  checkInputs = [ pytest ];
+
+  meta = {
+    homepage = https://github.com/msgpack/msgpack-python;
+    description = "MessagePack serializer implementation for Python";
+    license = lib.licenses.asl20;
+    # maintainers =  ?? ;
+  };
+}
diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix
index 614157542b16..7eaa0962b44f 100644
--- a/pkgs/development/python-modules/multidict/default.nix
+++ b/pkgs/development/python-modules/multidict/default.nix
@@ -1,20 +1,18 @@
 { lib
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , cython
 , pytest, psutil, pytestrunner
 , isPy3k
 }:
 
-let
+buildPythonPackage rec {
   pname = "multidict";
-  version = "3.3.2";
-in buildPythonPackage rec {
-  name = "${pname}-${version}";
+  version = "4.1.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0liazqlyk2nmr82nhiw2z72j7bjqxaisifkj476msw140d4i4i7v";
   };
 
   buildInputs = [ cython ];
@@ -22,9 +20,10 @@ in buildPythonPackage rec {
 
   disabled = !isPy3k;
 
-  meta = {
+  meta = with lib; {
     description = "Multidict implementation";
     homepage = https://github.com/aio-libs/multidict/;
-    license = lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/mwoauth/default.nix b/pkgs/development/python-modules/mwoauth/default.nix
new file mode 100644
index 000000000000..e9d43e9e2b6a
--- /dev/null
+++ b/pkgs/development/python-modules/mwoauth/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, six
+, pyjwt
+, requests
+, oauthlib
+, requests_oauthlib
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "mwoauth";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1krqz755415z37z1znrc77vi4xyp5ys6fnq4zwcwixjjbzddpavj";
+  };
+
+  # package has no tests
+  doCheck = false;
+  
+  propagatedBuildInputs = [ six pyjwt requests oauthlib requests_oauthlib ];
+
+  meta = with lib; {
+    description = "A library designed to provide a simple means to performing an OAuth handshake with a MediaWiki installation with the OAuth Extension installed.";
+    homepage =  https://github.com/mediawiki-utilities/python-mwoauth;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index 4fc1f7255c60..8e81f923b916 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -39,9 +39,7 @@ buildPythonPackage rec {
     sha256 = "9ffbfb74bf3fc3905be1b9b052ed865675651e38fcd972ed1ed5c64a02f93cbd";
   };
 
-  # do not run checks on nix_run_setup.py
-  patches = lib.singleton ./setup.patch
-         ++ lib.optional (isPy35 || isPy36) ./python-3.6.3-test-failures.patch;
+  patches = lib.optional (isPy35 || isPy36) ./python-3.6.3-test-failures.patch;
 
   # testing based on project's tox.ini
   checkPhase = ''
diff --git a/pkgs/development/python-modules/natsort/setup.patch b/pkgs/development/python-modules/natsort/setup.patch
deleted file mode 100644
index 4c52b740152c..000000000000
--- a/pkgs/development/python-modules/natsort/setup.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 604994d..e38c3ec 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -6,6 +6,7 @@ formats = gztar
- 
- [tool:pytest]
- flakes-ignore = 
-+	nix_run_setup.py ALL
- 	natsort/compat/py23.py UndefinedName
- 	natsort/__init__.py UnusedImport
- 	natsort/compat/* UnusedImport
-@@ -14,6 +15,7 @@ flakes-ignore =
- 	test_natsort/test_locale_help.py UnusedImport RedefinedWhileUnused
- 	test_natsort/compat/* UnusedImport
- pep8ignore = 
-+	nix_run_setup.py ALL
- 	natsort/ns_enum.py E126 E241 E123 E221
- 	test_natsort/test_*.py E501 E241 E221
- 	test_natsort/test_natsort_keygen.py E501 E241 E221 E701
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index 26525adb1c96..295354003baf 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10bfb12b083a7509779298c31b4b61e2ed7e78d1960cbcfb3de8d38f3b830991";
+    sha256 = "dd66e701a4856e3cace8f4865837ccc9bcfcdb286df01f01aa19531f5d834a83";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/neovim/default.nix b/pkgs/development/python-modules/neovim/default.nix
new file mode 100644
index 000000000000..6fcd82aca9e5
--- /dev/null
+++ b/pkgs/development/python-modules/neovim/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, nose
+, msgpack
+, greenlet
+, trollius
+, pythonOlder
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "neovim";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "16vzxmp7f6dl20n30j5cwwvrjj5h3c2ch8ldbss31anf36nirsdp";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  # Tests require pkgs.neovim,
+  # which we cannot add because of circular dependency.
+  doCheck = false;
+
+  propagatedBuildInputs = [ msgpack ]
+    ++ lib.optional (!isPyPy) greenlet
+    ++ lib.optional (pythonOlder "3.4") trollius;
+
+  meta = {
+    description = "Python client for Neovim";
+    homepage = "https://github.com/neovim/python-client";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix
index 280c110e11d5..96de3ee2836a 100644
--- a/pkgs/development/python-modules/netdisco/default.nix
+++ b/pkgs/development/python-modules/netdisco/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "netdisco";
-  version = "1.2.3";
+  version = "1.2.4";
 
   disabled = !isPy3k;
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "home-assistant";
     repo = pname;
     rev = version;
-    sha256 = "137p7qlv85mva96v6kav8xxca7i09k4giayag4cglrgjd7q3lk1r";
+    sha256 = "170s9py8rw07cfgwvv7mf69g8jjg32m2rgw8x3kbvjqlmrdijxmm";
   };
 
   propagatedBuildInputs = [ requests zeroconf netifaces ];
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
new file mode 100644
index 000000000000..7db4378a6e63
--- /dev/null
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+, nose
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "nibabel";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h6nhi1s2ab7sdyyl3qjnvlw0kggcnam7vn4b3z56ay20596kvhw";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    nose
+    six
+  ];
+
+  # Failing tests
+  # nibabel.tests.test_minc1.test_old_namespace
+  # nibabel.gifti.tests.test_parse_gifti_fast.test_parse_dataarrays
+  # nibabel.gifti.tests.test_giftiio.test_read_deprecated
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://nipy.org/nibabel/;
+    description = "Access a multitude of neuroimaging data formats";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/nimfa/default.nix b/pkgs/development/python-modules/nimfa/default.nix
new file mode 100644
index 000000000000..26f1ea3294bb
--- /dev/null
+++ b/pkgs/development/python-modules/nimfa/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, numpy
+, scipy
+, matplotlib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "nimfa";
+  version = "1.3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "651376eba6b049fe270dc0d29d4b2abecb5e998c2013df6735a97875503e2ffe";
+  };
+
+  propagatedBuildInputs = [ numpy scipy ];
+  checkInputs = [ matplotlib pytest ];
+  doCheck = !isPy3k;  # https://github.com/marinkaz/nimfa/issues/42
+
+  meta = with stdenv.lib; {
+    description = "Nonnegative matrix factorization library";
+    homepage = "http://nimfa.biolab.si";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
new file mode 100644
index 000000000000..a38f23d5536f
--- /dev/null
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+# python dependencies
+, click
+, configparser ? null
+, dateutil
+, funcsigs
+, future
+, mock
+, networkx
+, nibabel
+, numpy
+, packaging
+, prov
+, psutil
+, pydot
+, pytest
+, scipy
+, simplejson
+, traits
+, xvfbwrapper
+# other dependencies
+, which
+}:
+
+assert !isPy3k -> configparser != null;
+
+buildPythonPackage rec {
+  pname = "nipype";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4c14c6cae1f530f89d76fa8136d52488b1daf3a02179da65121b76eaf4a6f0ea";
+  };
+
+  doCheck = false;  # fails with TypeError: None is not callable
+  checkInputs = [ which ];
+  buildInputs = [ pytest mock ];  # required in installPhase
+  propagatedBuildInputs = [
+    click
+    dateutil
+    funcsigs
+    future
+    networkx
+    nibabel
+    numpy
+    packaging
+    prov
+    psutil
+    pydot
+    scipy
+    simplejson
+    traits
+    xvfbwrapper
+  ] ++ stdenv.lib.optional (!isPy3k) [
+    configparser
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://nipy.org/nipype/;
+    description = "Neuroimaging in Python: Pipelines and Interfaces";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/node-semver/default.nix b/pkgs/development/python-modules/node-semver/default.nix
index 8c518f9b7ff4..7351d2edfd3f 100644
--- a/pkgs/development/python-modules/node-semver/default.nix
+++ b/pkgs/development/python-modules/node-semver/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
-  version = "0.2.0";
+  version = "0.3.0";
   pname = "node-semver";
 
   buildInputs = [ pytest tox ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c32bfc976fd9e003c4a15665e5fe9f337366ba6b60aeb34e4479da9d7bbb0081";
+    sha256 = "d8a3906e7677f8ab05aeb3fc94c7a2fa163def5507271452ce6831282f23f1cb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 71261fb1f406..be5a798b6c6d 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -17,17 +17,17 @@
 , ipykernel
 , terminado
 , requests
+, send2trash
 , pexpect
 }:
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "5.2.2";
-  name = "${pname}-${version}";
+  version = "5.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7bb54fb61b9c5426bc116f840541b973431198e00ea2896122d05fc122dbbd67";
+    sha256 = "dd431fad9bdd25aa9ff8265da096ef770475e21bf1d327982611a7de5cd904ca";
   };
 
   LC_ALL = "en_US.utf8";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     ++ (if isPy3k then [ nose_warnings_filters ] else [ mock ]);
 
   propagatedBuildInputs = [
-    jinja2 tornado ipython_genutils traitlets jupyter_core
+    jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
     jupyter_client nbformat nbconvert ipykernel terminado requests pexpect
   ];
 
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
new file mode 100644
index 000000000000..ecb21404a085
--- /dev/null
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, jupyterhub
+, globus-sdk
+, mwoauth
+, codecov
+, flake8
+, pyjwt
+, pytest
+, pytestcov
+, pytest-tornado
+, requests-mock
+, pythonOlder
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "oauthenticator";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rlg63ii7sxj1xad2nx6wk1xgv3a8dm0az0q9g2v6hdv9cnc4b55";
+  };
+
+  checkPhase = ''
+    py.test oauthenticator/tests
+  '';
+
+  # No tests in archive
+  doCheck = false;
+   
+  checkInputs = [  globus-sdk mwoauth codecov flake8 pytest
+    pytestcov pytest-tornado requests-mock pyjwt ];
+  
+  propagatedBuildInputs = [ jupyterhub ];
+
+  disabled = pythonOlder "3.4";
+
+  meta = with lib; {
+    description = "Authenticate JupyterHub users with common OAuth providers, including GitHub, Bitbucket, and more.";
+    homepage =  https://github.com/jupyterhub/oauthenticator;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/olefile/default.nix b/pkgs/development/python-modules/olefile/default.nix
index 5cf51b841329..23b470ed90ff 100644
--- a/pkgs/development/python-modules/olefile/default.nix
+++ b/pkgs/development/python-modules/olefile/default.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "olefile";
-  version = "0.44";
+  version = "0.45.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1bbk1xplmrhymqpk6rkb15sg7v9qfih7zh23p6g2fxxas06cmwk1";
+    sha256 = "2b6575f5290de8ab1086f8c5490591f7e0885af682c7c1793bdaf6e64078d385";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index 9a94848000ce..fe13b575afc1 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "2.4.9";
+  version = "2.5.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95e007f4d121f4fd73f39a6d74a883c75e9fa9d96de91d43c1641c103c3a9b18";
+    sha256 = "0ff2e0c2c85cbf42e82dd223e7f2401a62dc73c18cd9e5dd7763dc6c8014ebde";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ovh/default.nix b/pkgs/development/python-modules/ovh/default.nix
new file mode 100644
index 000000000000..3f37940ed8ae
--- /dev/null
+++ b/pkgs/development/python-modules/ovh/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, nose
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "ovh";
+  version = "0.4.8";
+
+  # Needs yanc
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "79fa4bdc61b9953af867676a9558d9e792b9fde568c980efe848a40565a217cd";
+  };
+
+  meta = {
+    description = "Thin wrapper around OVH's APIs";
+    homepage = http://api.ovh.com/;
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.makefu ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/packet-python/default.nix b/pkgs/development/python-modules/packet-python/default.nix
new file mode 100644
index 000000000000..5811d510dff9
--- /dev/null
+++ b/pkgs/development/python-modules/packet-python/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, python
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "packet-python";
+  version = "1.37.1";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "316941d2473c0f42ac17ac89e9aa63a023bb96f35cf8eafe9e091ea424892778";
+  };
+  propagatedBuildInputs = [ requests ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s test
+  '';
+
+  patches = [
+    (fetchpatch {
+      url = https://github.com/packethost/packet-python/commit/361ad0c60d0bfce2a992eefd17e917f9dcf36400.patch;
+      sha256 = "1cmzyq0302y4cqmim6arnvn8n620qysq458g2w5aq4zj1vz1q9g1";
+    })
+  ];
+
+  # Not all test files are included in archive
+  doCheck = false;
+
+  meta = {
+    description = "A Python client for the Packet API.";
+    homepage    = "https://github.com/packethost/packet-python";
+    license     = lib.licenses.lgpl3;
+    maintainers = with lib.maintainers; [ dipinhora ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/papis-python-rofi/default.nix b/pkgs/development/python-modules/papis-python-rofi/default.nix
new file mode 100644
index 000000000000..1344e1588cd5
--- /dev/null
+++ b/pkgs/development/python-modules/papis-python-rofi/default.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage, lib, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "papis-python-rofi";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13k6mw2nq923zazs77hpmh2s96v6zv13g7p89510qqkvp6fiml1v";
+  };
+
+  # No tests existing
+  doCheck = false;
+
+  meta = {
+    description = "A Python module to make simple GUIs with Rofi";
+    homepage = https://github.com/alejandrogallo/python-rofi;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/nose-parameterized/default.nix b/pkgs/development/python-modules/parameterized/default.nix
index 3c7cd077cdc0..14b41fe950bb 100644
--- a/pkgs/development/python-modules/nose-parameterized/default.nix
+++ b/pkgs/development/python-modules/parameterized/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchPypi, buildPythonPackage, nose, six, glibcLocales, isPy3k }:
 
 buildPythonPackage rec {
-  pname = "nose-parameterized";
-  version = "0.6.0";
+  pname = "parameterized";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1khlabgib4161vn6alxsjaa8javriywgx9vydddi659gp9x6fpnk";
+    sha256 = "1qj1939shm48d9ql6fm1nrdy4p7sdyj8clz1szh5swwpf1qqxxfa";
   };
 
   # Tests require some python3-isms but code works without.
   doCheck = isPy3k;
 
-  buildInputs = [ nose glibcLocales ];
+  checkInputs = [ nose glibcLocales ];
   propagatedBuildInputs = [ six ];
 
   checkPhase = ''
@@ -21,7 +21,8 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Parameterized testing with any Python test framework";
-    homepage = https://pypi.python.org/pypi/nose-parameterized;
+    homepage = https://pypi.python.org/pypi/parameterized;
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/development/python-modules/pecan/default.nix b/pkgs/development/python-modules/pecan/default.nix
index b6e022640cbd..3a49a32a8a0e 100644
--- a/pkgs/development/python-modules/pecan/default.nix
+++ b/pkgs/development/python-modules/pecan/default.nix
@@ -15,17 +15,12 @@
 }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "pecan";
-  version = "1.2.1";
-
-  patches = [
-    ./python36_test_fix.patch
-  ];
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ikc32rd2hr8j2jxc0mllvdjvxydx3fwfp3z8sdxmkzdkixlb5cd";
+    sha256 = "24f06cf88a488b75f433e62b33c1c97e4575d0cd91eec9eec841a81cecfd6de3";
   };
 
   propagatedBuildInputs = [ singledispatch logutils ];
diff --git a/pkgs/development/python-modules/pecan/python36_test_fix.patch b/pkgs/development/python-modules/pecan/python36_test_fix.patch
deleted file mode 100644
index 65e0733ab06e..000000000000
--- a/pkgs/development/python-modules/pecan/python36_test_fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pecan/tests/test_conf.py b/pecan/tests/test_conf.py
-index 0573d84..7c98e16 100644
---- a/pecan/tests/test_conf.py
-+++ b/pecan/tests/test_conf.py
-@@ -157,7 +157,7 @@ class TestConf(PecanTestCase):
-
-             try:
-                 configuration.conf_from_file(f.name)
--            except (ValueError, SystemError) as e:
-+            except (ValueError, SystemError, ImportError) as e:
-                 assert 'relative import' in str(e)
-             else:
-                 raise AssertionError(
diff --git a/pkgs/development/python-modules/pendulum/default.nix b/pkgs/development/python-modules/pendulum/default.nix
new file mode 100644
index 000000000000..aa8e2d22b43e
--- /dev/null
+++ b/pkgs/development/python-modules/pendulum/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchPypi, buildPythonPackage, dateutil, pytzdata, tzlocal }:
+
+buildPythonPackage rec {
+  pname = "pendulum";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e996c34fb101c9c6d88a839c19af74d7c067b92ed3371274efcf4d4b6dc160a6";
+  };
+
+  propagatedBuildInputs = [ dateutil pytzdata tzlocal ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python datetimes made easy";
+    homepage = https://github.com/sdispater/pendulum;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 69808a7bff3b..14e59ce3a955 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.8";
+  version = "8.8.9";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff2f492e49c212bb7185954efe09e68583a67daec586c02c49bc728c343d4eb0";
+    sha256 = "d819299c3aa8f85f248295ab8559e202af429b4017301b122a0b4c387aed10d2";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index 4be9c911f71a..034748255277 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPyPy,
-  nose, olefile,
-  freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11}:
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy
+, olefile
+, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11
+, pytestrunner
+, pytest
+}:
 buildPythonPackage rec {
   pname = "Pillow";
-  version = "4.3.0";
+  version = "5.0.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a97c715d44efd5b4aa8d739b8fad88b93ed79f1b33fc2822d5802043f3b1b527";
+    sha256 = "12f29d6c23424f704c66b5b68c02fe0b571504459605cfe36ab8158359b0e1bb";
   };
 
   doCheck = !stdenv.isDarwin && !isPyPy;
@@ -21,8 +24,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ olefile ];
 
+  checkInputs = [ pytest pytestrunner ];
+
   buildInputs = [
-    freetype libjpeg zlib libtiff libwebp tcl nose lcms2 ]
+    freetype libjpeg zlib libtiff libwebp tcl lcms2 ]
     ++ stdenv.lib.optionals (isPyPy) [ tk libX11 ];
 
   # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
diff --git a/pkgs/development/python-modules/platformio/default.nix b/pkgs/development/python-modules/platformio/default.nix
index f84ed9026f4d..6ac9b7eacfcf 100644
--- a/pkgs/development/python-modules/platformio/default.nix
+++ b/pkgs/development/python-modules/platformio/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchPypi
-, arrow, bottle, click_5, colorama
+, bottle, click_5, colorama
 , lockfile, pyserial, requests
 , semantic-version
 , isPy3k, isPyPy
@@ -8,17 +8,17 @@ buildPythonPackage rec {
   disabled = isPy3k || isPyPy;
 
   pname = "platformio";
-  version="3.5.0";
+  version="3.5.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gy13cwp0i97lgjd8hh8kh9cswxh53x4cx2sq5b7d7vv8kd7bh6c";
+    sha256 = "0cc15mzh7p1iykip0jpxldz81yz946vrgvhwmfl8w3z5kgjjgx3n";
   };
 
   propagatedBuildInputs =  [
-    arrow bottle click_5 colorama
-    lockfile pyserial requests semantic-version
+    bottle click_5 colorama lockfile
+    pyserial requests semantic-version
   ];
 
   patches = [ ./fix-searchpath.patch ];
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 75f1b0600778..bddff8e95f44 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "2.2.3";
+  version = "2.3.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dadd2263f1c0449b248fd3742a077d9594935921a9597529be76d6a841237ab0";
+    sha256 = "95e72273699108f215886ab961dbf0890904d39583be39eabcd0788bc7ccf695";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/progressbar2/default.nix b/pkgs/development/python-modules/progressbar2/default.nix
new file mode 100644
index 000000000000..212c06cc9421
--- /dev/null
+++ b/pkgs/development/python-modules/progressbar2/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, python
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, pytest
+, python-utils
+, sphinx
+, coverage
+, execnet
+, flake8
+, pytestpep8
+, pytestflakes
+, pytestcov
+, pytestcache
+, pep8
+, pytestrunner
+}:
+
+buildPythonPackage rec {
+  pname = "progressbar2";
+  version = "3.12.0";
+
+  # Use source from GitHub, PyPI is missing tests
+  # https://github.com/WoLpH/python-progressbar/issues/151
+  src = fetchFromGitHub {
+    owner = "WoLpH";
+    repo = "python-progressbar";
+    rev = "v${version}";
+    sha256 = "1gk45sh8cd0kkyvzcvx95z6nlblmyx0x189mjfv3vfa43cr1mb0f";
+  };
+
+  propagatedBuildInputs = [ python-utils ];
+  nativeBuildInputs = [ pytestrunner ];
+  checkInputs = [
+    pytest sphinx coverage execnet flake8 pytestpep8 pytestflakes pytestcov
+    pytestcache pep8
+  ];
+  # ignore tests on the nix wrapped setup.py and don't flake .eggs directory
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} setup.py test --addopts "--ignore=.eggs"
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://progressbar-2.readthedocs.io/en/latest/;
+    description = "Text progressbar library for python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/prompt_toolkit/default.nix b/pkgs/development/python-modules/prompt_toolkit/default.nix
index 9704f1b92c96..59aec94ff90e 100644
--- a/pkgs/development/python-modules/prompt_toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt_toolkit/default.nix
@@ -35,6 +35,5 @@ buildPythonPackage rec {
     '';
     homepage = https://github.com/jonathanslenders/python-prompt-toolkit;
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ nckx ];
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/prov/default.nix b/pkgs/development/python-modules/prov/default.nix
new file mode 100644
index 000000000000..9dac8677c33b
--- /dev/null
+++ b/pkgs/development/python-modules/prov/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, lxml
+, networkx
+, dateutil
+, six
+, pydotplus
+, rdflib
+}:
+
+buildPythonPackage rec {
+  pname = "prov";
+  version = "1.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c";
+  };
+
+  propagatedBuildInputs = [
+    lxml
+    networkx
+    dateutil
+    six
+    pydotplus
+    rdflib
+  ];
+  doCheck = false; # takes ~60 mins
+
+  meta = with stdenv.lib; {
+    description = "A Python library for W3C Provenance Data Model (PROV)";
+    homepage = https://github.com/trungdong/prov;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
index b9d07a3fa9b9..6221e08ae574 100644
--- a/pkgs/development/python-modules/psutil/default.nix
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.4.2";
+  version = "5.4.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00a1f9ff8d1e035fba7bfdd6977fa8ea7937afdb4477339e5df3dba78194fe11";
+    sha256 = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/ptyprocess/default.nix b/pkgs/development/python-modules/ptyprocess/default.nix
new file mode 100644
index 000000000000..c1c9ce18c560
--- /dev/null
+++ b/pkgs/development/python-modules/ptyprocess/default.nix
@@ -0,0 +1,20 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ptyprocess";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365";
+  };
+
+  meta = {
+    description = "Run a subprocess in a pseudo terminal";
+    homepage = https://github.com/pexpect/ptyprocess;
+    license = lib.licenses.isc;
+  };
+}
diff --git a/pkgs/development/python-modules/pulp/default.nix b/pkgs/development/python-modules/pulp/default.nix
new file mode 100644
index 000000000000..aacac72d2aaa
--- /dev/null
+++ b/pkgs/development/python-modules/pulp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchPypi, buildPythonPackage, pyparsing }:
+
+buildPythonPackage rec {
+  pname = "PuLP";
+  version = "1.6.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1irzpfnnm5f0qf8y9ddxi489nwixyj0q4zlvqafm621bijkxdv6g";
+  };
+
+  buildInputs = [];
+  propagatedBuildInputs = [ pyparsing ];
+
+  # only one test that requires an extra
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/coin-or/pulp;
+    description = "PuLP is an LP modeler written in python";
+    maintainers = with maintainers; [ teto ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix
index a186c3995488..0ed51d7acecf 100644
--- a/pkgs/development/python-modules/pwntools/default.nix
+++ b/pkgs/development/python-modules/pwntools/default.nix
@@ -1,24 +1,32 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k
 , Mako, packaging, pysocks, pygments, ROPGadget
 , capstone, paramiko, pip, psutil
-, pyelftools, pypandoc, pyserial, dateutil
-, requests, tox, pandoc, unicorn, intervaltree }:
+, pyelftools, pyserial, dateutil
+, requests, tox, unicorn, intervaltree, fetchpatch }:
 
 buildPythonPackage rec {
-  version = "3.10.0";
+  version = "3.11.0";
   pname = "pwntools";
-  name = pname + "-" + version;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l8hb30mwxqd1y7r5ihd7kzmjm2mz6m5aiphd3hwzmxkmxbxj8zk";
+    sha256 = "609b3f0ba47c975f4dbedd3da2af4c5ca1b3a2aa13fb99240531b6a68edb87be";
   };
 
-  propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pypandoc pyserial dateutil requests tox pandoc unicorn intervaltree ];
+  propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pyserial dateutil requests tox unicorn intervaltree ];
 
   disabled = isPy3k;
   doCheck = false; # no setuptools tests for the package
 
+  # Can be removed when 3.12.0 is released
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/Gallopsled/pwntools/pull/1098.patch";
+      sha256 = "0p0h87npn1mwsd8ciab7lg74bk3ahlk5r0mjbvx4jhihl2gjc3z2";
+    })
+  ];
+
+
   meta = with stdenv.lib; {
     homepage = "http://pwntools.com";
     description = "CTF framework and exploit development library";
diff --git a/pkgs/development/python-modules/pybase64/default.nix b/pkgs/development/python-modules/pybase64/default.nix
new file mode 100644
index 000000000000..c81d60ced4df
--- /dev/null
+++ b/pkgs/development/python-modules/pybase64/default.nix
@@ -0,0 +1,25 @@
+{ buildPythonPackage, stdenv, fetchPypi, parameterized, six, nose }:
+
+buildPythonPackage rec {
+  pname = "pybase64";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hggg69s5r8jyqdwyzri5sn3f19p7ayl0fjhjma0qzgfp7bk6zjc";
+  };
+
+  propagatedBuildInputs = [ six ];
+  checkInputs = [ parameterized nose ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/pybase64;
+    description = "Fast Base64 encoding/decoding";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index 9751eaf7ce79..a086658cd7b7 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python, buildPythonPackage, gmp }:
 
 buildPythonPackage rec {
-  version = "3.4.7";
+  version = "3.4.9";
   pname = "pycryptodome";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/p/pycryptodome/${name}.tar.gz";
-    sha256 = "18d8dfe31bf0cb53d58694903e526be68f3cf48e6e3c6dfbbc1e7042b1693af7";
+    sha256 = "00cc7767c7bbe91f15a65a1b2ebe7a08002b8ae8221c1dcecc5c5c9ab6f79753";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index 35a7213306f9..8cc22c986e25 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "pycryptodomex";
   name = "${pname}-${version}";
-  version = "3.4.7";
+  version = "3.4.9";
 
   meta = {
     description = "A self-contained cryptographic library for Python";
@@ -13,6 +13,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52aa2e540d06d63636e4b5356957c520611e28a88386bad4d18980e4b00e0b5a";
+    sha256 = "d078b67be76ccafa8b7cc391e87151b80b0ef9bfbeee8a95d286e522cc7537f7";
   };
 }
diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix
new file mode 100644
index 000000000000..fd1f0db0c1e5
--- /dev/null
+++ b/pkgs/development/python-modules/pydocstyle/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, snowballstemmer, configparser,
+  pytest, pytestpep8, mock, pathlib }:
+
+buildPythonPackage rec {
+  pname = "pydocstyle";
+  version = "2.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15ssv8l6cvrmzgwcdzw76rnl4np3qf0dbwr1wsx76y0hc7lwsnsd";
+  };
+
+  propagatedBuildInputs = [ snowballstemmer configparser ];
+
+  checkInputs = [ pytest pytestpep8 mock pathlib ];
+
+  meta = with stdenv.lib; {
+    description = "Python docstring style checker";
+    homepage = https://github.com/PyCQA/pydocstyle/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydotplus/default.nix b/pkgs/development/python-modules/pydotplus/default.nix
new file mode 100644
index 000000000000..03b594a131a0
--- /dev/null
+++ b/pkgs/development/python-modules/pydotplus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyparsing
+, graphviz
+}:
+
+buildPythonPackage rec {
+  pname = "pydotplus";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1i05cnk3yh722fdyaq0asr7z9xf7v7ikbmnpxa8j6pdqx6g5xs4i";
+  };
+
+  propagatedBuildInputs = [
+    pyparsing
+    graphviz
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/erocarrera/pydot;
+    description = "An improved version of the old pydot project that provides a Python Interface to Graphviz’s Dot language";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyemd/default.nix b/pkgs/development/python-modules/pyemd/default.nix
index 1004d70476c9..a7430c94b480 100644
--- a/pkgs/development/python-modules/pyemd/default.nix
+++ b/pkgs/development/python-modules/pyemd/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyemd";
-  version = "0.4.4";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13y06y7r1697cv4r430g45fxs40i2yk9xn0dk9nqlrpddw3a0mr4";
+    sha256 = "fc81c2116f8573e559dfbb8d73e03d9f73c22d0770559f406516984302e07e70";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
new file mode 100644
index 000000000000..1191b09ec389
--- /dev/null
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "pyhomematic";
+  version = "0.1.39";
+
+  disabled = !isPy3k;
+
+  # PyPI tarball does not include tests/ directory
+  src = fetchFromGitHub {
+    owner = "danielperna84";
+    repo = pname;
+    rev = version;
+    sha256 = "1g181x2mrhxcaswr6vi2m7if97wv4rf2g2pny60334sciga8njfz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python 3 Interface to interact with Homematic devices";
+    homepage = https://github.com/danielperna84/pyhomematic;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylast/default.nix b/pkgs/development/python-modules/pylast/default.nix
index 1fcc72115049..e9b4db49dbd9 100644
--- a/pkgs/development/python-modules/pylast/default.nix
+++ b/pkgs/development/python-modules/pylast/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pylast";
-  version = "2.0.0";
+  version = "2.1.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8e4d4962aa12d67bd357e1aa596a146b2e97afd943b5c9257e555014d13b3065";
+    sha256 = "b9b51dc40a7d3ac3eee17ab5b462b8efb7f2c2ff195261ea846ae4e1168e1c5b";
   };
 
   propagatedBuildInputs = [ certifi six ];
diff --git a/pkgs/development/python-modules/pylibgen/default.nix b/pkgs/development/python-modules/pylibgen/default.nix
new file mode 100644
index 000000000000..8db864cc869d
--- /dev/null
+++ b/pkgs/development/python-modules/pylibgen/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage, python, lib, fetchPypi
+, isPy3k
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pylibgen";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rviqi3rf62b43cabdy8c2cdznjv034mp0qrfrzvkih4jlkhyfrh";
+  };
+
+  disabled = !isPy3k;
+
+  propagatedBuildInputs = [ requests ];
+
+  # It's not using unittest
+  checkPhase = "${python.interpreter} tests/test_pylibgen.py -c 'test_api_endpoints()'";
+
+  meta = {
+    description = "Python interface to Library Genesis";
+    homepage = https://pypi.org/project/pylibgen/;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 79337663c627..194d91341d8a 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -4,11 +4,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pylint";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3035e44e37cd09919e9edad5573af01d7c6b9c52a0ebb4781185ae7ab690458b";
+    sha256 = "4fe3b99da7e789545327b75548cee6b511e4faa98afe268130fea1af4b5ec022";
   };
 
   buildInputs = [ pytest pytestrunner mccabe configparser backports_functools_lru_cache ];
diff --git a/pkgs/development/python-modules/pylti/default.nix b/pkgs/development/python-modules/pylti/default.nix
new file mode 100644
index 000000000000..8d61c2bf9e98
--- /dev/null
+++ b/pkgs/development/python-modules/pylti/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httplib2
+, oauth
+, oauth2
+, semantic-version
+, flask
+, httpretty
+, oauthlib
+, pyflakes
+, pytest
+, pytestcache
+, pytestcov
+, covCore
+, pytestflakes
+, pytestpep8
+, sphinx
+, mock
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "PyLTI";
+  version = "0.5.1";
+
+  disabled = !isPy27;
+
+  # There is no need to fix mock. https://github.com/mitodl/pylti/pull/48
+  postPatch = ''
+    substituteInPlace setup.py --replace "mock==1.0.1" "mock"
+  '';
+
+  propagatedBuildInputs = [ httplib2 oauth oauth2 semantic-version ];
+  checkInputs = [
+    flask httpretty oauthlib pyflakes pytest pytestcache pytestcov covCore
+    pytestflakes pytestpep8 sphinx mock
+  ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "32093d961bf95e508bf27667289155da1e082ed9989bb84a76c54c6974c941e1";
+  };
+
+  meta = {
+    description = "Implementation of IMS LTI interface that works with edX";
+    homepage = "https://github.com/mitodl/pylti";
+    license = lib.licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ layus ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index b236715a5d65..0fab9979aaca 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.21";
+  version = "4.0.22";
   name = "${pname}-${version}";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9655f84ca9e5cb2dfffff705601017420c840d55271ba62dd44f05383eff0329";
+    sha256 = "e2d742b42c8b92b10018c51d673fe72d925ab90d4dbaaccd4f209e10e228ba73";
   };
 
   buildInputs = [ libiodbc ];
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index 07ff8735b52f..a2d019374c96 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2017.2.2";
+  version = "2018.1";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers ocl-icd ];
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d2f7b04d2e819c6e90d6366b7712a7452a39fba218e51b11b02c85ab07fd2983";
+    sha256 = "b692966bbaaa65ef8949ee25660d6b0cc7cbadc7f4a35eb9c5139dfa4dde6d4a";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
new file mode 100644
index 000000000000..f3054e3e4dd4
--- /dev/null
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, openssl
+, cryptography
+, pyasn1
+, idna
+, pytest
+, pretend
+, flaky
+, glibcLocales
+}:
+
+buildPythonPackage rec {
+  pname = "pyOpenSSL";
+  version = "17.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2c10cfba46a52c0b0950118981d61e72c1e5b1aac451ca1bc77de1a679456773";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  preCheck = ''
+    sed -i 's/test_set_default_verify_paths/noop/' tests/test_ssl.py
+    # https://github.com/pyca/pyopenssl/issues/692
+    sed -i 's/test_fallback_default_verify_paths/noop/' tests/test_ssl.py
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    export LANG="en_US.UTF-8"
+    py.test
+    runHook postCheck
+  '';
+
+  # Seems to fail unpredictably on Darwin. See http://hydra.nixos.org/build/49877419/nixlog/1
+  # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
+  doCheck = !stdenv.isDarwin;
+
+  buildInputs = [ openssl ];
+  propagatedBuildInputs = [ cryptography pyasn1 idna ];
+
+  checkInputs = [ pytest pretend flaky glibcLocales ];
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index 4c694319563e..ba05da884d8b 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     description = "Thin wrapper for pandoc";
     homepage = https://github.com/bebraw/pypandoc;
     license = licenses.mit;
-    maintainers = with maintainers; [ bennofs kristoff3r ];
+    maintainers = with maintainers; [ bennofs ];
   };
 }
diff --git a/pkgs/development/python-modules/pyparser/default.nix b/pkgs/development/python-modules/pyparser/default.nix
new file mode 100644
index 000000000000..1c00d726eadc
--- /dev/null
+++ b/pkgs/development/python-modules/pyparser/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonPackage, lib, fetchFromBitbucket
+, parse
+}:
+
+buildPythonPackage rec {
+  pname = "pyparser";
+  version = "1.0";
+
+  # Missing tests on Pypi
+  src = fetchFromBitbucket {
+    owner = "rw_grim";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0aplb4zdpgbpmaw9qj0vr7qip9q5w7sl1m1lp1nc9jmjfij9i0hf";
+  };
+
+  postPatch = "sed -i 's/parse==/parse>=/' requirements.txt";
+
+  propagatedBuildInputs = [ parse ];
+
+  meta = {
+    description = "Simple library that makes it easier to parse files";
+    homepage = https://bitbucket.org/rw_grim/pyparser;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 053824ef8e95..225da204e21a 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -6,14 +6,13 @@
 
 let
   pname = "PyQt";
-  version = "5.9.2";
+  version = "5.10";
 
   inherit (pythonPackages) buildPythonPackage python dbus-python sip;
 in buildPythonPackage {
   pname = pname;
   version = version;
   format = "other";
-  name = pname + "-" + version;
 
   meta = with lib; {
     description = "Python bindings for Qt5";
@@ -25,10 +24,10 @@ in buildPythonPackage {
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
-    sha256 = "15439gxari6azbfql20ksz8h4gv23k3kfyjyr89h2yy9k32xm461";
+    sha256 = "0l2zy6b7bfjxmg4bb8yikg6i8iy2xdwmvk7knfmrzfpqbmkycbrl";
   };
 
-  nativeBuildInputs = [ pkgconfig makeWrapper qmake ];
+  nativeBuildInputs = [ pkgconfig qmake ];
 
   buildInputs = [
     lndir qtbase qtsvg qtwebkit qtwebengine dbus_libs
@@ -43,10 +42,10 @@ in buildPythonPackage {
     lndir ${dbus-python} $out
     rm -rf "$out/nix-support"
 
-    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+    export PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages}
 
     substituteInPlace configure.py \
-      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/${python.sitePackages}/dbus/mainloop'" \
       --replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])"
 
     ${python.executable} configure.py  -w \
diff --git a/pkgs/development/python-modules/pysam/default.nix b/pkgs/development/python-modules/pysam/default.nix
new file mode 100644
index 000000000000..9d6cbacc9589
--- /dev/null
+++ b/pkgs/development/python-modules/pysam/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, bzip2
+, bcftools
+, curl
+, cython
+, htslib
+, lzma
+, pytest
+, samtools
+, zlib
+}:
+
+buildPythonPackage rec {
+  pname   = "pysam";
+  version = "0.13.0";
+
+  # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
+  # missing some files which cause test failures.
+  # Tracked at: https://github.com/pysam-developers/pysam/issues/616
+  src = fetchFromGitHub {
+    owner = "pysam-developers";
+    repo = "pysam";
+    rev = "v${version}";
+    sha256 = "1lwbcl38w1x0gciw5psjp87msmv9zzkgiqikg9b83dqaw2y5az1i";
+  };
+
+  buildInputs = [ bzip2 curl cython lzma zlib ];
+
+  checkInputs = [ pytest bcftools htslib samtools ];
+
+  checkPhase = "py.test";
+
+  preInstall = ''
+    export HOME=$(mktemp -d)
+    make -C tests/pysam_data
+    make -C tests/cbcf_data
+  '';
+
+  meta = {
+    homepage = http://pysam.readthedocs.io/;
+    description = "A python module for reading, manipulating and writing genome data sets";
+    maintainers = with lib.maintainers; [ unode ];
+    license = lib.licenses.mit;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyte/default.nix b/pkgs/development/python-modules/pyte/default.nix
index 2bd710705815..ed408feec811 100644
--- a/pkgs/development/python-modules/pyte/default.nix
+++ b/pkgs/development/python-modules/pyte/default.nix
@@ -3,8 +3,6 @@
 buildPythonPackage rec {
   pname = "pyte";
   version = "0.7.0";
-  name  = "${pname}-${version}";
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "1an54hvyjm8gncx8cgabz9mkpgjkdb0bkyjlkh7g7f94nr3wnfl7";
diff --git a/pkgs/development/python-modules/pytest-aiohttp/default.nix b/pkgs/development/python-modules/pytest-aiohttp/default.nix
new file mode 100644
index 000000000000..7f707ebc46b6
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-aiohttp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest, aiohttp }:
+
+buildPythonPackage rec {
+  pname = "pytest-aiohttp";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9";
+  };
+
+  propagatedBuildInputs = [ pytest aiohttp ];
+
+  # There are no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/aio-libs/pytest-aiohttp/;
+    description = "Pytest plugin for aiohttp support";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-cram/default.nix b/pkgs/development/python-modules/pytest-cram/default.nix
index fdd2b2316e29..4555479af43e 100644
--- a/pkgs/development/python-modules/pytest-cram/default.nix
+++ b/pkgs/development/python-modules/pytest-cram/default.nix
@@ -1,8 +1,7 @@
 {lib, buildPythonPackage, fetchPypi, pytest, cram, bash, writeText}:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
-  version = "0.1.1";
+  version = "0.2.0";
   pname = "pytest-cram";
 
   buildInputs = [ pytest ];
@@ -10,7 +9,8 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ad05999iqzyjay9y5lc0cnd3jv8qxqlzsvxzp76shslmhrv0c4f";
+    sha256 = "006p5dr3q794sbwwmxmdls3nwq0fvnyrxxmc03pgq8n74chl71qn";
+    extension = "zip";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pytest-flake8/default.nix b/pkgs/development/python-modules/pytest-flake8/default.nix
index 2b615e5820e9..d79f32a67662 100644
--- a/pkgs/development/python-modules/pytest-flake8/default.nix
+++ b/pkgs/development/python-modules/pytest-flake8/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   };
 
   checkPhase = ''
-    pytest --ignore=nix_run_setup.py .
+    pytest .
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix
index 6f6f79109d9b..cfa24fdfe528 100644
--- a/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -11,23 +11,23 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpbin";
-  name = "${pname}-${version}";
-  version = "0.2.3";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "kevin1024";
     repo = "pytest-httpbin";
     rev = "v${version}";
-    sha256 = "0j3n12jjy8cm0va8859wqra6abfyajrgh2qj8bhcngf3a72zl9ks";
+    sha256 = "0p86ljx775gxxicscs1dydmmx92r1g9bs00vdvxrsl3qdll1ksfm";
   };
 
-  checkPhase = ''
-    py.test -k "not test_chunked_encoding"
-  '';
+  checkInputs = [ pytest ];
 
-  buildInputs = [ pytest ];
   propagatedBuildInputs = [ flask decorator httpbin six requests ];
 
+  checkPhase = ''
+    py.test
+  '';
+
   meta = {
     description = "Easily test your HTTP library against a local copy of httpbin.org";
     homepage = https://github.com/kevin1024/pytest-httpbin;
diff --git a/pkgs/development/python-modules/pytest-sugar/default.nix b/pkgs/development/python-modules/pytest-sugar/default.nix
index 2965d169599a..a266b4617492 100644
--- a/pkgs/development/python-modules/pytest-sugar/default.nix
+++ b/pkgs/development/python-modules/pytest-sugar/default.nix
@@ -1,17 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, termcolor, pytest }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "pytest-sugar";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11lni9kn0r1y896xg20qjv4yjcyr56h0hx9dprdgjnam4dqcl6lg";
+    sha256 = "ab8cc42faf121344a4e9b13f39a51257f26f410e416c52ea11078cdd00d98a2c";
   };
 
   propagatedBuildInputs = [ termcolor pytest ];
 
+  checkPhase = ''
+    py.test
+  '';
+
   meta = with stdenv.lib; {
     description = "A plugin that changes the default look and feel of py.test";
     homepage = https://github.com/Frozenball/pytest-sugar;
diff --git a/pkgs/development/python-modules/pytest-tornado/default.nix b/pkgs/development/python-modules/pytest-tornado/default.nix
new file mode 100644
index 000000000000..596bae68ed07
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-tornado/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, pytest
+, tornado
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-tornado";
+  version = "0.4.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0b1r5im7qmbpmxhfvq13a6rp78sjjrrpysfnjkd9hggavgc75dr8";
+  };
+
+  # package has no tests
+  doCheck = false;
+
+  propagatedBuildInputs = [ pytest tornado ];
+
+  meta = with lib; {
+    description = "A py.test plugin providing fixtures and markers to simplify testing of asynchronous tornado applications.";
+    homepage =  https://github.com/eugeniy/pytest-tornado;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index 2e2975e65968..d671fd9654a4 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pytest-xdist";
-  version = "1.21.0";
+  version = "1.22.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b8622435e3c0650a8d5a07b73a7f9c4f79b52d7ed060536a6041f0da423ba8e";
+    sha256 = "65228a859191f2c74ee68c127317eefe35eedd3d43fc1431f19240663b0cafcd";
   };
 
   buildInputs = [ pytest setuptools_scm pytest-forked];
diff --git a/pkgs/development/python-modules/pytest/2_7.nix b/pkgs/development/python-modules/pytest/2_7.nix
deleted file mode 100644
index e63c3f5ebbd6..000000000000
--- a/pkgs/development/python-modules/pytest/2_7.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
-buildPythonPackage rec {
-  pname = "pytest";
-  version = "2.7.3";
-  name = pname + "-" + version;
-
-  src = fetchurl {
-    url = "mirror://pypi/p/pytest/${name}.tar.gz";
-    sha256 = "1z4yi986f9n0p8qmzmn21m21m8j1x78hk3505f89baqm6pdw7afm";
-  };
-
-  # Disabled temporarily because of Hydra issue with namespaces
-  doCheck = false;
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  propagatedBuildInputs = [ py ]
-    ++ (stdenv.lib.optional isPy26 argparse)
-    ++ stdenv.lib.optional
-      pkgs.config.pythonPackages.pytest.selenium or false
-      selenium;
-
-  meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/python-modules/pytest/2_8.nix b/pkgs/development/python-modules/pytest/2_8.nix
deleted file mode 100644
index 963154b11ce1..000000000000
--- a/pkgs/development/python-modules/pytest/2_8.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
-buildPythonPackage rec {
-  pname = "pytest";
-  version = "2.8.7";
-  name = pname + "-" + version;
-
-  src = fetchurl {
-    url = "mirror://pypi/p/pytest/${name}.tar.gz";
-    sha256 = "1bwb06g64x2gky8x5hcrfpg6r351xwvafimnhm5qxq7wajz8ck7w";
-  };
-
-  # Disabled temporarily because of Hydra issue with namespaces
-  doCheck = false;
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  propagatedBuildInputs = [ py ]
-    ++ (stdenv.lib.optional isPy26 argparse)
-    ++ stdenv.lib.optional
-      pkgs.config.pythonPackages.pytest.selenium or false
-      selenium;
-
-  meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/python-modules/pytest/2_9.nix b/pkgs/development/python-modules/pytest/2_9.nix
deleted file mode 100644
index 2d28517441b0..000000000000
--- a/pkgs/development/python-modules/pytest/2_9.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
-buildPythonPackage rec {
-  pname = "pytest";
-  version = "2.9.2";
-  name = pname + "-" + version;
-
-  src = fetchurl {
-    url = "mirror://pypi/p/pytest/${name}.tar.gz";
-    sha256 = "1n6igbc1b138wx1q5gca4pqw1j6nsyicfxds5n0b5989kaxqmh8j";
-  };
-
-  # Disabled temporarily because of Hydra issue with namespaces
-  doCheck = false;
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  propagatedBuildInputs = [ py ]
-    ++ (stdenv.lib.optional isPy26 argparse)
-    ++ stdenv.lib.optional
-      pkgs.config.pythonPackages.pytest.selenium or false
-      selenium;
-
-  meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/python-modules/pytest/3_0.nix b/pkgs/development/python-modules/pytest/3_0.nix
deleted file mode 100644
index 487fe1b73c76..000000000000
--- a/pkgs/development/python-modules/pytest/3_0.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
-, setuptools_scm
-}:
-buildPythonPackage rec {
-  version = "3.0.7";
-  pname = "pytest";
-  name = "${pname}-${version}";
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b70696ebd1a5e6b627e7e3ac1365a4bc60aaf3495e843c1e70448966c5224cab";
-  };
-
-  buildInputs = [ hypothesis setuptools_scm ];
-  propagatedBuildInputs = [ py ]
-    ++ (stdenv.lib.optional isPy26 argparse);
-
-  meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
-    platforms = platforms.unix;
-  };
-}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pytest/3_2.nix b/pkgs/development/python-modules/pytest/3_2.nix
deleted file mode 100644
index d7a0b1bdad34..000000000000
--- a/pkgs/development/python-modules/pytest/3_2.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
-, setuptools_scm, setuptools
-}:
-buildPythonPackage rec {
-  version = "3.2.5";
-  pname = "pytest";
-
-  preCheck = ''
-    # don't test bash builtins
-    rm testing/test_argcomplete.py
-  '';
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
-  };
-
-  checkInputs = [ hypothesis ];
-  buildInputs = [ setuptools_scm ];
-  propagatedBuildInputs = [ py setuptools ]
-    ++ (stdenv.lib.optional isPy26 argparse);
-
-  meta = with stdenv.lib; {
-    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
-    platforms = platforms.unix;
-  };
-}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index d45fe7deb124..9b7f5cc12de0 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -2,7 +2,7 @@
 , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k
 }:
 buildPythonPackage rec {
-  version = "3.3.1";
+  version = "3.4.0";
   pname = "pytest";
 
   preCheck = ''
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93";
+    sha256 = "6074ea3b9c999bd6d0df5fa9d12dd95ccd23550df2a582f5f5b848331d2e82ca";
   };
 
   checkInputs = [ hypothesis ];
diff --git a/pkgs/development/python-modules/pytestrunner/default.nix b/pkgs/development/python-modules/pytestrunner/default.nix
new file mode 100644
index 000000000000..67af195b68a6
--- /dev/null
+++ b/pkgs/development/python-modules/pytestrunner/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, setuptools_scm, pytest }:
+
+buildPythonPackage rec {
+  pname = "pytest-runner";
+  version = "3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00v7pi09q60yx0l1kzyklnmr5bp597mir85a9gsi7bdfyly3lz0g";
+  };
+
+  buildInputs = [ setuptools_scm pytest ];
+
+  meta = with stdenv.lib; {
+    description = "Invoke py.test as distutils command with dependency resolution";
+    homepage = https://bitbucket.org/pytest-dev/pytest-runner;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
new file mode 100644
index 000000000000..56be2e3448ae
--- /dev/null
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage, lib, fetchPypi, file, stdenv }:
+
+buildPythonPackage rec {
+  pname = "python-magic";
+  version = "0.4.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "128j9y30zih6cyjyjnxhghnvpjm8vw40a1q7pgmrp035yvkaqkk0";
+  };
+
+  postPatch = ''
+    substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
+  '';
+
+  doCheck = false;
+
+  # TODO: tests are failing
+  #checkPhase = ''
+  #  ${python}/bin/${python.executable} ./test.py
+  #'';
+
+  meta = {
+    description = "A python interface to the libmagic file type identification library";
+    homepage = https://github.com/ahupp/python-magic;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/python-oauth2/default.nix b/pkgs/development/python-modules/python-oauth2/default.nix
new file mode 100644
index 000000000000..38649ca19859
--- /dev/null
+++ b/pkgs/development/python-modules/python-oauth2/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "python-oauth2";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0a1d0qnlgm07wq9r9bbm5jqkqry73w34m87p0141bk76lg7bb0sm";
+  };
+  # attempts to run mysql
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Framework that aims at making it easy to provide authentication via OAuth 2.0 within an application stack";
+    homepage =  https://github.com/wndhydrnt/python-oauth2;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ixxie ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index a78b1ffbee26..44a6b522a4ee 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchurl, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  version = "1.7";
+  version = "1.8.1";
   pname = "python-stdnum";
   name = "${pname}-${version}";
   # Failing tests and dependency issue on Py3k
   disabled = isPy3k;
   src = fetchurl {
     url = "mirror://pypi/p/python-stdnum/${name}.tar.gz";
-    sha256 = "987c25e1047e8742131bcf29dac7a406987adb1463465749e2daaba8cb19d264";
+    sha256 = "d7162fdb29337aebed65700cc7297016f6cd32cae4ad7aed8f7e7531f0217943";
   };
   meta = {
     homepage = http://arthurdejong.org/python-stdnum/;
diff --git a/pkgs/development/python-modules/python-utils/default.nix b/pkgs/development/python-modules/python-utils/default.nix
index a7826758af05..654b851b6635 100644
--- a/pkgs/development/python-modules/python-utils/default.nix
+++ b/pkgs/development/python-modules/python-utils/default.nix
@@ -23,7 +23,6 @@ buildPythonPackage rec {
   doCheck = false;
 
   checkPhase = ''
-    rm nix_run_setup.py
     py.test
   '';
 
diff --git a/pkgs/development/python-modules/python_fedora/default.nix b/pkgs/development/python-modules/python_fedora/default.nix
index e7c3630f42f4..f476d0d4d44a 100644
--- a/pkgs/development/python-modules/python_fedora/default.nix
+++ b/pkgs/development/python-modules/python_fedora/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     description = "Python Fedora Module";
     homepage = https://github.com/fedora-infra/python-fedora;
     license = licenses.lgpl2;
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pythonnet/default.nix b/pkgs/development/python-modules/pythonnet/default.nix
new file mode 100644
index 000000000000..98f714c8d538
--- /dev/null
+++ b/pkgs/development/python-modules/pythonnet/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, fetchPypi
+, fetchNuGet
+, buildPythonPackage
+, python
+, pytest
+, pycparser
+, pkgconfig
+, dotnetbuildhelpers
+, clang
+, mono
+}:
+
+let
+
+  UnmanagedExports127 = fetchNuGet {
+    baseName = "UnmanagedExports";
+    version = "1.2.7";
+    sha256 = "0bfrhpmq556p0swd9ssapw4f2aafmgp930jgf00sy89hzg2bfijf";
+    outputFiles = [ "*" ];
+  };
+
+  NUnit360 = fetchNuGet {
+    baseName = "NUnit";
+    version = "3.6.0";
+    sha256 = "0wz4sb0hxlajdr09r22kcy9ya79lka71w0k1jv5q2qj3d6g2frz1";
+    outputFiles = [ "*" ];
+  };
+
+in
+
+buildPythonPackage rec {
+  pname = "pythonnet";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hxnkrfj8ark9sbamcxzd63p98vgljfvdwh79qj3ac8pqrgghq80";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace 'self._install_packages()' '#self._install_packages()'
+  '';
+
+  preConfigure = ''
+    [ -z "$dontPlacateNuget" ] && placate-nuget.sh
+    [ -z "$dontPlacatePaket" ] && placate-paket.sh
+  '';
+
+  nativeBuildInputs = [
+    pytest
+    pycparser
+
+    pkgconfig
+    dotnetbuildhelpers
+    clang
+
+    NUnit360
+    UnmanagedExports127
+  ];
+
+  buildInputs = [
+    mono
+  ];
+
+  preBuild = ''
+    rm -rf packages
+    mkdir packages
+
+    ln -s ${NUnit360}/lib/dotnet/NUnit/ packages/NUnit.3.6.0
+    ln -s ${UnmanagedExports127}/lib/dotnet/NUnit/ packages/UnmanagedExports.1.2.7
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} -m pytest
+  '';
+
+  meta = with lib; {
+    description = ".Net and Mono integration for Python";
+    homepage = https://pythonnet.github.io;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytz/default.nix b/pkgs/development/python-modules/pytz/default.nix
new file mode 100644
index 000000000000..96f0ad136a06
--- /dev/null
+++ b/pkgs/development/python-modules/pytz/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, python }:
+
+buildPythonPackage rec {
+  pname = "pytz";
+  version = "2017.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "fae4cffc040921b8a2d60c6cf0b5d662c1190fe54d718271db4eb17d44a185b7";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s pytz/tests
+  '';
+
+  meta = with lib; {
+    description = "World timezone definitions, modern and historical";
+    homepage = "http://pythonhosted.org/pytz";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytzdata/default.nix b/pkgs/development/python-modules/pytzdata/default.nix
new file mode 100644
index 000000000000..a7c6b6db6b25
--- /dev/null
+++ b/pkgs/development/python-modules/pytzdata/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "pytzdata";
+  version = "2018.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4e2cceb54335cd6c28caea46b15cd592e2aec5e8b05b0241cbccfb1b23c02ae7";
+  };
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Timezone database for Python";
+    homepage = https://github.com/sdispater/pytzdata;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix
new file mode 100644
index 000000000000..a4918bf352dc
--- /dev/null
+++ b/pkgs/development/python-modules/pyyaml/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, libyaml }:
+
+buildPythonPackage rec {
+  pname = "PyYAML";
+  version = "3.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab";
+  };
+
+  propagatedBuildInputs = [ libyaml ];
+
+  meta = with lib; {
+    description = "The next generation YAML parser and emitter for Python";
+    homepage = https://github.com/yaml/pyyaml;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/quantities/default.nix b/pkgs/development/python-modules/quantities/default.nix
new file mode 100644
index 000000000000..e65329c1b695
--- /dev/null
+++ b/pkgs/development/python-modules/quantities/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "quantities";
+  version = "0.12.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  checkPhase = ''
+    ${python.interpreter} setup.py test -V 1
+  '';
+
+  meta = {
+    description = "Quantities is designed to handle arithmetic and";
+    homepage = http://python-quantities.readthedocs.io/;
+    license = lib.licenses.bsd2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix
index 66e2595f8d2f..b6cc70ed787c 100644
--- a/pkgs/development/python-modules/raven/default.nix
+++ b/pkgs/development/python-modules/raven/default.nix
@@ -1,20 +1,19 @@
-{ lib, buildPythonPackage, fetchurl, isPy3k, contextlib2 }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k, contextlib2, blinker }:
 
 buildPythonPackage rec {
   pname = "raven";
-  version = "6.4.0";
-  name = pname + "-" + version;
+  version = "6.5.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/r/raven/${name}.tar.gz";
-    sha256 = "00m985w9fja2jf8dpvdhygcr26rwabxkgvcc2v5j6v7d6lrvpvdq";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "84da75114739191bdf2388f296ffd6177e83567a7fbaf2701e034ad6026e4f3b";
   };
 
   # way too many dependencies to run tests
   # see https://github.com/getsentry/raven-python/blob/master/setup.py
   doCheck = false;
 
-  propagatedBuildInputs = lib.optionals (!isPy3k) [ contextlib2 ];
+  propagatedBuildInputs = [ blinker ] ++ lib.optionals (!isPy3k) [ contextlib2 ];
 
   meta = {
     description = "A Python client for Sentry (getsentry.com)";
diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix
new file mode 100644
index 000000000000..cdbba1806735
--- /dev/null
+++ b/pkgs/development/python-modules/rdflib/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isodate
+, html5lib
+, SPARQLWrapper
+, networkx
+, nose
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "rdflib";
+  version = "4.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs";
+  };
+
+  propagatedBuildInputs = [isodate html5lib SPARQLWrapper ];
+
+  checkInputs = [ networkx nose ];
+
+  # Python 2 syntax
+  # Failing doctest
+  doCheck = false;
+
+  checkPhase = ''
+    ${python.interpreter} run_tests.py
+  '';
+
+  meta = {
+    description = "A Python library for working with RDF, a simple yet powerful language for representing information";
+    homepage = http://www.rdflib.net/;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index a1349ae5c36d..c6279f5e7c41 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2017.12.12";
+  version = "2018.01.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee069308c2757e565cc2b6f417ba5288e76cfe4c1764b6826063f4fbd53219d7";
+    sha256 = "139678fc013b75e486e580c39b4c52d085ed7362e400960f8be1711a414f16b5";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/requestsexceptions/default.nix b/pkgs/development/python-modules/requestsexceptions/default.nix
index 0321f9abec2c..87af0e78b183 100644
--- a/pkgs/development/python-modules/requestsexceptions/default.nix
+++ b/pkgs/development/python-modules/requestsexceptions/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "requestsexceptions";
-  version = "1.3.0";
+  version = "1.4.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gim00vi7vfq16y8b9m1vpy01grqvrdrbh88jb98qx6n6sk1n54g";
+    sha256 = "b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065";
   };
 
   propagatedBuildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/restview/default.nix b/pkgs/development/python-modules/restview/default.nix
index 3c61ea4ded24..a13df64cd03e 100644
--- a/pkgs/development/python-modules/restview/default.nix
+++ b/pkgs/development/python-modules/restview/default.nix
@@ -10,11 +10,11 @@
 buildPythonPackage rec {
   pname = "restview";
   name = "${pname}-${version}";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5f6f1523228eab3269f59dd03ac560f7d370cd81df6fdbcb4914b5e6bd896a11";
+    sha256 = "45320b4e52945d23b3f1aeacc7ff97a3b798204fe625f8b81ed5322326d5bcd1";
   };
 
   propagatedBuildInputs = [ docutils readme_renderer pygments ];
diff --git a/pkgs/development/python-modules/ropper/default.nix b/pkgs/development/python-modules/ropper/default.nix
index 62ef3f8db19e..b35145872dd1 100644
--- a/pkgs/development/python-modules/ropper/default.nix
+++ b/pkgs/development/python-modules/ropper/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonApplication rec {
   pname = "ropper";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2183feedfe8b01a27301eee07383b481ece01b2319bdba3afebe33e19ca14aa3";
+    sha256 = "77d9b03083d0a098261a1d2856cd330ea3db520511a78472e421a00526aa220c";
   };
   # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
   # workaround: sudo chmod 777 /dev/shm
diff --git a/pkgs/development/python-modules/rpkg/default.nix b/pkgs/development/python-modules/rpkg/default.nix
index 1e8baa553bdc..3164be5aa86d 100644
--- a/pkgs/development/python-modules/rpkg/default.nix
+++ b/pkgs/development/python-modules/rpkg/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     description = "Python library for dealing with rpm packaging";
     homepage = https://pagure.io/fedpkg;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/rx/default.nix b/pkgs/development/python-modules/rx/default.nix
new file mode 100644
index 000000000000..6945d7486f66
--- /dev/null
+++ b/pkgs/development/python-modules/rx/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, buildPythonPackage, nose }:
+
+buildPythonPackage rec {
+  pname = "rx";
+  version = "1.6.0";
+
+  # There are no tests on the pypi source
+  src = fetchFromGitHub {
+    owner = "ReactiveX";
+    repo = "rxpy";
+    rev = version;
+    sha256 = "174xi2j36igxmaqcgl5p64p31a7z19v62xb5czybjw72gpyyfyri";
+  };
+
+  checkInputs = [ nose ];
+
+  meta = {
+    homepage = https://github.com/ReactiveX/RxPY;
+    description = "Reactive Extensions for Python";
+    maintainers = with lib.maintainers; [ thanegill ];
+    license = lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix
index 2c57ce295825..2c8e63e5ed2f 100644
--- a/pkgs/development/python-modules/schema/default.nix
+++ b/pkgs/development/python-modules/schema/default.nix
@@ -3,12 +3,12 @@
 buildPythonPackage rec {
 
   pname = "schema";
-  version = "0.6.6";
+  version = "0.6.7";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm";
+    sha256 = "410f44cb025384959d20deef00b4e1595397fa30959947a4f0d92e9c84616f35";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix
index b2826588a288..6d32b056a0a9 100644
--- a/pkgs/development/python-modules/scikitlearn/default.nix
+++ b/pkgs/development/python-modules/scikitlearn/default.nix
@@ -20,8 +20,9 @@ buildPythonPackage rec {
 
   LC_ALL="en_US.UTF-8";
 
+  # Disable doctests on OSX: https://github.com/scikit-learn/scikit-learn/issues/10213
   checkPhase = ''
-    HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/
+    HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests ${stdenv.lib.optionalString stdenv.isDarwin "--doctest-options=+SKIP"} $out/${python.sitePackages}/sklearn/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/secp256k1/default.nix b/pkgs/development/python-modules/secp256k1/default.nix
new file mode 100644
index 000000000000..6b9f00783fd2
--- /dev/null
+++ b/pkgs/development/python-modules/secp256k1/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pkgconfig
+, pytest
+, pytestrunner
+, cffi
+, secp256k1
+}:
+
+buildPythonPackage rec {
+  pname = "secp256k1";
+  version = "0.13.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a3b43e02d321c09eafa769a6fc2c156f555cab3a7db62175ef2fd21e16cdf20c";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  checkInputs = [ pytest pytestrunner ];
+  propagatedBuildInputs = [ cffi secp256k1 ];
+
+  # Tests are not included in archive
+  doCheck = false;
+
+  preConfigure = ''
+    cp -r ${secp256k1.src} libsecp256k1
+    touch libsecp256k1/autogen.sh
+    export INCLUDE_DIR=${secp256k1}/include
+    export LIB_DIR=${secp256k1}/lib
+  '';
+
+  checkPhase = ''
+    py.test tests
+  '';
+
+  postPatch = ''
+    substituteInPlace setup.py --replace ", 'pytest-runner==2.6.2'" ""
+  '';
+
+  meta = {
+    homepage = https://github.com/ludbb/secp256k1-py;
+    description = "Python FFI bindings for secp256k1";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ chris-martin ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
new file mode 100644
index 000000000000..379f5677bd1c
--- /dev/null
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, configparser
+}:
+
+buildPythonPackage rec {
+  pname = "Send2Trash";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "hsoft";
+    repo = "send2trash";
+    rev = version;
+    sha256 = "1w502i5h8xaqf03g6h95h4vs1wqfv6kg925dn63phrwmg1hfz2xx";
+  };
+
+  checkPhase = "HOME=. py.test";
+  checkInputs = [ pytest configparser ];
+
+  meta = with lib; {
+    description = "Send file to trash natively under macOS, Windows and Linux";
+    homepage = https://github.com/hsoft/send2trash;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/serversyncstorage/default.nix b/pkgs/development/python-modules/serversyncstorage/default.nix
new file mode 100644
index 000000000000..40a580877af5
--- /dev/null
+++ b/pkgs/development/python-modules/serversyncstorage/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy27
+, testfixtures
+, unittest2
+, webtest
+, pyramid
+, sqlalchemy
+, simplejson
+, mozsvc
+, cornice
+, pyramid_hawkauth
+, pymysql
+, pymysqlsa
+, umemcache
+, WSGIProxy
+, requests
+, pybrowserid
+}:
+
+buildPythonPackage rec {
+  name = "serversyncstorage-${version}";
+  version = "1.6.11";
+  disabled = !isPy27;
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/server-syncstorage.git;
+    rev = "refs/tags/${version}";
+    sha256 = "197gj2jfs2c6nzs20j37kqxwi91wabavxnfm4rqmrjwhgqjwhnm0";
+  };
+
+  buildInputs = [ testfixtures unittest2 webtest ];
+  propagatedBuildInputs = [
+    pyramid sqlalchemy simplejson mozsvc cornice pyramid_hawkauth pymysql
+    pymysqlsa umemcache WSGIProxy requests pybrowserid
+  ];
+}
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index b185be62a693..b8fd011c4ea6 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -8,16 +8,17 @@
 # Should use buildPythonPackage here somehow
 stdenv.mkDerivation rec {
   pname = "setuptools";
-  version = "38.2.5";
+  version = "38.4.0";
   name = "${python.libPrefix}-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b080f276cc868670540b2c03cee06cc14d2faf9da7bec0f15058d1b402c94507";
+    sha256 = "6501fc32f505ec5b3ed36ec65ba48f1b975f52cf2ea101c7b73a08583fd12f75";
   };
 
-  buildInputs = [ python wrapPython unzip ];
+  nativeBuildInputs = [ unzip wrapPython ];
+  buildInputs = [ python ];
   doCheck = false;  # requires pytest
   installPhase = ''
       dst=$out/${python.sitePackages}
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index dab3542b809e..7246205619f1 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Shapely";
-  version = "1.6.3";
+  version = "1.6.4.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14152f111c7711fc6756fd538ec12fc8cdde7419f869b244922f71f61b2a6c6b";
+    sha256 = "30df7572d311514802df8dc0e229d1660bc4cbdcf027a8281e79c5fc2fcf02f2";
   };
 
   buildInputs = [ geos glibcLocales cython ];
diff --git a/pkgs/development/python-modules/simplegeneric/default.nix b/pkgs/development/python-modules/simplegeneric/default.nix
new file mode 100644
index 000000000000..491e218154c0
--- /dev/null
+++ b/pkgs/development/python-modules/simplegeneric/default.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "simplegeneric";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173";
+  };
+
+  meta = {
+    description = "Simple generic functions";
+    homepage = http://cheeseshop.python.org/pypi/simplegeneric;
+    license = lib.licenses.zpl21;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index e83ab1c724aa..6f3d0b3c117b 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -27,10 +27,10 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Sphinx";
-  version = "1.6.5";
+  version = "1.6.6";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6de5dbdbb7a0d7d2757f4389cc00e8f6eb3c49e1772378967a12cfcf2cfe098";
+    sha256 = "c39a6fa41bd3ec6fc10064329a664ed3a3ca2e27640a823dc520c682e4433cdb";
   };
   LC_ALL = "en_US.UTF-8";
 
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 488e78cb4ee4..51856ec0da04 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchPypi
 , buildPythonPackage
-, pytest_30
+, pytest
 , mock
 , pytest_xdist
 , isPy3k
@@ -11,15 +11,15 @@
 buildPythonPackage rec {
   pname = "SQLAlchemy";
   name = "${pname}-${version}";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7dda3e0b1b12215e3bb05368d1abbf7d747112a43738e0a4e6deb466b83fd88e";
+    sha256 = "64b4720f0a8e033db0154d3824f5bf677cf2797e11d44743cf0aebd2a0499d9d";
   };
 
   checkInputs = [
-    pytest_30
+    pytest
     mock
 #     Disable pytest_xdist tests for now, because our version seems to be too new.
 #     pytest_xdist
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index e89abbd595a9..dd7fdc173e5e 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.1.12";
+  version = "1.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86a1078ceb1e79f891633c7e4c7b07949fd9135a0e4c0738abd5111e2e6b96c0";
+    sha256 = "18ac6392a710f0cc106c28c4e27e43e8f1b25cb46fb8b6714836212607c07b10";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index e2a88a9f10b5..22c047fc54e2 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "1.77.0";
+  version = "1.77.1";
   name = "${pname}-${version}";
 
   # Tests require network connectivity and there's no easy way to disable
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6503851d2309dd9c1307e3f0a1cb33ac1427fee25d38ecba1f8bf73a0d74defc";
+    sha256 = "d1c638b417301849ff4ee0327332cfdec96edda83c79b08af307339138077d59";
   };
 
   buildInputs = [ unittest2 mock ];
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index 2aab5b16aefa..4dc9c3c79bc9 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , pytest
 , pretend
 , freezegun
@@ -16,6 +17,14 @@ buildPythonPackage rec {
     sha256 = "6980001045abd235fa12582222627c19b89109e58b85eb77d5a5abc778df6e20";
   };
 
+  patches = [
+    # Fix tests for pytest 3.3
+    (fetchpatch {
+      url = "https://github.com/hynek/structlog/commit/22f0ae50607a0cb024361599f84610ce290deb99.patch";
+      sha256 = "03622i13ammkpyrdk48kimbz94gbkpcmdpy0kj2z09m1kp6q2ljv";
+    })
+  ];
+
   checkInputs = [ pytest pretend freezegun ];
   propagatedBuildInputs = [ simplejson ];
 
@@ -29,4 +38,4 @@ buildPythonPackage rec {
     homepage = http://www.structlog.org/;
     license = lib.licenses.asl20;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/supervise_api/default.nix b/pkgs/development/python-modules/supervise_api/default.nix
index 99c6dfaf9397..f16310131522 100644
--- a/pkgs/development/python-modules/supervise_api/default.nix
+++ b/pkgs/development/python-modules/supervise_api/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "supervise_api";
-  version = "0.2.0";
+  version = "0.3.0";
 
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e6982633a924cb5192d2291d25b366ff311876a31b0f5961471b39d87397ef5b";
+    sha256 = "13gy2m14zh6lbdm45b40ffjnw8y3dapz9hvzpwk8vyvbxj4f1vaf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
index 1370c59ace84..31fd0977c144 100644
--- a/pkgs/development/python-modules/sybil/default.nix
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname   = "sybil";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5bd7dd09eff68cbec9062e6950124fadfaaccbc0f50b23c1037f4d70ae86f0f1";
+    sha256 = "86332553392f865403883e44695bd8d9d47fe3887c01e17591955237b8fd2d8f";
   };
 
   checkInputs = [ pytest nose ];
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
new file mode 100644
index 000000000000..67c799e554eb
--- /dev/null
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, glibcLocales
+, mpmath
+}:
+
+buildPythonPackage rec {
+  pname = "sympy";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ac5b57691bc43919dcc21167660a57cc51797c28a4301a6144eff07b751216a4";
+  };
+
+  checkInputs = [ glibcLocales ];
+
+  propagatedBuildInputs = [ mpmath ];
+
+  # Bunch of failures including transients.
+  doCheck = false;
+
+  preCheck = ''
+    export LANG="en_US.UTF-8"
+  '';
+
+  meta = {
+    description = "A Python library for symbolic mathematics";
+    homepage    = http://www.sympy.org/;
+    license     = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ lovek323 ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/syncserver/default.nix b/pkgs/development/python-modules/syncserver/default.nix
new file mode 100644
index 000000000000..e050bcf54043
--- /dev/null
+++ b/pkgs/development/python-modules/syncserver/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy27
+, unittest2
+, cornice
+, gunicorn
+, pyramid
+, requests
+, simplejson
+, sqlalchemy
+, mozsvc
+, tokenserver
+, serversyncstorage
+, configparser
+}:
+
+buildPythonPackage rec {
+  name = "syncserver-${version}";
+  version = "1.6.0";
+  disabled = ! isPy27;
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/syncserver.git;
+    rev = "refs/tags/${version}";
+    sha256 = "1fsiwihgq3z5b5kmssxxil5g2abfvsf6wfikzyvi4sy8hnym77mb";
+  };
+
+  buildInputs = [ unittest2 ];
+  propagatedBuildInputs = [
+    cornice gunicorn pyramid requests simplejson sqlalchemy mozsvc tokenserver
+    serversyncstorage configparser
+  ];
+
+  meta = {
+    maintainers = [ ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
new file mode 100644
index 000000000000..7ebd2f1c967a
--- /dev/null
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ptyprocess
+, tornado
+}:
+
+buildPythonPackage rec {
+  pname = "terminado";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0yh69k6579g848rmjyllb5h75pkvgcy27r1l3yzgkf33wnnzkasm";
+  };
+
+  propagatedBuildInputs = [ ptyprocess tornado ];
+
+  meta = with lib; {
+    description = "Terminals served by Tornado websockets";
+    homepage = https://github.com/jupyter/terminado;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index 498c722a0464..933b4be1caf3 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.1";
+  version = "5.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "670ade9410b7132278209e6a2e893caf098b040c4ba4d5ea848367a9c5588728";
+    sha256 = "338aed9695c432b7c9b8a271dabb521e3e7e2c96b11f7b4e60552f1c8408a8f0";
   };
 
   checkInputs = [ mock manuel pytest sybil zope_component ];
diff --git a/pkgs/development/python-modules/texttable/default.nix b/pkgs/development/python-modules/texttable/default.nix
index 38cffcee2963..fc97297c0106 100644
--- a/pkgs/development/python-modules/texttable/default.nix
+++ b/pkgs/development/python-modules/texttable/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "texttable";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44674d1d470a9fc264c4d1eba44b74463ca0066d7b954453dd5a4f8057779c9c";
+    sha256 = "c89dc0148ae29645917aab7e970a30d1af565b3ca276cef8ab1a60469f0d8100";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/thespian/default.nix b/pkgs/development/python-modules/thespian/default.nix
index 1a2aced6858b..e4ed824d2302 100644
--- a/pkgs/development/python-modules/thespian/default.nix
+++ b/pkgs/development/python-modules/thespian/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchPypi, buildPythonPackage, lib }:
 
 buildPythonPackage rec {
-  version = "3.9.1";
+  version = "3.9.2";
   pname = "thespian";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0b303bv85176xd5mf3q5j549s28wi70ck2xxgj1cvpydh23dzipb";
+    sha256 = "aec9793fecf45bb91fe919dc61b5c48a4aadfb9f94b06cd92883df7952eacf95";
   };
 
   # Do not run the test suite: it takes a long time and uses
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index 3acc42ce2cc3..12edef190dcc 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "0.13.0";
+  version = "0.13.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rqx2bar6dcsbmzq68mjh5bsyjzhbkqxi2dsv7j0vdbnjs5dfq9q";
+    sha256 = "bca0fc9eaf609a27ebd99d8466e05d5a6e79389957f17582b70643dbca65e3d8";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tiros/default.nix b/pkgs/development/python-modules/tiros/default.nix
index a620c6eb58df..7bf21b025219 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.40";
+  version = "1.0.42";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "841ca13564e3cddfd1404cbc60b3433bcc1e31c2753ecea20d0ad68173b80169";
+    sha256 = "d0f9bc6d463654c971a78e02a3159ec62a2db684a217a7e940e66d4a381bdd52";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/tokenserver/default.nix b/pkgs/development/python-modules/tokenserver/default.nix
new file mode 100644
index 000000000000..af7acbc0218e
--- /dev/null
+++ b/pkgs/development/python-modules/tokenserver/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, testfixtures
+, cornice
+, mozsvc
+, pybrowserid
+, tokenlib
+, pymysql
+, umemcache
+, hawkauthlib
+, alembic
+, pymysqlsa
+, paste
+, boto
+}:
+
+buildPythonPackage rec {
+  name = "tokenserver-${version}";
+  version = "1.2.27";
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/tokenserver.git;
+    rev = "refs/tags/${version}";
+    sha256 = "0il3bgjld495g9gxvvrm56kpan5swaizzg216qz3zxmb6w9ly3fm";
+  };
+
+  doCheck = false;
+  buildInputs = [ testfixtures ];
+  propagatedBuildInputs = [ cornice mozsvc pybrowserid tokenlib
+    pymysql umemcache hawkauthlib alembic pymysqlsa paste boto ];
+
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/tornado/default.nix b/pkgs/development/python-modules/tornado/default.nix
index bc39745945d9..ec431a6e85b3 100644
--- a/pkgs/development/python-modules/tornado/default.nix
+++ b/pkgs/development/python-modules/tornado/default.nix
@@ -6,14 +6,16 @@
 , backports_ssl_match_hostname
 , certifi
 , singledispatch
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tornado";
-  version = "4.5.2";
+  version = "4.5.3";
   name = "${pname}-${version}";
 
-  propagatedBuildInputs = [ backports_abc backports_ssl_match_hostname certifi singledispatch ];
+  propagatedBuildInputs = [ backports_abc  certifi singledispatch ]
+    ++ lib.optional (pythonOlder "3.5") backports_ssl_match_hostname;
 
   # We specify the name of the test files to prevent
   # https://github.com/NixOS/nixpkgs/issues/14634
@@ -23,6 +25,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fb8e494cd46c674d86fac5885a3ff87b0e283937a47d74eb3c02a48c9e89ad0";
+    sha256 = "6d14e47eab0e15799cf3cdcc86b0b98279da68522caace2bd7ce644287685f0a";
   };
 }
diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix
new file mode 100644
index 000000000000..edf13782b078
--- /dev/null
+++ b/pkgs/development/python-modules/transitions/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, six, nose, mock, dill, pycodestyle }:
+
+buildPythonPackage rec {
+  pname = "transitions";
+  version = "0.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ikxsjg7vil0yhiwhiimnjzcb1ig6g6g79sdhs9v8rnrszk1mi2n";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "dill<0.2.7" dill
+  '';
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ nose mock dill pycodestyle ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pytransitions/transitions;
+    description = "A lightweight, object-oriented finite state machine implementation in Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index faca6edace5e..5a32a64c2962 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -4,8 +4,6 @@
 buildPythonPackage rec {
   pname = "twilio";
   version = "6.8.0";
-  name = "${pname}-${version}";
-
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index 60947bc769c7..cd2d6c9a3656 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -26,8 +26,10 @@ buildPythonPackage rec {
     substituteInPlace requirements.txt --replace "ipaddress>=1.0.16" ""
   '';
 
+  # Skip a failing test until fixed upstream:
+  # https://github.com/meejah/txtorcon/issues/250
   checkPhase = ''
-    pytest .
+    pytest --ignore=test/test_util.py .
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix
index b441ad8052c0..0af8c47e35cb 100644
--- a/pkgs/development/python-modules/typeguard/default.nix
+++ b/pkgs/development/python-modules/typeguard/default.nix
@@ -9,11 +9,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "typeguard";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l3pih5ca469v7if255h5rqymirsw46bi6s7p885jxhq1gv6cfpk";
+    sha256 = "40b22d18d2215b76b3ddda2564acfbddfa6e702968637fbd969187c2a6fb99da";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/typing/default.nix b/pkgs/development/python-modules/typing/default.nix
new file mode 100644
index 000000000000..d1a9185d5a14
--- /dev/null
+++ b/pkgs/development/python-modules/typing/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, python }:
+
+let
+  testDir = if isPy3k then "src" else "python2";
+
+in buildPythonPackage rec {
+  pname = "typing";
+  version = "3.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2";
+  };
+
+  # Error for Python3.6: ImportError: cannot import name 'ann_module'
+  # See https://github.com/python/typing/pull/280
+  doCheck = pythonOlder "3.6";
+
+  checkPhase = ''
+    cd ${testDir}
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with lib; {
+    description = "Backport of typing module to Python versions older than 3.5";
+    homepage = https://docs.python.org/3/library/typing.html;
+    license = licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix
index e60ed958223b..d90ada606321 100644
--- a/pkgs/development/python-modules/uncertainties/default.nix
+++ b/pkgs/development/python-modules/uncertainties/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "uncertainties";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de0765cac6911e5afa93ee941063a07b4a98dbd9c314c5eea4ab14bfff0054a4";
+    sha256 = "91db922d54dff6094b4ea0d6e058f713a992cdf42e3ebaf73278e1893bfa2942";
   };
 
   buildInputs = [ nose numpy ];
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
index 9b81a28f085e..3cffe3804900 100644
--- a/pkgs/development/python-modules/unidecode/default.nix
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Unidecode";
-  version = "0.04.21";
+  version = "1.0.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lfhp9c5xrbpjvbpr12ji52g1lx04404bzzdg6pvabhzisw6l2i8";
+    sha256 = "8c33dd588e0c9bc22a76eaa0c715a5434851f726131bd44a6c26471746efabf5";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/us/default.nix b/pkgs/development/python-modules/us/default.nix
new file mode 100644
index 000000000000..eb001410ce5f
--- /dev/null
+++ b/pkgs/development/python-modules/us/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jellyfish
+}:
+
+buildPythonPackage rec {
+  pname = "us";
+  version = "1.0.0";
+
+  propagatedBuildInputs = [ jellyfish ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1niglalkp7pinibzbxjdz9mxx9qmwkrh8884dag3kr72cfkrpp09";
+  };
+
+  meta = {
+    description = "A package for easily working with US and state metadata";
+    longDescription = ''
+    all US states and territories, postal abbreviations, Associated Press style
+    abbreviations, FIPS codes, capitals, years of statehood, time zones, phonetic
+    state name lookup, is contiguous or continental, URLs to shapefiles for state,
+    census, congressional districts, counties, and census tracts
+    '';
+    homepage = https://github.com/unitedstates/python-us/;
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/webcolors/default.nix b/pkgs/development/python-modules/webcolors/default.nix
new file mode 100644
index 000000000000..c23bffaf142f
--- /dev/null
+++ b/pkgs/development/python-modules/webcolors/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "webcolors";
+  version = "1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e47e68644d41c0b1f1e4d939cfe4039bdf1ab31234df63c7a4f59d4766487206";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s tests
+  '';
+
+  meta = {
+    description = "Library for working with color names/values defined by the HTML and CSS specifications";
+    homepage = https://bitbucket.org/ubernostrum/webcolors/overview/;
+    license = lib.licenses.bsd3;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index 78380900416d..58be98f183b6 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   checkInputs = [ pytest requests glibcLocales hypothesis ];
 
   checkPhase = ''
-    LC_ALL="en_US.UTF-8" py.test
+    LC_ALL="en_US.UTF-8" py.test ${stdenv.lib.optionalString stdenv.isDarwin "-k 'not test_get_machine_id'"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/whitenoise/default.nix b/pkgs/development/python-modules/whitenoise/default.nix
new file mode 100644
index 000000000000..d2359b2195f0
--- /dev/null
+++ b/pkgs/development/python-modules/whitenoise/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "whitenoise";
+  version = "4.0b4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ra2bbsihwfhnf1ibahzzabgfjfghxqcrbfx6r5r50mlil5n8bf4";
+  };
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Radically simplified static file serving for WSGI applications";
+    homepage = http://whitenoise.evans.io/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index ab63b444af6d..e455f2334110 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.1.0";
+  version = "3.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67fc28c3b9fede955d69bccbd92784e3f0c6d0dee3a71532cd3367c257feb178";
+    sha256 = "02edabcaeaa247721df8027f660f3384c20f30c4865a7ea5dd80685c368736df";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/xcffib/default.nix b/pkgs/development/python-modules/xcffib/default.nix
new file mode 100644
index 000000000000..9b136531a4b9
--- /dev/null
+++ b/pkgs/development/python-modules/xcffib/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, xorg
+, cffi
+, six
+}:
+
+buildPythonPackage rec {
+  version = "0.5.1";
+  pname = "xcffib";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60";
+  };
+
+  patchPhase = ''
+    # Hardcode cairo library path
+    sed -e 's,ffi\.dlopen(,&"${xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py
+  '';
+
+  propagatedBuildInputs = [ cffi six ];
+
+  meta = with stdenv.lib; {
+    description = "A drop in replacement for xpyb, an XCB python binding";
+    homepage = "https://github.com/tych0/xcffib";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ kamilchm ];
+  };
+}
diff --git a/pkgs/development/python-modules/xvfbwrapper/default.nix b/pkgs/development/python-modules/xvfbwrapper/default.nix
new file mode 100644
index 000000000000..4ba9cd61d4c5
--- /dev/null
+++ b/pkgs/development/python-modules/xvfbwrapper/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, xorgserver
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "xvfbwrapper";
+  version = "0.2.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "097wxhvp01ikqpg1z3v8rqhss6f1vwr399zpz9a05d2135bsxx5w";
+  };
+  propagatedBuildInputs = [ xorgserver ];
+
+  checkInputs = [ mock ];
+
+  meta = with stdenv.lib; {
+    description = "Run headless display inside X virtual framebuffer (Xvfb)";
+    homepage = https://github.com/cgoldberg/xvfbwrapper;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ashgillman ];
+  };
+}
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index d7617ae1551b..05913ab61c5e 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.20.0";
+  version = "0.20.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff28f8839a9a105854a099026a33f4cbec8bd933554bfed658aec359bfc88ae8";
+    sha256 = "bd19f246be7193ad2acdc04702b92315f1ae28d49c82f6671afdeefe9d32f468";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix
index cf95803d5af4..e40aa9d05f9c 100644
--- a/pkgs/development/python-modules/yarl/default.nix
+++ b/pkgs/development/python-modules/yarl/default.nix
@@ -1,4 +1,4 @@
-{ lib
+{ stdenv
 , fetchPypi
 , buildPythonPackage
 , multidict
@@ -9,19 +9,20 @@
 
 buildPythonPackage rec {
   pname = "yarl";
-  version = "0.17.0";
-  name = "${pname}-${version}";
+  version = "1.1.0";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2e4e1aec650ad80e73e7063941cd8aadb48e72487ec680a093ad364cc61efe64";
+    sha256 = "162630v7f98l27h11msk9416lqwm2mpgxh4s636594nlbfs9by3a";
   };
 
   checkInputs = [ pytest pytestrunner ];
   propagatedBuildInputs = [ multidict idna ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Yet another URL library";
     homepage = https://github.com/aio-libs/yarl/;
-    license = lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
index e00d6c7e24ba..64b2874ef627 100644
--- a/pkgs/development/python-modules/zeep/default.nix
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -25,13 +25,13 @@
 
 let
   pname = "zeep";
-  version = "2.4.0";
+  version = "2.5.0";
 in buildPythonPackage {
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8631e2735c5f2219eb18ca4f0615ae482455628518508f69c3690dbfb8238aee";
+    sha256 = "4f9db52c7d269813fc6251da4cb050869158858aeea75a055b4550f19e52ac84";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index a435ee65e52c..ee1fb24b3098 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -3,7 +3,7 @@
 { R, pkgs, overrides }:
 
 let
-  inherit (pkgs) fetchurl stdenv lib;
+  inherit (pkgs) cacert fetchurl stdenv lib;
 
   buildRPackage = pkgs.callPackage ./generic-builder.nix {
     inherit R;
@@ -246,6 +246,7 @@ let
     ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ];
     cit = [ pkgs.gsl_1 ];
     curl = [ pkgs.curl.dev ];
+    data_table = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
     diversitree = [ pkgs.gsl_1 pkgs.fftw ];
     EMCluster = [ pkgs.liblapack ];
@@ -284,7 +285,7 @@ let
     pbdMPI = [ pkgs.openmpi ];
     pbdNCDF4 = [ pkgs.netcdf ];
     pbdPROF = [ pkgs.openmpi ];
-    pbdZMQ = [ pkgs.which ];
+    pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ];
     pdftools = [ pkgs.poppler.dev ];
     PKI = [ pkgs.openssl.dev ];
     png = [ pkgs.libpng.dev ];
@@ -392,6 +393,7 @@ let
     nat = [ pkgs.which ];
     nat_nblast = [ pkgs.which ];
     nat_templatebrains = [ pkgs.which ];
+    pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.binutils.bintools ];
     RMark = [ pkgs.which ];
     RPushbullet = [ pkgs.which ];
     qtpaint = [ pkgs.cmake ];
@@ -744,6 +746,11 @@ let
       patchPhase = "patchShebangs configure";
     });
 
+    data_table = old.data_table.overrideDerivation (attrs: {
+      NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
+        + lib.optionalString stdenv.isDarwin " -fopenmp";
+    });
+
     rpf = old.rpf.overrideDerivation (attrs: {
       patchPhase = "patchShebangs configure";
     });
@@ -770,6 +777,14 @@ let
       PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
     });
 
+    pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: {
+      postPatch = lib.optionalString stdenv.isDarwin ''
+        for file in R/*.{r,r.in}; do
+            sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.binutils.bintools}/bin/\1"#g' $file
+        done
+      '';
+    });
+
     qtbase = old.qtbase.overrideDerivation (attrs: {
       patches = [ ./patches/qtbase.patch ];
     });
@@ -912,9 +927,7 @@ let
     });
 
     geojsonio = old.geojsonio.overrideDerivation (attrs: {
-      preConfigure = ''
-        export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
-        '';
+      buildInputs = [ cacert ] ++ attrs.buildInputs;
     });
 
     rstan = old.rstan.overrideDerivation (attrs: {
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
index fbf784db0cc6..c965e5a937a4 100644
--- a/pkgs/development/tools/alloy/default.nix
+++ b/pkgs/development/tools/alloy/default.nix
@@ -54,6 +54,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://alloy.mit.edu/alloy/download.html;
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix
index 3ce5f23f6457..2b4a87ffcb8d 100644
--- a/pkgs/development/tools/analysis/coan/default.nix
+++ b/pkgs/development/tools/analysis/coan/default.nix
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     homepage = http://coan2.sourceforge.net/;
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/analysis/egypt/default.nix b/pkgs/development/tools/analysis/egypt/default.nix
index 572e2f744714..a7f29017fbe0 100644
--- a/pkgs/development/tools/analysis/egypt/default.nix
+++ b/pkgs/development/tools/analysis/egypt/default.nix
@@ -28,6 +28,5 @@ buildPerlPackage rec {
     homepage = http://www.gson.org/egypt/;
     license = with licenses; [ artistic1 gpl1Plus ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 1ae8a4ff4043..69ca68351ba1 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -4,14 +4,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.63.1";
+  version = "0.65.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1djcyf1c88xw5mv1gh4wggy16d2gi84ndj31n11y5qh99hh3lmfl";
+    sha256 = "00m9wqfqpnv7p2kz0970254jfaqakb12lsnhk95hw47ghfyb2f7p";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
index 7f34ec0fd630..f2481013fbbd 100644
--- a/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -30,6 +30,5 @@ stdenv.mkDerivation rec {
     homepage = http://include-what-you-use.org;
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index ad887baf23e9..000e5e3393bf 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage = http://ltp.sourceforge.net/coverage/lcov.php;
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ dezgeg mornfall ];
+    maintainers = with maintainers; [ dezgeg ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 8db532d2febe..15be7554c198 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qmake, qtbase, perl, python, php, kcachegrind }:
+{ stdenv, fetchurl, cmake, qmake, qtbase, perl, python, php, kcachegrind, fetchpatch }:
 
 let
   name = stdenv.lib.replaceStrings ["kcachegrind"] ["qcachegrind"] kcachegrind.name;
@@ -12,6 +12,14 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ qmake ];
 
+  patches = [
+    (fetchpatch {
+      name = "fix-qt5_10-build.patch";
+      url = https://github.com/KDE/kcachegrind/commit/c41607a.patch;
+      sha256 = "00kh5im3hpcarch8rc2dsgxsajfmd8vd7rry9x6mxrbkgr4ifq8y";
+    })
+  ];
+
   postInstall = ''
      mkdir -p $out/bin
      cp -p converters/dprof2calltree $out/bin/dprof2calltree
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index adcda4c83241..f88546163d44 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl,
+{ stdenv, fetchFromGitHub, fetchurl, fetchzip,
 # Native build inputs
 cmake,
 autoconf, automake, libtool,
@@ -15,6 +15,8 @@ ncurses,
 libffi,
 libxml2,
 zlib,
+# PE (Windows) data, huge space savings if not needed
+withPEPatterns ? false,
 }:
 
 let
@@ -53,9 +55,14 @@ let
     sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj";
   };
 
-  retdec-support = fetchurl {
+  retdec-support = fetchzip {
     url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz";
-    sha256 = "6376af57a77147f1363896963d8c1b3745ddb9a6bcec83d63a5846c3f78aeef9";
+    sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3"
+                               else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv";
+    # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed)
+    extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) ''
+      rm -rf $out/generic/yara_patterns/static-code/pe
+    '';
   };
 in stdenv.mkDerivation rec {
   name = "retdec-${version}";
@@ -90,13 +97,14 @@ in stdenv.mkDerivation rec {
     find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \
       xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|'
 
+    cat > cmake/install-share.sh <<EOF
+      #!/bin/sh
+      mkdir -p $out/share/retdec/
+      ln -s ${retdec-support} $out/share/retdec/support
+    EOF
     chmod +x cmake/*.sh
     patchShebangs cmake/*.sh
 
-    sed -i cmake/install-share.sh \
-      -e 's|WGET_PARAMS.*|cp ${retdec-support} "$INSTALL_PATH/$ARCH_NAME"|' \
-      -e '/echo "RUN: wget/,+7d'
-
     substituteInPlace scripts/unpack.sh --replace '	upx -d' '	${upx}/bin/upx -d'
     substituteInPlace scripts/config.sh --replace /usr/bin/time ${time}/bin/time
   '';
@@ -105,9 +113,8 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A retargetable machine-code decompiler based on LLVM";
-    inherit (src.meta) homepage;
+    homepage = https://retdec.com;
     license = licenses.mit;
     maintainers = with maintainers; [ dtzWill ];
   };
 }
-
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 9d361aced326..284bf26782fe 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -35,6 +35,6 @@ in stdenv.mkDerivation rec {
     homepage = http://spinroot.com/;
     license = licenses.free;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mornfall pSub ];
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix
index f8c1f01d4464..d131232e96d9 100644
--- a/pkgs/development/tools/build-managers/bazel/0.4.nix
+++ b/pkgs/development/tools/build-managers/bazel/0.4.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
   sourceRoot = ".";
 
-  patches = lib.optional enableNixHacks ./nix-hacks.patch;
+  patches = lib.optional enableNixHacks ./nix-hacks-0.4.patch;
 
   postPatch = ''
     for f in $(grep -l -r '/bin/bash'); do
diff --git a/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch b/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch
new file mode 100644
index 000000000000..563fe635e6b0
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/nix-hacks-0.4.patch
@@ -0,0 +1,51 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+index eafa09fb5..d2d5e40e8 100644
+--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+@@ -287,21 +287,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
+           markerData.put(key, value);
+         }
+       }
+-      boolean result = false;
+-      if (markerRuleKey.equals(ruleKey)) {
+-        result = handler.verifyMarkerData(rule, markerData, env);
+-        if (env.valuesMissing()) {
+-          return null;
+-        }
+-      }
+ 
+-      if (result) {
+-        return new Fingerprint().addString(content).digestAndReset();
+-      } else {
+-        // So that we are in a consistent state if something happens while fetching the repository
+-        markerPath.delete();
+-        return null;
+-      }
++      return new Fingerprint().addString(content).digestAndReset();
+ 
+     } catch (IOException e) {
+       throw new RepositoryFunctionException(e, Transience.TRANSIENT);
+diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+index a7ebc8f7a..40f2049fa 100644
+--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+@@ -129,7 +129,6 @@ public class JavaSubprocessFactory implements SubprocessFactory {
+     ProcessBuilder builder = new ProcessBuilder();
+     builder.command(params.getArgv());
+     if (params.getEnv() != null) {
+-      builder.environment().clear();
+       builder.environment().putAll(params.getEnv());
+     }
+ 
+diff --git a/src/main/java/com/google/devtools/build/lib/worker/Worker.java b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
+index 0268d1b2b..637364657 100644
+--- a/src/main/java/com/google/devtools/build/lib/worker/Worker.java
++++ b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
+@@ -77,7 +77,6 @@ class Worker {
+         new ProcessBuilder(command)
+             .directory(workDir.getPathFile())
+             .redirectError(Redirect.appendTo(logFile.getPathFile()));
+-    processBuilder.environment().clear();
+     processBuilder.environment().putAll(workerKey.getEnv());
+ 
+     this.process = processBuilder.start();
diff --git a/pkgs/development/tools/build-managers/bazel/nix-hacks.patch b/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
index 563fe635e6b0..da3f6248f220 100644
--- a/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
+++ b/pkgs/development/tools/build-managers/bazel/nix-hacks.patch
@@ -1,8 +1,7 @@
-diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-index eafa09fb5..d2d5e40e8 100644
---- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
-@@ -287,21 +287,8 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
+diff -Naur a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java	1980-01-01 00:00:00.000000000 -0500
++++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java	2018-01-18 08:17:22.420459162 -0500
+@@ -287,21 +287,8 @@
            markerData.put(key, value);
          }
        }
@@ -25,11 +24,10 @@ index eafa09fb5..d2d5e40e8 100644
  
      } catch (IOException e) {
        throw new RepositoryFunctionException(e, Transience.TRANSIENT);
-diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-index a7ebc8f7a..40f2049fa 100644
---- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-+++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
-@@ -129,7 +129,6 @@ public class JavaSubprocessFactory implements SubprocessFactory {
+diff -Naur a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java	1980-01-01 00:00:00.000000000 -0500
++++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java	2018-01-18 08:17:53.274877980 -0500
+@@ -129,7 +129,6 @@
      ProcessBuilder builder = new ProcessBuilder();
      builder.command(params.getArgv());
      if (params.getEnv() != null) {
@@ -37,15 +35,3 @@ index a7ebc8f7a..40f2049fa 100644
        builder.environment().putAll(params.getEnv());
      }
  
-diff --git a/src/main/java/com/google/devtools/build/lib/worker/Worker.java b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-index 0268d1b2b..637364657 100644
---- a/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-+++ b/src/main/java/com/google/devtools/build/lib/worker/Worker.java
-@@ -77,7 +77,6 @@ class Worker {
-         new ProcessBuilder(command)
-             .directory(workDir.getPathFile())
-             .redirectError(Redirect.appendTo(logFile.getPathFile()));
--    processBuilder.environment().clear();
-     processBuilder.environment().putAll(workerKey.getEnv());
- 
-     this.process = processBuilder.start();
diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix
index 2bfec89aa660..6afec72de5fd 100644
--- a/pkgs/development/tools/build-managers/bear/default.nix
+++ b/pkgs/development/tools/build-managers/bear/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "bear-${version}";
-  version = "2.2.1";
+  version = "2.3.11";
 
   src = fetchFromGitHub {
     owner = "rizsotto";
     repo = "Bear";
     rev = version;
-    sha256 = "1rwar5nvvhfqws4nwyifaysqs3nxpphp48lx9mdg5n6l4z7drz0n";
+    sha256 = "0r6ykvclq9ws055ssd8w33dicmk5l9pisv0fpzkks700n8d3z9f3";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -31,4 +31,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.vcunat ];
   };
 }
-
diff --git a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
index 16d7a9bfd3e4..f70e3811f654 100644
--- a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
+++ b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
@@ -1,31 +1,23 @@
---- Bear-2.2.1-src/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
-+++ Bear-2.2.1-src-patch/bear/main.py.in	2016-11-02 20:23:38.050134984 +0100
-@@ -48,6 +48,7 @@
+--- Bear-2.3.11-src/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
++++ Bear-2.3.11-src-patch/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
+@@ -49,6 +49,7 @@
  import shutil
  import contextlib
  import logging
 +from distutils.spawn import find_executable
  
- # Ignored compiler options map for compilation database creation.
- # The map is used in `split_command` method. (Which does ignore and classify
-@@ -447,7 +448,6 @@
-     # do extra check on number of source files
-     return result if result.files else None
+ # Map of ignored compiler option for the creation of a compilation database.
+ # This map is used in _split_command method, which classifies the parameters
+@@ -540,7 +541,11 @@
+                 any(pattern.match(cmd) for pattern in COMPILER_PATTERNS_CXX)
  
--
- def split_compiler(command):
-     """ A predicate to decide the command is a compiler call or not.
- 
-@@ -467,7 +467,11 @@
-                    for pattern in COMPILER_CPP_PATTERNS)
- 
-     if command:  # not empty list will allow to index '0' and '1:'
--        executable = os.path.basename(command[0])
-+        absolute_executable = os.path.realpath(find_executable(command[0]))
-+        if 'wrapper' in absolute_executable:
-+            return None
+         if command:  # not empty list will allow to index '0' and '1:'
+-            executable = os.path.basename(command[0])  # type: str
++            absolute_executable = os.path.realpath(find_executable(command[0]))
++            if 'wrapper' in absolute_executable:
++                return None
 +
-+        executable = os.path.basename(absolute_executable)
-         parameters = command[1:]
-         # 'wrapper' 'parameters' and
-         # 'wrapper' 'compiler' 'parameters' are valid.
++            executable = os.path.basename(absolute_executable) # type: str
+             parameters = command[1:]  # type: List[str]
+             # 'wrapper' 'parameters' and
+             # 'wrapper' 'compiler' 'parameters' are valid.
\ No newline at end of file
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index a2d77f0321a3..d62ccd0c9fda 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, openssh, buildbot-worker, pythonPackages, runCommand, makeWrapper }:
+{ stdenv, lib, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }:
 
 let
   withPlugins = plugins: runCommand "wrapped-${package.name}" {
@@ -14,11 +14,11 @@ let
   package = pythonPackages.buildPythonApplication rec {
     name = "${pname}-${version}";
     pname = "buildbot";
-    version = "0.9.11";
+    version = "0.9.15.post1";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1s3y218wry7502xp4zxccf3z996xm8cnp3dcxl7m5ldmmb055qwv";
+      sha256 = "01m5x4lpz90lqf8j0s2c26gqb5yzan6x9d1ffgmrklwf0bljkwni";
     };
 
     buildInputs = with pythonPackages; [
@@ -36,6 +36,7 @@ let
       pyflakes
       openssh
       buildbot-worker
+      buildbot-pkg
       treq
     ];
 
diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/tools/build-managers/buildbot/pkg.nix
new file mode 100644
index 000000000000..8b23f8a24889
--- /dev/null
+++ b/pkgs/development/tools/build-managers/buildbot/pkg.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, setuptools }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "buildbot-pkg";
+  version = "0.9.15.post1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gsa5fi1gkwnz8dsrl2s5kzcfawnj3nl8g8h6z1winz627l9n8sh";
+  };
+
+  propagatedBuildInputs = [ setuptools ];
+
+  postPatch = ''
+    # Their listdir function filters out `node_modules` folders.
+    # Do we have to care about that with Nix...?
+    substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://buildbot.net/;
+    description = "Buildbot Packaging Helper";
+    maintainers = with maintainers; [ nand0p ryansydnor ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
index ec4bf161562a..40aaad2efd25 100644
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -1,27 +1,6 @@
-{ stdenv, pythonPackages }:
+{ stdenv, pythonPackages, buildbot-pkg }:
 
-let
-  buildbot-pkg = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-pkg";
-    version = "0.9.11";
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "1gh7wj9z7n7yfs219jbv9pdd2w8dwj6qpa090ffjkfpgd3xana33";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ setuptools ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot Packaging Helper";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-
-in {
+{
   www = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot_www";
@@ -32,7 +11,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version format;
-      sha256 = "0fk1swdncg4nha744mzkf6jqh1zv1cfhnqvd19669kjcyjx9i68d";
+      sha256 = "19cnzp5prima3jrk525xspw7vqc5pjln2nihj4kc3w90dhzllj8x";
     };
 
     meta = with stdenv.lib; {
@@ -50,7 +29,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "16wxgnh35916c2gw34971ynx319lnm9addhqvii885vid44pqim0";
+      sha256 = "1j6aw2j2sl7ix8rb67pbs6nfvv8v3smgkvqzsjsyh5sdfr2663cg";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -70,7 +49,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1hcr8xsc0ajfg2vz2h8g5s8ypsp32kdplgqp21jh8z5y0a6nzqsl";
+      sha256 = "0k0wd4rq034bij2flfjv60h8czkfn836bnaa7hwsrl58gxds39m4";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -90,7 +69,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0aw1073xq549q5jkjk31zhqpasp8jiy4gch0fjyw8qy0dax8hc7r";
+      sha256 = "08ng56jmy50s3zyn6wxizji1zhgzhi65z7w3wljg02qrbd5688gj";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -110,7 +89,7 @@ in {
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0x99mdmn1ngcnmkxr40hwqafsq48jybdz45y5kpc0yw68n0bfwmv";
+      sha256 = "15fm72yymv873n3vsw9kprypcf6jzln18v4lb062n8lqw9pykwb1";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
index 4fe728b9ce64..51d6a5b56952 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot-worker";
-  version = "0.9.11";
+  version = "0.9.15.post1";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0lb8kwg3m9jgrww929d5nrjs4rj489mb4dnsdxcbdb358jbbym22";
+    sha256 = "12zscqb218w88y9fd1jwfn4cr2sw35j998d0jlgd22bch020sy65";
   };
 
   buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index fb38e52811cf..b4b2a4210d21 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -77,6 +77,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ mornfall ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index b04b38e30486..fed88561cf9c 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig
 , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
+, majorVersion ? "3.10"
 # darwin attributes
 , ps
 , isBootstrap ? false
@@ -14,10 +15,23 @@ assert useQt4 -> withQt5 == false;
 
 with stdenv.lib;
 
+with (
+  {
+    "3.10" = {
+      minorVersion = "2";
+      sha256 = "80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b";
+    };
+    "3.9" = {
+      minorVersion = "6";
+      sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    };
+
+  }.${majorVersion}
+    or (abort ''Unsupported configuration for cmake: majorVersion = "${majorVersion}";'')
+);
+
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.9";
-  minorVersion = "6";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -28,8 +42,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.6-SHA-256.txt
-    sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    # from https://cmake.org/files/v3.10/cmake-3.10.2-SHA-256.txt
+    inherit sha256;
   };
 
   prePatch = optionalString (!useSharedLibraries) ''
@@ -78,6 +92,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else platforms.all;
-    maintainers = with maintainers; [ mornfall ttuegel lnl7 ];
+    maintainers = with maintainers; [ ttuegel lnl7 ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index a92d54b3f144..a0f1cf00814c 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -43,7 +43,7 @@ cmakeConfigurePhase() {
     # libraries are in a system path or in the same directory as the
     # executable. This flag makes the shared library accessible from its
     # nix/store directory.
-    cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=$prefix/lib $cmakeFlags"
+    cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=${!outputLib}/lib $cmakeFlags"
     cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags"
     cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputDev}/include $cmakeFlags"
 
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 15e801c1dffa..8af11f057380 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }:
+{ stdenv, fetchFromGitHub, fetchpatch, curl, dmd, libevent, rsync }:
 
 let
 
   dubBuild = stdenv.mkDerivation rec {
     name = "dubBuild-${version}";
-    version = "1.6.0";
+    version = "1.7.1";
 
     enableParallelBuilding = true;
 
@@ -12,9 +12,17 @@ let
       owner = "dlang";
       repo = "dub";
       rev = "v${version}";
-      sha256 = "1xjr5pp263lbcd4harxy1ybh7q0kzj9iyy63ji6pn66fizrgm7zk";
+      sha256 = "09bcc9bq2z1rbm8sdip1l81y5p8q13r30k02lzifyasiplrnpvlv";
     };
 
+    patches = [
+      # TODO Remove with next release which contains https://github.com/dlang/dub/pull/1354
+      (fetchpatch {
+        url = "https://patch-diff.githubusercontent.com/raw/dlang/dub/pull/1354.patch";
+        sha256 = "01alky8a91qwjmlnfjbrn8kiivwr69f3j4c84cjlxrzfp1ph20ah";
+      })
+    ];
+
     postPatch = ''
       # Avoid that the version file is overwritten
       substituteInPlace build.sh \
@@ -59,6 +67,8 @@ let
     outputHash = builtins.hashString "sha256" inputString;
 
     src = dubBuild.src;
+    
+    patches = dubBuild.patches;
 
     postPatch = dubBuild.postPatch;
 
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 77f2e561317b..bdf446d4d12a 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.4";
+    name = "gradle-4.5";
     nativeVersion = "0.14";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0bqaksrxrshqjwba0wj72gbcxvcchjavlj39xh18qpkz5jp76j7s";
+      sha256 = "1qxmb4mki2gjhfwmy7lwak283l86iq3nivw57a2gpw2g64xa9wh3";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index ac9bfee815e7..2744dac2500b 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     description = "A program maintenance (make) utility using a C-like grammar";
     homepage = https://fbb-git.github.io/icmake/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ nckx pSub ];
+    maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 05bf8e76db73..30531c980b0b 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.7.1";
+  version = "2.8.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "0rmshl4xchf3blwvar4q9dpxm9xznn3yzas4vwxqiq3yhapgqkn0";
+    sha256 = "0wk4m7m66xxx7i3nis08mc8qna7acgcmpim562vdyyrpbxdhj24i";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "0ivwb1qlxs1hyical0fjgavm9wfkw3f10sk67p5g2p5lpf4pxp1d";
+    sha256 = "0n3wkb0a9g25r1xq93lskay2lw210qymz2qakjnl5vr5zz3vnjgw";
   };
 
   JARNAME = "${name}-standalone.jar";
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
index 25e2e69ef315..8f96e6146be0 100644
--- a/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh
@@ -25,3 +25,15 @@ if [ -z "$dontUseMesonConfigure" -a -z "$configurePhase" ]; then
     setOutputFlags=
     configurePhase=mesonConfigurePhase
 fi
+
+mesonCheckPhase() {
+    runHook preCheck
+
+    meson test
+
+    runHook postCheck
+}
+
+if [ -z "$dontUseMesonCheck" -a -z "$checkPhase" ]; then
+    checkPhase=mesonCheckPhase
+fi
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 46cee51e0e6f..ab090e6dc129 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -44,6 +44,6 @@ buildGoPackage {
     homepage = https://buildkite.com/docs/agent;
     license = licenses.mit;
     maintainers = with maintainers; [ pawelpacana zimbatm ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index cf4d5bcaa40c..e7c2509ce771 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.3.0";
+  version = "10.4.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 = "0nhxxx2wxnli5nfz8vxqc0mwdjzj836zx3zmywnfyy1k2zybjijv";
+    sha256 = "0fcddi1mwgj831abn628zcpwsah3mmvrbdi851pjf8vraynwr2xa";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0jacimz4p9k5s9j510g3vn7gg8pybpa20j4cvz4pffrcwl1lgk4i";
+    sha256 = "1zlk3i9jzmsqz5r3kzg08z9hyhidw9dpv5ji46bnbjis8q3dlw54";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0wjy5bbz6bw0na57vglcwzn17q980x6j24qkschqx49rjyk3fz2i";
+    sha256 = "0kp6h53d1q652i4wp94hydy1ixlgmqh92sjsc6pqicnfc7nvwgfq";
   };
 
   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 399fc62bd172..1586d6360877 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.101";
+  version = "2.105";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "0ragl8hhdlx2zpjzrx3xsvr5i0fvgshgbkqx0h48hgm73pf99227";
+    sha256 = "0q6xyjkqlrwjgf7rzmyy8m0w7lhqyavici76zzngg159xkyh5cfh";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/database/pgcli/default.nix b/pkgs/development/tools/database/pgcli/default.nix
index bcb0cf1d5e4c..4ea3589476bd 100644
--- a/pkgs/development/tools/database/pgcli/default.nix
+++ b/pkgs/development/tools/database/pgcli/default.nix
@@ -35,6 +35,5 @@ pythonPackages.buildPythonApplication rec {
     '';
     homepage = https://pgcli.com;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
new file mode 100644
index 000000000000..20123a0600e7
--- /dev/null
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, pythonPackages, fetchFromGitHub }:
+
+let
+  pgdbconn = pythonPackages.buildPythonPackage rec {
+    pname = "pgdbconn";
+    version = "0.8.0";
+    src = fetchFromGitHub {
+      owner = "perseas";
+      repo = "pgdbconn";
+      rev = "26c1490e4f32e4b5b925e5b82014ad106ba5b057";
+      sha256 = "09r4idk5kmqi3yig7ip61r6js8blnmac5n4q32cdcbp1rcwzdn6z";
+    };
+    # The tests are impure (they try to access a PostgreSQL server)
+    doCheck = false;
+    propagatedBuildInputs = [
+      pythonPackages.psycopg2
+      pythonPackages.pytest
+    ];
+  };
+in
+
+pythonPackages.buildPythonApplication rec {
+  pname = "pyrseas";
+  version = "0.8.0";
+  src = fetchFromGitHub {
+    owner = "perseas";
+    repo = "Pyrseas";
+    rev = "2e9be763e61168cf20d28bd69010dc5875bd7b97";
+    sha256 = "1h9vahplqh0rzqjsdq64qqar6hj1bpbc6nl1pqwwgca56385br8r";
+  };
+  # The tests are impure (they try to access a PostgreSQL server)
+  doCheck = false;
+  propagatedBuildInputs = [
+    pythonPackages.psycopg2
+    pythonPackages.pytest
+    pythonPackages.pyyaml
+    pgdbconn
+  ];
+  meta = {
+    description = "A declarative language to describe PostgreSQL databases";
+    homepage = http://perseas.github.io/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ pmeunier ];
+  };
+}
diff --git a/pkgs/development/tools/deis/default.nix b/pkgs/development/tools/deis/default.nix
index fe4ec06322f4..91037e6dfaa9 100644
--- a/pkgs/development/tools/deis/default.nix
+++ b/pkgs/development/tools/deis/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "deis-${version}";
-  version = "1.13.3";
+  version = "1.13.4";
   rev = "v${version}";
 
   goPackagePath = "github.com/deis/deis";
@@ -18,7 +18,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "deis";
     repo = "deis";
-    sha256 = "15q44jyjms8fdmly0z4sn4ymf1dx6cmdavgixjixdj2wbjw0yi2p";
+    sha256 = "0hndzvlgpfm83c4i1c88byv8j9clagswa79nny8wrw33dx90dym1";
   };
 
   preBuild = ''
diff --git a/pkgs/development/tools/dep/default.nix b/pkgs/development/tools/dep/default.nix
index e22be524f021..477c874af011 100644
--- a/pkgs/development/tools/dep/default.nix
+++ b/pkgs/development/tools/dep/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "dep-${version}";
-  version = "0.3.1";
+  version = "0.4.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/golang/dep";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "golang";
     repo = "dep";
-    sha256 = "0dsiaqfrp7ihhx10qapkl6zm3dw3rwdgcr9rkvmq8zprcp7njz90";
+    sha256 = "0183xq5l4sinnclynv6xi85vmk69mqpy5wjfsgh8bxwziq3vkd7y";
   };
 
   buildFlagsArray = ("-ldflags=-s -w -X main.commitHash=${rev} -X main.version=${version}");
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index c803de9e0247..05418aa39a8c 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "doxygen-1.8.11";
+  name = "doxygen-1.8.14";
 
   src = fetchurl {
     url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35";
+    sha256 = "d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index b6774fe24168..daa25de95080 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.078.0";
+  version = "2.078.1";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "1ia4swyq0xqppnpmcalh2yxywdk2gv3kvni2abx1mq6wwqgmwlcr";
+      sha256 = "0b9lphh4g3r9cyzv4wcfppv9j3w952vvwv615za23acgwav3mqg2";
       name = "dmd";
     })
     (fetchFromGitHub {
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index fb91989775b4..0df2decef2cb 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv }:
 
 let
-  version = "1.7.9";
+  version = "1.7.11";
   name = "electron-${version}";
 
   throwSystem = throw "Unsupported system: ${stdenv.system}";
@@ -20,15 +20,15 @@ let
     src = {
       i686-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
-        sha256 = "0m87n7hqimg93z3m8pa1ggs69f3h5mjrsrrl7x80hxmp3w142krc";
+        sha256 = "0mxrayczs6fc2a53fzfbgs88l71wm7hadq9ir510kicakblmdbyx";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-        sha256 = "17ii0x6326mwjd0x5dj2693r67y0jra88hkqcpddcq08vf1knr2f";
+        sha256 = "0v22xhzbq9lcbc83laqs45pbx8gzv648qfkj01pxfsmv3lb4myrl";
       };
       armv7l-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
-        sha256 = "17jkma50d6az8dbyrym8z2lsw2n0r6jhdlm8pb5c928bzgshryqm";
+        sha256 = "02n2y69zwzacigqp6f4vg47cmjzf8gvbbispmzkg3pnzk4qc9473";
       };
     }.${stdenv.system} or throwSystem;
 
@@ -56,7 +56,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "1s8kslp101xyaffb3rf8p5cw3p6zij2mn19fa68ykx4naykkwaly";
+      sha256 = "19kfb09ap780ayk7miqfr6gmba9rd10f9q9aphj35yk7cl22znbr";
     };
 
     buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/fac/default.nix b/pkgs/development/tools/fac/default.nix
index 22b5ff4f0866..c587505600c9 100644
--- a/pkgs/development/tools/fac/default.nix
+++ b/pkgs/development/tools/fac/default.nix
@@ -1,8 +1,14 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, git }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, makeWrapper, git }:
 
-buildGoPackage rec {
+let
+  # TODO: Remove this on next update, should be included
+  fac_1 = fetchurl {
+    url = https://raw.githubusercontent.com/mkchoi212/fac/0a500c2a2dba9017fe7c2a45f15c328755f561a6/doc/fac.1;
+    sha256 = "1fsyx9i20ryhpihdpvs2z7vccl13b9bnh5hcdxn7bvqjz78mbqhw";
+  };
+in buildGoPackage rec {
   name = "fac-${version}";
-  version = "1.0.1";
+  version = "1.0.4";
 
   goPackagePath = "github.com/mkchoi212/fac";
 
@@ -10,7 +16,7 @@ buildGoPackage rec {
     owner = "mkchoi212";
     repo = "fac";
     rev = "v${version}";
-    sha256 = "1j5kip3l3p9qlly03pih905sdz3ncvpj7135jpnfhckbk1s5x9dc";
+    sha256 = "0jhx80jbkxfxj95hmdpb9wwwya064xpfkaa218l1lwm3qwfbpk95";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,6 +24,8 @@ buildGoPackage rec {
   postInstall = ''
     wrapProgram $bin/bin/fac \
       --prefix PATH : ${git}/bin
+
+    install -D ${fac_1} $out/share/man/man1/fac.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/go-symbols/default.nix b/pkgs/development/tools/go-symbols/default.nix
new file mode 100644
index 000000000000..9a8b592b038d
--- /dev/null
+++ b/pkgs/development/tools/go-symbols/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "go-symbols-${version}";
+  version = "unstable-2017-02-06";
+  rev = "5a7f75904fb552189036c640d04cd6afef664836";
+
+  goPackagePath = "github.com/acroca/go-symbols";
+  goDeps = ./deps.nix;
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/acroca/go-symbols";
+    sha256 = "0qh2jjhwwk48gi8yii0z031bah11anxfz81nwflsiww7n426a8bb";
+  };
+
+  meta = {
+    description = "A utility for extracting a JSON representation of the package symbols from a go source tree.";
+    homepage = https://github.com/acroca/go-symbols;
+    maintainers = with stdenv.lib.maintainers; [ vdemeester ];
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/tools/go-symbols/deps.nix b/pkgs/development/tools/go-symbols/deps.nix
new file mode 100644
index 000000000000..6a333b58bec6
--- /dev/null
+++ b/pkgs/development/tools/go-symbols/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/tools";
+      rev = "96b5a5404f303f074e6117d832a9873c439508f0";
+      sha256 = "1h6r9xyp1v3w2x8d108vzghn65l6ia2h895irypmrwymfcp30y42";
+    };
+  }
+]
diff --git a/pkgs/development/tools/gpp/default.nix b/pkgs/development/tools/gpp/default.nix
new file mode 100644
index 000000000000..461110b63d71
--- /dev/null
+++ b/pkgs/development/tools/gpp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "gpp-${version}";
+  version = "2.25";
+
+  src = fetchFromGitHub {
+    owner = "logological";
+    repo = "gpp";
+    rev = "96c5dd8905384ea188f380f51d24cbd7fd58f642";
+    sha256 = "0bvhnx3yfhbfiqqhhz6k2a596ls5rval7ykbp3jl5b6062xj861b";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  installCheckPhase = "$out/bin/gpp --help";
+  doInstallCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "General-purpose preprocessor with customizable syntax";
+    homepage = "https://logological.org/gpp";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ nmattia ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/development/tools/haskell/intero-nix-shim/default.nix b/pkgs/development/tools/haskell/intero-nix-shim/default.nix
deleted file mode 100644
index 379d6b7e472d..000000000000
--- a/pkgs/development/tools/haskell/intero-nix-shim/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ mkDerivation, base, cabal-install, directory, fetchFromGitHub
-, filepath, intero, optparse-applicative, posix-escape, split
-, stdenv, unix
-}:
-mkDerivation {
-  pname = "intero-nix-shim";
-  version = "0.1.2";
-  src = fetchFromGitHub {
-    owner = "michalrus";
-    repo = "intero-nix-shim";
-    rev = "0.1.2";
-    sha256 = "0p1h3w15bgvsbzi7f1n2dxxxz9yq7vmbxmww5igc5d3dm76skgzg";
-  };
-  isLibrary = false;
-  isExecutable = true;
-  executableHaskellDepends = [
-    base directory filepath optparse-applicative posix-escape split
-    unix
-  ];
-  postInstall = ''
-    mkdir -p $out/libexec
-    ln -s ${cabal-install}/bin/cabal  $out/libexec
-    ln -s ${intero       }/bin/intero $out/libexec
-  '';
-  homepage = https://github.com/michalrus/intero-nix-shim;
-  license = stdenv.lib.licenses.asl20;
-  broken = true; # https://hydra.nixos.org/build/66703340
-}
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index 8f9095fae131..c21d5595708a 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -1,29 +1,28 @@
-{ stdenv, ghc, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "multi-ghc-travis-${version}";
-  version = "20170728-git";
-
-  buildInputs = [ ghc ];
-
+{ mkDerivation, base, bytestring, Cabal, containers, deepseq, Diff
+, directory, filepath, ShellCheck, stdenv, tasty, tasty-golden
+, transformers, fetchFromGitHub
+}:
+mkDerivation {
+  pname = "make-travis-yml";
+  version = "0";
   src = fetchFromGitHub {
     owner = "hvr";
     repo = "multi-ghc-travis";
-    rev = "437739986fc81ca8c010e5d889348ba74171e680";
-    sha256 = "05fbc7ab9c25k19xj0iax72gv62l89dw2m4bci7h76y9hcajs5v4";
-  };
-
-  installPhase = ''
-    mkdir -p $out/bin
-    ghc -O --make make_travis_yml.hs -o $out/bin/make-travis-yml
-    ghc -O --make make_travis_yml_2.hs -o $out/bin/make-travis-yml-2
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Generate .travis.yml for multiple ghc versions";
-    homepage = https://github.com/hvr/multi-ghc-travis;
-    license = licenses.bsd3;
-    platforms = ghc.meta.platforms;
-    maintainers = with maintainers; [ jb55 peti ];
+    rev = "0d1b4089f6829659149747c9551712d24fd0b124";
+    sha256 = "00dbg8hbncv74c2baskyhg4h0yv8wrz0fnkvw2bzcn0cjrz7xqwr";
   };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    base Cabal containers deepseq directory filepath ShellCheck
+    transformers
+  ];
+  executableHaskellDepends = [ base ];
+  testHaskellDepends = [
+    base bytestring Diff directory filepath tasty tasty-golden
+    transformers
+  ];
+  homepage = "https://github.com/hvr/multi-ghc-travis";
+  description = "Script generator for Travis-CI";
+  license = stdenv.lib.licenses.bsd3;
 }
diff --git a/pkgs/development/tools/haskell/tinc/default.nix b/pkgs/development/tools/haskell/tinc/default.nix
deleted file mode 100644
index 5a69b8875883..000000000000
--- a/pkgs/development/tools/haskell/tinc/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ mkDerivation, aeson, base, bytestring, Cabal, containers
-, directory, exceptions, filelock, filepath, gitrev, graph-wrapper
-, hpack, hspec, HUnit, language-dot, mockery, parsec, process
-, QuickCheck, safe, stdenv, temporary, time, transformers, unix
-, unix-compat, with-location, yaml, fetchFromGitHub
-, cabal2nix, cabal-install, makeWrapper
-}:
-mkDerivation {
-  pname = "tinc";
-  version = "20170624";
-  src = fetchFromGitHub {
-    owner = "sol";
-    repo = "tinc";
-    rev = "70881515693fd83d381fe045ae76d5257774f5e3";
-    sha256 = "0c6sx3vbcnq69dhqhpi01a4p4qss24rwxiz6jmw65rj73adhj4mw";
-  };
-  isLibrary = false;
-  isExecutable = true;
-  executableHaskellDepends = [
-    aeson base bytestring Cabal containers directory exceptions
-    filelock filepath gitrev graph-wrapper hpack language-dot parsec
-    process temporary time transformers unix-compat with-location yaml
-  ];
-  testHaskellDepends = [
-    aeson base bytestring Cabal containers directory exceptions
-    filelock filepath gitrev graph-wrapper hpack hspec HUnit
-    language-dot mockery parsec process QuickCheck safe temporary time
-    transformers unix unix-compat with-location yaml
-  ];
-  postInstall = ''
-    source ${makeWrapper}/nix-support/setup-hook
-    wrapProgram $out/bin/tinc \
-      --prefix PATH : '${cabal2nix}/bin' \
-      --prefix PATH : '${cabal-install}/bin'
-  '';
-  description = "A dependency manager for Haskell";
-  homepage = "https://github.com/sol/tinc#readme";
-  license = stdenv.lib.licenses.mit;
-  hydraPlatforms = [ "x86_64-linux" ];
-  maintainers = [ stdenv.lib.maintainers.robbinch ];
-  broken = true;
-}
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
new file mode 100644
index 000000000000..e56502a4ad05
--- /dev/null
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "hcloud-${version}";
+  version = "1.3.0";
+  goPackagePath = "github.com/hetznercloud/cli";
+
+  src = fetchFromGitHub {
+    owner = "hetznercloud";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "1216qz1kk38vkvfrznjwb65vsbhscqvvrsbp2i6pnf0i85p00pqm";
+  };
+
+  buildFlagsArray = [ "-ldflags=" "-X github.com/hetznercloud/cli.Version=${version}" ];
+
+  meta = {
+    description = "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
+    homepage = https://github.com/hetznercloud/cli;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.zauberpony ];
+  };
+}
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index efd4265443b6..8b3cd17a7b27 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.01.10";
+  version = "2018.02.04";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "bca8c3c88f5707213a6cc55ec7b06b576ab98809";
-    sha256 = "00g1xd70dlgvyfyk5ivj71dpk0vzx3xka60f6x3hm4frl9ahyhj7";
+    rev    = "722790ad3cdb497e1b13cd1b4368d8380371eb37";
+    sha256 = "0l04c6dshhhdcgqg1bdlw215wbn52fsg2fm2cvavhvf64c18lwd1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index b52cbf21168e..e2aa27a96eb5 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -5,13 +5,14 @@ stdenv.mkDerivation rec {
   inherit (irony) version;
 
   nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvmPackages.libclang ];
 
   dontUseCmakeBuildDir = true;
 
   cmakeDir = "server";
 
   cmakeFlags = [
-    ''-DCMAKE_PREFIX_PATH=${llvmPackages.clang.cc}''
+    "-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
   ];
 
   src = irony.src;
diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix
index 46170341437c..bfb37fc5f03b 100644
--- a/pkgs/development/tools/java/cfr/default.nix
+++ b/pkgs/development/tools/java/cfr/default.nix
@@ -35,6 +35,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.benf.org/other/cfr/;
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/librarian-puppet-go/default.nix b/pkgs/development/tools/librarian-puppet-go/default.nix
new file mode 100644
index 000000000000..1e2a421a6702
--- /dev/null
+++ b/pkgs/development/tools/librarian-puppet-go/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  name = "librarian-puppet-go-${version}";
+  version = "0.3.9";
+
+  goPackagePath = "github.com/tmtk75/librarian-puppet-go";
+
+  src = fetchFromGitHub {
+    owner = "tmtk75";
+    repo = "librarian-puppet-go";
+    rev = "v${version}";
+    sha256 = "19x2hz3b8xkhy2nkyjg6s4qvs55mh84fvjwp157a86dmxwkdf45y";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "librarian-puppet implementation in go.";
+    license = licenses.unfree; # still unspecified https://github.com/tmtk75/librarian-puppet-go/issues/5
+    maintainers = with maintainers; [ womfoo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/librarian-puppet-go/deps.nix b/pkgs/development/tools/librarian-puppet-go/deps.nix
new file mode 100644
index 000000000000..e5729707d8ab
--- /dev/null
+++ b/pkgs/development/tools/librarian-puppet-go/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/jawher/mow.cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jawher/mow.cli";
+      rev = "3ff64ca21987cfa628bd8d1865162b7ccd6107d7";
+      sha256 = "0vws79q4x3c9kjdsin3vw5200sinkxag3bfa0n9k69svsb222bij";
+    };
+  }
+]
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index 9aea35104320..e66d92e34d65 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "astyle";
-  version = "2.05.1";
+  version = "3.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
-    sha256 = "1b0f4wm1qmgcswmixv9mwbp86hbdqxk754hml8cjv5vajvqwdpzv";
+    sha256 = "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b";
   };
 
   sourceRoot = if stdenv.cc.isClang
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
index 1b19a1caff67..0225a3f81416 100644
--- a/pkgs/development/tools/misc/autoconf-archive/default.nix
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-archive-${version}";
-  version = "2017.03.21";
+  version = "2017.09.28";
 
   src = fetchurl {
     url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
-    sha256 = "0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq";
+    sha256 = "00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw";
   };
 
   buildInputs = [ xz ];
diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
index d6399e128a39..507df5def0c1 100644
--- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg";
   };
 
-  buildInputs = [ perl autoconf ];
+  nativeBuildInputs = [ autoconf perl ];
+  buildInputs = [ autoconf ];
 
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/tools/misc/bin_replace_string/default.nix b/pkgs/development/tools/misc/bin_replace_string/default.nix
index fda527ee905a..ac7eb557f2ed 100644
--- a/pkgs/development/tools/misc/bin_replace_string/default.nix
+++ b/pkgs/development/tools/misc/bin_replace_string/default.nix
@@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
     downloadPage = ftp://ohnopub.net/mirror/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix
index 8035388c5f06..bb81a461188a 100644
--- a/pkgs/development/tools/misc/bossa/default.nix
+++ b/pkgs/development/tools/misc/bossa/default.nix
@@ -14,12 +14,12 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "bossa-2014-08-18";
+  name = "bossa-1.8";
 
   src = fetchgit {
     url = https://github.com/shumatech/BOSSA;
-    rev = "0f0a41cb1c3a65e909c5c744d8ae664e896a08ac"; /* arduino branch */
-    sha256 = "0xg79kli1ypw9zyl90mm6vfk909jinmk3lnl8sim6v2yn8shs9cn";
+    rev = "3be622ca0aa6214a2fc51c1ec682c4a58a423d62";
+    sha256 = "19ik86qbffcb04cgmi4mnascbkck4ynfj87ha65qdk6fmp5q35vm";
   };
 
   patches = [ ./bossa-no-applet-build.patch ];
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 65c7e633f8e2..ff4ad83b642c 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -2,10 +2,10 @@
 
 let ccache = stdenv.mkDerivation rec {
   name = "ccache-${version}";
-  version = "3.3.4";
+  version = "3.3.5";
 
   src = fetchurl {
-    sha256 = "0ks0vk408mdppfbk8v38p46fqx3p30r9a9cwiia43373i7rmpw94";
+    sha256 = "1iih5d171rq29366c1z90dri2h8173yyc8rm2740wxiqx6k7c18r";
     url = "mirror://samba/ccache/${name}.tar.xz";
   };
 
@@ -69,7 +69,6 @@ let ccache = stdenv.mkDerivation rec {
     homepage = http://ccache.samba.org/;
     downloadPage = https://ccache.samba.org/download.html;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.unix;
   };
 };
diff --git a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
index ecd3c4c9a74e..3bc3a95e4204 100644
--- a/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
+++ b/pkgs/development/tools/misc/ccache/skip-fs-dependent-test.patch
@@ -1,9 +1,9 @@
---- ccache-3.3.4.org/test.sh	2017-02-17 21:28:53.000000000 +0000
-+++ ccache-3.3.4/test.sh	2017-07-01 18:38:00.523403023 +0100
-@@ -2631,23 +2631,23 @@
+--- a/test.sh
++++ b/test.sh
+@@ -2669,23 +2669,6 @@ SUITE_cleanup() {
+
      $CCACHE -F 0 -M 256K >/dev/null
-     $CCACHE -c >/dev/null
-     # floor(0.8 * 4) = 3
+     CCACHE_LOGFILE=/tmp/foo $CCACHE -c >/dev/null
 -    expect_file_count 3 '*.o' $CCACHE_DIR
 -    expect_file_count 3 '*.d' $CCACHE_DIR
 -    expect_file_count 3 '*.stderr' $CCACHE_DIR
@@ -21,23 +21,6 @@
 -            test_failed "File $file not removed when it should"
 -        fi
 -    done
-+    #expect_file_count 3 '*.o' $CCACHE_DIR
-+    #expect_file_count 3 '*.d' $CCACHE_DIR
-+    #expect_file_count 3 '*.stderr' $CCACHE_DIR
-+    #expect_stat 'files in cache' 9
-+    #expect_stat 'cleanups performed' 1
-+    #for i in 3 4 5; do
-+    #    file=$CCACHE_DIR/a/result$i-4017.o
-+    #    if [ ! -f $file ]; then
-+    #        test_failed "File $file removed when it shouldn't"
-+    #    fi
-+    #done
-+    #for i in 0 1 2 6 7 8 9; do
-+    #    file=$CCACHE_DIR/a/result$i-4017.o
-+    #    if [ -f $file ]; then
-+    #        test_failed "File $file not removed when it should"
-+    #    fi
-+    #done
- 
+
      # -------------------------------------------------------------------------
-     TEST "Automatic cache cleanup"
+     TEST "Automatic cache cleanup, limit_multiple 0.9"
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index d1148ad48d82..e068b908caf4 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -18,7 +18,7 @@
 
 let
   basename = "gdb-${version}";
-  version = "8.0.1";
+  version = "8.1";
 in
 
 assert targetPlatform.isHurd -> mig != null && hurd != null;
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "1qwmcbaxf0jc7yjl0fimgcfj2yqcrl6h7azgs1d838kbwf9mzg9x";
+    sha256 = "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg";
   };
 
   patches = [ ./debug-info-from-env.patch ];
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index 3562af7a6b86..6d5bfef2f80e 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -3,42 +3,41 @@ let
   deps = import ./requirements.nix { inherit pkgs; };
 in
 python27Packages.buildPythonApplication rec {
-    name = "${pname}-${version}";
-    pname = "gdbgui";
-    version = "0.9.1.0";
-
-    buildInputs = [ gdb ];
-    propagatedBuildInputs = builtins.attrValues deps.packages;
-
-    src = python27Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "0ybgkk4h9zwhbx5d0j0fmfzxxgg8f6apm8v7djavm0ldpr6f5z26";
-    };
-
-    postPatch = ''
-      echo ${version} > gdbgui/VERSION.txt
-    '';
-
-    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 ];
-    };
-
-  }
+  name = "${pname}-${version}";
+  pname = "gdbgui";
+  version = "0.11.0.0";
+
+  buildInputs = [ gdb ];
+  propagatedBuildInputs = builtins.attrValues deps.packages;
+
+  src = python27Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "09bfrln16ai5azpjan1q24xz700sxsaa3ndynq8c8qdan82bfi1g";
+  };
+
+  postPatch = ''
+    echo ${version} > gdbgui/VERSION.txt
+  '';
+
+  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
index d3c7f31eaebf..13978645c299 100644
--- a/pkgs/development/tools/misc/gdbgui/requirements.nix
+++ b/pkgs/development/tools/misc/gdbgui/requirements.nix
@@ -113,13 +113,12 @@ let
 
 
     "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"; };
+      name = "Flask-SocketIO-2.9.3";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a0/ac/4024b73e071d5a000a998d6f26ba0a090011d5abdc7aa41f2774173c3276/Flask-SocketIO-2.9.3.tar.gz"; sha256 = "df23f790db8529c543bd0b54165215c342cf6955a4a1f605650e759197a46d59"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
       self."Flask"
-      self."python-engineio"
       self."python-socketio"
     ];
       meta = with pkgs.stdenv.lib; {
@@ -179,15 +178,15 @@ let
 
 
     "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"; };
+      name = "Werkzeug-0.14.1";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [ ];
       meta = with pkgs.stdenv.lib; {
-        homepage = "http://werkzeug.pocoo.org/";
+        homepage = "https://www.palletsprojects.org/p/werkzeug/";
         license = licenses.bsdOriginal;
-        description = "The Swiss Army knife of Python web development";
+        description = "The comprehensive WSGI web application library.";
       };
     };
 
@@ -208,56 +207,6 @@ let
 
 
 
-    "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"; };
@@ -306,8 +255,8 @@ let
 
 
     "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"; };
+      name = "pygdbmi-0.8.2.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4e/34/a8c86d85e0d3d8df2c289657a55c19408dbdbf0b1468859e7f1a745ae8ff/pygdbmi-0.8.2.0.tar.gz"; sha256 = "47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [ ];
@@ -320,26 +269,9 @@ let
 
 
 
-    "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"; };
+      name = "python-engineio-2.0.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e5/91/f6fd80298e68b4ca22a1a9cc3091116e2fef22fd8fb017ad9e5c6ec6ddcc/python-engineio-2.0.2.tar.gz"; sha256 = "46c710a72c3b2a8511b0d7963c46e200010f8ea3eb0721ce15603d0f23e993c4"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
@@ -355,8 +287,8 @@ let
 
 
     "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"; };
+      name = "python-socketio-1.8.4";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/58/a9/52af6a7ad0805977afc838ed394f8d26d078ef61e8c1bdd632801c58ef3a/python-socketio-1.8.4.tar.gz"; sha256 = "13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc"; };
       doCheck = commonDoCheck;
       buildInputs = commonBuildInputs;
       propagatedBuildInputs = [
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
index 428f24cd4e92..78b5df21fdea 100644
--- a/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -11,9 +11,9 @@ let
   elasticArch = archOverrides."${arch}" or arch;
   plat = elemAt info 1;
   shas = {
-    "x86_64-linux"  = "09bck05dfq4j1csyghlpw86nzn28kpx8ikli3v1s4si2hbxb1ifr";
-    "i686-linux"    = "0ql1611wg7i9vwqr4wmz04606hjj7w224ak34svfsn6qxyrh2dbb";
-    "x86_64-darwin" = "1x24rqkkc9slm7jbyy41q5c2rbn17h85m0k6h3ijiafky6cv0cz2";
+    "x86_64-linux"  = "1a9n7s9r0klqvpyr5d3a410cchbsb0syx6cqwbhhnihqyw8dcx1i";
+    "i686-linux"    = "0snnm5jwynvk6ahgl42yzl2jhld0ykn79rlcq9dsv2gpqnjb2mmv";
+    "x86_64-darwin" = "0qw3xkj3n3aja8s8n9r4hbr65jm9m6dgfjhhnrln434648rx7z4v";
   };
 in stdenv.mkDerivation rec {
   name = "kibana-${version}";
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index bfa1d92eb52a..d7013ef46eb2 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -7,8 +7,8 @@ let
   arch = elemAt info 0;
   plat = elemAt info 1;
   shas = {
-    "x86_64-linux"  = "0847flk4sfimcdx9wqkaglk7bvbnz1iyindz10z0d1fvbldivp46";
-    "x86_64-darwin" = "03f7l91r6nczzzlqxsxkpzzwafpy45fx4lss4g6kg022rwisdma7";
+    "x86_64-linux"  = "0kgsafjn8wzrmiklfc8jg0h3cx25lhlkby8yz35wgpx4wbk3vfjx";
+    "x86_64-darwin" = "0i2kq9vyjv151kk7h3dl3hjrqqgxsg0qqxdqwjwlz9ja5axzlxhd";
   };
 in stdenv.mkDerivation rec {
   name = "kibana-${version}";
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index bf134c459d97..85821ee2089d 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" ];
 
-  nativeBuildInputs = [ perl help2man ];
+  nativeBuildInputs = [ perl help2man m4 ];
   propagatedBuildInputs = [ m4 ];
 
   # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index ad4e5d112d1e..9205f6caf0dc 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, buildGoPackage, fetchFromGitLab }:
 buildGoPackage rec {
   name = "loccount-${version}";
-  version = "1.1";
+  version = "1.2";
 
   goPackagePath = "gitlab.com/esr/loccount";
   excludedPackages = "tests";
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "esr";
     repo = "loccount";
     rev = version;
-    sha256 = "1wx31hraxics8x8w42jy5b10wdx1368zp2p6gplcfmpjssf9pacr";
+    sha256 = "18z7ai7wy2k9yd3w65d37apfqs3h9bc2c15y7v1bydppi44zfsdk";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 774734a895c4..aa6bd003ed3f 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchurl, buildPackages, ncurses }:
 
 let dialect = with stdenv.lib; last (splitString "-" stdenv.system); in
 
@@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
   name = "lsof-${version}";
   version = "4.89";
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ ncurses ];
 
   src = fetchurl {
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
 
   # Stop build scripts from searching global include paths
   LSOF_INCLUDE = "${stdenv.cc.libc}/include";
-  configurePhase = "./Configure -n ${dialect}";
+  configurePhase = "LINUX_CONF_CC=$CC_FOR_BUILD LSOF_CC=$CC LSOF_AR=\"$AR cr\" LSOF_RANLIB=$RANLIB ./Configure -n ${dialect}";
   preBuild = ''
     sed -i Makefile -e 's/^CFGF=/&	-DHASIPv6=1/;' -e 's/-lcurses/-lncurses/'
     for filepath in $(find dialects/${dialect} -type f); do
@@ -53,7 +54,7 @@ stdenv.mkDerivation rec {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 827ddedaee32..bfdebec154ad 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
     sha256 = "1avx4p71g9m3zvynhhhysxnpkqyhhlv42xiv9502bvp3nwfkgnqs";
   };
 
-  buildInputs = [ liburcu python ];
+  buildInputs = [ python ];
 
   preConfigure = ''
     patchShebangs .
   '';
+  
+  propagatedBuildInputs = [ liburcu ];
 
   meta = with stdenv.lib; {
     description = "LTTng Userspace Tracer libraries";
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index cde8eae0f7fc..626478798658 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "patchelf-0.10-pre-20160920";
+  name = "patchelf-0.10-pre-20180108";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "patchelf";
-    rev = "327d80443672c397970738f9e216a7e86cbf3ad7";
-    sha256 = "0nghzywda4jrj70gvn4dnrzasafgdp0basj04wfir1smvsi047zr";
+    rev = "48452cf6b4ccba1c1f47a09f4284a253634ab7d1";
+    sha256 = "1f1s8q3as3nrhcc1a8qc2z7imm644jfz44msn9sfv4mdynp2m2yb";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index eff849744ac4..4c02b4daf1ef 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "A system call tracer for Linux";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mornfall jgeerds globin ];
+    maintainers = with maintainers; [ jgeerds globin ];
   };
 }
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
index 571af764fcf7..0feb4b943df3 100644
--- a/pkgs/development/tools/misc/texinfo/5.2.nix
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
+{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, procps, interactive ? false }:
 
 with stdenv.lib;
 
@@ -10,10 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal";
   };
 
+  # We need a native compiler to build perl XS extensions
+  # when cross-compiling.
+  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
+
   buildInputs = [ perl xz.bin ]
     ++ optional interactive ncurses
     ++ optional doCheck procps; # for tests
 
+  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
+    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
+
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
     installTargets="install install-tex";
diff --git a/pkgs/development/tools/misc/texinfo/6.5.nix b/pkgs/development/tools/misc/texinfo/6.5.nix
index 4691df6917b4..afa7e9a0a206 100644
--- a/pkgs/development/tools/misc/texinfo/6.5.nix
+++ b/pkgs/development/tools/misc/texinfo/6.5.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
+{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }:
 
 with stdenv.lib;
 
@@ -10,12 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp";
   };
 
-  buildInputs = [ perl xz ]
+  # We need a native compiler to build perl XS extensions
+  # when cross-compiling.
+  depsBuildBuild = [ buildPackages.stdenv.cc perl ];
+
+  buildInputs = [ xz ]
     ++ optionals stdenv.isSunOS [ libiconv gawk ]
     ++ optional interactive ncurses
     ++ optional doCheck procps; # for tests
 
-  configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
+  configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ]
+    ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
index 8212eccc6d13..78195e994c94 100644
--- a/pkgs/development/tools/misc/uhd/default.nix
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -7,18 +7,29 @@
 #   SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
 #   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
 
-stdenv.mkDerivation rec {
-  name = "uhd-${version}";
-  version = "3.10.2.0";
+let
+  uhdVer = "003_010_003_000";
+  ImgVer = stdenv.lib.replaceStrings ["_"] ["."] uhdVer;
 
   # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
   # and xxx.yyy.zzz. Hrmpf...
+  version = "3.10.3.0";
+
+  # Firmware images are downloaded (pre-built) from:
+  # http://files.ettus.com/binaries/images/
+  uhdImagesSrc = fetchurl {
+    url = "http://files.ettus.com/binaries/images/uhd-images_${ImgVer}-release.tar.gz";
+    sha256 = "198awvw6zsh19ydgx5qry5yc6yahdval9wjrsqbyj51pnr6s5qvy";
+  };
+
+in stdenv.mkDerivation {
+  name = "uhd-${version}";
 
   src = fetchFromGitHub {
     owner = "EttusResearch";
     repo = "uhd";
-    rev = "release_003_010_002_000";
-    sha256 = "0g6f4amw7h0vr6faa1nc1zs3bc645binza0zqqx5cwgfxybv8cfy";
+    rev = "release_${uhdVer}";
+    sha256 = "1aj8qizbyz4shwawj3qlhl6pyyda59hhgm9cwrj7s5kfdi4vdlc3";
   };
 
   enableParallelBuilding = true;
@@ -31,13 +42,6 @@ stdenv.mkDerivation rec {
   # Build only the host software
   preConfigure = "cd host";
 
-  # Firmware images are downloaded (pre-built)
-  uhdImagesName = "uhd-images_003.007.003-release";
-  uhdImagesSrc = fetchurl {
-    url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz";
-    sha256 = "1pv5c5902041494z0jfw623ca29pvylrw5klybbhklvn5wwlr6cv";
-  };
-
   postPhases = [ "installFirmware" ];
 
   installFirmware = ''
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index 4c60067c48ef..5f90525feca1 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
     sha256 = "0bs94iv521ac2n53n3k8mw3s6v0hi3hhxhjsr0ips3n99al8wndi";
   };
 
-  buildInputs = [ cmake boost ]
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames Cocoa ];
 
   buildPhase = ''
     export EXTRA_CMAKE_ARGS=-DPATH_TO_LLVM_ROOT=${llvmPackages.clang-unwrapped}
-    ${python.interpreter} build.py --clang-completer --system-boost
+    ${python.interpreter} build.py --system-libclang --clang-completer --system-boost
   '';
 
   patches = [ ./dont-symlink-clang.patch ];
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index e0bf9eac6963..06588e60a5e4 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A package that implements a pre-document language and tools to process it";
     homepage = https://fbb-git.github.io/yodl/;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ nckx pSub ];
+    maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/mypy/default.nix b/pkgs/development/tools/mypy/default.nix
index 6dc57afb51ef..f06f9c6828c8 100644
--- a/pkgs/development/tools/mypy/default.nix
+++ b/pkgs/development/tools/mypy/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchPypi, buildPythonApplication, lxml, typed-ast }:
+{ stdenv, fetchPypi, buildPythonApplication, lxml, typed-ast, psutil }:
 
 buildPythonApplication rec {
-  name = "${pname}-${version}";
   pname = "mypy";
-  version = "0.540";
+  version = "0.560";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d82f51e228a88e5de6ac1d6699dd09e250ce7de217a5ff1256e317266e738ec";
+    sha256 = "1jja0xlwqajxzab8sabiycax8060zikg89dnl9a7lkqcrwprl35x";
   };
 
-  propagatedBuildInputs = [ lxml typed-ast ];
+  propagatedBuildInputs = [ lxml typed-ast psutil ];
 
   meta = with stdenv.lib; {
     description = "Optional static typing for Python";
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 9f318afc67d7..84365889638c 100644
--- a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
+    url = "http://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
     sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
   };
   patchFlags = "-p0";
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index f8dc96c2394b..d97d67c9851a 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   name = "packer-${version}";
-  version = "1.1.0";
+  version = "1.1.3";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "09hwq6dxyzhpl97akwbb02bjrisz9rf296avg5zj2p5qdsf4y777";
+    sha256 = "0bfjv4sqci10jzy11qg6q1xyik36v98vd6ck91sarawvgbaprsp2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 4ea11a622ea1..17323a06cc18 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, m4
+{ stdenv, buildPackages, fetchurl, bison, m4
 , fetchpatch, autoreconfHook, help2man
 }:
 
@@ -19,28 +19,27 @@ stdenv.mkDerivation rec {
         + "/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch";
     sha256 = "1aarhcmz7mfrgh15pkj6f7ikxa2m0mllw1i1vscsf1kw5d05lw6f";
   })];
-  nativeBuildInputs = [ autoreconfHook help2man ];
+  postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile.in --replace "tests" " "
 
-  buildInputs = [ bison ];
+    substituteInPlace doc/Makefile.am --replace 'flex.1: $(top_srcdir)/configure.ac' 'flex.1: '
+  '';
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ autoreconfHook help2man ];
+  buildInputs = [ bison ];
   propagatedBuildInputs = [ m4 ];
 
+  preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    export ac_cv_func_malloc_0_nonnull=yes
+    export ac_cv_func_realloc_0_nonnull=yes
+  '';
+
   postConfigure = stdenv.lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
     sed -i Makefile -e 's/-no-undefined//;'
   '';
 
-  crossAttrs = {
-
-    # disable tests which can't run on build machine
-    postPatch = ''
-      substituteInPlace Makefile.in --replace "tests" " ";
-    '';
-
-    preConfigure = ''
-      export ac_cv_func_malloc_0_nonnull=yes
-      export ac_cv_func_realloc_0_nonnull=yes
-    '';
-  };
+  dontDisableStatic = stdenv.buildPlatform != stdenv.hostPlatform;
 
   meta = {
     homepage = https://github.com/westes/flex;
diff --git a/pkgs/development/tools/parsing/flexc++/default.nix b/pkgs/development/tools/parsing/flexc++/default.nix
index c782df507580..681f90bbe5a6 100644
--- a/pkgs/development/tools/parsing/flexc++/default.nix
+++ b/pkgs/development/tools/parsing/flexc++/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     homepage = https://fbb-git.github.io/flexcpp/;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/parsing/lemon/default.nix b/pkgs/development/tools/parsing/lemon/default.nix
index 480ee5b88f6a..108576d0b11c 100644
--- a/pkgs/development/tools/parsing/lemon/default.nix
+++ b/pkgs/development/tools/parsing/lemon/default.nix
@@ -41,6 +41,5 @@ in stdenv.mkDerivation rec {
     homepage = http://www.hwaci.com/sw/lemon/;
     license = licenses.publicDomain;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index f7d22395a03e..3c062dbe1ab4 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -105,6 +105,7 @@ in stdenv.mkDerivation rec {
     $out/bin/phantomjs
   '' + ''
     wrapProgram $out/bin/phantomjs \
+    --set QT_QPA_PLATFORM offscreen \
     --prefix PATH : ${stdenv.lib.makeBinPath [ qtbase ]}
   '';
 
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index e97ff61a0dc0..f5f9a15dd00a 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -1,24 +1,24 @@
 {
   stdenv, fetchFromGitHub, cmake, extra-cmake-modules,
-  zlib, boost162, libunwind, elfutils, sparsehash,
-  qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons,
+  zlib, boost, libunwind, elfutils, sparsehash,
+  qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons, kdiagram
 }:
 
 stdenv.mkDerivation rec {
   name = "heaptrack-${version}";
-  version = "2017-10-30";
+  version = "2018-01-28";
 
   src = fetchFromGitHub {
     owner = "KDE";
     repo = "heaptrack";
-    rev = "2bf49bc4fed144e004a9cabd40580a0f0889758f";
-    sha256 = "0sqxk5cc8r2vsj5k2dj9jkd1f2x2yj3mxgsp65g7ls01bgga0i4d";
+    rev = "a4534d52788ab9814efca1232d402b2eb319342c";
+    sha256 = "00xfv51kavvcmwgfmcixx0k5vhd06gkj5q0mm8rwxiw6215xp41a";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
-    zlib boost162 libunwind elfutils sparsehash
-    qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons
+    zlib boost libunwind elfutils sparsehash
+    qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons kdiagram
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/profiling/pyprof2calltree/default.nix b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
new file mode 100644
index 000000000000..b2497633a680
--- /dev/null
+++ b/pkgs/development/tools/profiling/pyprof2calltree/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonApplication, fetchFromGitHub }:
+
+buildPythonApplication rec {
+  pname = "pyprof2calltree";
+  version = "1.4.3";
+
+  # Fetch from GitHub because the PyPi packaged version does not
+  # include all test files.
+  src = fetchFromGitHub {
+    owner = "pwaller";
+    repo = "pyprof2calltree";
+    rev = "v" + version;
+    sha256 = "0i0a895zal193cpvzbv68fch606g4ik27rvzbby3vxk61zlxfqy5";
+  };
+
+  meta = with lib; {
+    description = "Help visualize profiling data from cProfile with kcachegrind and qcachegrind";
+    homepage = https://pypi.python.org/pypi/pyprof2calltree/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ sfrijters ];
+  };
+}
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 61f5f93ebfaa..554a5585f150 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -4,19 +4,14 @@
 }:
 let
   allSpecs = {
-    "i686-linux" = {
-      system = "linux32";
-      sha256 = "13fngjg2v0l3vhlmjnffy785ckgk2kbpm7307li75vinkcly91cj";
-    };
-
     "x86_64-linux" = {
       system = "linux64";
-      sha256 = "0x5vnmnw6mws6iw9s0kcm4crx9gfgy0vjjpk1v0wk7jpn6d0bl47";
+      sha256 = "13iyz6579yw4fk9dr4nf2pdj55v1iflj8yf9a4zz7qw5996d5yk7";
     };
 
     "x86_64-darwin" = {
       system = "mac64";
-      sha256 = "09y8ijj75q5a7snzchxinxfq2ad2sw0f30zi0p3hqf1n88y28jq6";
+      sha256 = "11xa31bxhrq0p7kd3j76dihp73abdbmbwdng5454m1wir6yj25f1";
     };
   };
 
@@ -33,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "chromedriver-${version}";
-  version = "2.33";
+  version = "2.35";
 
   src = fetchurl {
     url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 0f720f1f7e32..de0d7fc54de2 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -1,39 +1,38 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
+, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux }:
 
 with stdenv.lib;
 
+let
+  version = "0.1.28";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "projectatomic";
+    repo = "skopeo";
+    sha256 = "068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0";
+  };
+
+  defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out";
+
+in
 buildGoPackage rec {
   name = "skopeo-${version}";
-  version = "0.1.27";
-  rev = "v${version}";
+  inherit src;
 
   goPackagePath = "github.com/projectatomic/skopeo";
   excludedPackages = "integration";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree ];
+  buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
 
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "projectatomic";
-    repo = "skopeo";
-    sha256 = "1xwwzxjczz8qdk1rf0h78qd3vk9mxxb8yi6f8kfqvcdcsvkajd5g";
-  };
-
-  patches = [
-    ./path.patch
-  ];
+  buildFlagsArray = "-ldflags= -X github.com/projectatomic/skopeo/vendor/github.com/containers/image/signature.systemDefaultPolicyPath=${defaultPolicyFile}";
 
   preBuild = ''
     export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
     export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
   '';
 
-  postInstall = ''
-    mkdir $bin/etc
-    cp -v ./go/src/github.com/projectatomic/skopeo/default-policy.json $bin/etc/default-policy.json
-  '';
-
   meta = {
     description = "A command line utility for various operations on container images and image repositories";
     homepage = https://github.com/projectatomic/skopeo;
diff --git a/pkgs/development/tools/skopeo/path.patch b/pkgs/development/tools/skopeo/path.patch
deleted file mode 100644
index fe456b58e548..000000000000
--- a/pkgs/development/tools/skopeo/path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmd/skopeo/main.go b/cmd/skopeo/main.go
-index 50e29b2..7108df5 100644
---- a/cmd/skopeo/main.go
-+++ b/cmd/skopeo/main.go
-@@ -3,6 +3,7 @@ package main
- import (
- 	"fmt"
- 	"os"
-+	"path/filepath"
- 
- 	"github.com/Sirupsen/logrus"
- 	"github.com/containers/image/signature"
-@@ -88,6 +89,11 @@ func getPolicyContext(c *cli.Context) (*signature.PolicyContext, error) {
- 	policyPath := c.GlobalString("policy")
- 	var policy *signature.Policy // This could be cached across calls, if we had an application context.
- 	var err error
-+	var dir string
-+	if policyPath == "" {
-+		dir, err = filepath.Abs(filepath.Dir(os.Args[0]))
-+		policyPath = dir + "/../etc/default-policy.json"
-+	}
- 	if c.GlobalBool("insecure-policy") {
- 		policy = &signature.Policy{Default: []signature.PolicyRequirement{signature.NewPRInsecureAcceptAnything()}}
- 	} else if policyPath == "" {
- 
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 714935513f74..5d967ba81271 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby }:
+{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
 
 let
   version = "2.0.1";
@@ -36,9 +36,12 @@ in buildRubyGem rec {
     ./unofficial-installation-nowarn.patch
   ];
 
+  # PATH additions:
+  #   - libarchive: Make `bsdtar` available for extracting downloaded boxes
   postInstall = ''
     wrapProgram "$out/bin/vagrant" \
-      --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}"
+      --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" \
+      --prefix PATH ':' "${lib.getBin libarchive}/bin"
   '';
 
   passthru = {
diff --git a/pkgs/development/tools/vultr/default.nix b/pkgs/development/tools/vultr/default.nix
index 29fedde90801..8e17c531547d 100644
--- a/pkgs/development/tools/vultr/default.nix
+++ b/pkgs/development/tools/vultr/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   name = "vultr-${version}";
-  version = "1.13.0";
+  version = "1.15.0";
   goPackagePath = "github.com/JamesClonk/vultr";
 
   src = fetchFromGitHub {
     owner = "JamesClonk";
     repo = "vultr";
     rev = "${version}";
-    sha256 = "0xjalxl2yncrhbh4m2gyg3cahv3wvq782qd668vim6qks676d9nx";
+    sha256 = "1bx2x17aa6wfn4qy9lxk8sh7shs3x5ppz2z49s0xm8qq0rs1qi92";
   };
 
   meta = {
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index af6aa6061b0b..e35bdd22e2d7 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.1";
+  version = "1.5.0";
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "0fyfwpsbm9s3khxq8876ah85vjwfd5r4a59aix3zjmhq2v7j8n9j";
+    sha256 = "17dgbcalvz5gw6xqgcywh6jrybj0qlglm16cgbshjsp6axwxa5gn";
   };
 
   completion = fetchurl {
@@ -26,7 +26,7 @@ let
 
   ini = writeText "wp-cli.ini" ''
     [PHP]
-    memory_limit = 512M ; composer can be a bit of a memory pig
+    memory_limit = -1 ; no limit as composer uses a lot of memory
 
     [Phar]
     phar.readonly = Off
@@ -40,6 +40,9 @@ in stdenv.mkDerivation rec {
 
     ln      -s     ${bin}        $out/bin/wp
     install -Dm644 ${completion} $out/share/bash-completion/completions/wp
+
+    # this is a very basic run test
+    $out/bin/wp --info
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/ws/default.nix b/pkgs/development/tools/ws/default.nix
new file mode 100644
index 000000000000..b99780d41382
--- /dev/null
+++ b/pkgs/development/tools/ws/default.nix
@@ -0,0 +1,26 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "ws-${version}";
+  version = "0.2.1";
+  rev = "e9404cb37e339333088b36f6a7909ff3be76931d";
+
+  goPackagePath = "github.com/hashrocket/ws";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/hashrocket/ws";
+    sha256 = "192slrz1cj1chzmfrl0d9ai8bq6s4w0iwpvxkhxb9krga7mkp9xb";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "websocket command line tool";
+    homepage    = https://github.com/hashrocket/ws;
+    license     = licenses.mit;
+    maintainers = [ maintainers.the-kenny ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/ws/deps.nix b/pkgs/development/tools/ws/deps.nix
new file mode 100644
index 000000000000..82988437145f
--- /dev/null
+++ b/pkgs/development/tools/ws/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "5df930a27be2502f99b292b7cc09ebad4d0891f4";
+      sha256 = "1xqwvpn5jkp1xqvv9hx4h7cxrsnamryhy2pszcqpbm28dpd3airb";
+    };
+  }
+]
diff --git a/pkgs/development/tools/xcbuild/sdk.nix b/pkgs/development/tools/xcbuild/sdk.nix
index 169fd5f6ec66..87bbedd57880 100644
--- a/pkgs/development/tools/xcbuild/sdk.nix
+++ b/pkgs/development/tools/xcbuild/sdk.nix
@@ -1,26 +1,30 @@
 { stdenv, writeText, toolchainName, sdkName, xcbuild }:
 
 let
+  # TODO: expose MACOSX_DEPLOYMENT_TARGET in nix so we can use it here.
+  version = "10.10";
 
   SDKSettings = {
     CanonicalName = sdkName;
     DisplayName = sdkName;
     Toolchains = [ toolchainName ];
-    Version = "10.10";
-    MaximumDeploymentTarget = "10.10";
+    Version = version;
+    MaximumDeploymentTarget = version;
     isBaseSDK = "YES";
   };
 
   SystemVersion = {
     ProductName = "Mac OS X";
-    ProductVersion = "10.10";
+    ProductVersion = version;
   };
-
 in
 
 stdenv.mkDerivation {
-  name = "MacOSX.sdk";
+  name = "MacOSX${version}.sdk";
+  inherit version;
+
   buildInputs = [ xcbuild ];
+
   buildCommand = ''
     mkdir -p $out/
     plutil -convert xml1 -o $out/SDKSettings.plist ${writeText "SDKSettings.json" (builtins.toJSON SDKSettings)}
diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix
index 2f6b42e7a00e..3a1547440fd6 100644
--- a/pkgs/development/tools/xcbuild/wrapper.nix
+++ b/pkgs/development/tools/xcbuild/wrapper.nix
@@ -30,7 +30,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "xcbuild-wrapper";
+  name = "xcbuild-wrapper-${xcbuild.version}";
 
   buildInputs = [ xcbuild makeWrapper ];
 
diff --git a/pkgs/development/tools/yaml2json/default.nix b/pkgs/development/tools/yaml2json/default.nix
new file mode 100644
index 000000000000..1a8d7f13aff5
--- /dev/null
+++ b/pkgs/development/tools/yaml2json/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+
+buildGoPackage rec {
+  name = "yaml2json-${version}";
+  version = "unstable-2017-05-03";
+  goPackagePath = "github.com/bronze1man/yaml2json";
+
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    rev = "ee8196e587313e98831c040c26262693d48c1a0c";
+    owner = "bronze1man";
+    repo = "yaml2json";
+    sha256 = "16a2sqzbam5adbhfvilnpdabzwncs7kgpr0cn4gp09h2imzsprzw";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bronze1man/yaml2json;
+    description = "Convert yaml to json";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.adisbladis ];
+  };
+}
diff --git a/pkgs/development/tools/yaml2json/deps.nix b/pkgs/development/tools/yaml2json/deps.nix
new file mode 100644
index 000000000000..f907520cc872
--- /dev/null
+++ b/pkgs/development/tools/yaml2json/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4";
+      sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0";
+    };
+  }
+]
diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix
index 6ddea86f1a7c..6fb7f8440ef4 100644
--- a/pkgs/development/tools/yq/default.nix
+++ b/pkgs/development/tools/yq/default.nix
@@ -2,9 +2,8 @@
 
 buildPythonApplication rec {
 
-  name = "${pname}-${version}";
   pname = "yq";
-  version = "2.3.3";
+  version = "2.3.4";
 
   propagatedBuildInputs = [ pyyaml jq ];
 
@@ -13,7 +12,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14ywdi464z68qclsqzb8r50rzmypknaz74zmpppkahjigfcfppm3";
+    sha256 = "04ckrlmin8m176iicyfhddp4r0yry5hx306vhfglf8mcp1jkga78";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/web/nodejs/v9.nix b/pkgs/development/web/nodejs/v9.nix
index f93dba1aec48..79f364be2000 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.4.0";
-    sha256 = "035j44xkji9dxddlqws6ykkbyphbkhwhz700arpgz20jz3qf20vm";
+    version = "9.5.0";
+    sha256 = "0v8lspfca820mf45dj9hb56q00syhrqw5wmqmy1vnrcb6wx4csv6";
     patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
   }
diff --git a/pkgs/games/2048-in-terminal/default.nix b/pkgs/games/2048-in-terminal/default.nix
index 30e930c294a6..288c852b11e3 100644
--- a/pkgs/games/2048-in-terminal/default.nix
+++ b/pkgs/games/2048-in-terminal/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "2048-in-terminal-${version}";
-  version = "2015-01-15";
+  version = "2017-11-29";
 
   src = fetchFromGitHub {
-    sha256 = "1fdfmyhh60sz0xbilxkh2y09lvbcs9lamk2jkjkhxhlhxknmnfgs";
-    rev = "3e4e44fd360dfe114e81e6332a5a058a4b287cb1";
+    sha256 = "1cqv5z1i5zcrvj0w6pdfnnff8m6kjndqxwkwsw5ma9jz503bmyc6";
+    rev = "4e525066b0ef3442e92d2ba8dd373bdc205ece28";
     repo = "2048-in-terminal";
     owner = "alewmoose";
   };
@@ -18,13 +18,12 @@ stdenv.mkDerivation rec {
   preInstall = ''
     mkdir -p $out/bin
   '';
-  installFlags = [ "DESTDIR=$(out)" ];
+  installFlags = [ "DESTDIR=$(out)/bin" ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Animated console version of the 2048 game";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/games/assaultcube/assaultcube-next.patch b/pkgs/games/assaultcube/assaultcube-next.patch
new file mode 100644
index 000000000000..92fc79966707
--- /dev/null
+++ b/pkgs/games/assaultcube/assaultcube-next.patch
@@ -0,0 +1,11 @@
+--- 1.1.0.4/source/src/Makefile
++++ 1.1.0.4/source/src/Makefile
+@@ -6,7 +6,7 @@
+ # found to have been caused by the g++ compiler in the past. This seems to have
+ # been fixed now by relaxing the optimization that g++ does, so although we'll
+ # continue using clang++ (just in case), you can use g++ if you prefer.
+-CXX=clang++
++#CXX=clang++
+
+ # Changing this to ACDEBUG=yes will compile a debug version of AssaultCube.
+ ACDEBUG=no
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
new file mode 100644
index 000000000000..cef48978b6d0
--- /dev/null
+++ b/pkgs/games/assaultcube/default.nix
@@ -0,0 +1,82 @@
+{ fetchFromGitHub, stdenv, makeDesktopItem, openal, pkgconfig, libogg,
+  libvorbis, SDL, SDL_image, makeWrapper, zlib,
+  client ? true, server ? true }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+
+  # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix.
+  pname = "assaultcube";
+  version = "01052017";
+  name = "${pname}-${version}";
+
+  meta = {
+    description = "Fast and fun first-person-shooter based on the Cube fps";
+    homepage = http://assault.cubers.net;
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux; # should work on darwin with a little effort.
+    license = stdenv.lib.licenses.zlib;
+  };
+
+  src = fetchFromGitHub {
+    owner = "assaultcube";
+    repo  = "AC";
+    rev = "9f537b0876a39d7686e773040469fbb1417de18b";
+    sha256 = "0nvckn67mmfaa7x3j41xyxjllxqzfx1dxg8pnqsaak3kkzds34pl";
+  };
+
+  # ${branch} not accepted as a value ?
+  # TODO: write a functional BUNDLED_ENET option and restore it in deps.
+  patches = [ ./assaultcube-next.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  # add optional for server only ?
+  buildInputs = [ makeWrapper openal SDL SDL_image libogg libvorbis zlib ];
+
+  #makeFlags = [ "CXX=g++" ];
+
+  targets = (optionalString server "server") + (optionalString client " client");
+  buildPhase = ''
+    make -C source/src ${targets}
+  '';
+
+  desktop = makeDesktopItem {
+    name = "AssaultCube";
+    desktopName = "AssaultCube";
+    comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
+    genericName = "First-person shooter";
+    categories = "Application;Game;ActionGame;Shooter";
+    icon = "assaultcube.png";
+    exec = "${pname}";
+  };
+
+  gamedatadir = "/share/games/${pname}";
+
+  installPhase = ''
+
+    bindir=$out/bin
+
+    mkdir -p $bindir $out/$gamedatadir
+
+    cp -r config packages $out/$gamedatadir
+
+    # install custom script
+    substituteAll ${./launcher.sh} $bindir/assaultcube
+    chmod +x $bindir/assaultcube
+
+    if (test -e source/src/ac_client) then
+      cp source/src/ac_client $bindir
+      mkdir -p $out/share/applications
+      cp ${desktop}/share/applications/* $out/share/applications
+      install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png
+      install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png
+    fi
+
+    if (test -e source/src/ac_server) then
+      cp source/src/ac_server $bindir
+      ln -s $bindir/${pname} $bindir/${pname}-server
+    fi
+    '';
+}
diff --git a/pkgs/games/assaultcube/launcher.sh b/pkgs/games/assaultcube/launcher.sh
new file mode 100644
index 000000000000..331cb861f66c
--- /dev/null
+++ b/pkgs/games/assaultcube/launcher.sh
@@ -0,0 +1,20 @@
+#!@shell@
+# original scripts are very awful
+
+CUBE_DIR=@out@@gamedatadir@
+
+case $(basename "$0") in
+  assaultcube-server)
+    CUBE_OPTIONS="-Cconfig/servercmdline.txt"
+    BINARYPATH=@out@/bin/ac_server
+    ;;
+  assaultcube)
+    CUBE_OPTIONS="--home=${HOME}/.assaultcube/v1.2next --init"
+    BINARYPATH=@out@/bin/ac_client
+    ;;
+  *) echo "$0" is not supported.
+     exit 1
+esac
+
+cd $CUBE_DIR
+exec "${BINARYPATH}" ${CUBE_OPTIONS} "$@"
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 1269b4346344..9962e0e71054 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "bzflag";
-  version = "2.4.10";
+  version = "2.4.12";
 
   src = fetchurl {
     url = "https://download.bzflag.org/${pname}/source/${version}/${name}.tar.bz2";
-    sha256 = "1ylyd5safpraaym9fvnrqj2506dqrraaaqhrb2aa9zmjwi54aiqa";
+    sha256 = "0380y47kgl97ld3dybjgjr2zwxqky8f938k9z7vad647cic3m8d8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix
index b46114ec62be..be6f32654305 100644
--- a/pkgs/games/cataclysm-dda/default.nix
+++ b/pkgs/games/cataclysm-dda/default.nix
@@ -1,5 +1,5 @@
-{ fetchFromGitHub, stdenv, makeWrapper, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf,
-SDL2_mixer, freetype, gettext }:
+{ fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf,
+SDL2_mixer, freetype, gettext, Cocoa, libicns }:
 
 stdenv.mkDerivation rec {
   version = "0.C";
@@ -12,25 +12,47 @@ stdenv.mkDerivation rec {
     sha256 = "03sdzsk4qdq99qckq0axbsvg1apn6xizscd8pwp5w6kq2fyj5xkv";
   };
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libicns ];
 
-  buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ];
+  buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
+
+  patches = [ ./patches/fix_locale_dir.patch ];
 
   postPatch = ''
     patchShebangs .
     sed -i Makefile \
-      -e 's,-Werror,,g' \
-      -e 's,\(DATA_PREFIX=$(PREFIX)/share/\)cataclysm-dda/,\1,g'
+      -e 's,-Werror,,g'
 
     sed '1i#include <cmath>' \
       -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp
   '';
 
-  makeFlags = "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1";
+  makeFlags = [
+    "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1"
+    # "LANGUAGES=all"  # vanilla C:DDA installs all translations even without this flag!
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "NATIVE=osx CLANG=1"
+    "OSX_MIN=10.6"  # SDL for macOS only supports deploying on 10.6 and above
+  ];
+
+  postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
+    # iconutil on macOS is not available in nixpkgs
+    png2icns data/osx/AppIcon.icns data/osx/AppIcon.iconset/*
+  '';
 
-  postInstall = ''
-    wrapProgram $out/bin/cataclysm-tiles \
-      --add-flags "--datadir $out/share/"
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    app=$out/Applications/Cataclysm.app
+    install -D -m 444 data/osx/Info.plist -t $app/Contents
+    install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources
+    mkdir $app/Contents/MacOS
+    launcher=$app/Contents/MacOS/Cataclysm.sh
+    cat << SCRIPT > $launcher
+    #!/bin/sh
+    $out/bin/cataclysm-tiles
+    SCRIPT
+    chmod 555 $launcher
   '';
 
   # Disable, possible problems with hydra
@@ -64,6 +86,6 @@ stdenv.mkDerivation rec {
     homepage = http://en.cataclysmdda.com/;
     license = licenses.cc-by-sa-30;
     maintainers = [ maintainers.skeidel ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
index 0437a1b130f8..3d8ec7d68448 100644
--- a/pkgs/games/cataclysm-dda/git.nix
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -1,5 +1,5 @@
-{ fetchFromGitHub, stdenv, makeWrapper, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf,
-SDL2_mixer, freetype, gettext }:
+{ fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf,
+SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa }:
 
 stdenv.mkDerivation rec {
   version = "2017-12-09";
@@ -12,25 +12,40 @@ stdenv.mkDerivation rec {
     sha256 = "1a7kdmx76na4g65zra01qaq98lxp9j2dl9ddv09r0p5yxaizw68z";
   };
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ];
+  buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ];
+
+  patches = [ ./patches/fix_locale_dir_git.patch ];
 
   postPatch = ''
     patchShebangs .
     sed -i Makefile \
-      -e 's,-Werror,,g' \
-      -e 's,\(DATA_PREFIX=$(PREFIX)/share/\)cataclysm-dda/,\1,g'
+      -e 's,-Werror,,g'
 
     sed '1i#include <cmath>' \
       -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp
   '';
 
-  makeFlags = "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1";
+  makeFlags = [
+    "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1"
+    "LANGUAGES=all"
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "NATIVE=osx CLANG=1"
+  ];
 
-  postInstall = ''
-    wrapProgram $out/bin/cataclysm-tiles \
-      --add-flags "--datadir $out/share/cataclysm-dda/"
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    app=$out/Applications/Cataclysm.app
+    install -D -m 444 data/osx/Info.plist -t $app/Contents
+    install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources
+    mkdir $app/Contents/MacOS
+    launcher=$app/Contents/MacOS/Cataclysm.sh
+    cat << SCRIPT > $launcher
+    #!/bin/sh
+    $out/bin/cataclysm-tiles
+    SCRIPT
+    chmod 555 $launcher
   '';
 
   # https://hydra.nixos.org/build/65193254
@@ -65,6 +80,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://en.cataclysmdda.com/;
     license = licenses.cc-by-sa-30;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
new file mode 100644
index 000000000000..775a8ec6007d
--- /dev/null
+++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
@@ -0,0 +1,20 @@
+diff --git a/src/translations.cpp b/src/translations.cpp
+index 6520cfe..49f7b2c 100644
+--- a/src/translations.cpp
++++ b/src/translations.cpp
+@@ -72,15 +72,11 @@ void set_language(bool reload_options)
+ 
+     // Step 2. Bind to gettext domain.
+     const char *locale_dir;
+-#ifdef __linux__
+     if (!FILENAMES["base_path"].empty()) {
+         locale_dir = std::string(FILENAMES["base_path"] + "share/locale").c_str();
+     } else {
+         locale_dir = "lang/mo";
+     }
+-#else
+-    locale_dir = "lang/mo";
+-#endif // __linux__
+ 
+     bindtextdomain("cataclysm-dda", locale_dir);
+     bind_textdomain_codeset("cataclysm-dda", "UTF-8");
diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
new file mode 100644
index 000000000000..c3140af03c8b
--- /dev/null
+++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
@@ -0,0 +1,20 @@
+diff --git a/src/translations.cpp b/src/translations.cpp
+index 3a86291..e6c5f84 100644
+--- a/src/translations.cpp
++++ b/src/translations.cpp
+@@ -176,15 +176,11 @@ void set_language()
+ 
+     // Step 2. Bind to gettext domain.
+     std::string locale_dir;
+-#if (defined __linux__ || (defined MACOSX && !defined TILES))
+     if( !FILENAMES["base_path"].empty() ) {
+         locale_dir = FILENAMES["base_path"] + "share/locale";
+     } else {
+         locale_dir = "lang/mo";
+     }
+-#else
+-    locale_dir = "lang/mo";
+-#endif // __linux__
+ 
+     const char *locale_dir_char = locale_dir.c_str();
+     bindtextdomain( "cataclysm-dda", locale_dir_char );
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index 23980c5842b4..5d387e19928e 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A model-airplane flight simulator";
     maintainers = with stdenv.lib.maintainers; [ raskin the-kenny ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/games/d1x-rebirth/default.nix b/pkgs/games/d1x-rebirth/default.nix
deleted file mode 100644
index 52aec1b8a590..000000000000
--- a/pkgs/games/d1x-rebirth/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
-
-stdenv.mkDerivation rec {
-  name = "d1x-rebirth-0.58.1";
-  src = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/d1x-rebirth_v0.58.1-src.tar.gz";
-    sha256 = "13p3nfqaa78h6bl0k8mdsn90ai99wbqaj6qlsjsgsn8imficivsv";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ scons SDL mesa physfs SDL_mixer ];
-
-  installPhase = ''
-    scons prefix=$out install
-  '';
-
-  meta = {
-    homepage = http://www.dxx-rebirth.com/;
-    description = "Source Port of the Descent 1 engine";
-    license = stdenv.lib.licenses.unfree;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
-  };
-}
diff --git a/pkgs/games/d2x-rebirth/default.nix b/pkgs/games/d2x-rebirth/default.nix
deleted file mode 100644
index 566b6f8cc82d..000000000000
--- a/pkgs/games/d2x-rebirth/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
-
-stdenv.mkDerivation rec {
-  name = "d2x-rebirth-0.58.1";
-  src = fetchurl {
-    url = "http://www.dxx-rebirth.com/download/dxx/d2x-rebirth_v0.58.1-src.tar.gz";
-    sha256 = "08mg831afc1v068c0ds70lhmxk8a54494jls7s9hwf02ffhv3sx8";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ scons SDL mesa physfs SDL_mixer ];
-
-  installPhase = ''
-    scons prefix=$out install
-  '';
-
-  meta = {
-    homepage = http://www.dxx-rebirth.com/;
-    description = "Source Port of the Descent 2 engine";
-    license = stdenv.lib.licenses.unfree;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [viric];
-  };
-}
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index ff2c471e137d..71938874057a 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -4,13 +4,13 @@
 }:
 
 let
-  dfVersion = "0.44.03";
-  version = "${dfVersion}-beta1";
+  dfVersion = "0.44.05";
+  version = "${dfVersion}-alpha1";
   rev = "refs/tags/${version}";
-  sha256 = "1gyaq6krm0cvccyw7rdy6afh9vy983dl86d0wnpr25dl3jky27xw";
+  sha256 = "1hr3qsx7rd36syw7dfp4lh8kpmz1pvva757za2yn34hj1jm4nh52";
 
   # revision of library/xml submodule
-  xmlRev = "7e23a328fd81e3d6db794c0c18b8b2e7bd235649";
+  xmlRev = "3a9f401d196ee8ebc53edb9e15a13bfcb0879b4e";
 
   arch =
     if stdenv.system == "x86_64-linux" then "64"
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index affb364b26f2..20f7502f27dd 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "dwarf-therapist-original-${version}";
-  version = "39.1.2";
+  version = "39.2.0";
 
   src = fetchFromGitHub {
     owner = "Dwarf-Therapist";
     repo = "Dwarf-Therapist";
     rev = "v${version}";
-    sha256 = "0j5pldc184xv1mhdrhsmp23g58cy9a2bba27djigkh2sd5rksgji";
+    sha256 = "1ddy9b9ly1231pnjs43gj7pvc77wjvs4j2rlympal81vyabaphmy";
   };
 
   outputs = [ "out" "layouts" ];
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix
index 4c8712fd40ec..8a85578172a9 100644
--- a/pkgs/games/dwarf-fortress/game.nix
+++ b/pkgs/games/dwarf-fortress/game.nix
@@ -4,7 +4,7 @@
 
 let
   baseVersion = "44";
-  patchVersion = "03";
+  patchVersion = "05";
   dfVersion = "0.${baseVersion}.${patchVersion}";
   libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ];
   platform =
@@ -12,8 +12,8 @@ let
     else if stdenv.system == "i686-linux" then "linux32"
     else throw "Unsupported platform";
   sha256 =
-    if stdenv.system == "x86_64-linux" then "0bgrkwcdghwch96krqdwq8lcjwr6svw0xl53d2jysyszfy7nfl88"
-    else if stdenv.system == "i686-linux" then "1mvnbkjvm68z2q7h81jrh70qy9458b1spv0m3nlc680fm19hpz40"
+    if stdenv.system == "x86_64-linux" then "18bjyhjp5458bfbizm8vq4s00pqpfs097qp6pv76m84kgbc4ghg3"
+    else if stdenv.system == "i686-linux" then "1b9i4kf4c8s6bhqwn8jx100mg7fqp8nmswrai5w8dsma01py4amr"
     else throw "Unsupported platform";
 
 in
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
index 8e1742663c77..def3a09a4ba6 100644
--- a/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   version = "2016-1_196";
-  dfVersion = "0.44.03";
+  dfVersion = "0.44.05";
   inherit soundPack;
   name = "soundsense-${version}";
   src = fetchzip {
diff --git a/pkgs/games/dwarf-fortress/themes/cla.nix b/pkgs/games/dwarf-fortress/themes/cla.nix
index 90e67eb41952..7c3eb0b63e3d 100644
--- a/pkgs/games/dwarf-fortress/themes/cla.nix
+++ b/pkgs/games/dwarf-fortress/themes/cla.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "cla-theme-${version}";
-  version = "44.01-v24";
+  version = "44.xx-v25";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "CLA";
     rev = version;
-    sha256 = "1lyazrls2vr8z58vfk5nvaffyv048j5xkr4wjvp6vrqxxvrxyrfd";
+    sha256 = "1h8nwa939qzqklbi8vwsq9p2brvv7sc0pbzzrdjnb221lr9p58zk";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.44.03";
+  passthru.dfVersion = "0.44.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/themes/phoebus.nix b/pkgs/games/dwarf-fortress/themes/phoebus.nix
index 97d2c2b20ef4..d94902719204 100644
--- a/pkgs/games/dwarf-fortress/themes/phoebus.nix
+++ b/pkgs/games/dwarf-fortress/themes/phoebus.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "phoebus-theme-${version}";
-  version = "44.03";
+  version = "44.05";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "Phoebus";
     rev = version;
-    sha256 = "0jpklikg2bf315m45kdkhd1n1plzb4jwzsg631gqfm9dwnrcs4w3";
+    sha256 = "06mhr6dpbvwp9dxn70kyr6dwyql2k6x5zba2zf6awjah7idys0xr";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.44.03";
+  passthru.dfVersion = "0.44.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index 1831b2b60620..8d7a5a0d1a9d 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -3,7 +3,7 @@
 , ncurses, glib, gtk2, libsndfile, zlib
 }:
 
-let dfVersion = "0.44.03"; in
+let dfVersion = "0.44.05"; in
 
 stdenv.mkDerivation {
   name = "dwarf_fortress_unfuck-${dfVersion}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "svenstaro";
     repo = "dwarf_fortress_unfuck";
     rev = dfVersion;
-    sha256 = "0rd8d2ilhhks9kdi9j73bpyf8j56fhmmsj21yzdc0a4v2hzyxn2w";
+    sha256 = "00yj4l4gazxg4i6fj9rwri6vm17i6bviy2mpkx0z5c0mvsr7s14b";
   };
 
   cmakeFlags = [
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
new file mode 100644
index 000000000000..9645a89b3b2c
--- /dev/null
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, scons, pkgconfig
+, SDL, SDL_mixer, mesa, physfs
+}:
+
+let
+  music = fetchurl {
+    url = "http://www.dxx-rebirth.com/download/dxx/res/d2xr-sc55-music.dxa";
+    sha256 = "05mz77vml396mff43dbs50524rlm4fyds6widypagfbh5hc55qdc";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "dxx-rebirth-${version}";
+  version = "0.59.100";
+
+  src = fetchurl {
+    url = "http://www.dxx-rebirth.com/download/dxx/dxx-rebirth_v${version}-src.tar.gz";
+    sha256 = "0m9k34zyr8bbni9szip407mffdpwbqszgfggavgqjwq0k9c1w7ka";
+  };
+
+  nativeBuildInputs = [ pkgconfig scons ];
+
+  buildInputs = [ mesa physfs SDL SDL_mixer ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    scons prefix=$out install
+    install -Dm644 ${music} $out/share/games/dxx-rebirth/d2xr-sc55-music.dxa
+    install -Dm644 -t $out/share/doc/dxx-rebirth *.txt
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Source Port of the Descent 1 and 2 engines";
+    homepage = http://www.dxx-rebirth.com/;
+    license = licenses.free;
+    maintainers = with maintainers; [ viric ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 185295a20b64..42a3339594a5 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -70,7 +70,7 @@ in stdenv.mkDerivation rec {
     description = "Enhanched port of Duke Nukem 3D for various platforms";
     license = licenses.gpl2Plus;
     homepage = http://eduke32.com;
-    maintainers = with maintainers; [ nckx sander ];
+    maintainers = with maintainers; [ sander ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index d60c4c7d0dea..82d573e47a23 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -12,7 +12,7 @@ let
   gtkName = if gtkClient then "-gtk" else "";
 
   name = "freeciv";
-  version = "2.5.9";
+  version = "2.5.10";
 in
 stdenv.mkDerivation {
   name = "${name}${sdlName}${gtkName}-${version}";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2";
-    sha256 = "0a2rjw6065psh14bkk6ar4i19dcicn9lz63rffr9h278b9c76g5q";
+    sha256 = "00mkzhfcbc27d8m7hj644h8lyc9mb8nhqfcngc52zkidarb438f8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index 28fd6fe6e501..8004aa9931de 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -1,41 +1,55 @@
-{stdenv, fetchgit
-, zlib, jam, pkgconfig, gettext, libxml2, libxslt, xproto, libX11, mesa, SDL
-, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs, autoconf, automake, libtool
+{ stdenv, fetchFromGitHub, autoreconfHook, jam, pkgconfig
+, zlib, libxml2, libxslt, xproto, libX11, mesa, SDL
+, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs
 }:
+
 stdenv.mkDerivation rec {
   name = "lincity-ng-${version}";
   version = "2.9beta.20170715";
 
-  src = fetchgit {
-    url = "https://github.com/lincity-ng/lincity-ng";
-    rev = "0c19714b811225238f310633e59f428934185e6b";
+  src = fetchFromGitHub {
+    owner  = "lincity-ng";
+    repo   = "lincity-ng";
+    rev    = "0c19714b811225238f310633e59f428934185e6b";
     sha256 = "1gaj9fq97zmb0jsdw4rzrw34pimkmkwbfqps0glpqij4w3srz5f3";
   };
 
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [
-    jam autoconf automake libtool pkgconfig
+    autoreconfHook jam pkgconfig
   ];
 
   buildInputs = [
-    zlib gettext libxml2 libxslt xproto libX11 mesa SDL SDL_mixer SDL_image
+    zlib libxml2 libxslt xproto libX11 mesa SDL SDL_mixer SDL_image
     SDL_ttf SDL_gfx physfs
   ];
 
-   preConfigure = ''
-     ./autogen.sh
-   '';
+  autoreconfPhase = ''
+    ./autogen.sh
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    AR='ar r' jam -j $NIX_BUILD_CORES
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    touch CREDITS
+    AR='ar r' jam install
 
-   installPhase = ''
-     touch CREDITS
-     AR='ar r' jam install
-   '';
+    runHook postInstall
+  '';
 
-  meta = {
-    description = ''City building game'';
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [stdenv.lib.maintainers.raskin];
+  meta = with stdenv.lib; {
+    description = "City building game";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/linux-steam-integration/default.nix b/pkgs/games/linux-steam-integration/default.nix
index 161f4691c8f9..3b0aca6df285 100644
--- a/pkgs/games/linux-steam-integration/default.nix
+++ b/pkgs/games/linux-steam-integration/default.nix
@@ -27,6 +27,8 @@ in stdenv.mkDerivation rec {
     sed -i -e "s|/usr/|$out/|g" src/shim/shim.c
     sed -i -e "s|/usr/|$out/|g" data/lsi-steam.desktop
     sed -i -e "s|zenity|${zenityBinPath}|g" src/lsi/lsi.c
+    sed -i -e "s|Name=Linux Steam Integration|Name=Linux Steam Integration Settings|" data/lsi-settings.desktop.in
+
   '';
 
   configurePhase = ''
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index b40083bedba8..49750997a904 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -4,19 +4,19 @@
 }:
 
 let
-  version = "0.4.15";
+  version = "0.4.16";
   sources = {
     src = fetchFromGitHub {
       owner = "minetest";
       repo = "minetest";
       rev = "${version}";
-      sha256 = "0bn4102d0hq774bn6hqhrs6qzl4sancrs4j15w4318bqdndk4676";
+      sha256 = "048m8as01bw4pnwfxx04wfnyljxq7ivk88l214zi18prrrkfamj3";
     };
     data = fetchFromGitHub {
       owner = "minetest";
       repo = "minetest_game";
       rev = "${version}";
-      sha256 = "1mjj40slfiw0khg9nrq8yfmnay237z5jm1cg9hrsiq2fkjrr8w2m";
+      sha256 = "0alikzyjvj9hd8s3dd6ghpz0y982w2j0yd2zgd7a047mxw21hrcn";
     };
   };
 in stdenv.mkDerivation {
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 2ecff1c835e8..d0a8469dd1d1 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -29,11 +29,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "0dhv5bbbg1dmmq7fi3xss0a9jq2rqgb5sf9fsqzlsjcdm590j6b1";
+    sha256 = "1m29s6shnp7c9qh7pzdbvhy7i5awyzn1hr39xkinrpwgvsxa0lgy";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
new file mode 100644
index 000000000000..675c2ab4b4d8
--- /dev/null
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -0,0 +1,47 @@
+{ stdenv, SDL2, fetchFromGitHub, makeWrapper, gzip, libvorbis, libmad, vulkan-loader }:
+stdenv.mkDerivation rec {
+  name = "vkquake-${version}";
+  majorVersion = "0.97";
+  version = "${majorVersion}.3";
+
+  src = fetchFromGitHub {
+    owner = "Novum";
+    repo = "vkQuake";
+    rev = version;
+    sha256 = "11z9k5aw9ip7ggmgjdnaq4g45pxqiy0xhd4jqqmgzpmfdbjk4x13";
+  };
+
+  sourceRoot = "source/Quake";
+  
+  buildInputs = [
+    makeWrapper gzip SDL2 libvorbis libmad vulkan-loader.dev
+  ];
+
+  preInstall = ''
+    mkdir -p "$out/bin"
+  '';
+
+  makeFlags = [ "prefix=$(out) bindir=$(out)/bin" ];
+
+  postFixup = ''
+    wrapProgram $out/bin/vkquake --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  '';
+
+  enableParallelBuilding = true;
+  
+  meta = {
+    description = "Vulkan Quake port based on QuakeSpasm";
+    homepage = src.meta.homepage;
+    longDescription = ''
+      vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering.
+      It is based on the popular QuakeSpasm port and runs all mods compatible with it
+      like Arcane Dimensions or In The Shadows. vkQuake also serves as a Vulkan demo
+      application that shows basic usage of the API. For example it demonstrates render
+      passes & sub passes, pipeline barriers & synchronization, compute shaders, push &
+      specialization constants, CPU/GPU parallelism and memory pooling.
+    '';
+  
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.gnidorah ];
+  };
+}
diff --git a/pkgs/games/rogue/default.nix b/pkgs/games/rogue/default.nix
index b246a94715e4..05fd9ab523b6 100644
--- a/pkgs/games/rogue/default.nix
+++ b/pkgs/games/rogue/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     urls = [
-      "http://pkgs.fedoraproject.org/repo/pkgs/rogue/rogue5.4.4-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue5.4.4-src.tar.gz"
+      "http://src.fedoraproject.org/repo/pkgs/rogue/rogue5.4.4-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue5.4.4-src.tar.gz"
       "http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue5.4.4-src.tar.gz"
       "http://rogue.rogueforge.net/files/rogue5.4/rogue5.4.4-src.tar.gz"
     ];
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 9fcab8b1ec9a..96a38a10c6c8 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A physics-based puzzle game";
-    maintainers = with maintainers; [ raskin nckx ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.free;
     downloadPage = http://sourceforge.net/projects/soi/files/;
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 5ca0de6a7732..d51d1bb154d6 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     description = "Free dance and rhythm game for Windows, Mac, and Linux";
     platforms = platforms.linux;
     license = licenses.mit; # expat version
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index e05f5a92a33a..df5d7e7b4fa8 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -8,33 +8,39 @@ let
 in stdenv.mkDerivation rec {
   name = "supertuxkart-${version}";
 
-  version = "0.9.2";
+  version = "0.9.3";
+
   srcs = [
     (fetchFromGitHub {
       owner  = "supertuxkart";
       repo   = "stk-code";
       rev    = version;
-      sha256 = "1zsc5nw8il8xwppk624jampfk6qhqzjnni8zicrhqix0xg07nxca";
+      sha256 = "1smnanjjaj4yq2ywikv0l6xysh6n2h1cm549plbg5xdk9mx2sfia";
       name   = dir;
     })
     (fetchsvn {
       url    = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
-      rev    = "16503"; # 0.9.2 crashes with 16937. Refer to stk-code/doc/assets_version
-      sha256 = "0j1dy27gxm4hx26xddr2ak6vw0lim0nqmjnszfb4c61y92j12cqp";
+      rev    = "17448";
+      sha256 = "0lxbb4k57gv4gj12l5hnvhwdycpzcxjwg7qdfwglj2bdvaxf9f21";
       name   = "stk-assets";
     })
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake gettext libtool pkgconfig ];
+
   buildInputs = [
-    cmake libtool
     libX11 libXrandr
-    openal freealut mesa libvorbis libogg gettext zlib freetype
+    openal freealut mesa libvorbis libogg zlib freetype
     curl fribidi bluez libjpeg libpng
   ];
 
   enableParallelBuilding = true;
 
+  cmakeFlags = [
+    "-DBUILD_RECORDER=OFF"         # libopenglrecorder is not in nixpkgs
+    "-DUSE_SYSTEM_ANGELSCRIPT=OFF" # doesn't work with 2.31.2 or 2.32.0
+  ];
+
   sourceRoot = dir;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch b/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch
new file mode 100644
index 000000000000..6794e8018aff
--- /dev/null
+++ b/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch
@@ -0,0 +1,27 @@
+From 7ebe252a8488a63675d1c50c0faa1bdc5ff97889 Mon Sep 17 00:00:00 2001
+From: Linus Heckemann <git@sphalerite.org>
+Date: Fri, 5 Jan 2018 21:27:28 +0100
+Subject: [PATCH] Ignore missing data for installation
+
+This is for packaging vdrift separately from its data in nixpkgs.
+---
+ SConstruct | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 4394de0b..beef29a4 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -511,9 +511,6 @@ env.Alias(target = 'bin-package', source = bin_archive)
+ #----------------#
+ Export(['env', 'version', 'src_dir', 'bin_dir'])
+ if 'install' in COMMAND_LINE_TARGETS:
+-    if not os.path.isfile('data/SConscript'):
+-        raise 'VDrift data not found. Please make sure data is placed in vdrift directory. See README.md and http://wiki.vdrift.net.' 
+-    SConscript('data/SConscript')
+     # desktop appdata installation
+     install_desktop = env.Install(env['destdir'] + env['prefix'] + '/share/applications', 'vdrift.desktop')
+     install_appdata = env.Install(env['destdir'] + env['prefix'] + '/share/appdata', 'vdrift.appdata.xml')
+-- 
+2.15.0
+
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 27eef2614263..81b95ddb9e1c 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -1,41 +1,60 @@
-{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, mesa, SDL2, SDL2_image, libvorbis,
-  bullet, curl, gettext }:
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, mesa, SDL2, SDL2_image
+, libvorbis, bullet, curl, gettext, writeTextFile, writeShellScriptBin
 
-stdenv.mkDerivation rec {
-  version = "2014-10-20";
-  name = "vdrift-${version}";
-
-  src = fetchFromGitHub {
-    owner = "VDrift";
-    repo = "vdrift";
-    rev = version;
-    sha256 = "09yny5qzdrpffq3xhqwfymsracwsxwmdd5xa8bxx9a56hhxbak2l";
-  };
-
-  data = fetchsvn {
+, data ? fetchsvn {
     url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
     rev = 1386;
     sha256 = "0ka6zir9hg0md5p03dl461jkvbk05ywyw233hnc3ka6shz3vazi1";
-  };
+  }
+}:
+let
+  version = "git";
+  bin = stdenv.mkDerivation {
+    name = "vdrift-${version}";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ scons mesa SDL2 SDL2_image libvorbis bullet curl gettext ];
+    src = fetchFromGitHub {
+      owner = "vdrift";
+      repo = "vdrift";
+      rev = "12d444ed18395be8827a21b96cc7974252fce6d1";
+      sha256 = "001wq3c4n9wzxqfpq40b1jcl16sxbqv2zbkpy9rq2wf9h417q6hg";
+    };
 
-  buildPhase = ''
-    cp -r --reflink=auto $data data
-    chmod -R +w data
-    sed -i -e s,/usr/local,$out, SConstruct
-    export CXXFLAGS="$(pkg-config --cflags SDL2_image)"
-    scons
-  '';
-  installPhase = "scons install";
+    nativeBuildInputs = [ pkgconfig ];
+    buildInputs = [ scons mesa SDL2 SDL2_image libvorbis bullet curl gettext ];
 
-  meta = {
-    description = "Car racing game";
-    homepage = http://vdrift.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = stdenv.lib.platforms.linux;
+    patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
+
+    buildPhase = ''
+      sed -i -e s,/usr/local,$out, SConstruct
+      export CXXFLAGS="$(pkg-config --cflags SDL2_image)"
+      scons -j$NIX_BUILD_CORES
+    '';
+    installPhase = "scons install";
+
+    meta = {
+      description = "Car racing game";
+      homepage = http://vdrift.net/;
+      license = stdenv.lib.licenses.gpl2Plus;
+      maintainers = with stdenv.lib.maintainers; [viric];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+  wrappedName = "vdrift-${version}-with-data-${toString data.rev}";
+in writeTextFile {
+  name = wrappedName;
+  text = ''
+    export VDRIFT_DATA_DIRECTORY="${data}"
+    exec ${bin}/bin/vdrift "$@"
+  '';
+  destination = "/bin/vdrift";
+  executable = true;
+  checkPhase = ''
+    ${stdenv.shell} -n $out/bin/vdrift
+  '';
+} // {
+  meta = bin.meta // {
     hydraPlatforms = [];
   };
+  unwrapped = bin;
+  inherit bin data;
 }
diff --git a/pkgs/games/zdoom/bcc-git.nix b/pkgs/games/zdoom/bcc-git.nix
new file mode 100644
index 000000000000..2a1219e66ea0
--- /dev/null
+++ b/pkgs/games/zdoom/bcc-git.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+  name = "doom-bcc-git-0.8.0.2018.01.04";
+
+  src = fetchFromGitHub {
+    owner = "wormt";
+    repo = "bcc";
+    rev = "d58b44d9f18b28fd732c27113e5607a454506d19";
+    sha256 = "1m83ip40ln61qrvb1fbgaqbld2xip9n3k817lwkk1936pml9zcrq";
+  };
+
+  enableParallelBuilding = true;
+  makeFlags = ["CC=cc"];
+
+  patches = [ ./bcc-warning-fix.patch ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib,share/doc}
+    install -m755 bcc $out/bin/bcc
+    cp -av doc $out/share/doc/bcc
+    cp -av lib $out/lib/bcc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Compiler for Doom/Hexen scripts (ACS, BCS)";
+    homepage = https://github.com/wormt/bcc;
+    license = licenses.mit;
+    maintainers = with maintainers; [ertes];
+  };
+}
diff --git a/pkgs/games/zdoom/bcc-warning-fix.patch b/pkgs/games/zdoom/bcc-warning-fix.patch
new file mode 100644
index 000000000000..4a352cb1e471
--- /dev/null
+++ b/pkgs/games/zdoom/bcc-warning-fix.patch
@@ -0,0 +1,25 @@
+From c6ac05c96b7908ccd35f3908fc0f13650b0583c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ertugrul=20S=C3=B6ylemez?= <esz@posteo.de>
+Date: Sat, 3 Feb 2018 17:08:54 +0100
+Subject: [PATCH] Remove -Werror
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index bbe2c75..3357d2d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,7 @@ EXE=bcc
+ BUILD_DIR=build
+ CC=gcc
+ INCLUDE=-Isrc -I src/parse
+-OPTIONS=-Wall -Werror -Wno-unused -std=c99 -pedantic -Wstrict-aliasing \
++OPTIONS=-Wall -Wno-unused -std=c99 -pedantic -Wstrict-aliasing \
+ 	-Wstrict-aliasing=2 -Wmissing-field-initializers -D_BSD_SOURCE \
+ 	-D_DEFAULT_SOURCE $(INCLUDE)
+ VERSION_FILE=$(BUILD_DIR)/version.c
+-- 
+2.15.1
+
diff --git a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
index 16b40798a5da..18dd6c14822b 100644
--- a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
@@ -38,6 +38,5 @@ in stdenv.mkDerivation rec {
     homepage = http://www.samsung.com/;
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/samsung/default.nix b/pkgs/misc/cups/drivers/samsung/default.nix
index 556c408012d2..e8da0541f6c5 100644
--- a/pkgs/misc/cups/drivers/samsung/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/default.nix
@@ -94,6 +94,5 @@ in stdenv.mkDerivation rec {
     # Tested on linux-x86_64. Might work on linux-i386.
     # Probably won't work on anything else.
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index be788f9add46..f80f2ddf03e0 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.16.0";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "1kcndzpbbcaxafnz1wa6acy3p3r5likfqmf057i5q0q6i176lz5k";
+    sha256 = "0g6npicm1cwmxqi6ymfvf9wkplp4z2rzvjjl9v4yfvqdjq85gxnp";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix
index 114568fdd528..1c79be712b06 100644
--- a/pkgs/misc/drivers/epkowa/default.nix
+++ b/pkgs/misc/drivers/epkowa/default.nix
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-2.28.1.3+libpng-1.5.patch?h=b6e4c805d53b49da79a0f64ef16bb82d6d800fcf";
       sha256 = "04y70qjd220dpyh771fiq50lha16pms98mfigwjczdfmx6kpj1jd";
     })
     ./firmware_location.patch
@@ -138,5 +138,6 @@ stdenv.mkDerivation rec {
       Supported hardware: at least :
     '' +
     stdenv.lib.concatStringsSep ", " (stdenv.lib.mapAttrsToList (name: value: value.passthru.hw) plugins);
+    maintainers = with stdenv.lib.maintainers; [ symphorien ];
   };
 }
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 9897345b88a6..f8f8d16d142d 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -78,12 +78,12 @@ pythonPackages.buildPythonApplication {
   prePatch = ''
     # HPLIP hardcodes absolute paths everywhere. Nuke from orbit.
     find . -type f -exec sed -i \
-      -e s,/etc/hp,$out/etc/hp, \
-      -e s,/etc/sane.d,$out/etc/sane.d, \
-      -e s,/usr/include/libusb-1.0,${libusb1.dev}/include/libusb-1.0, \
-      -e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor, \
-      -e s,/usr/lib/systemd/system,$out/lib/systemd/system, \
-      -e s,/var/lib/hp,$out/var/lib/hp, \
+      -e s,/etc/hp,$out/etc/hp,g \
+      -e s,/etc/sane.d,$out/etc/sane.d,g \
+      -e s,/usr/include/libusb-1.0,${libusb1.dev}/include/libusb-1.0,g \
+      -e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor,g \
+      -e s,/usr/lib/systemd/system,$out/lib/systemd/system,g \
+      -e s,/var/lib/hp,$out/var/lib/hp,g \
       {} +
   '';
 
@@ -96,6 +96,8 @@ pythonPackages.buildPythonApplication {
       --with-systraydir=$out/xdg/autostart
       --with-mimedir=$out/etc/cups
       --enable-policykit
+      --disable-qt4
+      ${stdenv.lib.optionals withQt5 "--enable-qt5"}
     "
 
     export makeFlags="
@@ -140,9 +142,6 @@ pythonPackages.buildPythonApplication {
     mkdir -p $out/var/lib/hp
     cp ${hplipState} $out/var/lib/hp/hplip.state
 
-    mkdir -p $out/etc/sane.d/dll.d
-    mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf
-
     rm $out/etc/udev/rules.d/56-hpmud.rules
   '';
 
diff --git a/pkgs/misc/emulators/atari++/default.nix b/pkgs/misc/emulators/atari++/default.nix
index d669233e7593..5a37b1b32c5b 100644
--- a/pkgs/misc/emulators/atari++/default.nix
+++ b/pkgs/misc/emulators/atari++/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchurl, libSM, libX11, SDL }:
+{ stdenv, fetchurl, libSM, libX11, libICE, SDL, alsaLib, gcc-unwrapped, libXext }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
   name = "atari++-${version}";
-  version = "1.73";
+  version = "1.81";
 
   src = fetchurl {
     url = "http://www.xl-project.com/download/atari++_${version}.tar.gz";
-    sha256 = "1y5kwh08717jsa5agxrvxnggnwxq36irrid9rzfhca1nnvp9a45l";
+    sha256 = "1sv268dsjddirhx47zaqgqiahy6zjxj7xaiiksd1gjvs4lvf3cdg";
   };
 
-  buildInputs = [ libSM libX11 SDL ];
+  buildInputs = [ libSM libX11 SDL libICE alsaLib gcc-unwrapped libXext ];
+
+  postFixup = ''
+    patchelf --set-rpath ${stdenv.lib.makeLibraryPath buildInputs} "$out/bin/atari++"
+  '';
 
   meta = {
     homepage = http://www.xl-project.com/;
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index 1dd34fa23c33..081846f78e35 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
-  buildInputs = [ libelf ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
 
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/misc/emulators/citra/default.nix
index 97f61e452ff2..2eebe089de32 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/misc/emulators/citra/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchgit, cmake, SDL2, qtbase, boost, curl, gtest }:
 
 stdenv.mkDerivation rec { 
-  name = "citra-2017-07-26";
+  name = "citra-2018-01-24";
 
   # Submodules
   src = fetchgit {
     url = "https://github.com/citra-emu/citra";
-    rev = "a724fb365787718f9e44adedc14e59d0854905a6";
-    sha256 = "0lkrwhxvq85c0smix27xvj8m463bxa67qhy8m8r43g39n0h8d5sf";
+    rev = "33b0b5163fdb08bc8aa1d7eb83e0931a14ed3046";
+    sha256 = "07z32d8lj84yy3l5iqpk37mnmvzjmppqhyqr64kbx14dh5hb6cbj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 91fb0da82d8a..928e692df6b4 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -56,9 +56,12 @@ let wine-build = build: release:
       });
 
 in if wineRelease == "staging" then
-  callPackage ./staging.nix {
-    inherit libtxc_dxtn_Name;
-    wineUnstable = wine-build wineBuild "unstable";
-  }
+  let wineUnstable = wine-build wineBuild "unstable"; in
+    # wine staging is not yet at 3.0, using unstable
+    # FIXME update winestaging sources
+    wineUnstable
+    # callPackage ./staging.nix {
+    #   inherit libtxc_dxtn_Name wineUnstable;
+    # }
 else
   wine-build wineBuild wineRelease
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index cb0561f76550..c276a24b1832 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "2.0.3";
-    url = "https://dl.winehq.org/wine/source/2.0/wine-${version}.tar.xz";
-    sha256 = "0mmyc94r5drffir8zr8jx6iawhgfzjk96fj494aa18vhz1jcc4d8";
+    version = "3.0";
+    url = "https://dl.winehq.org/wine/source/3.0/wine-${version}.tar.xz";
+    sha256 = "1v7vq9iinkscbq6wg85fb0d2137660fg2nk5iabxkl2wr850asil";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -39,14 +39,17 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "2.21";
-    url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
-    sha256 = "1vxbnikdpsmca3nx064mqrm83xpjsfshy25mdfxmyg5vrzl09yms";
+    version = "3.0";
+    url = "https://dl.winehq.org/wine/source/3.0/wine-${version}.tar.xz";
+    sha256 = "1v7vq9iinkscbq6wg85fb0d2137660fg2nk5iabxkl2wr850asil";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
+    # https://github.com/wine-compholio/wine-staging/releases
     inherit (unstable) version;
+    # FIXME update winestaging sources, when 3.0 is released
+    # FIXME then revert the staging derivation in ./default.nix
     sha256 = "1qznp4kgss4mhk1vvr91jmszsi47xg312r64l76jkgwijhypmvb7";
     owner = "wine-compholio";
     repo = "wine-staging";
@@ -54,8 +57,9 @@ in rec {
   };
 
   winetricks = fetchFromGitHub rec {
-    version = "20171018";
-    sha256 = "0qlnxyaydpqx87kfyrkkmwg0jv9dfh3mkq27g224a8v1kf9z3r3h";
+    # https://github.com/Winetricks/winetricks/releases
+    version = "20171222";
+    sha256 = "04risg44kqq8z9nsflw7m7dqykw2aii8m8j495z6fgb7p0pi8ny9";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;
diff --git a/pkgs/misc/logging/beats/5.x.nix b/pkgs/misc/logging/beats/5.x.nix
index ed2a2eadb65a..ba2a8b2448ef 100644
--- a/pkgs/misc/logging/beats/5.x.nix
+++ b/pkgs/misc/logging/beats/5.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "0pp4in66byggcfmvf8yx0m1vra98cs77m7mbr45sdla4hinvaqar";
+        sha256 = "0ri2l8pyl1fnx0zypliwprkk1wkaxz8ywkgz8h2f08v7h1zgq1m6";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index 48c2fb6973fe..2883604491c6 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "1vifxa0v6ha29ijvgnrkx02syckhydg6vjxjqbm8y8zysvnh1869";
+        sha256 = "05ay6hdc1jgi6b00bd998zc39ca8jhnk7i6m3mw70s0baqv1scik";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index 2d210ca00986..d0b7458bf572 100644
--- a/pkgs/misc/my-env/default.nix
+++ b/pkgs/misc/my-env/default.nix
@@ -79,7 +79,7 @@ mkDerivation {
     mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin"
     s="$out/nix-support/setup-new-modified"
     # shut some warning up.., do not use set -e
-    sed -e 's@set -e@@' \
+    sed -e 's@set -eu@@' \
         -e 's@assertEnvExists\s\+NIX_STORE@:@' \
         -e 's@trap.*@@' \
         -e '1i initialPath="${toString initialPath}"' \
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index 72fb7b41c697..4a51facb4aa4 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "electricsheep";
-  version = "2.7b33-2017-02-04";
+  version = "2.7b33-2017-10-20";
 
   src = fetchFromGitHub {
     owner = "scottdraves";
     repo = pname;
-    rev = "12420cd40dfad8c32fb70b88f3d680d84f795c63";
-    sha256 = "1zqry25h6p0y0rg2h8xxda007hx1xdvsgzmjg13xkc8l4zsp5wah";
+    rev = "c02c19b9364733fc73826e105fc983a89a8b4f40";
+    sha256 = "1z49l53j1lhk7ahdy96lm9r0pklwpf2i5s6y2l2rn6l4z8dxkjmk";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/misc/themes/greybird/default.nix b/pkgs/misc/themes/greybird/default.nix
index c1de0856dcea..26c371716427 100644
--- a/pkgs/misc/themes/greybird/default.nix
+++ b/pkgs/misc/themes/greybird/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "greybird";
-  version = "3.22.5";
+  version = "3.22.6";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "0l107q9fcbgp73r4p4fmyy3a7pmc4mi4km5hgp67fm2a4dna7rkd";
+    sha256 = "16rifkyy8l4v03rx85j7m6rfdal99l1xdmghysh95r6lx4y6r01i";
   };
 
   nativeBuildInputs = [ autoreconfHook sass glib libxml2 gdk_pixbuf librsvg ];
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index d50667e80e63..da94a31dff5e 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -52,6 +52,7 @@ rec {
   # aliasess
   "sourcemap.vim"     = sourcemap;
   Colour_Sampler_Pack = Colour-Sampler-Pack;
+  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
   YouCompleteMe       = youcompleteme;
   airline             = vim-airline;
   alternative         = a-vim; # backwards compat, added 2014-10-21
@@ -61,30 +62,41 @@ rec {
   colors-solarized    = Solarized;
   colorsamplerpack    = Colour_Sampler_Pack;
   command_T           = command-t; # backwards compat, added 2014-10-18
+  committia           = committia-vim-git;
+  concealedyank       = concealedyank-vim;
+  context-filetype    = context_filetype-vim;
   css_color_5056      = vim-css-color;
   ctrlp               = ctrlp-vim;
+  cute-python         = vim-cute-python-git;
+  denite              = denite-nvim;
   easy-align          = vim-easy-align;
   easymotion          = vim-easymotion;
+  echodoc             = echodoc-vim;
   eighties            = vim-eighties;
   ghc-mod-vim         = ghcmod;
   gist-vim            = Gist;
   gitgutter           = vim-gitgutter;
   gundo               = gundo-vim;
-  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
   haskellConceal      = haskellconceal; # backwards compat, added 2014-10-18
-  haskellconceal      = vim-haskellconceal;
   haskellConcealPlus  = vim-haskellConcealPlus;
+  haskellconceal      = vim-haskellconceal;
   hier                = vim-hier;
   hlint-refactor      = hlint-refactor-vim;
   hoogle              = Hoogle;
   ipython             = vim-ipython;
   latex-live-preview  = vim-latex-live-preview;
+  mayansmoke          = mayansmoke-git;
   multiple-cursors    = vim-multiple-cursors;
   necoGhc             = neco-ghc; # backwards compat, added 2014-10-18
   neocomplete         = neocomplete-vim;
+  neoinclude          = neoinclude-vim;
+  neomru              = neomru-vim;
   neosnippet          = neosnippet-vim;
+  neoyank             = neoyank-vim-git;
   nerdcommenter       = The_NERD_Commenter;
   nerdtree            = The_NERD_tree;
+  open-browser        = open-browser-vim;
+  peskcolor           = peskcolor-vim-git;
   polyglot            = vim-polyglot;
   quickrun            = vim-quickrun;
   repeat              = vim-repeat;
@@ -94,6 +106,7 @@ rec {
   stylishHaskell      = stylish-haskell; # backwards compat, added 2014-10-18
   supertab            = Supertab;
   syntastic           = Syntastic;
+  tabpagebuffer       = tabpagebuffer-vim;
   tabular             = Tabular;
   tagbar              = Tagbar;
   thumbnail           = thumbnail-vim;
@@ -101,6 +114,8 @@ rec {
   tmuxNavigator       = tmux-navigator; # backwards compat, added 2014-10-18
   tslime              = tslime-vim;
   unite               = unite-vim;
+  vim-grepper         = vim-grepper-git;
+  vim-test            = vim-test-git;
   vimproc             = vimproc-vim;
   vimshell            = vimshell-vim;
   watchdogs           = vim-watchdogs;
@@ -149,6 +164,17 @@ rec {
 
   };
 
+  Cosco = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Cosco-2017-07-26";
+    src = fetchgit {
+      url = "git://github.com/lfilho/cosco.vim";
+      rev = "4a2a080415860196c936a32679d9032f41ba21e4";
+      sha256 = "0gljxy6shr7kmm8vvj6rm4c0lr0ydbny9lrsp64c3d4d0b2wnmig";
+    };
+    dependencies = [];
+
+  };
+
   Gist = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "Gist-2016-10-10";
     src = fetchgit {
@@ -194,11 +220,22 @@ rec {
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2017-11-17";
+    name = "Syntastic-2018-01-12";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "96cc251075f3f9d290c5afd4adf1b64c1542d469";
-      sha256 = "1c2nch9037565n3mrpxf17dnn4c6j7w8wwzfj3fw9anwzr1m5kwl";
+      rev = "937d77d1f3ba8de08ad275e052e38d0e680a175b";
+      sha256 = "10qrq1fs53srp4inxmcm8zq5kjdl56hh1lwh2jhda9mfwrbhg3fp";
+    };
+    dependencies = [];
+
+  };
+
+  SyntaxRange = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "SyntaxRange-2017-07-03";
+    src = fetchgit {
+      url = "git://github.com/inkarkat/vim-SyntaxRange";
+      rev = "213cfda0a0f11505665dbfe1e58c803f498761a6";
+      sha256 = "1dg9n3zll3a79lv96kdlxxs141binb8w79zdisj7djxc5y2k48qs";
     };
     dependencies = [];
 
@@ -297,6 +334,17 @@ rec {
     sourceRoot = ".";
   };
 
+  caw = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "caw-2018-01-01";
+    src = fetchgit {
+      url = "git://github.com/tyru/caw.vim";
+      rev = "50efcd94e00dc3e814bcc0d3d8ccfa3ff324ea42";
+      sha256 = "06hpby2amh2pb4dlfd7s6wybzc8rh8wa3jz0gyv6xx3l91agfari";
+    };
+    dependencies = [];
+
+  };
+
   clang_complete = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "clang_complete-2017-09-25";
     src = fetchgit {
@@ -329,6 +377,17 @@ rec {
 
   };
 
+  csv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "csv-2018-01-03";
+    src = fetchgit {
+      url = "git://github.com/chrisbra/csv.vim";
+      rev = "a50b977fa25a854e7d099198bfa65e2dc680898b";
+      sha256 = "02a6289rbjw8r0l668ala5abfr2rls3slrnk4yrsfc6ka550zj9y";
+    };
+    dependencies = [];
+
+  };
+
   ctrlp-cmatcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "ctrlp-cmatcher-2015-10-15";
     src = fetchgit {
@@ -366,6 +425,17 @@ rec {
 
   };
 
+  easygit = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "easygit-2017-08-11";
+    src = fetchgit {
+      url = "git://github.com/chemzqm/vim-easygit";
+      rev = "8f66da54da627395309548efee6d8705b7f50768";
+      sha256 = "013jl330k9yjcvzzqhwz93adm4349gkl3q1c55m1zfkg3afmvnwd";
+    };
+    dependencies = [];
+
+  };
+
   extradite = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "extradite-2015-09-22";
     src = fetchgit {
@@ -378,11 +448,11 @@ rec {
   };
 
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2017-11-30";
+    name = "fugitive-2017-12-16";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "5032d9ee72361dc3cfaae1a9b3353211203e443f";
-      sha256 = "1zx5l8lx7440l3pvs2bx81r3wmpvbmq7qs8ziz9lvlp91s7dqy88";
+      rev = "f3ccb0c12ee4985b8808f83059830a24cc92821c";
+      sha256 = "1ry67wi5dci4jy54jyf3lsf0yq13a42z9w5qh39rwv5w9wiab2fb";
     };
     dependencies = [];
 
@@ -444,11 +514,11 @@ rec {
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-nvim-2017-12-06";
+    name = "deoplete-nvim-2018-01-14";
     src = fetchgit {
       url = "https://github.com/Shougo/deoplete.nvim";
-      rev = "9d048047807b7bfacd7406ebe85acdb1dc019018";
-      sha256 = "15b881j6f54ykljqhbpl9ajjbhjlgqywr963a7g0d35qnyxzidb8";
+      rev = "b164eb8c36ddbb8835434e013358de29b9c8f1f2";
+      sha256 = "0k3zmpdlg4y4f0y3pgfcqmglrrs1iagw8iaaz131nyswz0m2pf6x";
     };
     dependencies = [];
 
@@ -487,6 +557,17 @@ rec {
 
   };
 
+  peskcolor-vim-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "peskcolor-vim-git-2016-06-11";
+    src = fetchgit {
+      url = "https://github.com/andsild/peskcolor.vim.git";
+      rev = "cba4fc739bbebacd503158f6509d9c226651f363";
+      sha256 = "15hw3casr5y3ckgcn6aq8vhk6g2hym41w51nvgf34hbj9fx1nvkq";
+    };
+    dependencies = [];
+
+  };
+
   flake8-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "flake8-vim-2017-02-17";
     src = fetchgit {
@@ -520,6 +601,17 @@ rec {
 
   };
 
+  vim-bazel = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-bazel-2018-01-10";
+    src = fetchgit {
+      url = "https://github.com/bazelbuild/vim-bazel";
+      rev = "ecafb17d5d1d3756e5ac0bd9f4812a450b8c91a3";
+      sha256 = "0ixhx9ssfygjy2v2ss02w28rcjxnvhj0caffj32cv3snwnpcz6fy";
+    };
+    dependencies = ["maktaba"];
+
+  };
+
   clighter8 = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "clighter8-2017-11-30";
     src = fetchgit {
@@ -567,6 +659,50 @@ rec {
 
   };
 
+  vim-toml = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-toml-2017-12-10";
+    src = fetchgit {
+      url = "https://github.com/cespare/vim-toml";
+      rev = "b531aac0d45aaa373070c4cc30d7ead91960f5a7";
+      sha256 = "14g3zvyfvhilr5ka3jhja4jxjn99957sk6hlv13yfkg349f57dvg";
+    };
+    dependencies = [];
+
+  };
+
+  denite-extra = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "denite-extra-2017-11-03";
+    src = fetchgit {
+      url = "https://github.com/chemzqm/denite-extra";
+      rev = "2cea3e857b51fcde425339adeec12854e6cecbb6";
+      sha256 = "1qa0ajs6vix0vvm1z7rhxq9bfx4aggq97gxghrxpvsc059c7w9wv";
+    };
+    dependencies = [];
+
+  };
+
+  denite-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "denite-git-2017-11-02";
+    src = fetchgit {
+      url = "https://github.com/chemzqm/denite-git";
+      rev = "d40026c9b2c0e53ecdd3883d26260f19c74c7dfe";
+      sha256 = "0c9602pj67hqfkyvanz5gw1s6vlf8q7s9r55g4dws5aakvjbqc0g";
+    };
+    dependencies = [];
+
+  };
+
+  concealedyank-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "concealedyank-vim-2013-03-24";
+    src = fetchgit {
+      url = "https://github.com/chikatoike/concealedyank.vim";
+      rev = "e7e65a395e0e6a266f3a808bc07441aa7d03ebbd";
+      sha256 = "0z7i8dmwfjh6mcrmgrxv3j86ic867617fas9mv4gqsrhhvrrkzsb";
+    };
+    dependencies = [];
+
+  };
+
   vim-sort-motion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-sort-motion-2017-10-03";
     src = fetchgit {
@@ -699,6 +835,17 @@ rec {
 
   };
 
+  vim-cute-python-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-cute-python-git-2016-04-04";
+    src = fetchgit {
+      url = "https://github.com/ehamberg/vim-cute-python.git";
+      rev = "d7a6163f794500447242df2bedbe20bd751b92da";
+      sha256 = "1jrfd6z84cdzn3yxdfp0xfxygscq7s8kbzxk37hf9cf5pl9ln0qf";
+    };
+    dependencies = [];
+
+  };
+
   acp = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "acp-2013-02-05";
     src = fetchgit {
@@ -711,11 +858,11 @@ rec {
   };
 
   vim-elixir = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-elixir-2017-10-20";
+    name = "vim-elixir-2018-02-01";
     src = fetchgit {
       url = "https://github.com/elixir-lang/vim-elixir";
-      rev = "3066d5fb5e1c694e607b2bb5d8277266ca524262";
-      sha256 = "1j5sic3rssh2kaj73lv4m5sck3irn1jzgkpdr5qw7qi0gyfgpg81";
+      rev = "8ca41c1f02208dd5ca68c7bcb6c71b3b92f46af6";
+      sha256 = "0dp9cqflbwc3h1hzgn9fyaxhcn6q9bclgfy9kkgywp8zk5kwzb7p";
     };
     dependencies = [];
 
@@ -732,12 +879,23 @@ rec {
 
   };
 
+  vim-json = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-json-2018-01-10";
+    src = fetchgit {
+      url = "https://github.com/elzr/vim-json";
+      rev = "3727f089410e23ae113be6222e8a08dd2613ecf2";
+      sha256 = "1c19pqrys45pzflj5jyrm4q6hcvs977lv6qsfvbnk7nm4skxrqp1";
+    };
+    dependencies = [];
+
+  };
+
   vim-localvimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-localvimrc-2017-07-06";
+    name = "vim-localvimrc-2018-01-04";
     src = fetchgit {
       url = "https://github.com/embear/vim-localvimrc";
-      rev = "48c01c214ea0312e8045aaa1a28b30850e98a194";
-      sha256 = "158ajdg3n8j0cxk2ry8rmnpfvnzmznhl573v8ddw6xni58b7bg4d";
+      rev = "b915ce29c619fb367ed41d4c95d57eaaaed31b39";
+      sha256 = "13bc3davmw2pms663yniiha8bayzy1m08xjhyrnlqqb2dz77m5gy";
     };
     dependencies = [];
 
@@ -908,6 +1066,17 @@ rec {
 
   };
 
+  vim-gitbranch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-gitbranch-2017-05-28";
+    src = fetchgit {
+      url = "https://github.com/itchyny/vim-gitbranch";
+      rev = "8118dc1cdd387bd609852be4bf350360ce881193";
+      sha256 = "01gvd96mnzfc5s0951zzq122birg5svnximkldgb9kv5bmsnmh3j";
+    };
+    dependencies = [];
+
+  };
+
   vim-ipython = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-ipython-2015-06-23";
     src = fetchgit {
@@ -919,6 +1088,17 @@ rec {
 
   };
 
+  vim-test-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-test-git-2018-01-16";
+    src = fetchgit {
+      url = "https://github.com/janko-m/vim-test.git";
+      rev = "731ad6942f9449d2ed22f6d9ccc8d1ce613b1f19";
+      sha256 = "14xwsc23zmkfl6ydvqiqf7l0gn5nxqdm62rvgiky5j5ii9iqj3hr";
+    };
+    dependencies = [];
+
+  };
+
   vim-hier = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-hier-2011-08-27";
     src = fetchgit {
@@ -1030,11 +1210,11 @@ rec {
   };
 
   fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fzf-vim-2017-12-06";
+    name = "fzf-vim-2018-01-09";
     src = fetchgit {
       url = "https://github.com/junegunn/fzf.vim";
-      rev = "11b7fb91e152258c59b0bb0526c3fb04469cf38c";
-      sha256 = "1p6p557bg56763vq49lfhyr8h30kf1gwiqz1jf6j0mqg46w4q77j";
+      rev = "c0a5fee7071ed89602b9b59fb67e83d6cd23addc";
+      sha256 = "0biqq9g116zziv9k0axgn8wasgwb57fwaxwjj8vsajrmq5phdl4z";
     };
     dependencies = [];
 
@@ -1084,6 +1264,50 @@ rec {
 
   };
 
+  vim-niceblock = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-niceblock-2015-08-22";
+    src = fetchgit {
+      url = "https://github.com/kana/vim-niceblock";
+      rev = "03c59f648fcadd415fc91d7b100cf48bd0a55fac";
+      sha256 = "05p3xr61v3infi07r9ahr30190kamgdjxkjjlawbqnrn8pv9fws4";
+    };
+    dependencies = [];
+
+  };
+
+  vim-operator-replace = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-operator-replace-2015-02-25";
+    src = fetchgit {
+      url = "https://github.com/kana/vim-operator-replace";
+      rev = "1345a556a321a092716e149d4765a5e17c0e9f0f";
+      sha256 = "07cibp61zwbzpjfxqdc77fzrgnz8jhimmdhhyjr0lvgrjgvsnv6q";
+    };
+    dependencies = [];
+
+  };
+
+  vim-operator-user = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-operator-user-2015-02-17";
+    src = fetchgit {
+      url = "https://github.com/kana/vim-operator-user";
+      rev = "c3dfd41c1ed516b4b901c97562e644de62c367aa";
+      sha256 = "16y2fyrmwg4vkcl85i8xg8s6m39ca2jvgi9qm36b3vzbnkcifafb";
+    };
+    dependencies = [];
+
+  };
+
+  vim-textobj-user = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-textobj-user-2017-09-28";
+    src = fetchgit {
+      url = "https://github.com/kana/vim-textobj-user";
+      rev = "e231b65797b5765b3ee862d71077e9bd56f3ca3e";
+      sha256 = "0zsgr2cn8s42d7jllnxw2cvqkl27lc921d1mkph7ny7jgnghaay9";
+    };
+    dependencies = [];
+
+  };
+
   latex-box = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "latex-box-2015-06-01";
     src = fetchgit {
@@ -1231,12 +1455,23 @@ rec {
 
   };
 
+  vim-grepper-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-grepper-git-2018-01-16";
+    src = fetchgit {
+      url = "https://github.com/mhinz/vim-grepper.git";
+      rev = "4fd6260c56ffa0642095143f802d1cbfceb7437d";
+      sha256 = "11rhj6m85hxd4kf8yms4mab8553dcgl0yxm9r7nhdqpz6mljsir9";
+    };
+    dependencies = [];
+
+  };
+
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2017-12-06";
+    name = "vim-startify-2017-12-20";
     src = fetchgit {
       url = "https://github.com/mhinz/vim-startify";
-      rev = "c905a0c9598c72cb4311ca88f3eb664d05e4d66b";
-      sha256 = "1zdqr2lg1cf7dix6yvx7hmxcb698hb2zdimiqv2kgpdqlc40agcy";
+      rev = "5e476d8e00da70bc33c54a174fd8cb18ed991868";
+      sha256 = "07k7ddjqc2jisk0sh9k8w6r5xhh47cbzbxdnbkjz7bdskkwsdsay";
     };
     dependencies = [];
 
@@ -1366,6 +1601,17 @@ rec {
 
   };
 
+  vim-textobj-multiblock = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-textobj-multiblock-2014-06-02";
+    src = fetchgit {
+      url = "https://github.com/osyo-manga/vim-textobj-multiblock";
+      rev = "670a5ba57d73fcd793f480e262617c6eb0103355";
+      sha256 = "1s71hdr73cl8yg9mrdflvzrdccpiv7qrlainai7gqw30r1hfhfzf";
+    };
+    dependencies = [];
+
+  };
+
   vim-watchdogs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-watchdogs-2017-12-03";
     src = fetchgit {
@@ -1421,6 +1667,28 @@ rec {
 
   };
 
+  vim-wordy = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-wordy-2016-11-07";
+    src = fetchgit {
+      url = "https://github.com/reedes/vim-wordy";
+      rev = "bd37684a041fce85c34bb56c41c5a12c04a376ca";
+      sha256 = "0lv3ff1yfqdz2vj6lwaygslds1ccidbb09f4x1cdwlawxdgh3w2v";
+    };
+    dependencies = [];
+
+  };
+
+  committia-vim-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "committia-vim-git-2017-12-04";
+    src = fetchgit {
+      url = "https://github.com/rhysd/committia.vim.git";
+      rev = "51aec02e5ab07c89fa5d5445cfe3a8e0098bec27";
+      sha256 = "08nqncgnmbvhnn850s6hhp6p6scqg2iiwrl9air952yh9pl91h84";
+    };
+    dependencies = [];
+
+  };
+
   vim-grammarous = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-grammarous-2017-08-25";
     src = fetchgit {
@@ -1441,6 +1709,17 @@ rec {
     ];
   };
 
+  vim-operator-surround = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-operator-surround-2017-12-23";
+    src = fetchgit {
+      url = "https://github.com/rhysd/vim-operator-surround";
+      rev = "001c0da077b5b38a723151b19760d220e02363db";
+      sha256 = "0c6w6id57faw6sjf5wvw9qp2a4i7xj65q0c4hjs0spgzycv2wpkh";
+    };
+    dependencies = [];
+
+  };
+
   vim-puppet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-puppet-2017-08-25";
     src = fetchgit {
@@ -1529,6 +1808,50 @@ rec {
 
   };
 
+  context_filetype-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "context_filetype-vim-2017-11-15";
+    src = fetchgit {
+      url = "https://github.com/shougo/context_filetype.vim";
+      rev = "6856503cd938d018c2d42277ee6ca896fd63f5a2";
+      sha256 = "1s4nimpvc5ps602h8xb231nvmk9jbzs981an5kxr3idmmk44j5ms";
+    };
+    dependencies = [];
+
+  };
+
+  denite-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "denite-nvim-2018-01-16";
+    src = fetchgit {
+      url = "https://github.com/shougo/denite.nvim";
+      rev = "0d48d8d498d410a5ea4403648d528e7267d87461";
+      sha256 = "1npag0da8s3jv4jm8waqvsdfg0gnqhkc07r3m17zp2r2bh3b9bjc";
+    };
+    dependencies = [];
+
+  };
+
+  echodoc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "echodoc-vim-2018-01-12";
+    src = fetchgit {
+      url = "https://github.com/shougo/echodoc.vim";
+      rev = "410ead5a9fa4400b51771cba3b7599722c9e65b1";
+      sha256 = "01czpvn5rs37x0ml8bc5vwyhklm6fk3wl339smc3jvyr1w73rrf5";
+    };
+    dependencies = [];
+
+  };
+
+  neco-syntax = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neco-syntax-2017-10-01";
+    src = fetchgit {
+      url = "https://github.com/shougo/neco-syntax";
+      rev = "98cba4a98a4f44dcff80216d0b4aa6f41c2ce3e3";
+      sha256 = "1cjcbgx3h00g91ifgw30q5n97x4nprsr4kwirydws79fcs4vkgip";
+    };
+    dependencies = [];
+
+  };
+
   neco-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "neco-vim-2017-10-01";
     src = fetchgit {
@@ -1551,6 +1874,28 @@ rec {
 
   };
 
+  neoinclude-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neoinclude-vim-2017-10-01";
+    src = fetchgit {
+      url = "https://github.com/shougo/neoinclude.vim";
+      rev = "b5956ac824fdd60d6eacaa597c8d329252972d8b";
+      sha256 = "07x7hxqhklcr5y8zkw9939cwx7rpiicjlc65bn526fkmhcc2hng6";
+    };
+    dependencies = [];
+
+  };
+
+  neomru-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neomru-vim-2017-10-01";
+    src = fetchgit {
+      url = "https://github.com/shougo/neomru.vim";
+      rev = "97540f54fa20b94daf306f0c1f3cce983bbf7a1d";
+      sha256 = "15d5hmh5v3hnjnfb5736n45rh5nyq41vqjp1cz4ls2rxmmfi3xa7";
+    };
+    dependencies = [];
+
+  };
+
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "neosnippet-snippets-2017-09-26";
     src = fetchgit {
@@ -1573,6 +1918,28 @@ rec {
 
   };
 
+  neoyank-vim-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neoyank-vim-git-2017-12-19";
+    src = fetchgit {
+      url = "https://github.com/shougo/neoyank.vim.git";
+      rev = "5d6e6f80e1920fc38ab5cf779c424a1fdb49202d";
+      sha256 = "0l2gfwyiyzppb0hs9sx3x7ndq9zzinppzqq3njwjzd1qgfv29jpq";
+    };
+    dependencies = [];
+
+  };
+
+  tabpagebuffer-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tabpagebuffer-vim-2014-09-30";
+    src = fetchgit {
+      url = "https://github.com/shougo/tabpagebuffer.vim";
+      rev = "4d95c3e6fa5ad887498f4cbe486c11e39d4a1fbc";
+      sha256 = "1z6zlpzkhwy1p2pmx9qrwb91dp9v4yi8jrdvm1if2k79ij4sl08f";
+    };
+    dependencies = [];
+
+  };
+
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "unite-vim-2017-12-06";
     src = fetchgit {
@@ -1635,6 +2002,17 @@ rec {
 
   };
 
+  vim-smalls = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-smalls-2015-05-02";
+    src = fetchgit {
+      url = "https://github.com/t9md/vim-smalls";
+      rev = "9619eae81626bd63f88165e0520c467698264e34";
+      sha256 = "0s5z3zv220cg95yky2av6w0jmpc56ysyhsx0596ksvgz5jwhpbad";
+    };
+    dependencies = [];
+
+  };
+
   vim-hardtime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-hardtime-2017-03-31";
     src = fetchgit {
@@ -1679,6 +2057,17 @@ rec {
 
   };
 
+  vim-themis = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-themis-2017-12-28";
+    src = fetchgit {
+      url = "https://github.com/thinca/vim-themis";
+      rev = "691cd3912ba318dbd8d9fa0035fee629b424766d";
+      sha256 = "1mrdaah3iyg35v6cgvr3jav3386czialfcinwa3y9jy14basbqhd";
+    };
+    dependencies = [];
+
+  };
+
   molokai = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "molokai-2015-11-11";
     src = fetchgit {
@@ -1767,6 +2156,17 @@ rec {
 
   };
 
+  open-browser-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "open-browser-vim-2017-12-15";
+    src = fetchgit {
+      url = "https://github.com/tyru/open-browser.vim";
+      rev = "ee8decb2b26020320128eecd7a96383d995c8804";
+      sha256 = "1a9j13h174lkp1gqd80idwdb8d74gdkyfgvb2l153jcqyvwpzcl2";
+    };
+    dependencies = [];
+
+  };
+
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "youcompleteme-2017-12-03";
     src = fetchgit {
@@ -1848,6 +2248,17 @@ rec {
 
   };
 
+  Improved-AnsiEsc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Improved-AnsiEsc-2015-08-25";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/Improved-AnsiEsc";
+      rev = "e1c59a8e9203fab6b9150721f30548916da73351";
+      sha256 = "1smjs4kz2kmzprzp9az4957675nakb43146hshbby39j5xz4jsbz";
+    };
+    dependencies = [];
+
+  };
+
   Rename = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "Rename-2011-08-30";
     src = fetchgit {
@@ -1914,6 +2325,17 @@ rec {
 
   };
 
+  mayansmoke-git = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "mayansmoke-git-2010-10-17";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/mayansmoke.git";
+      rev = "168883af7aec05f139af251f47eadd5dfb802c9d";
+      sha256 = "1xxcky7i6sx7f1q8xka4gd2xg78w6sqjvqrdwgrdzv93fhf82rpd";
+    };
+    dependencies = [];
+
+  };
+
   random-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "random-vim-2010-10-17";
     src = fetchgit {
@@ -1969,6 +2391,17 @@ rec {
     buildInputs = [ python ];
   };
 
+  targets-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "targets-vim-2017-12-03";
+    src = fetchgit {
+      url = "https://github.com/wellle/targets.vim";
+      rev = "6f809397526797f8f419a5d2b86d90e5aff68e66";
+      sha256 = "0djjm7b41kgrkz447br7qi3w96ayz9lyxd164gyp082qqxxpz63q";
+    };
+    dependencies = [];
+
+  };
+
   command-t = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "command-t-2017-11-16";
     src = fetchgit {
@@ -2089,6 +2522,18 @@ rec {
 
   };
 
+  gitv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "gitv-2017-11-26";
+    src = fetchgit {
+      url = "https://github.com/gregsexton/gitv";
+      rev = "4b7ecf354726a3d31d0ad9090efd27a79c850a35";
+      sha256 = "0n2ddq0kicl2xjrhxi5pqvpikxa7vbf0hp3lzwmpapmvx146wi3w";
+    };
+    dependencies = ["fugitive"];
+
+  };
+
+
   matchit-zip = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "matchit-zip";
     src = fetchurl {
@@ -2111,6 +2556,17 @@ rec {
     '';
   };
 
+  neco-look = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neco-look-2018-01-07";
+    src = fetchgit {
+      url = "git://github.com/ujihisa/neco-look";
+      rev = "ff3de2731177694d0e85f1227b6cfd51c8e2bc8d";
+      sha256 = "0zpny9sj7alzsbrjbph71b44zf575hij1ky8pwgba0ygp2p2fxd4";
+    };
+    dependencies = [];
+
+  };
+
   pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "pathogen-2017-08-04";
     src = fetchgit {
@@ -2122,6 +2578,17 @@ rec {
 
   };
 
+  prettyprint = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "prettyprint-2016-07-16";
+    src = fetchgit {
+      url = "git://github.com/thinca/vim-prettyprint";
+      rev = "d6060d2b1ff1cff71714e126addd3b10883ade12";
+      sha256 = "0mb1ylsq4023ik9wd9iwzlynra2c320xp9h2i79bspapglgd5gk9";
+    };
+    dependencies = [];
+
+  };
+
   quickfixstatus = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "quickfixstatus-2011-09-02";
     src = fetchgit {
@@ -2144,6 +2611,17 @@ rec {
 
   };
 
+  riv = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "riv-2017-02-07";
+    src = fetchgit {
+      url = "git://github.com/Rykka/riv.vim";
+      rev = "d1efdd92fbb51dc452c61eec54a0ec084f011b4b";
+      sha256 = "18qcglbrixgqk05x34dy2cksaw0dg7n51p48i6zkh5sqspv98zz3";
+    };
+    dependencies = [];
+
+  };
+
   sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "sensible-2017-05-09";
     src = fetchgit {
@@ -2188,6 +2666,17 @@ rec {
 
   };
 
+  sparkup = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "sparkup-2012-06-10";
+    src = fetchgit {
+      url = "git://github.com/chrisgeo/sparkup";
+      rev = "6fbfceef890e705c47b42b27be743ffed6f9296e";
+      sha256 = "17jgpvl879ik53rr3razfnbpfx63mzpp1rlvxxjsvvrk4g45dssm";
+    };
+    dependencies = [];
+
+  };
+
   surround = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "surround-2016-06-01";
     src = fetchgit {
@@ -2200,11 +2689,22 @@ rec {
   };
 
   table-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "table-mode-2017-10-26";
+    name = "table-mode-2018-01-04";
     src = fetchgit {
       url = "git://github.com/dhruvasagar/vim-table-mode";
-      rev = "40fe641708c58476c3a1b9aeafb68dd888d4920b";
-      sha256 = "1rb2jq81965gpziqxlljr2bqjyfbikqa9ncxaaak3x61prn4z084";
+      rev = "b25fe6f9f0f0b704d05ebd05edbbf0be3038cef9";
+      sha256 = "14ykj2yrwi8k6mkzg0vi4favwg88l8c7zf7m6qzvndpjqw8jggdy";
+    };
+    dependencies = [];
+
+  };
+
+  tabpagecd = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tabpagecd-2013-11-29";
+    src = fetchgit {
+      url = "git://github.com/kana/vim-tabpagecd";
+      rev = "8b71a03a037608fa5918f5096812577cec6355e4";
+      sha256 = "1mr6s2hvsf2a2nkjjvq78c9isfxk2k1ih890w740srbq6ssj0npm";
     };
     dependencies = [];
 
@@ -2484,6 +2984,28 @@ rec {
 
   };
 
+  vim-cursorword = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-cursorword-2017-10-19";
+    src = fetchgit {
+      url = "git://github.com/itchyny/vim-cursorword";
+      rev = "4878d6185b99131c5f610cc6ad0e223439ac4601";
+      sha256 = "170nf0w7i5k3cr72dkvraq2p0lzsvb3cmdvslyz7cmxnz611n6bf";
+    };
+    dependencies = [];
+
+  };
+
+  vim-dirdiff = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-dirdiff-2017-01-19";
+    src = fetchgit {
+      url = "https://github.com/will133/vim-dirdiff";
+      rev = "db1fe77dcefa7a5b1089c8a84d1b401a4bd780bc";
+      sha256 = "1540h5skh8rcpzj0vp8sr53hg9jmmknj155pxs4z5w6gvzk7nx0p";
+    };
+    dependencies = [];
+
+  };
+
   vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-easy-align-2017-06-03";
     src = fetchgit {
@@ -2495,6 +3017,17 @@ rec {
 
   };
 
+  vim-ft-diff_fold = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-ft-diff_fold-2013-02-10";
+    src = fetchgit {
+      url = "git://github.com/thinca/vim-ft-diff_fold";
+      rev = "89771dffd3682ef82a4b3b3e9c971b9909f08e87";
+      sha256 = "0bk95cxkfzamlgv1x2jb1bnfas2pmvvqgpn5fvxddf0andm8sfma";
+    };
+    dependencies = [];
+
+  };
+
   vim-gista = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-gista-2017-02-20";
     src = fetchgit {
@@ -2517,6 +3050,17 @@ rec {
 
   };
 
+  vim-dashboard = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-dashboard-2017-08-08";
+    src = fetchgit {
+      url = "git://github.com/junegunn/vim-github-dashboard";
+      rev = "054d7c69d9882a6ffccedd6e43623e184958d3b6";
+      sha256 = "1ns6dd8719hqrkqnxd52ssi7gxjxni7w4l1ih7ag72d62qzw0p8y";
+    };
+    dependencies = [];
+
+  };
+
   vim-iced-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-iced-coffee-script-2013-12-27";
     src = fetchgit {
@@ -2528,6 +3072,28 @@ rec {
 
   };
 
+  vim-javascript = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-javascript-2018-01-10";
+    src = fetchgit {
+      url = "git://github.com/pangloss/vim-javascript";
+      rev = "4c0a554423df72ecb8d13b143afa7a4cfcb994ec";
+      sha256 = "01lbkcfjqwrn2pbxz1jj8g2vxasc2i7s6nc7665s1warn066ykjr";
+    };
+    dependencies = [];
+
+  };
+
+  vim-jsbeautify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-jsbeautify-2017-05-20";
+    src = fetchgit {
+      url = "git://github.com/maksimr/vim-jsbeautify";
+      rev = "e83f749c3de7e958e7bc285e80e484707b6f1e12";
+      sha256 = "0dy9ljqp6shac406xgawzrqcapm80rjxmbzwy93ypzlhi8b67w0a";
+    };
+    dependencies = [];
+
+  };
+
   vim-latex-live-preview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-latex-live-preview-2017-11-09";
     src = fetchgit {
@@ -2539,6 +3105,17 @@ rec {
 
   };
 
+  vim-logreview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-logreview-2017-07-08";
+    src = fetchgit {
+      url = "git://github.com/andreshazard/vim-logreview";
+      rev = "b7b66ab338e904127d796af49235b8c29742f18f";
+      sha256 = "09lyymq0f3ybqdzhbpia7b0wcjbcyg5nkqd72qk8jkvc42da2af3";
+    };
+    dependencies = [];
+
+  };
+
   vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-multiple-cursors-2017-08-04";
     src = fetchgit {
@@ -2550,6 +3127,28 @@ rec {
 
   };
 
+  vim-ruby = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-ruby-2017-06-22";
+    src = fetchgit {
+      url = "git://github.com/vim-ruby/vim-ruby";
+      rev = "074200ffa39b19baf9d9750d399d53d97f21ee07";
+      sha256 = "1w2d12cl40nf73f3hcpqc4sqma8h1a557fy8kds2x143gq7s5vx6";
+    };
+    dependencies = [];
+
+  };
+
+  vim-scouter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-scouter-2014-08-10";
+    src = fetchgit {
+      url = "git://github.com/thinca/vim-scouter";
+      rev = "5221901d4ad6b2ef8b370b336db2aa7f69f2b6dc";
+      sha256 = "0fx64hj1kzrsxz96195d5lm3x88zyycbcr78819mcbgfzyxis6b8";
+    };
+    dependencies = [];
+
+  };
+
   vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-signature-2017-09-24";
     src = fetchgit {
@@ -2637,4 +3236,26 @@ rec {
     dependencies = [];
 
   };
+
+  xterm-color-table = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "xterm-color-table-2013-12-31";
+    src = fetchgit {
+      url = "git://github.com/guns/xterm-color-table.vim";
+      rev = "9754e857e5f4fe1f8727106dcc682d21c29a51e4";
+      sha256 = "08a1d9428xwrjp40qgi34cb5fwgc239qf3agxl32k7bqbn08pq19";
+    };
+    dependencies = [];
+
+  };
+
+  zeavim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "zeavim-2017-12-20";
+    src = fetchgit {
+      url = "git://github.com/KabbAmine/zeavim.vim";
+      rev = "88f81078059d98d7637a93b90730897a3af231a4";
+      sha256 = "1p43f6bbs9fcvvp1i90kzx1xj7k6c5w3ajf9wlrplpkz6hsiv2wv";
+    };
+    dependencies = [];
+
+  };
 }
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 268888b08ec3..b48728e29ced 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -1,10 +1,12 @@
 "CSApprox"
 "CheckAttach"
+"Cosco"
 "Gist"
 "Hoogle"
 "Solarized"
 "Supertab"
 "Syntastic"
+"SyntaxRange"
 "Tabular"
 "Tagbar"
 "The_NERD_Commenter"
@@ -13,11 +15,14 @@
 "VimOutliner"
 "WebAPI"
 "YankRing"
+"caw"
 "clang_complete"
 "commentary"
+"csv"
 "ctrlp-cmatcher"
 "ctrlp-py-matcher"
 "ctrlp-z"
+"easygit"
 "extradite"
 "fugitive"
 "ghcmod"
@@ -29,13 +34,19 @@
 "github:ajh17/Spacegray.vim"
 "github:albfan/nerdtree-git-plugin"
 "github:alvan/vim-closetag"
+"github:andsild/peskcolor.vim.git"
 "github:andviro/flake8-vim"
 "github:ap/vim-css-color"
 "github:autozimu/LanguageClient-neovim"
+"github:bazelbuild/vim-bazel"
 "github:bbchung/clighter8"
 "github:benekastah/neomake"
 "github:bitc/vim-hdevtools"
 "github:bronson/vim-trailing-whitespace"
+"github:cespare/vim-toml"
+"github:chemzqm/denite-extra"
+"github:chemzqm/denite-git"
+"github:chikatoike/concealedyank.vim"
 "github:christoomey/vim-sort-motion"
 "github:christoomey/vim-tmux-navigator"
 "github:ctjhoa/spacevim"
@@ -48,9 +59,11 @@
 "github:drmingdrmer/xptemplate"
 "github:eagletmt/neco-ghc"
 "github:editorconfig/editorconfig-vim"
+"github:ehamberg/vim-cute-python.git"
 "github:eikenb/acp"
 "github:elixir-lang/vim-elixir"
 "github:elmcast/elm-vim"
+"github:elzr/vim-json"
 "github:embear/vim-localvimrc"
 "github:enomsg/vim-haskellConcealPlus"
 "github:ensime/ensime-vim"
@@ -62,13 +75,16 @@
 "github:google/vim-codefmt"
 "github:google/vim-jsonnet"
 "github:google/vim-maktaba"
+"github:gregsexton/gitv"
 "github:heavenshell/vim-jsdoc"
 "github:hecal3/vim-leader-guide"
 "github:idris-hackers/idris-vim"
 "github:itchyny/calendar.vim"
 "github:itchyny/lightline.vim"
 "github:itchyny/thumbnail.vim"
+"github:itchyny/vim-gitbranch"
 "github:ivanov/vim-ipython"
+"github:janko-m/vim-test.git"
 "github:jceb/vim-hier"
 "github:jceb/vim-orgmode"
 "github:jeetsukumaran/vim-buffergator"
@@ -83,6 +99,9 @@
 "github:junegunn/limelight.vim"
 "github:junegunn/vim-peekaboo"
 "github:justincampbell/vim-eighties"
+"github:kana/vim-niceblock"
+"github:kana/vim-operator-replace"
+"github:kana/vim-operator-user"
 "github:latex-box-team/latex-box"
 "github:leafgarland/typescript-vim"
 "github:lepture/vim-jinja"
@@ -96,6 +115,7 @@
 "github:megaannum/forms"
 "github:megaannum/self"
 "github:mfukar/robotframework-vim"
+"github:mhinz/vim-grepper.git"
 "github:mhinz/vim-startify"
 "github:michaeljsmith/vim-indent-object"
 "github:mileszs/ack.vim"
@@ -107,33 +127,47 @@
 "github:neovimhaskell/haskell-vim"
 "github:nixprime/cpsm"
 "github:osyo-manga/shabadou.vim"
+"github:osyo-manga/vim-textobj-multiblock"
 "github:osyo-manga/vim-watchdogs"
 "github:plasticboy/vim-markdown"
 "github:python-mode/python-mode"
 "github:racer-rust/vim-racer"
 "github:raichoo/purescript-vim"
+"github:reedes/vim-wordy"
+"github:rhysd/committia.vim.git"
 "github:rhysd/vim-grammarous"
+"github:rhysd/vim-operator-surround"
 "github:rodjek/vim-puppet"
-"github:roxma/nvim-completion-manager"
 "github:roxma/nvim-cm-racer"
-"github:ryanoasis/vim-devicons"
+"github:roxma/nvim-completion-manager"
 "github:rust-lang/rust.vim"
+"github:ryanoasis/vim-devicons"
 "github:sbdchd/neoformat"
 "github:sebastianmarkow/deoplete-rust"
 "github:sheerun/vim-polyglot"
+"github:shougo/context_filetype.vim"
+"github:shougo/denite.nvim"
+"github:shougo/echodoc.vim"
+"github:shougo/neco-syntax"
 "github:shougo/neco-vim"
 "github:shougo/neocomplete.vim"
+"github:shougo/neoinclude.vim"
+"github:shougo/neomru.vim"
 "github:shougo/neosnippet-snippets"
 "github:shougo/neosnippet.vim"
+"github:shougo/neoyank.vim.git"
+"github:shougo/tabpagebuffer.vim"
 "github:shougo/unite.vim"
 "github:shougo/vimproc.vim"
 "github:shougo/vimshell.vim"
 "github:sjl/gundo.vim"
 "github:slashmili/alchemist.vim"
+"github:t9md/vim-smalls"
 "github:takac/vim-hardtime"
 "github:terryma/vim-expand-region"
 "github:tex/vimpreviewpandoc"
 "github:thinca/vim-quickrun"
+"github:thinca/vim-themis"
 "github:tomasr/molokai"
 "github:tpope/vim-dispatch"
 "github:tpope/vim-eunuch"
@@ -142,23 +176,28 @@
 "github:tpope/vim-speeddating"
 "github:travitch/hasksyn"
 "github:twinside/vim-haskellconceal"
+"github:tyru/open-browser.vim"
 "github:valloric/youcompleteme"
 "github:vim-airline/vim-airline-themes"
 "github:vim-pandoc/vim-pandoc"
 "github:vim-pandoc/vim-pandoc-after"
 "github:vim-pandoc/vim-pandoc-syntax"
 "github:vim-scripts/Colour-Sampler-Pack"
+"github:vim-scripts/Improved-AnsiEsc"
 "github:vim-scripts/Rename"
 "github:vim-scripts/ReplaceWithRegister"
 "github:vim-scripts/a.vim"
 "github:vim-scripts/align"
 "github:vim-scripts/argtextobj.vim"
 "github:vim-scripts/changeColorScheme.vim"
+"github:vim-scripts/mayansmoke.git"
 "github:vim-scripts/random.vim"
 "github:vim-scripts/tabmerge"
 "github:vim-scripts/wombat256.vim"
 "github:w0rp/ale"
 "github:wakatime/vim-wakatime"
+"github:wellle/targets.vim"
+"github:will133/vim-dirdiff"
 "github:wincent/command-t"
 "github:xolox/vim-easytags"
 "github:xolox/vim-misc"
@@ -169,15 +208,20 @@
 "goyo"
 "gruvbox"
 "matchit.zip"
+"neco-look"
 "pathogen"
+"prettyprint"
 "quickfixstatus"
 "rainbow_parentheses"
+"riv"
 "sensible"
 "sleuth"
 "snipmate"
 "sourcemap"
+"sparkup"
 "surround"
 "table-mode"
+"tabpagecd"
 "taglist"
 "tlib"
 "undotree"
@@ -202,12 +246,20 @@
 "vim-addon-xdebug"
 "vim-airline"
 "vim-coffee-script"
+"vim-cursorword"
 "vim-easy-align"
+"vim-ft-diff_fold"
 "vim-gista"
 "vim-gitgutter"
+"vim-github-dashboard"
 "vim-iced-coffee-script"
+"vim-javascript"
+"vim-jsbeautify"
 "vim-latex-live-preview"
+"vim-logreview"
 "vim-multiple-cursors"
+"vim-ruby"
+"vim-scouter"
 "vim-signature"
 "vim-signify"
 "vim-snippets"
@@ -216,3 +268,5 @@
 "vimwiki"
 "vinegar"
 "vundle"
+"xterm-color-table"
+"zeavim"
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 23749fd4ce60..e11419846aeb 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -325,11 +325,14 @@ rec {
 
   # add a customize option to a vim derivation
   makeCustomizable = vim: vim // {
-    customize = {name, vimrcConfig}: vimWithRC {
+    customize = { name, vimrcConfig }: vimWithRC {
       vimExecutable = "${vim}/bin/vim";
       inherit name;
       vimrcFile = vimrcFile vimrcConfig;
     };
+
+    override = f: makeCustomizable (vim.override f);
+    overrideAttrs = f: makeCustomizable (vim.overrideAttrs f);
   };
 
   pluginnames2Nix = {name, namefiles} : vim_configurable.customize {
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 478f9e7e303f..cca729016c25 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -186,7 +186,7 @@ let
     # There should be an IOVideo here, but they haven't released it :(
   };
 
-  IOKitSrcs = stdenv.lib.mapAttrs (name: value: if builtins.isFunction value then value name else value) IOKitSpecs;
+  IOKitSrcs = stdenv.lib.mapAttrs (name: value: if stdenv.lib.isFunction value then value name else value) IOKitSpecs;
 
   adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};
 
diff --git a/pkgs/os-specific/darwin/lsusb/default.nix b/pkgs/os-specific/darwin/lsusb/default.nix
new file mode 100644
index 000000000000..0b59ecb2299e
--- /dev/null
+++ b/pkgs/os-specific/darwin/lsusb/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  name = "lsusb-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jlhonora";
+    repo = "lsusb";
+    rev = "8a6bd7084a55a58ade6584af5075c1db16afadd1";
+    sha256 = "0p8pkcgvsx44dd56wgipa8pzi3298qk9h4rl9pwsw1939hjx6h0g";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man8
+    install -m 0755 lsusb $out/bin
+    install -m 0444 man/lsusb.8 $out/share/man/man8
+  '';
+
+  meta = {
+    homepage = https://github.com/jlhonora/lsusb;
+    description = "lsusb command for Mac OS X";
+    platforms = stdenv.lib.platforms.darwin;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.varunpatro ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix
index 1684c0e92ced..5f4306ec0c12 100644
--- a/pkgs/os-specific/darwin/maloader/default.nix
+++ b/pkgs/os-specific/darwin/maloader/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "git://github.com/shinh/maloader.git";
     rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
-    sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn";
+    sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 6dae0f6bb38b..37de98780b69 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/acpiclient/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index 95efbab5be4f..c209cf6e3162 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -13,6 +13,5 @@ stdenv.mkDerivation rec {
     description = "A daemon for delivering ACPI events to userspace programs";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index c9b5b0d2e2dc..e2340939fce7 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
       --replace "which" "type -p" \
       --replace "lspci" "${pciutils}/bin/lspci"
   '';
-  buildInputs = [ gettext alsaLib ncurses libsamplerate fftw ];
+  nativeBuildInputs = [ gettext ];
+  buildInputs = [ alsaLib ncurses libsamplerate fftw ];
 
   configureFlags = "--disable-xmlto --with-udev-rules-dir=$(out)/lib/udev/rules.d";
 
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index b576ca71d580..29e1357d38a8 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -2,15 +2,18 @@
 , pkgconfig, which
 , flex, bison
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
-, pythonPackages
+, python
+, gawk
 , perl
 , swig
+, ncurses
 , pam
 }:
 
 let
-  apparmor-series = "2.10";
-  apparmor-version = apparmor-series;
+  apparmor-series = "2.12";
+  apparmor-patchver = "0";
+  apparmor-version = apparmor-series + "." + apparmor-patchver;
 
   apparmor-meta = component: with stdenv.lib; {
     homepage = http://apparmor.net/;
@@ -21,8 +24,8 @@ let
   };
 
   apparmor-sources = fetchurl {
-    url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "1x06qmmbha9krx7880pxj2k3l8fxy3nm945xjjv735m2ax1243jd";
+    url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-series}.tar.gz";
+    sha256 = "0mm0mcp0w18si9wl15drndysm7v27az2942p1xjd197shg80qawa";
   };
 
   prePatchCommon = ''
@@ -44,12 +47,13 @@ let
       flex
       pkgconfig
       swig
+      ncurses
       which
     ];
 
     buildInputs = [
       perl
-      pythonPackages.python
+      python
     ];
 
     # required to build apparmor-parser
@@ -59,7 +63,6 @@ let
       substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${stdenv.cc.libc.dev}/include/netinet/in.h"
       substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${stdenv.cc.libc.dev}/include/netinet/in.h"
     '';
-
     postPatch = "cd ./libraries/libapparmor";
     configureFlags = "--with-python --with-perl";
 
@@ -81,7 +84,7 @@ let
 
     buildInputs = [
       perl
-      pythonPackages.python
+      python
       libapparmor
       libapparmor.python
     ];
@@ -93,10 +96,10 @@ let
 
     postInstall = ''
       for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-status aa-unconfined ; do
-        wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${pythonPackages.python.libPrefix}/site-packages:$PYTHONPATH"
+        wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
       done
 
-      for prog in aa-exec aa-notify ; do
+      for prog in aa-notify ; do
         wrapProgram $out/bin/$prog --prefix PERL5LIB : "${libapparmor}/lib/perl5:$PERL5LIB"
       done
     '';
@@ -104,6 +107,29 @@ let
     meta = apparmor-meta "user-land utilities";
   };
 
+  apparmor-bin-utils = stdenv.mkDerivation {
+    name = "apparmor-bin-utils-${apparmor-version}";
+    src = apparmor-sources;
+
+    nativeBuildInputs = [
+      pkgconfig
+      libapparmor
+      gawk
+      which
+    ];
+
+    buildInputs = [
+      libapparmor
+    ];
+
+    prePatch = prePatchCommon;
+    postPatch = "cd ./binutils";
+    makeFlags = ''LANGS= USE_SYSTEM=1'';
+    installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin'';
+
+    meta = apparmor-meta "binary user-land utilities";
+  };
+
   apparmor-parser = stdenv.mkDerivation {
     name = "apparmor-parser-${apparmor-version}";
     src = apparmor-sources;
@@ -170,6 +196,12 @@ let
 in
 
 {
-  inherit libapparmor apparmor-utils apparmor-parser apparmor-pam
-  apparmor-profiles apparmor-kernel-patches;
+  inherit
+    libapparmor
+    apparmor-utils
+    apparmor-bin-utils
+    apparmor-parser
+    apparmor-pam
+    apparmor-profiles
+    apparmor-kernel-patches;
 }
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 7bec6cadcfc4..4adc321d9308 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -1,20 +1,21 @@
 {
-  stdenv, fetchurl,
+  stdenv, buildPackages, fetchurl,
   enablePython ? false, python ? null,
 }:
 
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.8.1";
+  name = "audit-2.8.2";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "0v1vng43fjsh158zb5k5d81ngn4p4jmj1247m27pk0bfzy9dxv0v";
+    sha256 = "1fmw8whraz1q3y3z5mgdpgsa3wz6r3zq0kgsgbc9xvmgfwmrpdb7";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = stdenv.lib.optional enablePython python;
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 002e458b24de..f41278b1f7cb 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2017.3";
+  ver = "2017.4";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0202mxp7hwflkqnkkajx5lv1nxjng45q5gcvvdv68x46p8ikb5n2";
+    sha256 = "126wfmng4x19k8n4930v03qbjhwrikq9bvhl7mlng1k2fpx1msn4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 6ff3903c4f2f..17776f1ad217 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2017.3";
+  ver = "2017.4";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1a48kc2v8cb1757pxlli96qf3d7x7k3qw04rjadfs0iy09sz1ir9";
+    sha256 = "0r742krc9mn677wmfwbhwhqq9739n74vpw0xfasvy7d59nn6lz84";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 4f8a85d5d887..db56c8d04125 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2017.3"; in
+let base = "batman-adv-2017.4"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1m541czjwgi4rfhjr6rg9r9c3cp2ncnif4ln7ri926zigwlxs3l3";
+    sha256 = "0k4sf52sbk39m25w6plk8spwcf4kzc3axckyk2r6anxxsangyl4a";
   };
 
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
   hardeningDisable = [ "pic" ];
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix
index 1bb5612ce92c..6cf233694cdc 100644
--- a/pkgs/os-specific/linux/beegfs/default.nix
+++ b/pkgs/os-specific/linux/beegfs/default.nix
@@ -1,12 +1,15 @@
 { stdenv, fetchurl, pkgconfig, unzip, which
-, libuuid, attr, xfsprogs, cppunit
+, libuuid, attr, xfsprogs, cppunit, rdma-core
 , zlib, openssl, sqlite, jre, openjdk, ant
+, openssh, perl, gfortran
 } :
 
 let
   version = "6.17";
 
   subdirs = [
+    "beeond_thirdparty/build"
+    "beeond_thirdparty_gpl/build"
     "beegfs_thirdparty/build"
     "beegfs_opentk_lib/build"
     "beegfs_common/build"
@@ -30,21 +33,41 @@ in stdenv.mkDerivation rec {
     sha256 = "10xs7gzdmlg23k6zn1b7jij3lljn7rr1j6h476hq4lbg981qk3n3";
   };
 
-  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant];
-  buildInputs = [ libuuid attr xfsprogs zlib openssl sqlite jre ];
+  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
+
+  buildInputs = [
+    libuuid
+    attr
+    xfsprogs
+    zlib
+    openssl
+    sqlite
+    jre
+    rdma-core
+    openssh
+    gfortran ];
+
+  hardeningDisable = [ "format" ]; # required for building beeond
 
   postPatch = ''
     patchShebangs ./
     find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
     find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
     find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
+
+    # unpack manually and patch variable name
+    sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
+    cd beeond_thirdparty/source
+    tar xf pcopy-0.96.tar.gz
+    sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
+    cd ../..
   '';
 
   buildPhase = ''
     for i in ${toString subdirs}; do
-      make -C $i
+      make -C $i BEEGFS_OPENTK_IBVERBS=1
     done
-    make -C beegfs_admon/build admon_gui
+    make -C beegfs_admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1
   '';
 
   installPhase = ''
@@ -93,6 +116,12 @@ in stdenv.mkDerivation rec {
 
     cp beegfs_client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
     cp -r beegfs_client_devel/include/* $includeDir
+
+    cp beeond_thirdparty_gpl/build/parallel $out/bin
+    cp beeond_thirdparty/build/pcopy/p* $out/bin
+    cp beeond_thirdparty/build/pcopy/s* $out/bin
+    cp -r beeond/scripts/* $out
+    cp beeond/source/* $out/bin
   '';
 
   postFixup = ''
@@ -100,6 +129,9 @@ in stdenv.mkDerivation rec {
       --replace " java " " ${jre}/bin/java " \
       --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
                 "$libDirPkg/beegfs-admon-gui.jar"
+
+    substituteInPlace $out/bin/beeond \
+      --replace /opt/beegfs/sbin "$out/bin"
   '';
 
   doCheck = true;
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index e9a1f314abc1..62c3986569d0 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -5,15 +5,15 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.47";
+  name = "bluez-5.48";
 
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg";
+    sha256 = "140fjyxa2q4y35d9n52vki649jzb094pf71hxkkvlrpgf8q75a5r";
   };
 
   pythonPath = with pythonPackages;
-    [ dbus pygobject2 pygobject3 recursivePthLoader ];
+    [ dbus-python pygobject2 pygobject3 recursivePthLoader ];
 
   buildInputs = [
     pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index c6bd4f4b206d..9423e7a33f4e 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation {
     ./linux-4.11.patch
     # source: https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl
     ./linux-4.12.patch
+    ./linux-4.15.patch
     ./null-pointer-fix.patch
     ./gcc.patch
   ];
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch
new file mode 100644
index 000000000000..523fa291d525
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch
@@ -0,0 +1,47 @@
+See: https://lkml.org/lkml/2017/11/25/90
+
+diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+--- a/src/wl/sys/wl_linux.c	2015-09-18 22:47:30.000000000 +0000
++++ b/src/wl/sys/wl_linux.c	2018-01-31 22:52:10.859856221 +0000
+@@ -93,7 +93,11 @@
+
+ #include <wlc_wowl.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++static void wl_timer(struct timer_list *tl);
++#else
+ static void wl_timer(ulong data);
++#endif
+ static void _wl_timer(wl_timer_t *t);
+ static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
+
+@@ -2298,9 +2302,15 @@
+ }
+
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++wl_timer(struct timer_list *tl)
++{
++	wl_timer_t *t = from_timer(t, tl, timer);
++#else
+ wl_timer(ulong data)
+ {
+ 	wl_timer_t *t = (wl_timer_t *)data;
++#endif
+
+ 	if (!WL_ALL_PASSIVE_ENAB(t->wl))
+ 		_wl_timer(t);
+@@ -2352,9 +2362,13 @@
+
+ 	bzero(t, sizeof(wl_timer_t));
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++	timer_setup(&t->timer, wl_timer, 0);
++#else
+ 	init_timer(&t->timer);
+ 	t->timer.data = (ulong) t;
+ 	t->timer.function = wl_timer;
++#endif
+ 	t->wl = wl;
+ 	t->fn = fn;
+ 	t->arg = arg;
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index 08c6d997795f..c2bea009ab7e 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, kerberos, keyutils, pam, talloc }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, kerberos, keyutils, pam, talloc }:
 
 stdenv.mkDerivation rec {
   name = "cifs-utils-${version}";
-  version = "6.6";
+  version = "6.7";
 
   src = fetchurl {
     url = "mirror://samba/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "09biws1jm23l3mjb9kh99v57z8bgzybrmimwddb40s6y0yl54wfh";
+    sha256 = "1ayghnkryy1n1zm5dyvyyr7n3807nsm6glfcbbki5c2a8w91dwmj";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ kerberos keyutils pam talloc ];
 
   makeFlags = "root_sbindir=$(out)/sbin";
@@ -18,6 +19,5 @@ stdenv.mkDerivation rec {
     description = "Tools for managing Linux CIFS client filesystems";
     platforms = platforms.linux;
     license = licenses.lgpl3;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index b7a8dc23a787..93681b2e18c7 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -64,25 +64,15 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "conky-${version}";
-  version = "1.10.6";
+  version = "1.10.7";
 
   src = fetchFromGitHub {
     owner = "brndnmtthws";
     repo = "conky";
     rev = "v${version}";
-    sha256 = "15j8h251v9jpdg6h6wn1vb45pkk806pf9s5n3rdrps9r185w8hn8";
+    sha256 = "1qx47m4c1j3wh1hmbn2h8wyvg0ncr3kz1zcdj9si2bdyz3s0i9w7";
   };
 
-  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
@@ -95,8 +85,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lgcc_s";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib cmake libXinerama ]
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ glib libXinerama ]
     ++ optionals docsSupport        [ docbook2x docbook_xsl docbook_xml_dtd_44 libxslt man less ]
     ++ optional  ncursesSupport     ncurses
     ++ optional  x11Support         xlibsWrapper
diff --git a/pkgs/os-specific/linux/conntrack-tools/default.nix b/pkgs/os-specific/linux/conntrack-tools/default.nix
index ea09050fc60e..9736d7a8f4bd 100644
--- a/pkgs/os-specific/linux/conntrack-tools/default.nix
+++ b/pkgs/os-specific/linux/conntrack-tools/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "Connection tracking userspace tools";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx fpletz ];
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix
index d6d529627e24..d10b789f3e47 100644
--- a/pkgs/os-specific/linux/cpupower/default.nix
+++ b/pkgs/os-specific/linux/cpupower/default.nix
@@ -1,35 +1,32 @@
-{ stdenv, fetchurl, kernel, coreutils, pciutils, gettext }:
+{ stdenv, buildPackages, fetchurl, kernel, pciutils, gettext }:
 
 stdenv.mkDerivation {
   name = "cpupower-${kernel.version}";
 
   src = kernel.src;
 
-  buildInputs = [ coreutils pciutils gettext ];
+  nativeBuildInputs = [ gettext ];
+  buildInputs = [ pciutils ];
 
-  configurePhase = ''
+  postPatch = ''
     cd tools/power/cpupower
-    sed -i 's,/bin/true,${coreutils}/bin/true,' Makefile
-    sed -i 's,/bin/pwd,${coreutils}/bin/pwd,' Makefile
-    sed -i 's,/usr/bin/install,${coreutils}/bin/install,' Makefile
+    sed -i 's,/bin/true,${buildPackages.coreutils}/bin/true,' Makefile
+    sed -i 's,/bin/pwd,${buildPackages.coreutils}/bin/pwd,' Makefile
+    sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile
   '';
 
-  buildPhase = ''
-    make
-  '';
-
-  installPhase = ''
-    make \
-      bindir="$out/bin" \
-      sbindir="$out/sbin" \
-      mandir="$out/share/man" \
-      includedir="$out/include" \
-      libdir="$out/lib" \
-      localedir="$out/share/locale" \
-      docdir="$out/share/doc/cpupower" \
-      confdir="$out/etc" \
-      install install-man
-  '';
+  makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ];
+
+  installFlags = [
+    "bindir=$(out)/bin"
+    "sbindir=$(out)/sbin"
+    "mandir=$(out)/share/man"
+    "includedir=$(out)/include"
+    "libdir=$(out)/lib"
+    "localedir=$(out)/share/locale"
+    "docdir=$(out)/share/doc/cpupower"
+    "confdir=$(out)/etc"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/crda/default.nix b/pkgs/os-specific/linux/crda/default.nix
index 63330020afe6..940913d6a6c8 100644
--- a/pkgs/os-specific/linux/crda/default.nix
+++ b/pkgs/os-specific/linux/crda/default.nix
@@ -53,6 +53,5 @@ stdenv.mkDerivation rec {
     homepage = http://drvbp1.linux-foundation.org/~mcgrof/rel-html/crda/;
     license = licenses.free; # "copyleft-next 0.3.0", as yet without a web site
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
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
deleted file mode 100644
index 916161e35a49..000000000000
--- a/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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 4ceb397d9f82..4ef162e56c72 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -4,30 +4,23 @@
 
 stdenv.mkDerivation rec {
   name    = "criu-${version}";
-  version = "2.12.1";
+  version = "3.7";
 
   src = fetchurl {
     url    = "http://download.openvz.org/criu/${name}.tar.bz2";
-    sha256 = "18m0sjgcfvzc86w49fd3kxw145nmrsvc5w7zf42nxdiklmszbr1k";
+    sha256 = "0qrpz7pvnks34v7d8lb73flz3mb7qwnib94pdwaxh0mskn8470fq";
   };
 
-  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 ];
 
   postPatch = ''
-    chmod +w ./scripts/gen-offsets.sh
-    substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump
     substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" ""
     substituteInPlace ./Documentation/Makefile --replace "-m custom.xsl" "-m custom.xsl --skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
     substituteInPlace ./criu/Makefile --replace "-I/usr/include/libnl3" "-I${libnl.dev}/include/libnl3"
     substituteInPlace ./Makefile --replace "head-name := \$(shell git tag -l v\$(CRIU_VERSION))" "head-name = ${version}.0"
     ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto
-
-    # Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror.
-    sed 1i'#include <sys/sysmacros.h>' -i criu/include/util.h
   '';
 
   buildPhase = "make PREFIX=$out";
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index 366cc9787f28..81cc6b4fbd8e 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -19,6 +19,6 @@ python2Packages.buildPythonApplication rec {
     description = "Versatile resource statistics tool";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ jgeerds nckx ];
+    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/os-specific/linux/fatrace/default.nix b/pkgs/os-specific/linux/fatrace/default.nix
index f68856f6b86e..fd955676775a 100644
--- a/pkgs/os-specific/linux/fatrace/default.nix
+++ b/pkgs/os-specific/linux/fatrace/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
       Requires a Linux kernel with the FANOTIFY configuration option enabled.
       Enabling X86_MSR is also recommended for power-usage-report on x86.
     '';
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 5ee8ab564b09..1c7ebce9f877 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.50";
+    version="0.9.52";
     name="${baseName}-${version}";
-    hash="005q7f1h7z4c1wg8vzb1zh0xi4msz6z0fcph0y3ywhlbxjvpam61";
-    url="https://vorboss.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.50.tar.xz";
-    sha256="005q7f1h7z4c1wg8vzb1zh0xi4msz6z0fcph0y3ywhlbxjvpam61";
+    hash="0w8l8z4j7iph8fp7rchhnfsrik3f00f9v5xr191fp38fphzcj56s";
+    url="https://vorboss.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.52.tar.xz";
+    sha256="0w8l8z4j7iph8fp7rchhnfsrik3f00f9v5xr191fp38fphzcj56s";
   };
   buildInputs = [
     which
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
index 4f09410c75e5..2637beb517a3 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
@@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
     homepage = http://wireless.kernel.org/en/users/Drivers/b43;
     downloadPage = http://www.lwfinger.com/b43-firmware;
     license = licenses.unfree;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 206ea01bb20e..acdba5987bbf 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -32,8 +32,7 @@ stdenv.mkDerivation rec {
     # traffic, so don't do that.
     preferLocalBuild = true;
 
-    nativeBuildInputs = [ git gnupg ];
-    NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+    nativeBuildInputs = [ cacert git gnupg ];
   } ''
     git init src && (
       cd src
diff --git a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
index c87023bf336d..e8ab77a509ff 100644
--- a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   name = "intel2200BGFirmware-${version}";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz";
+    url = "http://src.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-${version}.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-${version}.tgz";
     sha256 = "c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd";
   };
 
diff --git a/pkgs/os-specific/linux/fnotifystat/default.nix b/pkgs/os-specific/linux/fnotifystat/default.nix
index 2c90ff94d4a0..d49d01158229 100644
--- a/pkgs/os-specific/linux/fnotifystat/default.nix
+++ b/pkgs/os-specific/linux/fnotifystat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "fnotifystat-${version}";
-  version = "0.01.17";
+  version = "0.02.00";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz";
-    sha256 = "0ncfbrpyb3ak49nrdr4cb3w082n9s181lizfqx51zi9rdgkj1vm3";
+    sha256 = "0sfzmggfhhhp3vxn1s61b5bacr2hz6r7y699n3nysdciaa2scgdq";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix
index d69d54af96c3..bf7bc8a4546a 100644
--- a/pkgs/os-specific/linux/forkstat/default.nix
+++ b/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "forkstat-${version}";
-  version = "0.02.00";
+  version = "0.02.02";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz";
-    sha256 = "07df2lb32lbr2ggi84h9pjy6ig18n2961ksji4x1hhb4cvc175dg";
+    sha256 = "02iqi4xjg2hl4paw88fz9jb88a9p4zprvq3g56cd7jwfx3vmw5a4";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/freefall/default.nix b/pkgs/os-specific/linux/freefall/default.nix
index 54be786d10d6..a091b2f17c5e 100644
--- a/pkgs/os-specific/linux/freefall/default.nix
+++ b/pkgs/os-specific/linux/freefall/default.nix
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/ftop/default.nix b/pkgs/os-specific/linux/ftop/default.nix
index 73a6d18fc8b7..915431c0cb1f 100644
--- a/pkgs/os-specific/linux/ftop/default.nix
+++ b/pkgs/os-specific/linux/ftop/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
       generally all that is of interest to the user).
       As with top, the items are displayed in order from most to least active.
     '';
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 7856f6389c7d..97744968d7b3 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -9,7 +9,7 @@ in {
   fuse_2 = mkFuse {
     version = "2.9.7";
     sha256Hash = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2";
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 
   fuse_3 = mkFuse {
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
index 7383db95c375..521b81cd690d 100644
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     #url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz;
-    url = http://pkgs.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz;
+    url = http://src.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz;
     sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
   };
   patches = [./gcc46-include-fix.patch ./config-paths.patch ];
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index 0f0eab1fa202..87cb17329e8c 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.52";
+  name = "hdparm-9.54";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3";
+    sha256 = "0ghnhdj7wfw6acfyhdawpfa5n9kvkvzgi1fw6i7sghgbjx5nhyjd";
 
   };
 
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index b058aa692f0f..8ebce1965301 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "hwdata-${version}";
-  version = "0.300";
+  version = "0.308";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/hwdata/v0.300.tar.gz/sha512/34294fcf65c3cb17c19d625732d1656ec1992dde254a68ee35681ad2f310bc05028a85889efa2c1d1e8a2d10885ccc00185475a00f6f2fb82d07e2349e604a51/v0.300.tar.gz";
-    sha256 = "03xlj05qyixhnsybq1qnr7j5q2nvirs4jxpgg4sbw8swsqj3dgqi";
+    url = "https://github.com/vcrhonek/hwdata/archive/v0.308.tar.gz";
+    sha256 = "17zcwplw41dfwb2l9jfgvm65rjzlsbv30f56d6vgiix042f92vcq";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index be9be49208a4..793c9db603b1 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.14.1";
+  version = "4.15.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0rq0n7yxb0hmk0s6wx5awzjgf7ikjbibd0a5ix20ldfcmxlc0fnl";
+    sha256 = "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index ee1d21ddf2b9..1668933db809 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "iptables-${version}";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    sha256 = "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg";
+    sha256 = "0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m";
   };
 
   nativeBuildInputs = [ bison flex pkgconfig ];
diff --git a/pkgs/os-specific/linux/ipvsadm/default.nix b/pkgs/os-specific/linux/ipvsadm/default.nix
new file mode 100644
index 000000000000..0e99dd976c72
--- /dev/null
+++ b/pkgs/os-specific/linux/ipvsadm/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, pkgconfig, libnl, popt, gnugrep }:
+
+stdenv.mkDerivation rec {
+  name = "ipvsadm-${version}";
+  version = "1.29";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/utils/kernel/ipvsadm/${name}.tar.xz";
+    sha256 = "c3de4a21d90a02c621f0c72ee36a7aa27374b6f29fd4178f33fbf71b4c66c149";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile --replace "-lnl" "$(pkg-config --libs libnl-genl-3.0)"
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libnl popt ];
+
+  preBuild = ''
+    makeFlagsArray+=(
+      INCLUDE=$(pkg-config --cflags libnl-genl-3.0)
+      BUILD_ROOT=$out
+      MANDIR=share/man
+    )
+  '';
+
+  postInstall = ''
+    sed -i -e "s|^PATH=.*|PATH=$out/bin:${gnugrep}/bin|" $out/sbin/ipvsadm-{restore,save}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Linux Virtual Server support programs";
+    homepage = http://www.linuxvirtualserver.org/software/ipvs.html;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/irqbalance/default.nix b/pkgs/os-specific/linux/irqbalance/default.nix
index 26cedf41a5a9..76c10f0a06e8 100644
--- a/pkgs/os-specific/linux/irqbalance/default.nix
+++ b/pkgs/os-specific/linux/irqbalance/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "irqbalance-${version}";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "irqbalance";
     repo = "irqbalance";
     rev = "v${version}";
-    sha256 = "1xznxjbjzg6sds3fymdq9rk3g4cgq7xj7rz3dwbqqjqvd3k2nxw6";
+    sha256 = "009777p5v72x4r58skqgaf03qv3app9b8lkxkpxq0226l0x3j4qh";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index fab66a329e2e..89a220c85e2d 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -64,6 +64,5 @@ stdenv.mkDerivation rec {
     homepage = https://seasonofcode.com/pages/jfbview.html;
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 24ae1967570b..8fb40475bd7b 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -16,7 +16,7 @@
 
 */
 
-{ stdenv, version, kernelPlatform, extraConfig, features }:
+{ stdenv, version, extraConfig, features }:
 
 with stdenv.lib;
 
@@ -51,7 +51,7 @@ with stdenv.lib;
 
   # Bump the maximum number of CPUs to support systems like EC2 x1.*
   # instances and Xeon Phi.
-  ${optionalString (stdenv.system == "x86_64-linux" || stdenv.system == "aarch64-linux") ''
+  ${optionalString (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") ''
     NR_CPUS 384
   ''}
 
@@ -347,11 +347,12 @@ with stdenv.lib;
   SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
   SECURITY_YAMA? y # Prevent processes from ptracing non-children processes
   DEVKMEM n # Disable /dev/kmem
-  ${if versionOlder version "3.14" then ''
-    CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
-  '' else ''
-    CC_STACKPROTECTOR_REGULAR? y
-  ''}
+  ${optionalString (! stdenv.hostPlatform.isArm)
+    (if versionOlder version "3.14" then ''
+        CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
+      '' else ''
+        CC_STACKPROTECTOR_REGULAR? y
+      '')}
   ${optionalString (versionAtLeast version "3.12") ''
     USER_NS y # Support for user namespaces
   ''}
@@ -681,6 +682,5 @@ with stdenv.lib;
     WW_MUTEX_SELFTEST? n
   ''}
 
-  ${kernelPlatform.kernelExtraConfig or ""}
   ${extraConfig}
 ''
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index 5bce3af94293..f886fcfdc358 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -13,18 +13,18 @@ use strict;
 use IPC::Open2;
 use Cwd;
 
-my $wd = getcwd;
-
+# exported via nix
 my $debug = $ENV{'DEBUG'};
 my $autoModules = $ENV{'AUTO_MODULES'};
 my $preferBuiltin = $ENV{'PREFER_BUILTIN'};
-    
+my $ignoreConfigErrors = $ENV{'ignoreConfigErrors'};
+my $buildRoot = $ENV{'BUILD_ROOT'};
 $SIG{PIPE} = 'IGNORE';
 
 # Read the answers.
 my %answers;
 my %requiredAnswers;
-open ANSWERS, "<$ENV{KERNEL_CONFIG}" or die;
+open ANSWERS, "<$ENV{KERNEL_CONFIG}" or die "Could not open answer file";
 while (<ANSWERS>) {
     chomp;
     s/#.*//;
@@ -40,7 +40,7 @@ close ANSWERS;
 sub runConfig {
 
     # Run `make config'.
-    my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$wd config SHELL=bash ARCH=$ENV{ARCH}");
+    my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$buildRoot config SHELL=bash ARCH=$ENV{ARCH}");
 
     # Parse the output, look for questions and then send an
     # appropriate answer.
@@ -122,7 +122,7 @@ runConfig;
 # there.  `make config' often overrides answers if later questions
 # cause options to be selected.
 my %config;
-open CONFIG, "<.config" or die;
+open CONFIG, "<$buildRoot/.config" or die "Could not read .config";
 while (<CONFIG>) {
     chomp;
     if (/^CONFIG_([A-Za-z0-9_]+)="(.*)"$/) {
@@ -137,7 +137,7 @@ while (<CONFIG>) {
 close CONFIG;
 
 foreach my $name (sort (keys %answers)) {
-    my $f = $requiredAnswers{$name} && $ENV{'ignoreConfigErrors'} ne "1"
+    my $f = $requiredAnswers{$name} && $ignoreConfigErrors ne "1"
         ? sub { die "error: " . $_[0]; } : sub { warn "warning: " . $_[0]; };
     &$f("unused option: $name\n") unless defined $config{$name};
     &$f("option not set correctly: $name (wanted '$answers{$name}', got '$config{$name}')\n")
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index b1df6c54c456..ebd889d1a99e 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -1,4 +1,12 @@
-{ stdenv, perl, buildLinux
+{ buildPackages, runCommand, nettools, bc, perl, gmp, libmpc, mpfr, openssl
+, ncurses
+, libelf
+, utillinux
+, writeTextFile, ubootTools
+, callPackage
+}:
+
+{ stdenv, buildPackages, perl, buildLinux
 
 , # The kernel source tarball.
   src
@@ -23,11 +31,12 @@
   # symbolic name and `patch' is the actual patch.  The patch may
   # optionally be compressed with gzip or bzip2.
   kernelPatches ? []
-, ignoreConfigErrors ? stdenv.platform.name != "pc"
+, ignoreConfigErrors ? hostPlatform.platform.name != "pc" ||
+                       hostPlatform != stdenv.buildPlatform
 , extraMeta ? {}
 , hostPlatform
 , ...
-}:
+} @ args:
 
 assert stdenv.isLinux;
 
@@ -43,14 +52,14 @@ let
     netfilterRPFilter = true;
   } // features) kernelPatches;
 
-  configWithPlatform = kernelPlatform: import ./common-config.nix {
-    inherit stdenv version kernelPlatform extraConfig;
+  config = import ./common-config.nix {
+    inherit stdenv version ;
+    # append extraConfig for backwards compatibility but also means the user can't override the kernelExtraConfig part
+    extraConfig = extraConfig + lib.optionalString (hostPlatform.platform ? kernelExtraConfig) hostPlatform.platform.kernelExtraConfig;
+
     features = kernelFeatures; # Ensure we know of all extra patches, etc.
   };
 
-  config = configWithPlatform stdenv.platform;
-  configCross = configWithPlatform hostPlatform.platform;
-
   kernelConfigFun = baseConfig:
     let
       configFromPatches =
@@ -65,31 +74,17 @@ let
 
     kernelConfig = kernelConfigFun config;
 
+    depsBuildBuild = [ buildPackages.stdenv.cc ];
     nativeBuildInputs = [ perl ];
 
-    platformName = stdenv.platform.name;
-    kernelBaseConfig = stdenv.platform.kernelBaseConfig;
-    kernelTarget = stdenv.platform.kernelTarget;
-    autoModules = stdenv.platform.kernelAutoModules;
-    preferBuiltin = stdenv.platform.kernelPreferBuiltin or false;
-    arch = stdenv.platform.kernelArch;
-
-    crossAttrs = let
-        cp = hostPlatform.platform;
-      in {
-        arch = cp.kernelArch;
-        platformName = cp.name;
-        kernelBaseConfig = cp.kernelBaseConfig;
-        kernelTarget = cp.kernelTarget;
-        autoModules = cp.kernelAutoModules;
-
-        # Just ignore all options that don't apply (We are lazy).
-        ignoreConfigErrors = true;
-
-        kernelConfig = kernelConfigFun configCross;
-
-        inherit (kernel.crossDrv) src patches preUnpack;
-      };
+    platformName = hostPlatform.platform.name;
+    # e.g. "defconfig"
+    kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
+    # e.g. "bzImage"
+    kernelTarget = hostPlatform.platform.kernelTarget;
+    autoModules = hostPlatform.platform.kernelAutoModules;
+    preferBuiltin = hostPlatform.platform.kernelPreferBuiltin or false;
+    arch = hostPlatform.platform.kernelArch;
 
     prePatch = kernel.prePatch + ''
       # Patch kconfig to print "###" after every question so that
@@ -100,33 +95,27 @@ let
     inherit (kernel) src patches preUnpack;
 
     buildPhase = ''
-      cd $buildRoot
+      export buildRoot="''${buildRoot:-build}"
 
       # Get a basic config file for later refinement with $generateConfig.
-      make -C ../$sourceRoot O=$PWD $kernelBaseConfig ARCH=$arch
+      make HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc -C . O="$buildRoot" $kernelBaseConfig ARCH=$arch
 
       # Create the config file.
       echo "generating kernel configuration..."
-      echo "$kernelConfig" > kernel-config
-      DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \
-           PREFER_BUILTIN=$preferBuiltin SRC=../$sourceRoot perl -w $generateConfig
+      echo "$kernelConfig" > "$buildRoot/kernel-config"
+      DEBUG=1 ARCH=$arch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
+           PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. perl -w $generateConfig
     '';
 
-    installPhase = "mv .config $out";
+    installPhase = "mv $buildRoot/.config $out";
 
     enableParallelBuilding = true;
   };
 
-  kernel = buildLinux {
-    inherit version modDirVersion src kernelPatches stdenv extraMeta;
-
-    configfile = configfile.nativeDrv or configfile;
-
-    crossConfigfile = configfile.crossDrv or configfile;
+  kernel = (callPackage ./manual-config.nix {}) {
+    inherit version modDirVersion src kernelPatches stdenv extraMeta configfile hostPlatform;
 
     config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
-
-    crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; };
   };
 
   passthru = {
@@ -134,12 +123,4 @@ let
     passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
   };
 
-  addPassthru' = lib.extendDerivation true passthru;
-
-  nativeDrv = addPassthru' kernel.nativeDrv;
-
-  crossDrv = addPassthru' kernel.crossDrv;
-
-in if kernel ? crossDrv
-   then nativeDrv // { inherit nativeDrv crossDrv; }
-   else addPassthru' kernel
+in lib.extendDerivation true passthru kernel
diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix
index 767f7e35422a..e89222b2c629 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.13.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix
@@ -1,6 +1,6 @@
-{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
+buildLinux (args // rec {
   version = "4.13.16";
   extraMeta.branch = "4.13";
 
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index bd1f03c76a75..2d7ce06ebe1c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -1,18 +1,15 @@
-{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 with stdenv.lib;
 
-import ./generic.nix (args // rec {
-  version = "4.14.13";
-
-  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
+buildLinux (args // rec {
+  version = "4.14.18";
 
   # 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 = "0wjpwhrnnvf6l3zpkkxk34dl722w9yp8j3vnh0xzi3hgb8dnvd2a";
+    sha256 = "0m73kz9jg6mylgql0zzypm76g6x7m3bq7dklivhkm4ldqg0r8sl6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.15.nix b/pkgs/os-specific/linux/kernel/linux-4.15.nix
new file mode 100644
index 000000000000..58f59ff08341
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.15.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+
+with stdenv.lib;
+
+buildLinux (args // rec {
+  version = "4.15.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 = "16h346abbdi6k3handw8nblscyf966gx1q9xig4gbij73b10nspb";
+  };
+} // (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 7ed69558fb04..4316ba4cf4be 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:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
-  version = "4.4.111";
+buildLinux (args // rec {
+  version = "4.4.115";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0260gvby59n550ijm9q43cnzw1gqizll28nv3vsv8qmgiqp2h0d2";
+    sha256 = "1pxm4r09402h4k8zgl0w1wm4vfvcaa3y7l36h50jr5wgi6l8rx2q";
   };
 } // (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 9fc7e51cbef2..da3f07e845d6 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:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
-  version = "4.9.76";
+buildLinux (args // rec {
+  version = "4.9.80";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1pl7x1fnyhvwbdxgh0w5fka9dyysi74n8lj9fkgfmapz5hrr8axq";
+    sha256 = "0ys74q9f93c42flqracaqnkh0qwcbnimhppd80rz5hxgq3686bly";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
index 33885a082d63..4f0ff53c59ce 100644
--- a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
+++ b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
@@ -1,10 +1,10 @@
-{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ubootTools, dtc, ... } @ args:
 
 let
-  modDirVersion = "4.9.61";
-  tag = "r76";
+  modDirVersion = "4.14.12";
+  tag = "r23";
 in
-import ./generic.nix (args // rec {
+stdenv.lib.overrideDerivation (buildLinux (args // rec {
   version = "${modDirVersion}-ti-${tag}";
   inherit modDirVersion;
 
@@ -12,7 +12,7 @@ import ./generic.nix (args // rec {
     owner = "beagleboard";
     repo = "linux";
     rev = "${version}";
-    sha256 = "0hcz4fwjyic42mrn8qsvzm4jq1g5k51awjj3d2das7k8frjalaby";
+    sha256 = "07hdv2h12gsgafxsqqr7b0fir10rv9k66riklpjba2cg6x0p2nr4";
   };
 
   kernelPatches = args.kernelPatches;
@@ -21,5 +21,14 @@ import ./generic.nix (args // rec {
     efiBootStub = false;
   } // (args.features or {});
 
-  extraMeta.hydraPlatforms = [];
-} // (args.argsOverride or {}))
+  extraMeta.hydraPlatforms = [ "armv7l-linux" ];
+} // (args.argsOverride or {}))) (oldAttrs: {
+
+  # This kernel will run mkuboot.sh.
+  postPatch = ''
+    patchShebangs scripts/
+  '';
+
+  nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ dtc ubootTools ];
+
+})
diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
index 1ccc152bb289..27ba96933503 100644
--- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
+++ b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
@@ -1,11 +1,11 @@
-{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 with stdenv.lib;
 
 let
-  version = "4.14.13";
+  version = "4.15.2";
   revision = "a";
-  sha256 = "08fvb1lllb0xkckw2y66g0j5z88kp877r51jj3kksfkvjfibjr0j";
+  sha256 = "1rmia5k07pfx47qkc8nx3xiap6mxbwlry3jxrx4kwf3hh5cnqnsv";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@@ -15,7 +15,7 @@ let
 
   modDirVersion = "${modVersion}-hardened";
 in
-import ./generic.nix (args // {
+buildLinux (args // {
   inherit modDirVersion;
 
   version = "${version}-${revision}";
diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index 92b202100a63..c4bade2abeda 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -1,9 +1,10 @@
-{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (rec {
+buildLinux (rec {
   mptcpVersion = "0.93";
   modDirVersion = "4.9.60";
   version = "${modDirVersion}-mptcp_v${mptcpVersion}";
+  # autoModules= true;
 
   extraMeta = {
     branch = "4.4";
@@ -43,4 +44,4 @@ import ./generic.nix (rec {
     TCP_CONG_BALIA m
 
   '' + (args.extraConfig or "");
-} // args // (args.argsOverride or {}))
+} // args)
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index fb97aa579df0..a96a910c68c9 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,10 +1,10 @@
-{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 let
   modDirVersion = "4.9.59";
   tag = "1.20171029";
 in
-stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
+stdenv.lib.overrideDerivation (buildLinux (args // rec {
   version = "${modDirVersion}-${tag}";
   inherit modDirVersion;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
index 32c684668d6b..442c89675119 100644
--- a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
@@ -1,6 +1,6 @@
-{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ncurses, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ncurses, ... } @ args:
 
-import ./generic.nix (args // rec {
+buildLinux (args // rec {
   version = "4.12.2";
   extraMeta.branch = "4.12-2";
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index a104cc5393c3..5aae37418ce8 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,15 +1,15 @@
-{ stdenv, hostPlatform, fetchgit, perl, buildLinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchgit, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
-  version = "4.11.2017.08.23";
-  modDirVersion = "4.11.0";
+buildLinux (args // rec {
+  version = "4.15.2018.02.09";
+  modDirVersion = "4.15.0";
   extraMeta.branch = "master";
   extraMeta.maintainers = [ stdenv.lib.maintainers.davidak ];
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs.git";
-    rev = "fb8082a13d49397346a04ce4d3904569b0287738";
-    sha256 = "18csg2zb4lnhid27h5w95j3g8np29m8y3zfpfgjl1jr2jks64kid";
+    rev = "4506cd5ead31209a6a646c2412cbc7be735ebda4";
+    sha256 = "0fcyf3y27k2lga5na4dhdyc47br840gkqynv8gix297pqxgidrib";
   };
 
   extraConfig = ''
@@ -20,4 +20,3 @@ import ./generic.nix (args // rec {
   extraMeta.hydraPlatforms = [];
 
 } // (args.argsOverride or {}))
-
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index a3570fd11a43..ab838f546c16 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, libelf, utillinux, ... } @ args:
+{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
-import ./generic.nix (args // rec {
-  version = "4.15-rc8";
-  modDirVersion = "4.15.0-rc8";
+buildLinux (args // rec {
+  version = "4.15-rc9";
+  modDirVersion = "4.15.0-rc9";
   extraMeta.branch = "4.15";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "15d24b47mfkfs2b0l54sq0yl3ylh5dnx23jknb2r7cq14wxiqmq3";
+    sha256 = "18xhy38fqyzg9yiljhdj2y0skjf2yhxvhzbija3is75wyv7g55l6";
   };
 
   # 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 e1936495921d..d0d90adb8b6e 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,8 +1,8 @@
-{ runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl
-, libelf ? null
-, utillinux ? null
+{ buildPackages, runCommand, nettools, bc, perl, gmp, libmpc, mpfr, openssl
+, ncurses ? null
+, libelf
+, utillinux
 , writeTextFile, ubootTools
-, hostPlatform
 }:
 
 let
@@ -26,23 +26,17 @@ in {
   src,
   # Any patches
   kernelPatches ? [],
-  # Patches for native compiling only
-  nativeKernelPatches ? [],
-  # Patches for cross compiling only
-  crossKernelPatches ? [],
-  # The native kernel .config file
+  # The kernel .config file
   configfile,
-  # The cross kernel .config file
-  crossConfigfile ? configfile,
   # Manually specified nixexpr representing the config
   # If unspecified, this will be autodetected from the .config
   config ? stdenv.lib.optionalAttrs allowImportFromDerivation (readConfig configfile),
-  # Cross-compiling config
-  crossConfig ? if allowImportFromDerivation then (readConfig crossConfigfile) else config,
   # Use defaultMeta // extraMeta
   extraMeta ? {},
   # Whether to utilize the controversial import-from-derivation feature to parse the config
-  allowImportFromDerivation ? false
+  allowImportFromDerivation ? false,
+
+  hostPlatform
 }:
 
 let
@@ -61,8 +55,8 @@ let
 
   commonMakeFlags = [
     "O=$(buildRoot)"
-  ] ++ stdenv.lib.optionals (stdenv.platform ? kernelMakeFlags)
-    stdenv.platform.kernelMakeFlags;
+  ] ++ stdenv.lib.optionals (hostPlatform.platform ? kernelMakeFlags)
+    hostPlatform.platform.kernelMakeFlags;
 
   drvAttrs = config_: platform: kernelPatches: configfile:
     let
@@ -94,8 +88,6 @@ let
       inherit src;
 
       preUnpack = ''
-        mkdir build
-        export buildRoot="$(pwd)/build"
       '';
 
       patches = map (p: p.patch) kernelPatches;
@@ -105,12 +97,30 @@ let
             echo "stripping FHS paths in \`$mf'..."
             sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
         done
-        sed -i Makefile -e 's|= depmod|= ${kmod}/bin/depmod|'
+        sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
       '';
 
       configurePhase = ''
         runHook preConfigure
+
+        mkdir build
+        export buildRoot="$(pwd)/build"
+
+        echo "manual-config configurePhase buildRoot=$buildRoot pwd=$PWD"
+
+        if [[ -z "$buildRoot" || ! -d "$buildRoot" ]]; then
+          echo "set $buildRoot to the build folder please"
+          exit 1
+        fi
+
+        if [ -f "$buildRoot/.config" ]; then
+          echo "Could not link $buildRoot/.config : file exists"
+          exit 1
+        fi
         ln -sv ${configfile} $buildRoot/.config
+
+        # reads the existing .config file and prompts the user for options in
+        # the current kernel source that are not found in the file.
         make $makeFlags "''${makeFlagsArray[@]}" oldconfig
         runHook postConfigure
 
@@ -123,6 +133,8 @@ let
 
         # Note: we can get rid of this once http://permalink.gmane.org/gmane.linux.kbuild.devel/13800 is merged.
         buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=$(date -u -d @$SOURCE_DATE_EPOCH)")
+
+        cd $buildRoot
       '';
 
       buildFlags = [
@@ -144,7 +156,7 @@ let
 
       postInstall = ''
         mkdir -p $dev
-        cp $buildRoot/vmlinux $dev/
+        cp vmlinux $dev/
       '' + (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
       '') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
@@ -159,7 +171,7 @@ let
         unlink $out/lib/modules/${modDirVersion}/source
 
         mkdir -p $dev/lib/modules/${modDirVersion}/build
-        cp -dpR ../$sourceRoot $dev/lib/modules/${modDirVersion}/source
+        cp -dpR .. $dev/lib/modules/${modDirVersion}/source
         cd $dev/lib/modules/${modDirVersion}/source
 
         cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build
@@ -178,7 +190,7 @@ let
         # from drivers/ in the future; it adds 50M to keep all of its
         # headers on 3.10 though.
 
-        chmod u+w -R ../source
+        chmod u+w -R ..
         arch=$(cd $dev/lib/modules/${modDirVersion}/build/arch; ls)
 
         # Remove unused arches
@@ -211,7 +223,7 @@ let
         find -empty -type d -delete
 
         # Remove reference to kmod
-        sed -i Makefile -e 's|= ${kmod}/bin/depmod|= depmod|'
+        sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
@@ -239,13 +251,14 @@ in
 
 assert stdenv.lib.versionAtLeast version "4.14" -> libelf != null;
 assert stdenv.lib.versionAtLeast version "4.15" -> utillinux != null;
-stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // {
+stdenv.mkDerivation ((drvAttrs config hostPlatform.platform kernelPatches configfile) // {
   name = "linux-${version}";
 
   enableParallelBuilding = true;
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ]
-      ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools
+      ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools
       ++ optional (stdenv.lib.versionAtLeast version "4.14") libelf
       ++ optional (stdenv.lib.versionAtLeast version "4.15") utillinux
       ;
@@ -253,20 +266,11 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
   hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" ];
 
   makeFlags = commonMakeFlags ++ [
-    "ARCH=${stdenv.platform.kernelArch}"
+    "HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc"
+    "ARCH=${stdenv.hostPlatform.platform.kernelArch}"
+  ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
-  karch = stdenv.platform.kernelArch;
-
-  crossAttrs = let cp = hostPlatform.platform; in
-    (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
-      makeFlags = commonMakeFlags ++ [
-        "ARCH=${cp.kernelArch}"
-        "CROSS_COMPILE=$(crossConfig)-"
-      ];
-
-      karch = cp.kernelArch;
-
-      nativeBuildInputs = optional (cp.kernelTarget == "uImage") ubootTools;
-  };
+  karch = hostPlatform.platform.kernelArch;
 })
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 4bcf6e037e0f..1936f6578b6f 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
-, libiberty, libaudit
+, libiberty, libaudit, libbfd
 , zlib, withGtk ? false, gtk2 ? null }:
 
 with lib;
@@ -11,7 +11,7 @@ assert versionAtLeast kernel.version "3.12";
 stdenv.mkDerivation {
   name = "perf-linux-${kernel.version}";
 
-  inherit (kernel) src;
+  inherit (kernel) src makeFlags;
 
   preConfigure = ''
     cd tools/perf
@@ -21,10 +21,9 @@ stdenv.mkDerivation {
   '';
 
   # perf refers both to newt and slang
-  # binutils is required for libbfd.
   nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-      flex bison libiberty libaudit makeWrapper pkgconfig ];
-  buildInputs = [ elfutils python perl newt slang libunwind binutils zlib ] ++
+      flex bison libiberty libaudit makeWrapper pkgconfig python perl ];
+  buildInputs = [ elfutils newt slang libunwind libbfd zlib ] ++
     stdenv.lib.optional withGtk gtk2;
 
   # Note: we don't add elfutils to buildInputs, since it provides a
@@ -47,15 +46,6 @@ stdenv.mkDerivation {
       --prefix PATH : "${binutils}/bin"
   '';
 
-  crossAttrs = {
-    /* 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.targetPrefix}";
-    elfutils = elfutils.crossDrv;
-    inherit (kernel.crossDrv) src patches;
-  };
-
   meta = {
     homepage = https://perf.wiki.kernel.org/;
     description = "Linux tools to profile with performance counters";
diff --git a/pkgs/os-specific/linux/kernel/update.sh b/pkgs/os-specific/linux/kernel/update.sh
index d9db7f9f916c..878c3c14fe47 100755
--- a/pkgs/os-specific/linux/kernel/update.sh
+++ b/pkgs/os-specific/linux/kernel/update.sh
@@ -50,13 +50,13 @@ ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do
   # Rewrite the expression
   sed -i -e '/version = /d' -e '/modDirVersion = /d' $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
   if grep -q '^[0-9]\+.[0-9]\+$' <<< "$V"; then
-    sed -i "\#import ./generic.nix (args // rec {#a \  modDirVersion = \"${V}.0\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+    sed -i "\#buildLinux (args // rec {#a \  modDirVersion = \"${V}.0\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
   fi
-  sed -i "\#import ./generic.nix (args // rec {#a \  version = \"$V\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+  sed -i "\#buildLinux (args // rec {#a \  version = \"$V\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
 
   # Commit the changes
   git add -u $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
   git commit -m "kernel: $OLDVER -> $V" >/dev/null 2>&1
-  
+
   echo "Updated $OLDVER -> $V"
 done
diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix
index 3c5a0694a5d7..021353c47091 100644
--- a/pkgs/os-specific/linux/kexectools/default.nix
+++ b/pkgs/os-specific/linux/kexectools/default.nix
@@ -20,6 +20,5 @@ stdenv.mkDerivation rec {
     homepage = http://horms.net/projects/kexec/kexec-tools;
     description = "Tools related to the kexec Linux feature";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index c55ebffa8293..f9be82255704 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -6,11 +6,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "kmod-${version}";
-  version = "24";
+  version = "25";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1";
+    sha256 = "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig libxslt ];
diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix
index 066946d8f0bc..25b64499838d 100644
--- a/pkgs/os-specific/linux/lm-sensors/default.nix
+++ b/pkgs/os-specific/linux/lm-sensors/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2"
-      "http://pkgs.fedoraproject.org/repo/pkgs/lm_sensors/lm_sensors-${version}.tar.bz2/c03675ae9d43d60322110c679416901a/lm_sensors-${version}.tar.bz2"
+      "http://src.fedoraproject.org/repo/pkgs/lm_sensors/lm_sensors-${version}.tar.bz2/c03675ae9d43d60322110c679416901a/lm_sensors-${version}.tar.bz2"
     ];
     sha256 = "07q6811l4pp0f7pxr8bk3s97ippb84mx5qdg7v92s9hs10b90mz0";
   };
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 435a11f15990..ff6db1b41ee5 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${version}";
   name = "${pname}-${kernel.version}";
-  version = "2.10.0";
+  version = "2.10.5";
 
   src = fetchurl {
     url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "1gzi7j97zymzfj6b7mlih35djflwfgg93b63q9rbs5w1kclmsrgz";
+    sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 310ce51936c6..d6c1504fdf44 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.176";
+  version = "2.02.177";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
-    sha256 = "0wx4rvy4frdmb66znh2xms2j2n06sm361ki6l5ks4y1ciii87kny";
+    sha256 = "1wl0isn0yz5wvglwylnlqkppafwmvhliq5bd92vjqp5ir4za49a0";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 2660f299262a..2e2ef610de6a 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -12,11 +12,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "lxc-${version}";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
-    sha256 = "1qld0gi19mximxm0qyr6vzav32gymhc7fvp0bzwv37j0b8q0fi1r";
+    sha256 = "1xpghrinxhm2072fwmn42pxhjwh7qx6cbsipw4s6g38a8mkklrk8";
   };
 
   nativeBuildInputs = [
@@ -29,12 +29,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./support-db2x.patch
-    # Fix build error against glibc 2.26
-    (fetchpatch {
-      url = "https://github.com/lxc/lxc/commit/"
-          + "180c477a326ce85632249ff16990e8c29db1b6fa.patch";
-      sha256 = "05jkiiixxk9ibj1fwzmy56rkkign28bd9mrmgiz12g92r2qahm2z";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index a7f5ffaae4a2..a65f983bb36d 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -47,6 +47,5 @@ stdenv.mkDerivation rec {
     homepage = http://mcelog.org/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/mdadm/4.nix b/pkgs/os-specific/linux/mdadm/4.nix
deleted file mode 100644
index f9c2a5e09af6..000000000000
--- a/pkgs/os-specific/linux/mdadm/4.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv
-, fetchurl, groff
-, buildPlatform, hostPlatform
-}:
-
-assert stdenv.isLinux;
-
-stdenv.mkDerivation rec {
-  name = "mdadm-4.0";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.xz";
-    sha256 = "1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx";
-  };
-
-  # This is to avoid self-references, which causes the initrd to explode
-  # in size and in turn prevents mdraid systems from booting.
-  allowedReferences = [ stdenv.glibc.out ];
-
-  patches = [ ./no-self-references.patch ];
-
-  makeFlags = [
-    "NIXOS=1" "INSTALL=install" "INSTALL_BINDIR=$(out)/sbin"
-    "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
-    "STRIP="
-  ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
-  ];
-
-  nativeBuildInputs = [ groff ];
-
-  preConfigure = ''
-    sed -e 's@/lib/udev@''${out}/lib/udev@' \
-        -e 's@ -Werror @ @' \
-        -e 's@/usr/sbin/sendmail@/run/wrappers/bin/sendmail@' -i Makefile
-  '';
-
-  meta = {
-    description = "Programs for managing RAID arrays under Linux";
-    homepage = http://neil.brown.name/blog/mdadm;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 31dd0cbf18d8..85a65b8f824d 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -6,11 +6,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "mdadm-3.3.4";
+  name = "mdadm-4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.xz";
-    sha256 = "0s6a4bq7v7zxiqzv6wn06fv9f6g502dp047lj471jwxq0r9z9rca";
+    sha256 = "1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx";
   };
 
   # This is to avoid self-references, which causes the initrd to explode
@@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ groff ];
 
-  # Attempt removing if building with gcc5 when updating
-  NIX_CFLAGS_COMPILE = "-std=gnu89";
-
   preConfigure = ''
     sed -e 's@/lib/udev@''${out}/lib/udev@' \
         -e 's@ -Werror @ @' \
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index f7393d79cc21..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 = "20180108";
+  version = "20171117";
 
   src = fetchurl {
-    url = "https://downloadmirror.intel.com/27431/eng/microcode-${version}.tgz";
-    sha256 = "0c214238mjks07zwif07f4041c74jil522sy78r4kjs6lniilgq6";
+    url = "https://downloadmirror.intel.com/27337/eng/microcode-${version}.tgz";
+    sha256 = "1p14ypbg28bdkbza6dx6dpjrdr5p13vmgrh2cw0y1v2qzalivgck";
   };
 
   buildInputs = [ libarchive ];
diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix
index 9fbf30557154..ce287dc18415 100644
--- a/pkgs/os-specific/linux/net-tools/default.nix
+++ b/pkgs/os-specific/linux/net-tools/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "net-tools-1.60_p20161110235919";
+  name = "net-tools-${version}";
+  version = "1.60_p20170221182432";
 
   src = fetchurl {
     url = "mirror://gentoo/distfiles/${name}.tar.xz";
-    sha256 = "1kbgwkys45kb5wqhchi1kf0sfw93c1cl0hgyw7yhacxzdfxjmdfr";
+    sha256 = "08r4r2a24g5bm8jwgfa998gs1fld7fgbdf7pilrpsw1m974xn04a";
   };
 
   preBuild =
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 22d415213c42..d0348bd67d45 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -14,23 +14,17 @@ let
         sha256 = "18clfpw03g8dxm61bmdkmccyaxir3gnq451z6xqa2ilm3j820aa5";
       });
 in
-{
+rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = generic {
-    version = "387.34";
-    sha256_32bit = "1haqk5h1fcmwp7kn9644k280wn409kh0xbivrj1ks8r8f4nbvfmq";
-    sha256_64bit = "06w8dw6hb40ymz6ax7v82j29ihmp3d7yxsi8ah9ch10jldl973z4";
-    settingsSha256 = "0dpm22ggpr93ypz24ap9vgx43ik7lw6cxcb29v8ys2iinhs7zm7s";
-    persistencedSha256 = "02lf9b6j85amc1vr84lj98q74a680nrx4fmpxj17cz597yq8s200";
+    version = "390.25";
+    sha256_32bit = "0fkbpx01l46pprrd4nlc2y6hfmkb55ddlwm1r84kr6j08qmmb0qi";
+    sha256_64bit = "0whsls1mm6vkll5qmxnyz8vjgspp1rmqpsampgi83k62n514c08r";
+    settingsSha256 = "1jhbr68z36s3fr9vx3ga2f6yrzlwpc0j5mw8h12g65p7wdsbk6y7";
+    persistencedSha256 = "033azbhi50f1b0lw759sncgf7ckh2m2c0khj5v15sch9kl1fzk8i";
   };
 
-  beta = generic {
-    version = "381.22";
-    sha256_32bit = "024x3c6hrivg2bkbzv1xd0585hvpa2kbn1y2gwvca7c73kpdczbv";
-    sha256_64bit = "13fj9ndy5rmh410d0vi2b0crfl7rbsm6rn7cwms0frdzkyhshghs";
-    settingsSha256 = "1gls187zfd201b29qfvwvqvl5gvp5wl9lq966vd28crwqh174jrh";
-    persistencedSha256 = "08315rb9l932fgvy758an5vh3jgks0qc4g36xip4l32pkxd9k963";
-  };
+  beta = stable; # not enough interest to maintain beta ATM
 
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/nvme-cli/default.nix b/pkgs/os-specific/linux/nvme-cli/default.nix
index 7912c67aa0b6..044479c56295 100644
--- a/pkgs/os-specific/linux/nvme-cli/default.nix
+++ b/pkgs/os-specific/linux/nvme-cli/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "nvme-cli-${version}";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "linux-nvme";
     repo = "nvme-cli";
     rev = "v${version}";
-    sha256 = "00jrr1mya9wkapiapph3nch3kpqas6vlc8kl8dbrjjfb5hg35gqf";
+    sha256 = "1nl5hl5am8djwmrw1xxnd9ahp7kyzyj0yh1nxgmx43pn3d61n0vz";
   };
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
diff --git a/pkgs/os-specific/linux/pagemon/default.nix b/pkgs/os-specific/linux/pagemon/default.nix
index 414338702cc8..aec6e57e9144 100644
--- a/pkgs/os-specific/linux/pagemon/default.nix
+++ b/pkgs/os-specific/linux/pagemon/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index abbf3398ceda..3f8c3c28f317 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.linux;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ wkennington mornfall ];
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/os-specific/linux/perf-tools/default.nix b/pkgs/os-specific/linux/perf-tools/default.nix
index 873cb7b2b7da..31f86965ee8d 100644
--- a/pkgs/os-specific/linux/perf-tools/default.nix
+++ b/pkgs/os-specific/linux/perf-tools/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation {
-  name = "perf-tools-20160418";
+  name = "perf-tools-20171219";
 
   src = fetchFromGitHub {
     owner = "brendangregg";
     repo = "perf-tools";
-    rev = "5a511f5f775cfbc0569e6039435361cecd22dd86";
-    sha256 = "1ab735idi0h62yvhzd7822jj3555vygixv4xjrfrdvi8d2hhz6qn";
+    rev = "98d42a2a1493d2d1c651a5c396e015d4f082eb20";
+    sha256 = "09qnss9pd4kr6qadvp62m2g8sfrj86fksi1rr8m8w4314pzfb93c";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/os-specific/linux/phc-intel/default.nix b/pkgs/os-specific/linux/phc-intel/default.nix
index 356939fe2946..81db8a9f26d0 100644
--- a/pkgs/os-specific/linux/phc-intel/default.nix
+++ b/pkgs/os-specific/linux/phc-intel/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     name = "phc-intel-pack-${revbump}.tar.bz2";
   };
 
-  buildInputs = [ which ];
+  nativeBuildInputs = [ which ] ++ kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
 
@@ -49,6 +49,5 @@ in stdenv.mkDerivation rec {
     downloadPage = "http://www.linux-phc.org/forum/viewtopic.php?f=7&t=267";
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/powerstat/default.nix b/pkgs/os-specific/linux/powerstat/default.nix
index 8e52bdf936ef..88151fca2f54 100644
--- a/pkgs/os-specific/linux/powerstat/default.nix
+++ b/pkgs/os-specific/linux/powerstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "powerstat-${version}";
-  version = "0.02.12";
+  version = "0.02.15";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/powerstat/powerstat-${version}.tar.gz";
-    sha256 = "16ls3rs1wfckl0b2szqqgiv072afy4qjd3r4kz4vf2qj77kjm06w";
+    sha256 = "0m8662qv77nzbwkdpydiz87kd75cjjajgp30j6mc5padyw65bxxx";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index 4023ea5c69f9..cc5e3dd5190c 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -16,7 +16,10 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # Too red
-  configureFlags = [ "--disable-modern-top" ];
+  configureFlags = [ "--disable-modern-top" ]
+    ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform)
+    [ "ac_cv_func_malloc_0_nonnull=yes"
+      "ac_cv_func_realloc_0_nonnull=yes" ];
 
   meta = {
     homepage = https://sourceforge.net/projects/procps-ng/;
diff --git a/pkgs/os-specific/linux/radeontop/default.nix b/pkgs/os-specific/linux/radeontop/default.nix
index cb720c206348..c87bec3a5264 100644
--- a/pkgs/os-specific/linux/radeontop/default.nix
+++ b/pkgs/os-specific/linux/radeontop/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/clbr/radeontop;
     platforms = platforms.linux;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rycee nckx ];
+    maintainers = with maintainers; [ rycee ];
   };
 }
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
new file mode 100644
index 000000000000..77f94e544a07
--- /dev/null
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, ethtool, nettools, libnl, libudev, python, perl
+} :
+
+let
+  version = "16.1";
+
+in stdenv.mkDerivation {
+  name = "rdma-core-${version}";
+
+  src = fetchFromGitHub {
+    owner = "linux-rdma";
+    repo = "rdma-core";
+    rev = "v${version}";
+    sha256 = "1fixw6hpf732vzlpczx0b2y84jrhgfjr3cljqxky7makzgh2s7ng";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ libnl ethtool nettools libudev python perl ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_RUNDIR=/run"
+    "-DCMAKE_INSTALL_SHAREDSTATEDIR=/var/lib"
+  ];
+
+  postPatch = ''
+    substituteInPlace providers/rxe/rxe_cfg.in \
+      --replace ethtool "${ethtool}/bin/ethtool" \
+      --replace ifconfig "${nettools}/bin/ifconfig"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "RDMA Core Userspace Libraries and Daemons";
+    homepage = https://github.com/linux-rdma/rdma-core;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ markuskowa ];
+  };
+}
+
diff --git a/pkgs/os-specific/linux/sdparm/default.nix b/pkgs/os-specific/linux/sdparm/default.nix
index 39bec26e07f1..a8d5112c63b9 100644
--- a/pkgs/os-specific/linux/sdparm/default.nix
+++ b/pkgs/os-specific/linux/sdparm/default.nix
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
     homepage = http://sg.danny.cz/sg/sdparm.html;
     description = "A utility to access SCSI device parameters";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/os-specific/linux/smemstat/default.nix b/pkgs/os-specific/linux/smemstat/default.nix
index 04f5bf53f936..b4b8606197e8 100644
--- a/pkgs/os-specific/linux/smemstat/default.nix
+++ b/pkgs/os-specific/linux/smemstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "smemstat-${version}";
-  version = "0.01.17";
+  version = "0.01.18";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz";
-    sha256 = "093ifrz688cm0kmzz1c6himhbdr75ig1mcaapmqy8jadc1gaw2im";
+    sha256 = "0g262gilj2jk365wj4yl93ifppgvc9rx7dmlw6ychbv72v2pbv6w";
   };
   buildInputs = [ ncurses ];
   installFlags = [ "DESTDIR=$(out)" ];
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index e0d1754dd749..57698b5ad455 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -61,13 +61,19 @@ in
   assert kernel != null;
 {
     splStable = common {
-      version = "0.7.5";
-      sha256 = "0njb3274bc5pfr80pzj94sljq457pr71n50s0gsccbz8ghk28rlr";
+      version = "0.7.6";
+      sha256 = "1l641d89k48ngmarx9mxh8gw2zzrf7fw7n8zmslhz4h1152plddb";
     };
 
     splUnstable = common {
-      version = "2017-12-21";
-      rev = "c9821f1ccc647dfbd506f381b736c664d862d126";
-      sha256 = "08r6sa36jaj6n54ap18npm6w85v5yn3x8ljg792h37f49b8kir6c";
+      version = "2018-01-24";
+      rev = "23602fdb39e1254c669707ec9d2d0e6bcdbf1771";
+      sha256 = "09py2dwj77f6s2qcnkwdslg5nxb3hq2bq39zpxpm6msqyifhl69h";
+    };
+
+    splLegacyCrypto = common {
+      version = "2018-01-24";
+      rev = "23602fdb39e1254c669707ec9d2d0e6bcdbf1771";
+      sha256 = "09py2dwj77f6s2qcnkwdslg5nxb3hq2bq39zpxpm6msqyifhl69h";
     };
 }
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 919ddc1c3df0..5c7b2e69edf2 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "sysdig-${version}";
-  version = "0.19.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "04bsb7g6mh6dwk023v1rbdcjwp898y6ixdvrd7nxzm186qpycpnn";
+    sha256 = "0nbsfm2jh5gjy2wh79f35rqk3c3z15lymmcz3gviw0jaxdv6drzw";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index c3adcc6cdba9..9c8bf5597514 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "tp_smapi-${version}-${kernel.version}";
-  version = "0.42";
+  version = "unstable-2017-12-04";
 
   src = fetchFromGitHub {
     owner = "evgeni";
     repo = "tp_smapi";
-    rev = "tp-smapi/${version}";
-    sha256 = "12lnig90lrmkmqwl386q7ssqs9p0jikqhwl2wsmcmii1gn92hzfy";
+    rev = "76c5120f7be4880cf2c6801f872327e4e70c449f";
+    sha256 = "0g8l7rmylspl17qnqpa2h4yj7h3zvy6xlmj5nlnixds9avnbz2vy";
     name = "tp-smapi-${version}";
   };
 
@@ -39,11 +39,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "IBM ThinkPad hardware functions driver";
-    homepage = https://github.com/evgeni/tp_smapi/tree/tp-smapi/0.41;
+    homepage = https://github.com/evgeni/tp_smapi;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.garbas ];
     # driver is only ment for linux thinkpads i think  bellow platforms should cover it.
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
-
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index b1a8ac7d5182..c46ed2d0c015 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -6,11 +6,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.99.4";
+  name = "upower-0.99.7";
 
   src = fetchurl {
     url = "https://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww";
+    sha256 = "00d4830yvg84brdhz4kn60lr3r8rn2y8gdbhmhxm78i5mgvc5g14";
   };
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index f54f3ab311a5..e8a2b3428496 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -5,14 +5,14 @@ let
   version = lib.concatStringsSep "." ([ majorVersion ]
     ++ lib.optional (patchVersion != "") patchVersion);
   majorVersion = "2.31";
-  patchVersion = "";
+  patchVersion = "1";
 
 in stdenv.mkDerivation rec {
   name = "util-linux-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${name}.tar.xz";
-    sha256 = "12nw108xjhm63sh2n5a0qs33vpvbvb6rln96l9j50p7wykf7rgpr";
+    sha256 = "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index 57f4b9ab6747..920c8c0bdee0 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     export PATH=${kmod}/sbin:$PATH
   '';
 
+  nativeBuildInputs = kernel.moduleBuildDependencies;
   buildInputs = [ kmod ];
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 70811347be52..c5461c06e830 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.20171221";
+  version = "0.0.20180202";
 
   src = fetchurl {
     url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "1vf5dbwc2lgcf28k1m919w94hil2gcl0l4h4da1sh6r7kdz6k5rb";
+    sha256 = "ee3415b482265ad9e8721aa746aaffdf311058a2d1a4d80e7b6d11bbbf71c722";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/wireless-tools/default.nix b/pkgs/os-specific/linux/wireless-tools/default.nix
index f5a51a4e096d..f883bf0d2262 100644
--- a/pkgs/os-specific/linux/wireless-tools/default.nix
+++ b/pkgs/os-specific/linux/wireless-tools/default.nix
@@ -1,18 +1,20 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "wireless-tools-29";
+stdenv.mkDerivation rec {
+  name = "wireless-tools-${version}";
+  version = "30.pre2";
 
   src = fetchurl {
-    url = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz;
-    sha256 = "18g5wa3rih89i776nc2n2s50gcds4611gi723h9ki190zqshkf3g";
+    url = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.${version}.tar.gz";
+    sha256 = "01lgf592nk8fnk7l5afqvar4szkngwpgcv4xh58qsg9wkkjlhnls";
   };
 
   preBuild = "
-    makeFlagsArray=(PREFIX=$out)
+    makeFlagsArray=(PREFIX=$out CC=$CC LDCONFIG=: AR=$AR RANLIB=$RANLIB)
   ";
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 5489bc5abbec..868e354c7b55 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -5,7 +5,7 @@
 , zlib, libuuid, python, attr, openssl
 
 # Kernel dependencies
-, kernel ? null, spl ? null, splUnstable ? null
+, kernel ? null, spl ? null, splUnstable ? null, splLegacyCrypto ? null
 }:
 
 with stdenv.lib;
@@ -19,6 +19,7 @@ let
     , spl
     , rev ? "zfs-${version}"
     , isUnstable ? false
+    , isLegacyCrypto ? false
     , incompatibleKernelVersion ? null } @ args:
     if buildKernel &&
       (incompatibleKernelVersion != null) &&
@@ -43,7 +44,7 @@ let
       buildInputs =
            optionals buildKernel [ spl ]
         ++ optionals buildUser [ zlib libuuid python attr ]
-        ++ optionals (buildUser && isUnstable) [ openssl ];
+        ++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ];
 
       # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
       NIX_CFLAGS_LINK = "-lgcc_s";
@@ -141,9 +142,9 @@ in {
     incompatibleKernelVersion = null;
 
     # this package should point to the latest release.
-    version = "0.7.5";
+    version = "0.7.6";
 
-    sha256 = "086g4xjx05sy4fwn5709sm46m2yv35wb915xfmqjvpry46245nig";
+    sha256 = "1k3a69zfdk4ia4z2l69lbz0mj26bwdanxd2wynkdpm2kl3zjj18h";
 
     extraPatches = [
       (fetchpatch {
@@ -160,19 +161,41 @@ in {
     incompatibleKernelVersion = null;
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2018-01-10";
+    version = "2018-02-02";
 
-    rev = "1d53657bf561564162e2ad6449f80fa0140f1dd6";
-    sha256 = "0ibkhfz06cypgl2c869dzdbdx2i3m8ywwdmnzscv0cin5gm31vhx";
+    rev = "fbd42542686af053f0d162ec4630ffd4fff1cc30";
+    sha256 = "0qzkwnnk7kz1hwvcaqlpzi5yspfhhmd2alklc07k056ddzbx52qb";
     isUnstable = true;
 
     extraPatches = [
       (fetchpatch {
-        url = "https://github.com/Mic92/zfs/compare/ded8f06a3cfee...nixos-zfs-2017-09-12.patch";
-        sha256 = "033wf4jn0h0kp0h47ai98rywnkv5jwvf3xwym30phnaf8xxdx8aj";
+        url = "https://github.com/Mic92/zfs/compare/fbd42542686af053f0d162ec4630ffd4fff1cc30...nixos-zfs-2018-02-02.patch";
+        sha256 = "05wqwjm9648x60vkwxbp8l6z1q73r2a5l2ni28i2f4pla8s3ahln";
       })
     ];
 
     spl = splUnstable;
   };
+
+  zfsLegacyCrypto = common {
+    # comment/uncomment if breaking kernel versions are known
+    incompatibleKernelVersion = null;
+
+    # this package should point to a version / git revision compatible with the latest kernel release
+    version = "2018-02-01";
+
+    rev = "4c46b99d24a6e71b3c72462c11cb051d0930ad60";
+    sha256 = "011lcp2x44jgfzqqk2gjmyii1v7rxcprggv20prxa3c552drsx3c";
+    isUnstable = true;
+
+    extraPatches = [
+      (fetchpatch {
+        url = "https://github.com/Mic92/zfs/compare/4c46b99d24a6e71b3c72462c11cb051d0930ad60...nixos-zfs-2018-02-01.patch";
+        sha256 = "1gqmgqi39qhk5kbbvidh8f2xqq25vj58i9x0wjqvcx6a71qj49ch";
+      })
+    ];
+
+    spl = splLegacyCrypto;
+  };
+
 }
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index aad2f69bfa6a..a5d89b493e82 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-confluence-${version}";
-  version = "6.5.0";
+  version = "6.6.1";
 
   src = fetchurl {
     url = "https://www.atlassian.com/software/confluence/downloads/binary/${name}.tar.gz";
-    sha256 = "1prac65yczrarb38vvlp7srrhd4gb1zi5v88myfkp6rhwfrdxd0n";
+    sha256 = "0nb8rjzfd0fqd9k1yxa3dj7kxgh84dgbg9l8jyj59g74ym77qmw0";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index b99cf57e08bd..b90e68ed3bcb 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-jira-${version}";
-  version = "7.5.2";
+  version = "7.7.0";
 
   src = fetchurl {
     url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "00x00q6k4sb89aipqd28lgn8l7k7w33dpg18r1dn6l7rws1mazfx";
+    sha256 = "1np1zf6yxras15ambf92g8snnvph9pp2dk4yw6w58yfil5kzp70l";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index 2093d54b0656..6868c0f81664 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Dict protocol server and client";
     homepage    = http://www.dict.org;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = with maintainers; [ ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix
index 8637d043836b..13e4757fe89e 100644
--- a/pkgs/servers/dict/dictd-wiktionary.nix
+++ b/pkgs/servers/dict/dictd-wiktionary.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "DICT version of English Wiktionary";
     homepage = http://en.wiktionary.org/;
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/dict/dictd-wordnet.nix b/pkgs/servers/dict/dictd-wordnet.nix
index b6680e8b21c4..8bed7f160f7b 100644
--- a/pkgs/servers/dict/dictd-wordnet.nix
+++ b/pkgs/servers/dict/dictd-wordnet.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://wordnet.princeton.edu/;
 
-    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index 833aaa95b0ca..d35a9a683031 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 3d8b825cc921..ea4d4f387d8f 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -3,14 +3,14 @@
 
 assert enableSeccomp -> libseccomp != null;
 
-let version = "9.11.2"; in
+let version = "9.11.2-P1"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "0yn7wgi2y8mpmvbjbkl4va7p0xsnn48m4yjx6ynb1hzp423asikz";
+    sha256 = "04hjvwvs7ssgj69lqparx0wj0w3xkc0x8y2iv62kzjighd41bhyf";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
   patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
 
-  buildInputs = [ openssl libtool perl libxml2 ] ++
+  nativeBuildInputs = [ perl ];
+  buildInputs = [ openssl libtool libxml2 ] ++
     stdenv.lib.optional enableSeccomp libseccomp;
 
   STD_CDEFINES = [ "-DDIG_SIGCHASE=1" ]; # support +sigchase
@@ -58,7 +59,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.isc.org/software/bind;
     description = "Domain name server";
-    license = stdenv.lib.licenses.isc;
+    license = stdenv.lib.licenses.mpl20;
 
     maintainers = with stdenv.lib.maintainers; [viric peti];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index d3fffe12da4d..478fcb9aad7b 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   name = "knot-dns-${version}";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "2fb27a4006865fc12873cbadc5b4a870ec65d3293a284972c031522282987790";
+    sha256 = "1d0d37b5047ecd554d927519d5565c29c1ba9b501c100eb5f3a5af184d75386a";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 531d88b78bee..2ec12b81f84b 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -1,63 +1,55 @@
-{ stdenv, fetchurl, pkgconfig, hexdump, which
+{ stdenv, fetchurl, runCommand, pkgconfig, hexdump, which
 , knot-dns, luajit, libuv, lmdb, gnutls, nettle
 , cmocka, systemd, dns-root-data, makeWrapper
 , extraFeatures ? false /* catch-all if defaults aren't enough */
 , hiredis, libmemcached, luajitPackages
 }:
+let # un-indented, over the whole file
 
-let
-  inherit (stdenv.lib) optional optionals optionalString;
-in
-stdenv.mkDerivation rec {
+result = if extraFeatures then wrapped-full else unwrapped;
+
+inherit (stdenv.lib) optional optionals optionalString concatStringsSep;
+
+unwrapped = stdenv.mkDerivation rec {
   name = "knot-resolver-${version}";
-  version = "1.5.1";
+  version = "2.0.0";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
-    sha256 = "146dcb24422ef685fb4167e3c536a838cf4101acaa85fcfa0c150eebdba78f81";
+    sha256 = "b40d9dbef05031464dfff57712f476e7cddc0fda26b41daf660c5a33ea203ce0";
   };
 
   outputs = [ "out" "dev" ];
 
   configurePhase = ":";
 
-  nativeBuildInputs = [ pkgconfig which makeWrapper hexdump ];
+  nativeBuildInputs = [ pkgconfig which hexdump ];
 
   # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
   buildInputs = [ knot-dns luajit libuv gnutls nettle lmdb ]
-    ++ optional doInstallCheck cmocka
+    ++ optional doCheck cmocka
     ++ optional stdenv.isLinux systemd # sd_notify
-    ++ optionals extraFeatures [
-      hiredis libmemcached # additional cache backends
-    ];
-    ## optional dependencies; TODO: libedit, dnstap, http2 module?
+    ## optional dependencies; TODO: libedit, dnstap
+    ;
 
-  makeFlags = [ "PREFIX=$(out)" "ROOTHINTS=${dns-root-data}/root.hints" ];
+  makeFlags = [
+    "PREFIX=$(out)"
+    "ROOTHINTS=${dns-root-data}/root.hints"
+    "KEYFILE_DEFAULT=${dns-root-data}/root.ds"
+  ];
   CFLAGS = [ "-O2" "-DNDEBUG" ];
 
   enableParallelBuilding = true;
 
   doCheck = true;
-  doInstallCheck = true;
+  doInstallCheck = false; # FIXME
   preInstallCheck = ''
     patchShebangs tests/config/runtest.sh
   '';
 
   postInstall = ''
-    rm "$out"/etc/kresd/root.hints # using system-wide instead
-  ''
-  # optional: to allow auto-bootstrapping root trust anchor via https
-  + (with luajitPackages; ''
-      wrapProgram "$out/sbin/kresd" \
-        --set LUA_PATH '${
-          stdenv.lib.concatStringsSep ";"
-            (map getLuaPath [ luasec luasocket ])
-          }' \
-        --set LUA_CPATH '${
-          stdenv.lib.concatStringsSep ";"
-            (map getLuaCPath [ luasec luasocket ])
-          }'
-    '');
+    rm "$out"/etc/knot-resolver/root.hints # using system-wide instead
+  '';
 
   meta = with stdenv.lib; {
     description = "Caching validating DNS resolver, from .cz domain registry";
@@ -67,5 +59,24 @@ stdenv.mkDerivation rec {
     platforms = filter (p: p != "aarch64-linux") platforms.unix;
     maintainers = [ maintainers.vcunat /* upstream developer */ ];
   };
-}
+};
+
+wrapped-full = with luajitPackages; let
+    luaPkgs =  [ luasec luasocket ]; # TODO: cqueues and others for http2 module
+  in runCommand unwrapped.name
+  {
+    nativeBuildInputs = [ makeWrapper ];
+    preferLocalBuild = true;
+    allowSubstitutes = false;
+  }
+  ''
+    mkdir -p "$out/sbin" "$out/share"
+    makeWrapper '${unwrapped}/sbin/kresd' "$out"/sbin/kresd \
+      --set LUA_PATH  '${concatStringsSep ";" (map getLuaPath  luaPkgs)}' \
+      --set LUA_CPATH '${concatStringsSep ";" (map getLuaCPath luaPkgs)}'
+    ln -sr '${unwrapped}/share/man' "$out"/share/
+    ln -sr "$out"/{sbin,bin}
+  '';
+
+in result
 
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index ae023649bc3d..25b333a46188 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -1,28 +1,25 @@
 { stdenv, fetchurl, pkgconfig, boost
 , openssl, systemd, lua, luajit, protobuf
-, enableLua ? false
 , enableProtoBuf ? false
 }:
-
-assert enableLua      -> lua != null && luajit != null;
 assert enableProtoBuf -> protobuf != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "pdns-recursor-${version}";
-  version = "4.0.8";
+  version = "4.1.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "04v5y6mfdhn8ikigqmm3k5k0zz5l8d3k1a7ih464n1161q7z0vww";
+    sha256 = "0srrw726qpwg69v75dwbxab9hk73x1wia4rcnmf7g5qr2k3h7swg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     boost openssl systemd
-  ] ++ optional enableLua [ lua luajit ]
-    ++ optional enableProtoBuf protobuf;
+    lua luajit
+  ] ++ optional enableProtoBuf protobuf;
 
   configureFlags = [
     "--enable-reproducible"
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
new file mode 100644
index 000000000000..679ca2afd43a
--- /dev/null
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -0,0 +1,431 @@
+# Generated from parse-requirements.py
+# Do not edit!
+
+{
+  version = "0.62.1";
+  components = {
+    "nuimo_controller" = ps: with ps; [  ];
+    "bbb_gpio" = ps: with ps; [  ];
+    "doorbird" = ps: with ps; [  ];
+    "isy994" = ps: with ps; [  ];
+    "notify.html5" = ps: with ps; [ pyjwt ];
+    "sensor.mvglive" = ps: with ps; [  ];
+    "arduino" = ps: with ps; [  ];
+    "xiaomi_aqara" = ps: with ps; [  ];
+    "rpi_gpio" = ps: with ps; [  ];
+    "remember_the_milk" = ps: with ps; [ httplib2 ];
+    "media_player.sonos" = ps: with ps; [  ];
+    "sensor.travisci" = ps: with ps; [  ];
+    "notify.twitter" = ps: with ps; [  ];
+    "notify.yessssms" = ps: with ps; [  ];
+    "abode" = ps: with ps; [  ];
+    "device_tracker.automatic" = ps: with ps; [  ];
+    "sensor.dnsip" = ps: with ps; [ aiodns ];
+    "emulated_hue" = ps: with ps; [ aiohttp-cors ];
+    "http" = ps: with ps; [ aiohttp-cors ];
+    "sensor.imap" = ps: with ps; [  ];
+    "light.lifx" = ps: with ps; [  ];
+    "scene.hunterdouglas_powerview" = ps: with ps; [  ];
+    "alarmdecoder" = ps: with ps; [  ];
+    "sensor.alpha_vantage" = ps: with ps; [  ];
+    "amcrest" = ps: with ps; [  ];
+    "media_player.anthemav" = ps: with ps; [  ];
+    "apcupsd" = ps: with ps; [  ];
+    "notify.apns" = ps: with ps; [  ];
+    "asterisk_mbox" = ps: with ps; [  ];
+    "light.avion" = ps: with ps; [  ];
+    "axis" = ps: with ps; [  ];
+    "tts.baidu" = ps: with ps; [  ];
+    "sensor.modem_callerid" = ps: with ps; [  ];
+    "sensor.linux_battery" = ps: with ps; [ batinfo ];
+    "sensor.eddystone_temperature" = ps: with ps; [  ];
+    "device_tracker.linksys_ap" = ps: with ps; [ beautifulsoup4 ];
+    "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
+    "sensor.scrape" = ps: with ps; [ beautifulsoup4 ];
+    "sensor.sytadin" = ps: with ps; [ beautifulsoup4 ];
+    "zha" = ps: with ps; [  ];
+    "blink" = ps: with ps; [  ];
+    "light.blinksticklight" = ps: with ps; [ BlinkStick ];
+    "light.blinkt" = ps: with ps; [  ];
+    "sensor.bitcoin" = ps: with ps; [  ];
+    "light.decora" = ps: with ps; [  ];
+    "sensor.bme680" = ps: with ps; [  ];
+    "notify.aws_lambda" = ps: with ps; [ boto3 ];
+    "notify.aws_sns" = ps: with ps; [ boto3 ];
+    "notify.aws_sqs" = ps: with ps; [ boto3 ];
+    "tts.amazon_polly" = ps: with ps; [ boto3 ];
+    "sensor.broadlink" = ps: with ps; [  ];
+    "switch.broadlink" = ps: with ps; [  ];
+    "sensor.buienradar" = ps: with ps; [  ];
+    "weather.buienradar" = ps: with ps; [  ];
+    "calendar.caldav" = ps: with ps; [  ];
+    "notify.ciscospark" = ps: with ps; [  ];
+    "coinbase" = ps: with ps; [  ];
+    "sensor.coinmarketcap" = ps: with ps; [  ];
+    "alarm_control_panel.concord232" = ps: with ps; [  ];
+    "binary_sensor.concord232" = ps: with ps; [  ];
+    "sensor.crimereports" = ps: with ps; [  ];
+    "datadog" = ps: with ps; [ datadog ];
+    "sensor.metoffice" = ps: with ps; [  ];
+    "weather.metoffice" = ps: with ps; [  ];
+    "light.decora_wifi" = ps: with ps; [  ];
+    "device_tracker.upc_connect" = ps: with ps; [ defusedxml ];
+    "sensor.deluge" = ps: with ps; [  ];
+    "switch.deluge" = ps: with ps; [  ];
+    "media_player.denonavr" = ps: with ps; [  ];
+    "media_player.directv" = ps: with ps; [  ];
+    "sensor.discogs" = ps: with ps; [ discogs_client ];
+    "notify.discord" = ps: with ps; [  ];
+    "updater" = ps: with ps; [ distro ];
+    "switch.digitalloggers" = ps: with ps; [  ];
+    "notify.xmpp" = ps: with ps; [ pyasn1-modules pyasn1 sleekxmpp ];
+    "sensor.dovado" = ps: with ps; [  ];
+    "sensor.dsmr" = ps: with ps; [  ];
+    "dweet" = ps: with ps; [  ];
+    "sensor.dweet" = ps: with ps; [  ];
+    "sensor.eliqonline" = ps: with ps; [  ];
+    "enocean" = ps: with ps; [  ];
+    "sensor.envirophat" = ps: with ps; [  ];
+    "sensor.season" = ps: with ps; [ ephem ];
+    "keyboard_remote" = ps: with ps; [  ];
+    "climate.honeywell" = ps: with ps; [  ];
+    "image_processing.dlib_face_detect" = ps: with ps; [  ];
+    "image_processing.dlib_face_identify" = ps: with ps; [  ];
+    "sensor.fastdotcom" = ps: with ps; [  ];
+    "sensor.fedex" = ps: with ps; [  ];
+    "feedreader" = ps: with ps; [ feedparser ];
+    "sensor.geo_rss_events" = ps: with ps; [ feedparser ];
+    "sensor.fitbit" = ps: with ps; [  ];
+    "sensor.fixer" = ps: with ps; [  ];
+    "light.flux_led" = ps: with ps; [  ];
+    "notify.free_mobile" = ps: with ps; [  ];
+    "device_tracker.fritz" = ps: with ps; [  ];
+    "sensor.fritzbox_callmonitor" = ps: with ps; [  ];
+    "sensor.fritzbox_netmonitor" = ps: with ps; [  ];
+    "switch.fritzdect" = ps: with ps; [  ];
+    "media_player.frontier_silicon" = ps: with ps; [  ];
+    "conversation" = ps: with ps; [  ];
+    "tts.google" = ps: with ps; [  ];
+    "device_tracker.bluetooth_le_tracker" = ps: with ps; [  ];
+    "sensor.gearbest" = ps: with ps; [  ];
+    "sensor.gitter" = ps: with ps; [  ];
+    "notify.gntp" = ps: with ps; [  ];
+    "google" = ps: with ps; [ google_api_python_client oauth2client ];
+    "sensor.google_travel_time" = ps: with ps; [  ];
+    "sensor.gpsd" = ps: with ps; [  ];
+    "light.greenwave" = ps: with ps; [  ];
+    "media_player.gstreamer" = ps: with ps; [  ];
+    "ffmpeg" = ps: with ps; [  ];
+    "media_player.philips_js" = ps: with ps; [  ];
+    "mqtt.server" = ps: with ps; [ hbmqtt ];
+    "climate.heatmiser" = ps: with ps; [  ];
+    "switch.hikvisioncam" = ps: with ps; [  ];
+    "notify.hipchat" = ps: with ps; [  ];
+    "binary_sensor.workday" = ps: with ps; [  ];
+    "frontend" = ps: with ps; [ user-agents ];
+    "camera.onvif" = ps: with ps; [  ];
+    "sensor.dht" = ps: with ps; [  ];
+    "media_player.braviatv" = ps: with ps; [  ];
+    "media_player.spotify" = ps: with ps; [  ];
+    "netatmo" = ps: with ps; [  ];
+    "neato" = ps: with ps; [  ];
+    "sensor.sabnzbd" = ps: with ps; [  ];
+    "switch.anel_pwrctrl" = ps: with ps; [  ];
+    "switch.edimax" = ps: with ps; [  ];
+    "sensor.gtfs" = ps: with ps; [  ];
+    "binary_sensor.flic" = ps: with ps; [  ];
+    "media_player.lg_netcast" = ps: with ps; [  ];
+    "sensor.bh1750" = ps: with ps; [  ];
+    "sensor.bme280" = ps: with ps; [  ];
+    "sensor.htu21d" = ps: with ps; [  ];
+    "light.iglo" = ps: with ps; [  ];
+    "ihc" = ps: with ps; [  ];
+    "influxdb" = ps: with ps; [ influxdb ];
+    "sensor.influxdb" = ps: with ps; [ influxdb ];
+    "insteon_local" = ps: with ps; [  ];
+    "insteon_plm" = ps: with ps; [  ];
+    "verisure" = ps: with ps; [  ];
+    "media_player.kodi" = ps: with ps; [  ];
+    "notify.kodi" = ps: with ps; [  ];
+    "device_tracker.owntracks" = ps: with ps; [ libnacl ];
+    "device_tracker.owntracks_http" = ps: with ps; [ libnacl ];
+    "dyson" = ps: with ps; [  ];
+    "camera.foscam" = ps: with ps; [  ];
+    "device_tracker.mikrotik" = ps: with ps; [  ];
+    "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
+    "light.lifx_legacy" = ps: with ps; [  ];
+    "light.osramlightify" = ps: with ps; [  ];
+    "light.limitlessled" = ps: with ps; [  ];
+    "linode" = ps: with ps; [ linode-api ];
+    "media_player.liveboxplaytv" = ps: with ps; [  ];
+    "lametric" = ps: with ps; [  ];
+    "notify.lametric" = ps: with ps; [  ];
+    "sensor.luftdaten" = ps: with ps; [  ];
+    "sensor.lyft" = ps: with ps; [  ];
+    "notify.matrix" = ps: with ps; [ matrix-client ];
+    "maxcube" = ps: with ps; [  ];
+    "notify.message_bird" = ps: with ps; [  ];
+    "sensor.mfi" = ps: with ps; [  ];
+    "switch.mfi" = ps: with ps; [  ];
+    "sensor.miflora" = ps: with ps; [  ];
+    "upnp" = ps: with ps; [  ];
+    "sensor.mopar" = ps: with ps; [  ];
+    "tts" = ps: with ps; [ mutagen ];
+    "mychevy" = ps: with ps; [  ];
+    "mycroft" = ps: with ps; [  ];
+    "usps" = ps: with ps; [  ];
+    "media_player.nad" = ps: with ps; [  ];
+    "media_player.nadtcp" = ps: with ps; [  ];
+    "discovery" = ps: with ps; [ netdisco ];
+    "sensor.neurio_energy" = ps: with ps; [  ];
+    "sensor.nederlandse_spoorwegen" = ps: with ps; [  ];
+    "nuheat" = ps: with ps; [  ];
+    "binary_sensor.trend" = ps: with ps; [ numpy ];
+    "image_processing.opencv" = ps: with ps; [ numpy ];
+    "climate.oem" = ps: with ps; [  ];
+    "media_player.onkyo" = ps: with ps; [  ];
+    "sensor.openevse" = ps: with ps; [  ];
+    "media_player.openhome" = ps: with ps; [  ];
+    "switch.orvibo" = ps: with ps; [  ];
+    "mqtt" = ps: with ps; [ paho-mqtt ];
+    "shiftr" = ps: with ps; [ paho-mqtt ];
+    "media_player.panasonic_viera" = ps: with ps; [  ];
+    "media_player.dunehd" = ps: with ps; [  ];
+    "device_tracker.aruba" = ps: with ps; [ pexpect ];
+    "device_tracker.asuswrt" = ps: with ps; [ pexpect ];
+    "device_tracker.cisco_ios" = ps: with ps; [ pexpect ];
+    "device_tracker.unifi_direct" = ps: with ps; [ pexpect ];
+    "media_player.pandora" = ps: with ps; [ pexpect ];
+    "hue" = ps: with ps; [  ];
+    "rpi_pfio" = ps: with ps; [  ];
+    "light.piglow" = ps: with ps; [  ];
+    "pilight" = ps: with ps; [  ];
+    "dominos" = ps: with ps; [  ];
+    "media_player.plex" = ps: with ps; [  ];
+    "sensor.plex" = ps: with ps; [  ];
+    "sensor.mhz19" = ps: with ps; [  ];
+    "sensor.serial_pm" = ps: with ps; [  ];
+    "sensor.pocketcasts" = ps: with ps; [  ];
+    "climate.proliphix" = ps: with ps; [  ];
+    "prometheus" = ps: with ps; [  ];
+    "sensor.systemmonitor" = ps: with ps; [ psutil ];
+    "wink" = ps: with ps; [  ];
+    "notify.pushbullet" = ps: with ps; [ pushbullet ];
+    "sensor.pushbullet" = ps: with ps; [ pushbullet ];
+    "notify.pushetta" = ps: with ps; [  ];
+    "light.rpi_gpio_pwm" = ps: with ps; [  ];
+    "canary" = ps: with ps; [  ];
+    "sensor.cpuspeed" = ps: with ps; [  ];
+    "camera.synology" = ps: with ps; [  ];
+    "hdmi_cec" = ps: with ps; [  ];
+    "light.tplink" = ps: with ps; [  ];
+    "switch.tplink" = ps: with ps; [  ];
+    "rfxtrx" = ps: with ps; [  ];
+    "sensor.tibber" = ps: with ps; [  ];
+    "switch.dlink" = ps: with ps; [  ];
+    "ads" = ps: with ps; [  ];
+    "sensor.airvisual" = ps: with ps; [  ];
+    "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
+    "arlo" = ps: with ps; [  ];
+    "apple_tv" = ps: with ps; [  ];
+    "device_tracker.bbox" = ps: with ps; [  ];
+    "sensor.bbox" = ps: with ps; [  ];
+    "device_tracker.bluetooth_tracker" = ps: with ps; [  ];
+    "media_player.cast" = ps: with ps; [ PyChromecast ];
+    "media_player.cmus" = ps: with ps; [  ];
+    "comfoconnect" = ps: with ps; [  ];
+    "tts.microsoft" = ps: with ps; [  ];
+    "sensor.cups" = ps: with ps; [  ];
+    "daikin" = ps: with ps; [  ];
+    "climate.daikin" = ps: with ps; [  ];
+    "deconz" = ps: with ps; [  ];
+    "zwave" = ps: with ps; [ pydispatcher ];
+    "android_ip_webcam" = ps: with ps; [  ];
+    "sensor.ebox" = ps: with ps; [  ];
+    "climate.econet" = ps: with ps; [  ];
+    "eight_sleep" = ps: with ps; [  ];
+    "media_player.emby" = ps: with ps; [  ];
+    "envisalink" = ps: with ps; [  ];
+    "climate.ephember" = ps: with ps; [  ];
+    "sensor.fido" = ps: with ps; [  ];
+    "climate.flexit" = ps: with ps; [  ];
+    "ifttt" = ps: with ps; [  ];
+    "remote.harmony" = ps: with ps; [  ];
+    "binary_sensor.hikvision" = ps: with ps; [  ];
+    "hive" = ps: with ps; [  ];
+    "homematic" = ps: with ps; [ pyhomematic ];
+    "sensor.hydroquebec" = ps: with ps; [  ];
+    "alarm_control_panel.ialarm" = ps: with ps; [  ];
+    "device_tracker.icloud" = ps: with ps; [  ];
+    "sensor.irish_rail_transport" = ps: with ps; [  ];
+    "binary_sensor.iss" = ps: with ps; [  ];
+    "remote.itach" = ps: with ps; [  ];
+    "kira" = ps: with ps; [  ];
+    "sensor.kwb" = ps: with ps; [  ];
+    "sensor.lacrosse" = ps: with ps; [  ];
+    "sensor.lastfm" = ps: with ps; [ pylast ];
+    "media_player.webostv" = ps: with ps; [ websockets ];
+    "notify.webostv" = ps: with ps; [  ];
+    "litejet" = ps: with ps; [  ];
+    "sensor.loopenergy" = ps: with ps; [  ];
+    "lutron_caseta" = ps: with ps; [  ];
+    "lutron" = ps: with ps; [  ];
+    "notify.mailgun" = ps: with ps; [  ];
+    "mochad" = ps: with ps; [  ];
+    "modbus" = ps: with ps; [  ];
+    "media_player.monoprice" = ps: with ps; [  ];
+    "media_player.yamaha_musiccast" = ps: with ps; [  ];
+    "cover.myq" = ps: with ps; [  ];
+    "mysensors" = ps: with ps; [  ];
+    "lock.nello" = ps: with ps; [  ];
+    "device_tracker.netgear" = ps: with ps; [  ];
+    "switch.netio" = ps: with ps; [  ];
+    "lock.nuki" = ps: with ps; [  ];
+    "sensor.nut" = ps: with ps; [  ];
+    "alarm_control_panel.nx584" = ps: with ps; [  ];
+    "binary_sensor.nx584" = ps: with ps; [  ];
+    "iota" = ps: with ps; [  ];
+    "sensor.otp" = ps: with ps; [  ];
+    "sensor.openweathermap" = ps: with ps; [  ];
+    "weather.openweathermap" = ps: with ps; [  ];
+    "qwikswitch" = ps: with ps; [  ];
+    "rainbird" = ps: with ps; [  ];
+    "climate.sensibo" = ps: with ps; [  ];
+    "sensor.serial" = ps: with ps; [  ];
+    "switch.acer_projector" = ps: with ps; [ pyserial ];
+    "lock.sesame" = ps: with ps; [  ];
+    "sensor.sma" = ps: with ps; [  ];
+    "device_tracker.snmp" = ps: with ps; [ pysnmp ];
+    "sensor.snmp" = ps: with ps; [ pysnmp ];
+    "switch.snmp" = ps: with ps; [ pysnmp ];
+    "sensor.thinkingcleaner" = ps: with ps; [  ];
+    "switch.thinkingcleaner" = ps: with ps; [  ];
+    "sensor.blockchain" = ps: with ps; [  ];
+    "media_player.clementine" = ps: with ps; [  ];
+    "digital_ocean" = ps: with ps; [ digital-ocean ];
+    "ecobee" = ps: with ps; [  ];
+    "climate.eq3btsmart" = ps: with ps; [  ];
+    "sensor.etherscan" = ps: with ps; [  ];
+    "sensor.darksky" = ps: with ps; [  ];
+    "weather.darksky" = ps: with ps; [  ];
+    "gc100" = ps: with ps; [  ];
+    "sensor.hp_ilo" = ps: with ps; [  ];
+    "joaoapps_join" = ps: with ps; [  ];
+    "notify.joaoapps_join" = ps: with ps; [  ];
+    "juicenet" = ps: with ps; [  ];
+    "lirc" = ps: with ps; [  ];
+    "fan.xiaomi_miio" = ps: with ps; [  ];
+    "light.xiaomi_miio" = ps: with ps; [  ];
+    "switch.xiaomi_miio" = ps: with ps; [  ];
+    "vacuum.xiaomi_miio" = ps: with ps; [  ];
+    "media_player.mpd" = ps: with ps; [  ];
+    "light.mystrom" = ps: with ps; [  ];
+    "switch.mystrom" = ps: with ps; [  ];
+    "nest" = ps: with ps; [  ];
+    "device_tracker.nmap_tracker" = ps: with ps; [  ];
+    "notify.pushover" = ps: with ps; [  ];
+    "sensor.ripple" = ps: with ps; [  ];
+    "media_player.roku" = ps: with ps; [  ];
+    "sensor.sochain" = ps: with ps; [  ];
+    "sensor.synologydsm" = ps: with ps; [  ];
+    "tado" = ps: with ps; [  ];
+    "telegram_bot" = ps: with ps; [  ];
+    "sensor.twitch" = ps: with ps; [  ];
+    "velbus" = ps: with ps; [  ];
+    "media_player.vlc" = ps: with ps; [  ];
+    "sensor.swiss_public_transport" = ps: with ps; [  ];
+    "alarm_control_panel.egardia" = ps: with ps; [  ];
+    "sensor.whois" = ps: with ps; [  ];
+    "device_tracker.tile" = ps: with ps; [  ];
+    "climate.touchline" = ps: with ps; [  ];
+    "device_tracker.trackr" = ps: with ps; [  ];
+    "tradfri" = ps: with ps; [  ];
+    "device_tracker.unifi" = ps: with ps; [  ];
+    "keyboard" = ps: with ps; [  ];
+    "vera" = ps: with ps; [  ];
+    "media_player.vizio" = ps: with ps; [  ];
+    "velux" = ps: with ps; [  ];
+    "wemo" = ps: with ps; [  ];
+    "camera.xeoma" = ps: with ps; [  ];
+    "zabbix" = ps: with ps; [  ];
+    "sensor.qnap" = ps: with ps; [  ];
+    "switch.rachio" = ps: with ps; [  ];
+    "climate.radiotherm" = ps: with ps; [  ];
+    "raincloud" = ps: with ps; [  ];
+    "raspihats" = ps: with ps; [  ];
+    "switch.rainmachine" = ps: with ps; [  ];
+    "python_script" = ps: with ps; [  ];
+    "rflink" = ps: with ps; [  ];
+    "ring" = ps: with ps; [  ];
+    "notify.rocketchat" = ps: with ps; [  ];
+    "vacuum.roomba" = ps: with ps; [  ];
+    "switch.rpi_rf" = ps: with ps; [  ];
+    "media_player.russound_rnet" = ps: with ps; [  ];
+    "media_player.russound_rio" = ps: with ps; [  ];
+    "media_player.yamaha" = ps: with ps; [  ];
+    "media_player.samsungtv" = ps: with ps; [  ];
+    "satel_integra" = ps: with ps; [  ];
+    "sensor.deutsche_bahn" = ps: with ps; [  ];
+    "scsgate" = ps: with ps; [  ];
+    "notify.sendgrid" = ps: with ps; [  ];
+    "light.sensehat" = ps: with ps; [  ];
+    "sensor.sensehat" = ps: with ps; [  ];
+    "media_player.aquostv" = ps: with ps; [  ];
+    "sensor.shodan" = ps: with ps; [  ];
+    "notify.simplepush" = ps: with ps; [  ];
+    "alarm_control_panel.simplisafe" = ps: with ps; [  ];
+    "skybell" = ps: with ps; [  ];
+    "notify.slack" = ps: with ps; [  ];
+    "sleepiq" = ps: with ps; [  ];
+    "media_player.snapcast" = ps: with ps; [  ];
+    "sensor.speedtest" = ps: with ps; [  ];
+    "recorder" = ps: with ps; [ sqlalchemy ];
+    "statsd" = ps: with ps; [ statsd ];
+    "sensor.steam_online" = ps: with ps; [  ];
+    "tahoma" = ps: with ps; [  ];
+    "sensor.tank_utility" = ps: with ps; [  ];
+    "binary_sensor.tapsaff" = ps: with ps; [  ];
+    "tellstick" = ps: with ps; [  ];
+    "tellduslive" = ps: with ps; [  ];
+    "sensor.temper" = ps: with ps; [  ];
+    "tesla" = ps: with ps; [  ];
+    "thingspeak" = ps: with ps; [  ];
+    "light.tikteck" = ps: with ps; [  ];
+    "calendar.todoist" = ps: with ps; [ todoist ];
+    "toon" = ps: with ps; [  ];
+    "alarm_control_panel.totalconnect" = ps: with ps; [  ];
+    "sensor.transmission" = ps: with ps; [ transmissionrpc ];
+    "switch.transmission" = ps: with ps; [ transmissionrpc ];
+    "twilio" = ps: with ps; [ twilio ];
+    "sensor.uber" = ps: with ps; [  ];
+    "sensor.ups" = ps: with ps; [  ];
+    "camera.uvc" = ps: with ps; [  ];
+    "climate.venstar" = ps: with ps; [  ];
+    "volvooncall" = ps: with ps; [  ];
+    "sensor.vasttrafik" = ps: with ps; [  ];
+    "vultr" = ps: with ps; [ vultr ];
+    "wake_on_lan" = ps: with ps; [  ];
+    "switch.wake_on_lan" = ps: with ps; [  ];
+    "sensor.waqi" = ps: with ps; [  ];
+    "cloud" = ps: with ps; [  ];
+    "waterfurnace" = ps: with ps; [  ];
+    "media_player.gpmdp" = ps: with ps; [  ];
+    "spc" = ps: with ps; [ websockets ];
+    "zigbee" = ps: with ps; [  ];
+    "sensor.xbox_live" = ps: with ps; [  ];
+    "knx" = ps: with ps; [  ];
+    "media_player.bluesound" = ps: with ps; [ xmltodict ];
+    "sensor.swiss_hydrological_data" = ps: with ps; [ xmltodict ];
+    "sensor.ted5000" = ps: with ps; [ xmltodict ];
+    "sensor.yr" = ps: with ps; [ xmltodict ];
+    "sensor.yahoo_finance" = ps: with ps; [  ];
+    "sensor.yweather" = ps: with ps; [  ];
+    "weather.yweather" = ps: with ps; [  ];
+    "light.yeelight" = ps: with ps; [  ];
+    "light.yeelightsunflower" = ps: with ps; [  ];
+    "media_extractor" = ps: with ps; [  ];
+    "light.zengge" = ps: with ps; [  ];
+    "zeroconf" = ps: with ps; [ zeroconf ];
+    "media_player.ziggo_mediabox_xl" = ps: with ps; [  ];
+  };
+}
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
new file mode 100644
index 000000000000..eed800fa7d35
--- /dev/null
+++ b/pkgs/servers/home-assistant/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchFromGitHub, python3
+, extraComponents ? []
+, extraPackages ? ps: []
+, skipPip ? true }:
+
+let
+
+  py = python3.override {
+    packageOverrides = self: super: {
+      yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
+        version = "0.18.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "11j8symkxh0ngvpddqpj85qmk6p70p20jca3alxc181gk3vx785s";
+        };
+      });
+      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
+        version = "2.3.7";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "0fzfpx5ny7559xrxaawnylq20dvrkjiag0ypcd13frwwivrlsagy";
+        };
+      });
+      pytest = super.pytest.overridePythonAttrs (oldAttrs: rec {
+        version = "3.3.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "14zbnbn53yvrpv79ch6n02myq9b4winjkaykzi356sfqb7f3d16g";
+        };
+      });
+      hass-frontend = super.callPackage ./frontend.nix { };
+    };
+  };
+
+  componentPackages = import ./component-packages.nix;
+
+  availableComponents = builtins.attrNames componentPackages.components;
+
+  getPackages = component: builtins.getAttr component componentPackages.components;
+
+  componentBuildInputs = map (component: getPackages component py.pkgs) extraComponents;
+
+  # Ensure that we are using a consistent package set
+  extraBuildInputs = extraPackages py.pkgs;
+
+  # Don't forget to run parse-requirements.py after updating
+  hassVersion = "0.62.1";
+
+in with py.pkgs; buildPythonApplication rec {
+  pname = "homeassistant";
+  version = assert (componentPackages.version == hassVersion); hassVersion;
+
+  inherit availableComponents;
+
+  # PyPI tarball is missing tests/ directory
+  src = fetchFromGitHub {
+    owner = "home-assistant";
+    repo = "home-assistant";
+    rev = version;
+    sha256 = "0151prwk2ci6bih0mdmc3r328nrvazn9jwk0w26wmd4cpvnb5h26";
+  };
+
+  propagatedBuildInputs = [
+    # From setup.py
+    requests pyyaml pytz pip jinja2 voluptuous typing aiohttp yarl async-timeout chardet astral certifi
+    # From http, frontend and recorder components
+    sqlalchemy aiohttp-cors hass-frontend user-agents
+  ] ++ componentBuildInputs ++ extraBuildInputs;
+
+  checkInputs = [
+    pytest requests-mock pydispatcher pytest-aiohttp
+  ];
+
+  checkPhase = ''
+    # The components' dependencies are not included, so they cannot be tested
+    py.test --ignore tests/components
+    # Some basic components should be tested however
+    py.test \
+      tests/components/{group,http} \
+      tests/components/test_{api,configurator,demo,discovery,frontend,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
+  '';
+
+  makeWrapperArgs = [] ++ stdenv.lib.optional skipPip [ "--add-flags --skip-pip" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://home-assistant.io/;
+    description = "Open-source home automation platform running on Python 3";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ f-breidenstein dotlambda ];
+  };
+}
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
new file mode 100644
index 000000000000..6e1a789012f3
--- /dev/null
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -0,0 +1,11 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "home-assistant-frontend";
+  version = "20180130.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0b9klisl7hh30rml8qlrp9gpz33z9b825pd1vxbck48k0s98z1zi";
+  };
+}
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
new file mode 100755
index 000000000000..aa293921e871
--- /dev/null
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -0,0 +1,97 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ setuptools ])"
+#
+# This script downloads https://github.com/home-assistant/home-assistant/blob/master/requirements_all.txt.
+# This file contains lines of the form
+#
+#     # homeassistant.components.foo
+#     # homeassistant.components.bar
+#     foobar==1.2.3
+#
+# i.e. it lists dependencies and the components that require them.
+# By parsing the file, a dictionary mapping component to dependencies is created.
+# For all of these dependencies, Nixpkgs' python3Packages are searched for appropriate names.
+# Then, a Nix attribute set mapping component name to dependencies is created.
+
+from urllib.request import urlopen
+import subprocess
+import os
+import sys
+import json
+import re
+from pkg_resources import Requirement, RequirementParseError
+
+PREFIX = '# homeassistant.components.'
+PKG_SET = 'python3Packages'
+
+def get_version():
+    with open(os.path.dirname(sys.argv[0]) + '/default.nix') as f:
+        m = re.search('hassVersion = "([\\d\\.]+)";', f.read())
+        return m.group(1)
+
+def fetch_reqs(version='master'):
+    requirements = {}
+    with urlopen('https://github.com/home-assistant/home-assistant/raw/{}/requirements_all.txt'.format(version)) as response:
+        components = []
+        for line in response.read().decode().splitlines():
+            if line == '':
+                components = []
+            elif line[:len(PREFIX)] == PREFIX:
+                component = line[len(PREFIX):]
+                components.append(component)
+                if component not in requirements:
+                    requirements[component] = []
+            elif line[0] != '#':
+                for component in components:
+                    requirements[component].append(line)
+    return requirements
+
+# Store a JSON dump of Nixpkgs' python3Packages
+output = subprocess.check_output(['nix-env', '-f', os.path.dirname(sys.argv[0]) + '/../../..', '-qa', '-A', PKG_SET, '--json'])
+packages = json.loads(output)
+
+def name_to_attr_path(req):
+    attr_paths = []
+    pattern = re.compile('python3\\.6-{}-\\d'.format(req), re.I)
+    for attr_path, package in packages.items():
+        if pattern.match(package['name']):
+            attr_paths.append(attr_path)
+    # Let's hope there's only one derivation with a matching name
+    assert(len(attr_paths) <= 1)
+    if attr_paths:
+        return attr_paths[0]
+    else:
+        return None
+
+version = get_version()
+requirements = fetch_reqs(version=version)
+build_inputs = {}
+for component, reqs in requirements.items():
+    attr_paths = []
+    for req in reqs:
+        try:
+            name = Requirement.parse(req).project_name
+            attr_path = name_to_attr_path(name)
+            if attr_path is not None:
+                # Add attribute path without "python3Packages." prefix
+                attr_paths.append(attr_path[len(PKG_SET + '.'):])
+        except RequirementParseError:
+            continue
+    else:
+        build_inputs[component] = attr_paths
+
+# Only select components which have any dependency
+#build_inputs = {k: v for k, v in build_inputs.items() if len(v) > 0}
+
+with open(os.path.dirname(sys.argv[0]) + '/component-packages.nix', 'w') as f:
+    f.write('# Generated from parse-requirements.py\n')
+    f.write('# Do not edit!\n\n')
+    f.write('{\n')
+    f.write('  version = "{}";\n'.format(version))
+    f.write('  components = {\n')
+    for component, attr_paths in build_inputs.items():
+        f.write('    "{}" = ps: with ps; [ '.format(component))
+        f.write(' '.join(attr_paths))
+        f.write(' ];\n')
+    f.write('  };\n')
+    f.write('}\n')
diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix
new file mode 100644
index 000000000000..878211ebf024
--- /dev/null
+++ b/pkgs/servers/http/lwan/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, pkgconfig, zlib, cmake, jemalloc }:
+
+stdenv.mkDerivation rec {
+  pname = "lwan";
+  version = "0.1";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "lpereira";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1mckryzb06smky0bx2bkqwqzpnq4pb8vlgmmwsvqmwi4mmw9wmi1";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ jemalloc zlib ];
+
+  meta = with stdenv.lib; {
+    description = "Lightweight high-performance multi-threaded web server";
+    longDescription = "A lightweight and speedy web server with a low memory
+      footprint (~500KiB for 10k idle connections), with minimal system calls and
+      memory allocation.  Lwan contains a hand-crafted HTTP request parser. Files are
+      served using the most efficient way according to their size: no copies between
+      kernel and userland for files larger than 16KiB.  Smaller files are sent using
+      vectored I/O of memory-mapped buffers. Header overhead is considered before
+      compressing small files.  Features include: mustache templating engine and IPv6
+      support.
+    ";
+    homepage = "https://lwan.ws/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index e2d1f448b321..6b2adf572175 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, perl, pkgconfig, systemd, openssl
-, bzip2, zlib, inotify-tools, pam, libcap
-, clucene_core_2, icu, openldap
+{ stdenv, lib, fetchurl, fetchpatch, perl, pkgconfig, systemd, openssl
+, bzip2, zlib, lz4, inotify-tools, pam, libcap
+, clucene_core_2, icu, openldap, libsodium, libstemmer
 # Auth modules
 , withMySQL ? false, mysql
 , withPgSQL ? false, postgresql
@@ -8,18 +8,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.2.33.2";
+  name = "dovecot-2.3.0";
 
   nativeBuildInputs = [ perl pkgconfig ];
-  buildInputs = [ openssl bzip2 zlib clucene_core_2 icu openldap ]
+  buildInputs =
+    [ openssl bzip2 zlib lz4 clucene_core_2 icu openldap libsodium libstemmer ]
     ++ lib.optionals (stdenv.isLinux) [ systemd pam libcap inotify-tools ]
     ++ lib.optional withMySQL mysql.connector-c
     ++ lib.optional withPgSQL postgresql
     ++ lib.optional withSQLite sqlite;
 
   src = fetchurl {
-    url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
-    sha256 = "117f9i62liz2pm96zi2lpldzlj2knzj7g410zhifwmlsc1w3n7py";
+    url = "http://dovecot.org/releases/2.3/${name}.tar.gz";
+    sha256 = "10c5myzgys866c3x6jdr1s9x9pqnjd5vpyz8z384sph21m3wnq6y";
   };
 
   preConfigure = ''
@@ -46,6 +47,16 @@ stdenv.mkDerivation rec {
     # so we can symlink plugins from several packages there.
     # The symlinking needs to be done in NixOS.
     ./2.2.x-module_dir.patch
+    (fetchpatch {
+      name = "CVE-2017-14132_part1.patch";
+      url = https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060.patch;
+      sha256 = "1pcfzxr8xlwbpa7z19grp7mlvdnan6ln8zw74dj4pdmynmlk4aw9";
+    })
+    (fetchpatch {
+      name = "CVE-2017-14132_part2.patch";
+      url = https://github.com/dovecot/core/commit/a9b135760aea6d1790d447d351c56b78889dac22.patch;
+      sha256 = "0082iid5rvjmh003xi9s09jld2rb31hbvni0yai1h1ggbmd5zf8l";
+    })
   ];
 
   configureFlags = [
@@ -58,6 +69,7 @@ stdenv.mkDerivation rec {
     "--with-ssl=openssl"
     "--with-zlib"
     "--with-bzlib"
+    "--with-lz4"
     "--with-ldap"
     "--with-lucene"
     "--with-icu"
@@ -68,9 +80,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional withSQLite "--with-sqlite";
 
   meta = {
-    homepage = http://dovecot.org/;
+    homepage = https://dovecot.org/;
     description = "Open source IMAP and POP3 email server written with security primarily in mind";
-    maintainers = with stdenv.lib.maintainers; [viric peti rickynils];
+    maintainers = with stdenv.lib.maintainers; [ viric peti rickynils fpletz ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/servers/mail/dovecot/plugins/antispam/default.nix b/pkgs/servers/mail/dovecot/plugins/antispam/default.nix
deleted file mode 100644
index 1a1ba1ad4486..000000000000
--- a/pkgs/servers/mail/dovecot/plugins/antispam/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchhg, autoconf, automake, dovecot, openssl }:
-
-stdenv.mkDerivation {
-  name = "dovecot-antispam-20130429";
-
-  src = fetchhg {
-    url = "http://hg.dovecot.org/dovecot-antispam-plugin/";
-    rev = "5ebc6aae4d7c";
-    sha256 = "181i79c9sf3a80mgmycfq1f77z7fpn3j2s0qiddrj16h3yklf4gv";
-  };
-
-  buildInputs = [ dovecot openssl ];
-  nativeBuildInputs = [ autoconf automake ];
-
-  preConfigure = ''
-    ./autogen.sh
-    # Ugly hack; any ideas?
-    sed "s,^dovecot_moduledir=.*,dovecot_moduledir=$out/lib/dovecot," ${dovecot}/lib/dovecot/dovecot-config > dovecot-config
-  '';
-
-  configureFlags = [
-    "--with-dovecot=."
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://wiki2.dovecot.org/Plugins/Antispam;
-    description = "An antispam plugin for the Dovecot IMAP server";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 67094228a5e7..92b404d0f653 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.4.21";
+  version = "0.5.0.1";
 
   src = fetchurl {
-    url = "http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz";
-    sha256 = "0snxrx9lk3j0rrcd4jlhwlqk4v31n1qfx2asgwb4scy5i2vrrq2a";
+    url = "http://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
+    sha256 = "1lpsdqh9pwqx917z5v23bahhhbrcb3y5ps3l413sli8cn4a6sdan";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index bf1a1e782a5a..f8b36e816e0e 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -25,11 +25,11 @@ in stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "1xn782bvzbrdwkz04smkq8ns89wbnqz11vnmz0m7jr545amfnmgc";
+    sha256 = "0xpky04a5xnzbcizqj4y1gyxqjrzvpjlvk1g757wdrs678fq82vx";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postfix.org/;
     description = "A fast, easy to administer, and secure mail server";
-    license = lib.licenses.bsdOriginal;
+    license = with lib.licenses; [ ipl10 epl20 ];
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.rickynils ];
   };
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index e499dc5de04b..7de011e58662 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -42,7 +42,7 @@ in pythonPackages.buildPythonApplication rec {
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests
     signedjson systemd twisted ujson unpaddedbase64 pyyaml
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
-    psutil msgpack lxml matrix-synapse-ldap3
+    psutil msgpack-python lxml matrix-synapse-ldap3
     phonenumbers jsonschema affinity bcrypt
   ];
 
diff --git a/pkgs/servers/matterbridge/default.nix b/pkgs/servers/matterbridge/default.nix
index 5b2335c73f6f..eb8275b94028 100644
--- a/pkgs/servers/matterbridge/default.nix
+++ b/pkgs/servers/matterbridge/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "matterbridge-${version}";
-  version = "1.4.1";
+  version = "1.6.3";
 
   goPackagePath = "github.com/42wim/matterbridge";
 
   src = fetchurl {
     url = "https://github.com/42wim/matterbridge/archive/v${version}.tar.gz";
-    sha256 = "0m0phv8rngrp9gfn71gd2z184n60rng1fmvmv5nkmzsclr2y7x8b";
+    sha256 = "1d2wrfq07kk5l19w2d6yyjcdvn9b39cji1k5vzsfq0xkdb6b8spb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index bf2824688441..422309bc6546 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -2,18 +2,18 @@
 
 buildGoPackage rec {
   name = "mattermost-${version}";
-  version = "4.4.1";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mattermost-server";
     rev = "v${version}";
-    sha256 = "0imda96wgr2nkkxs2jfcqszx1fqgmbbrh7zqmgjh6ks3an1v4m3c";
+    sha256 = "158sfbg19sp165iavjwwfxx9s4y116yc5h3plsmvlxpdv674k7v3";
   };
 
   webApp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz";
-    sha256 = "1gnzv9xkqawi36z7v9xsy1gk16x71qf0kn8r059qvyarjlyp7888";
+    sha256 = "1rbpl6zfmhfgzz2i1q2ym51ll6j54gk5p6ca99v9kjlm4ipcq9mv";
   };
 
   goPackagePath = "github.com/mattermost/mattermost-server";
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index a1ea5edaa6d9..b553a2022864 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   name = "minio-${version}";
 
-  version = "2018-01-02T23-07-00Z";
+  version = "2018-01-18T20-33-21Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "1bpiy6q9782mxs5f5lzw6c7zx83s2i68rf5f65xa9z7cyl19si74";
+    sha256 = "102rilh1kjf9y6g6y83ikk42w7g1sbld11md3wm54hynyh956xrs";
   };
 
   goPackagePath = "github.com/minio/minio";
diff --git a/pkgs/servers/misc/airsonic/default.nix b/pkgs/servers/misc/airsonic/default.nix
index 57040f469479..7fc041d81984 100644
--- a/pkgs/servers/misc/airsonic/default.nix
+++ b/pkgs/servers/misc/airsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "airsonic-${version}";
-  version = "10.0.1";
+  version = "10.1.1";
 
   src = fetchurl {
     url = "https://github.com/airsonic/airsonic/releases/download/v${version}/airsonic.war";
-    sha256 = "1qky8dz49200f6100ivkn5g7i0hzkv3gpq2r0cj6z53s8d1ayblc";
+    sha256 = "0acj6la88lnbfdp0nilvsll48zfig7sgibgwfjjckialppyg4ir6";
   };
 
   buildCommand = ''
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index cb9e43a5c880..695e5aa45589 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "cadvisor-${version}";
-  version = "0.26.1";
+  version = "0.28.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "0rv245acz2r12c6ga2ln01961sh36w15ay0nfpfcg8inz679dnvg";
+    sha256 = "1rdw09cbhs4il63lv1f92dw8pav9rjnkbrqx37lqij8x6xmv01gy";
   };
 
-  buildInputs = [ go ];
+  nativeBuildInputs = [ go ];
 
   buildPhase = ''
     mkdir -p Godeps/_workspace/src/github.com/google/
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 444aa92ec2e6..f3d6a8d87763 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "alertmanager-${version}";
-  version = "0.9.1";
+  version = "0.13.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/alertmanager";
@@ -11,31 +11,25 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj";
+    sha256 = "170q5fynwa3g3wm77g61610n1lf5kqirhrgak6slqzn52ji870nc";
   };
 
   # Tests exist, but seem to clash with the firewall.
   doCheck = false;
 
-  buildFlagsArray = let t = "${goPackagePath}/version"; in ''
+  buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
     -ldflags=
        -X ${t}.Version=${version}
-       -X ${t}.Revision=unknown
+       -X ${t}.Revision=${src.rev}
        -X ${t}.Branch=unknown
        -X ${t}.BuildUser=nix@nixpkgs
        -X ${t}.BuildDate=unknown
        -X ${t}.GoVersion=${stdenv.lib.getVersion go}
   '';
 
-  postBuild = ''
-    $NIX_BUILD_TOP/go/bin/artifacts
-  '';
-
   postInstall = ''
-    rm $bin/bin/artifacts
-    mkdir -p $bin/share/man/man1 $bin/etc/bash_completion.d
-    cp -v amtool*.1 $bin/share/man/man1
-    cp -v amtool_completion.sh $bin/etc/bash_completion.d
+    mkdir -p $bin/etc/bash_completion.d
+    $NIX_BUILD_TOP/go/bin/amtool --completion-script-bash > $bin/etc/bash_completion.d/amtool_completion.sh
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
new file mode 100644
index 000000000000..d19d595f0668
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
@@ -0,0 +1,93 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "c65a0412e71e8b9b3bfd22925720d23c0f054237";
+      sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "06bc6e01f4baf4ee783ffcd23abfcb0b0f9dfada";
+      sha256 = "0dvv21214sn702kc25y5l0gd9d11358976d3w31fgwx7456mjx26";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "89604d197083d4781071d3c65855d24ecfb0a563";
+      sha256 = "169rdlaf2mk9z4fydz7ajmngyhmf3q1lk96yhvx46bn986x5xkyn";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "cb4147076ac75738c9a7d279075a253c0cc5acbd";
+      sha256 = "0zhlrik0f9q1lj6cisgnxgbz4darbcix52hm5abi24l2ahchf5ca";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
new file mode 100644
index 000000000000..e7cdfa616b46
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "dovecot_exporter-unstable-${version}";
+  version = "2018-01-18";
+  rev = "4e831356533e2321031df73ebd25dd55dbd8d385";
+
+  goPackagePath = "github.com/kumina/dovecot_exporter";
+
+  src = fetchFromGitHub {
+    owner = "kumina";
+    repo = "dovecot_exporter";
+    inherit rev;
+    sha256 = "0iky1i7m5mlknkhlpsxpjgigssg5m02nx5y7i4biddkqilfic74n";
+  };
+
+  goDeps = ./dovecot-exporter-deps.nix;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Prometheus metrics exporter for Dovecot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ willibutz ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/minio-exporter/default.nix b/pkgs/servers/monitoring/prometheus/minio-exporter/default.nix
index c89574e3fff9..59314f1f282a 100644
--- a/pkgs/servers/monitoring/prometheus/minio-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/minio-exporter/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, fetchpatch }:
 
 buildGoPackage rec {
   name = "minio-exporter-${version}";
-  version = "0.1.0";
+  version = "0.2.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/joe-pll/minio-exporter";
@@ -11,9 +11,18 @@ buildGoPackage rec {
     inherit rev;
     owner = "joe-pll";
     repo = "minio-exporter";
-    sha256 = "14lz4dg0n213b6xy12fh4r20k1rcnflnfg6gjskk5zr8h7978hjx";
+    sha256 = "1my3ii5s479appiapw8gjzkq1pk62fl7d7if8ljvdj6qw4man6aa";
   };
 
+  # Required to make 0.2.0 build against latest dependencies
+  # TODO: Remove on update to 0.3.0
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/joe-pll/minio-exporter/commit/50ab89d42322dc3e2696326a9ae4d3f951f646de.patch";
+      sha256 = "0aiixhvb4x8c8abrlf1i4hmca9i6xd6b638a5vfkvawx0q7gxl97";
+    })
+  ];
+
   goDeps = ./deps.nix;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/monitoring/prometheus/minio-exporter/deps.nix b/pkgs/servers/monitoring/prometheus/minio-exporter/deps.nix
index 562d77f3a2f7..1993975e2bfa 100644
--- a/pkgs/servers/monitoring/prometheus/minio-exporter/deps.nix
+++ b/pkgs/servers/monitoring/prometheus/minio-exporter/deps.nix
@@ -1,4 +1,4 @@
-# This file was generated by go2nix.
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 [
   {
     goPackagePath = "github.com/alecthomas/template";
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-ini/ini";
-      rev = "c787282c39ac1fc618827141a1f762240def08a3";
-      sha256 = "0c784qichlpqdk1zwafislskchr7f4dl7fy3g3w7xg2w63xpd7r0";
+      rev = "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a";
+      sha256 = "0mhgxw5q6b0pryhikx3k4wby7g32rwjjljzihi47lwn34kw5y1qn";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "130e6b02ab059e7b717a096f397c5b60111cae74";
-      sha256 = "0zk4d7gcykig9ld8f5h86fdxshm2gs93a2xkpf52jd5m4z59q26s";
+      rev = "1e59b77b52bf8e4b449a57e6f79f21226d571845";
+      sha256 = "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8";
     };
   }
   {
@@ -55,30 +55,30 @@
     };
   }
   {
-    goPackagePath = "github.com/minio/go-homedir";
+    goPackagePath = "github.com/minio/minio-go";
     fetch = {
       type = "git";
-      url = "https://github.com/minio/go-homedir";
-      rev = "21304a94172ae3a09dee2cd86a12fb6f842138c7";
-      sha256 = "1kvz91gvdrpzddlpcbf0a2kf75bfqzd40kwzq29jwhf1y5ii6cq4";
+      url = "https://github.com/minio/minio-go";
+      rev = "d218e4cb1bfc13dcef0eb5c3e74507a35be0dd3a";
+      sha256 = "0d3am33xaavdffz791qi2s0vnkpjw9vlr5p5g4lw7h5vhmy1sjb4";
     };
   }
   {
-    goPackagePath = "github.com/minio/minio-go";
+    goPackagePath = "github.com/minio/minio";
     fetch = {
       type = "git";
-      url = "https://github.com/minio/minio-go";
-      rev = "cb3571b7d8d904c4714033deb984d0a0b66955be";
-      sha256 = "165filzwslnqdgsp8wf5k1zm8wcpnsffsaffw25igy0ik8swr06w";
+      url = "https://github.com/minio/minio";
+      rev = "bb73c84b104bc447eb603d63481cdc54b8ab3c83";
+      sha256 = "1gjkgdf59yxfr2a7pl3f7z3iid86zsd85xqxcv1s0d46v7j07iga";
     };
   }
   {
-    goPackagePath = "github.com/minio/minio";
+    goPackagePath = "github.com/mitchellh/go-homedir";
     fetch = {
       type = "git";
-      url = "https://github.com/minio/minio";
-      rev = "60cc6184d253efee4a3120683517028342229e21";
-      sha256 = "0n2l163v45jraylv43jwqm0cxin68vw8cw7k21qniahhr46y4dqf";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
+      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "353b8c3f3776541879f9abfd8fa8b1ae162ab394";
-      sha256 = "068fk3bdfsaij37973c66065w2cn46ahwjs44pw9v1mqk8bsrn3a";
+      rev = "06bc6e01f4baf4ee783ffcd23abfcb0b0f9dfada";
+      sha256 = "0dvv21214sn702kc25y5l0gd9d11358976d3w31fgwx7456mjx26";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev = "6f3806018612930941127f2a7c6c453ba2c527d2";
-      sha256 = "1413ibprinxhni51p0755dp57r9wvbw7xgj9nmdaxmhzlqhc86j4";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
     };
   }
   {
@@ -104,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "2f17f4a9d485bf34b4bfaccc273805040e4f86c8";
-      sha256 = "0r1dyipnd7n9vp4p6gs1y4v7ggq4avj06pr90l4qrjll55h281js";
+      rev = "89604d197083d4781071d3c65855d24ecfb0a563";
+      sha256 = "169rdlaf2mk9z4fydz7ajmngyhmf3q1lk96yhvx46bn986x5xkyn";
     };
   }
   {
@@ -113,8 +113,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "e645f4e5aaa8506fc71d6edbc5c4ff02c04c46f2";
-      sha256 = "18hwygbawbqilz7h8fl25xpbciwalkslb4igqn4cr9d8sqp7d3np";
+      rev = "b15cd069a83443be3154b719d0cc9fe8117f09fb";
+      sha256 = "1cr45wg2m40bj2za8f32mq09rjlcnk5kfam0h0hr8wcb015k4wxj";
     };
   }
   {
@@ -122,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/sirupsen/logrus";
-      rev = "89742aefa4b206dcf400792f3bd35b542998eb3b";
-      sha256 = "0hk7fabx59msg2y0iik6xvfp80s73ybrwlcshbm9ds91iqbkcxi6";
+      rev = "d682213848ed68c0a260ca37d6dd5ace8423f5ba";
+      sha256 = "0nzyqwzx3k7nqfq8q7yv32gaf3ymq3bpwhkmw1hj2zakq5a93d8x";
     };
   }
   {
@@ -131,8 +131,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "76eec36fa14229c4b25bb894c2d0e591527af429";
-      sha256 = "1c57fdg70vhf7pigiwb2xdap6ak0c0s2pzaj9pq000aqfw54i4s8";
+      rev = "a6600008915114d9c087fad9f03d75087b1a74df";
+      sha256 = "099vyf8133bjwaqcv377d9akam3j5xwamwqrihmjhvzbvqs649yc";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "5ccada7d0a7ba9aeb5d3aca8d3501b4c2a509fec";
+      sha256 = "0bdwdxy2gz48icnh023r5fga3z4x6c8gry8jlfjqr5w12y3s281g";
     };
   }
   {
@@ -140,8 +149,17 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "314a259e304ff91bd6985da2a7149bbf91237993";
-      sha256 = "0vya62c3kmhmqx6awlxx8hc84987xkym9rhs0q28vlhwk9kczdaa";
+      rev = "2c42eef0765b9837fbdab12011af7830f55f88f0";
+      sha256 = "0gj9nwryyzf9rn33gl3zm6rxvg1zhrhwi36akipqj37x4g86h3gz";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "e19ae1496984b1c655b8044a65c0300a3c878dd3";
+      sha256 = "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w";
     };
   }
   {
@@ -149,8 +167,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "1087e65c9441605df944fb12c33f0fe7072d18ca";
-      sha256 = "18llqzkdqf62qbqcv2fd3j0igl6cwwn4dissf5skkvxrcxjcmmj0";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
     };
   }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix
new file mode 100644
index 000000000000..ff35c0334275
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter-deps.nix
@@ -0,0 +1,66 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "c65a0412e71e8b9b3bfd22925720d23c0f054237";
+      sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "06bc6e01f4baf4ee783ffcd23abfcb0b0f9dfada";
+      sha256 = "0dvv21214sn702kc25y5l0gd9d11358976d3w31fgwx7456mjx26";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "89604d197083d4781071d3c65855d24ecfb0a563";
+      sha256 = "169rdlaf2mk9z4fydz7ajmngyhmf3q1lk96yhvx46bn986x5xkyn";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "cb4147076ac75738c9a7d279075a253c0cc5acbd";
+      sha256 = "0zhlrik0f9q1lj6cisgnxgbz4darbcix52hm5abi24l2ahchf5ca";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
new file mode 100644
index 000000000000..5438f8271d91
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "postfix_exporter-unstable-${version}";
+  version = "2017-06-01";
+  rev = "a8b4bed735a03f234fcfffba85302f51025e6b1d";
+
+  goPackagePath = "github.com/kumina/postfix_exporter";
+
+  src = fetchFromGitHub {
+    owner = "kumina";
+    repo = "postfix_exporter";
+    inherit rev;
+    sha256 = "0rxvjpyjcvr1y8k8skq5f1bnl0mpgvaa04dn8c44v7afqnv78riy";
+  };
+
+  goDeps = ./postfix-exporter-deps.nix;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "A Prometheus exporter for Postfix";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ willibutz ];
+  };
+}
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
index c4147e35e49c..618c3a33cd7c 100644
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
@@ -1,7 +1,7 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "1.1.1" "1.1.1" "19f9xprmjkhk4wbb88xmnp1fhqp2zc3gazzi4iczg65jzak4xzw0")
+  (fetchbower "uchiwa-web" "1.1.2" "1.1.2" "174flmnqjm0avpvi71ii5cvas2wkgz42is38r7n4zyrhagzlj66k")
   (fetchbower "angular" "1.6.8" "~1.6.3" "07bwbahxaz5myjj7sqv7k211avs23a9j7msl373h1qvp05fblajf")
   (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
   (fetchbower "angular-cookies" "1.6.8" "~1.6.3" "0p3skdg2pmzgwm9a0gyl1vhq4lcwyrymmii7lxlrmypjhwm83il6")
@@ -21,5 +21,5 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb")
   (fetchbower "ua-parser-js" "0.7.17" "~0.7.12" "1dx46rm9han9fj409rjxrlnrk9zxmaqbnn62ljnh32ihngd4yxh0")
   (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x")
-  (fetchbower "jquery" "3.2.1" ">= 1.9.0" "03vn0kq07yxl3i5shc6b0mjck1vdbz1x0jspd3wwb169mvlsxxn3")
+  (fetchbower "jquery" "3.3.1" ">= 1.9.0" "1l891s3vgnpi1g8ksplid9jvrvnnv6lci8vraix4ssy50i264rkx")
 ]; }
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
index fd434193d74d..3e0ead7b495b 100644
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ b/pkgs/servers/monitoring/uchiwa/src.nix
@@ -1,4 +1,4 @@
 {
-    version = "1.1.1-1";
-    sha256  = "1j1l5cmhiz19k6lhvaxqhgkj7v5m3fyxpkspvbrdbmp461g4j9bi";
+    version = "1.1.2-1";
+    sha256  = "0fmzpjwmv7fkl0ihy2gzcgfd384k3wnifg42gzap770d6kl6yj1c";
 }
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index d9adc0f31029..dab63a5bad83 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja }:
+{ stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   version = "2.13";
@@ -11,13 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1g1n6rk8kn87mbjqxxj0vi7haj8xx21xmqlzbrx2fvyp5357zvsq";
   };
 
-  nativeBuildInputs = [ meson ninja ];
+  nativeBuildInputs = [ meson ninja ]
+  ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   meta = with stdenv.lib; {
     description = "Client library for MPD (music player daemon)";
     homepage = https://www.musicpd.org/libs/libmpdclient/;
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ mornfall ehmry ];
+    maintainers = with maintainers; [ ehmry ];
   };
 }
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index a323cd4802cf..da192f70bfe0 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -34,7 +34,7 @@ let
   opt = stdenv.lib.optional;
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
   major = "0.20";
-  minor = "10";
+  minor = "15";
 
 in stdenv.mkDerivation rec {
   name = "mpd-${version}";
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
     owner  = "MusicPlayerDaemon";
     repo   = "MPD";
     rev    = "v${version}";
-    sha256 = "0i170kfn68x683fsm5rba0zbpjfr1r7s6a8nvdbva2yl0aizfzhs";
+    sha256 = "0idlz9y7gn1yqk5x4igp060wvspzsf446b6ybhbb0swi035qpd2x";
   };
 
   patches = [ ./x86.patch ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index d2e08932fe1d..70c252d395f8 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name= "nextcloud-${version}";
-  version = "12.0.4";
+  version = "12.0.5";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "1dh9knqbw6ph2rfrb5rscdraj4375rqddmrifw6adyga9jkn2hb5";
+    sha256 = "0hya524d8wqia5v2wz8cmasi526j97z6d0l1h7l7j442wsn2kgn8";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
index 3514ae84350d..fd3b2d3aa286 100644
--- a/pkgs/servers/nosql/cassandra/2.1.nix
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "2.1.15";
-  sha256 = "1yc6r4gmxz9c4zghzn6bz5wswz7dz61w7p4x9s5gqnixfp2mlapp";
+  version = "2.1.19";
+  sha256 = "1qlc62j3hf5831yrrbydn3z19zrn6bpirarinys6bmhshr7mhpyr";
 })
diff --git a/pkgs/servers/nosql/cassandra/2.2.nix b/pkgs/servers/nosql/cassandra/2.2.nix
index b467fcfdff5b..3d276128c00d 100644
--- a/pkgs/servers/nosql/cassandra/2.2.nix
+++ b/pkgs/servers/nosql/cassandra/2.2.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "2.2.9";
-  sha256 = "1wc2l8l7i43r0yc6qqi3wj4pm0969kjkh2pgx80wglzxm7275hv5";
+  version = "2.2.11";
+  sha256 = "0r39mm5ibdn9dqv11n4x33vcb5247r6fl6r07l6frqp6i36ilvl6";
 })
diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix
index 04348568bafc..b6621ec95485 100644
--- a/pkgs/servers/nosql/cassandra/3.0.nix
+++ b/pkgs/servers/nosql/cassandra/3.0.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.0.9";
-  sha256 = "16jdh20cr4h47ldjqlnp2cdnb9zshqvnll6995s2a75d8m030c0g";
+  version = "3.0.15";
+  sha256 = "1n92wpp5gm41r4agjwjw9ymnnn114pmaqf04c1dx3fksk100wd5g";
 })
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index f5f29bcdac78..50b56213b308 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -65,6 +65,6 @@ stdenv.mkDerivation rec {
     description = "A massively scalable open source NoSQL database";
     platforms = platforms.unix;
     license = licenses.asl20;
-    maintainers = with maintainers; [ nckx cransom ];
+    maintainers = with maintainers; [ cransom ];
   };
 }
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 354b4d579601..745376f61e47 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, lua }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.6";
+  version = "4.0.7";
   name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "1ypnwmxwm49l0b8i9swcbjdxnc6f0r9zyqm2h423wz13xilmv6vn";
+    sha256 = "1lgcc5k6bg7f34lxbfx0xv74nj66khd5x8g1igyy2h7v8inm9fhv";
   };
 
   buildInputs = [ lua ];
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
deleted file mode 100644
index 661888c5c5cc..000000000000
--- a/pkgs/servers/openafs-client/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc,
-  kernel, glibc, ncurses, perl, kerberos, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
-  version = "1.6.21.1";
-
-  src = fetchurl {
-    url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "0nisxnfl8nllcfmi7mxj1gngkpxd4jp1wapbkhz07qwqynq9dn5f";
-  };
-
-  nativeBuildInputs = [ autoconf automake flex yacc perl which ];
-
-  buildInputs = [ ncurses ];
-
-  hardeningDisable = [ "pic" ];
-
-  patches = [
-   (fetchpatch {
-      name = "fix-stdint-include.patch";
-      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 = ''
-    ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux
-
-    patchShebangs .
-    for i in `grep -l -R '/usr/\(include\|src\)' .`; do
-      echo "Patch /usr/include and /usr/src in $i"
-      substituteInPlace $i \
-        --replace "/usr/include" "${glibc.dev}/include" \
-        --replace "/usr/src" "$TMP"
-    done
-
-    ./regen.sh
-
-    ${stdenv.lib.optionalString (kerberos != null)
-      "export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"}
-
-    configureFlagsArray=(
-      "--with-linux-kernel-build=$TMP/linux"
-      ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"}
-      "--sysconfdir=/etc/static"
-      "--disable-linux-d_splice-alias-extra-iput"
-    )
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Open AFS client";
-    homepage = https://www.openafs.org;
-    license = licenses.ipl10;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.z77z ];
-    broken = versionOlder kernel.version "3.18";
-  };
-}
diff --git a/pkgs/servers/openafs/default.nix b/pkgs/servers/openafs/default.nix
new file mode 100644
index 000000000000..3f92299c2a0a
--- /dev/null
+++ b/pkgs/servers/openafs/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc
+, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43
+, ncurses # Extra ncurses utilities. Only needed for debugging.
+, tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
+}:
+
+with (import ./srcs.nix { inherit fetchurl; });
+
+stdenv.mkDerivation rec {
+  name = "openafs-${version}";
+  inherit version srcs;
+
+  nativeBuildInputs = [ autoconf automake flex yacc perl which libxslt ];
+
+  buildInputs = [ ncurses ];
+
+  patches = stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+
+  outputs = [ "out" "dev" "man" "doc" ];
+
+  preConfigure = ''
+
+    patchShebangs .
+    for i in `grep -l -R '/usr/\(include\|src\)' .`; do
+      echo "Patch /usr/include and /usr/src in $i"
+      substituteInPlace $i \
+        --replace "/usr/include" "${glibc.dev}/include" \
+        --replace "/usr/src" "$TMP"
+    done
+
+    for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do
+      substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
+        "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd"
+    done
+
+    ./regen.sh
+
+    ${stdenv.lib.optionalString (kerberos != null)
+      "export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"}
+
+    export AFS_SYSKVERS=26
+
+    configureFlagsArray=(
+      ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"}
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
+      "--disable-kernel-module"
+      "--disable-fuse-client"
+      "--with-html-xsl=${docbook_xsl}/share/xml/docbook-xsl/html/chunk.xsl"
+      ${stdenv.lib.optionalString (tsmbac != null) "--enable-tivoli-tsm"}
+      ${stdenv.lib.optionalString (ncurses == null) "--disable-gtx"}
+      "--disable-linux-d_splice-alias-extra-iput"
+    )
+  '' + stdenv.lib.optionalString (tsmbac != null) ''
+    export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsmbac}/lib64/sample -DXBSA_TSMLIB=\\\"${tsmbac}/lib64/libApiTSM64.so\\\""
+    export XBSA_XLIBS="-ldl"
+  '';
+
+  buildFlags = [ "all_nolibafs" ];
+
+  postBuild = ''
+    for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do
+      make -C "''${d}" html
+    done
+  '';
+
+  postInstall = ''
+    mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide}
+    cp -r doc/{arch,examples,pdf,protocol,txt} README NEWS $doc/share/doc/openafs
+    for d in AdminGuide QuickStartUnix UserGuide ; do
+      cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}"
+    done
+
+    rm -r $out/lib/{openafs,afs,*.a}
+    rm $out/bin/kpasswd
+    rm $out/sbin/{kas,kdb,ka-forwarder,kadb_check}
+    rm $out/libexec/openafs/kaserver
+    rm $man/share/man/man{1/kpasswd*,5/kaserver*,8/{ka*,kdb*}}
+  '';
+
+  meta = with stdenv.lib; {
+    outputsToInstall = [ "out" "doc" "man" ];
+    description = "Open AFS client";
+    homepage = https://www.openafs.org;
+    license = licenses.ipl10;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+  };
+}
diff --git a/pkgs/servers/openafs/module.nix b/pkgs/servers/openafs/module.nix
new file mode 100644
index 000000000000..8cd9287a7772
--- /dev/null
+++ b/pkgs/servers/openafs/module.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, which, autoconf, automake, flex, yacc
+, kernel, glibc, perl }:
+
+with (import ./srcs.nix { inherit fetchurl; });
+
+let
+  modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
+  kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+
+in stdenv.mkDerivation rec {
+  name = "openafs-${version}-${kernel.version}";
+  inherit version src;
+
+  nativeBuildInputs = [ autoconf automake flex perl yacc which ] ++ kernel.moduleBuildDependencies;
+
+  hardeningDisable = [ "pic" ];
+
+  configureFlags = [
+    "--with-linux-kernel-build=${kernelBuildDir}"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--disable-linux-d_splice-alias-extra-iput"
+  ];
+
+  preConfigure = ''
+    patchShebangs .
+    for i in `grep -l -R '/usr/\(include\|src\)' .`; do
+      echo "Patch /usr/include and /usr/src in $i"
+      substituteInPlace $i \
+        --replace "/usr/include" "${glibc.dev}/include" \
+        --replace "/usr/src" "${kernelBuildDir}"
+    done
+
+    ./regen.sh -q
+
+  '';
+
+  buildPhase = ''
+    make V=1 only_libafs
+  '';
+
+  installPhase = ''
+    mkdir -p ${modDestDir}
+    cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko
+    xz -f ${modDestDir}/libafs.ko
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open AFS client kernel module";
+    homepage = https://www.openafs.org;
+    license = licenses.ipl10;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    broken = versionOlder kernel.version "3.18";
+  };
+
+}
diff --git a/pkgs/servers/openafs/srcs.nix b/pkgs/servers/openafs/srcs.nix
new file mode 100644
index 000000000000..9e9ff623e5cd
--- /dev/null
+++ b/pkgs/servers/openafs/srcs.nix
@@ -0,0 +1,14 @@
+{ fetchurl }:
+rec {
+  version = "1.6.22.2";
+  src = fetchurl {
+    url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
+    sha256 = "15j17igignsfzv5jb47ryczsrz3zsmiqwnj38dx9gzz95807rkyf";
+  };
+
+  srcs = [ src
+    (fetchurl {
+      url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
+      sha256 = "1lpydca95nx5pmqvplb9n3akmxbzvhhypswh0s589ywxpv3zynxm";
+    })];
+}
diff --git a/pkgs/servers/openafs/tsmbac.patch b/pkgs/servers/openafs/tsmbac.patch
new file mode 100644
index 000000000000..412765fe8a5b
--- /dev/null
+++ b/pkgs/servers/openafs/tsmbac.patch
@@ -0,0 +1,62 @@
+diff -ru3 openafs-1.6.18.1/acinclude.m4 openafs-1.6.18.1.new/acinclude.m4
+--- openafs-1.6.18.1/acinclude.m4	2016-06-21 17:13:39.000000000 +0200
++++ openafs-1.6.18.1.new/acinclude.m4	2016-11-02 18:44:30.423039662 +0100
+@@ -1373,45 +1373,7 @@
+ 
+ dnl check for tivoli
+ AC_MSG_CHECKING(for tivoli tsm butc support)
+-XBSA_CFLAGS=""
+-if test "$enable_tivoli_tsm" = "yes"; then
+-	XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
+-	XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
+-	XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
+-	XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
+-	XBSADIR5=/usr/tivoli/tsm/client/api/bin64/sample
+-	XBSADIR6=/opt/tivoli/tsm/client/api/bin64/sample
+-
+-	if test -r "$XBSADIR3/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR4/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR5/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR5"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR6/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR6"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR1/xbsa.h"; then
+-		XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+-		XBSA_XLIBS=""
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR2/xbsa.h"; then
+-		XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+-		XBSA_XLIBS=""
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	else
+-		AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
+-	fi
+-else
+-	AC_MSG_RESULT([no])
+-fi
++AC_MSG_RESULT([yes])
+ AC_SUBST(XBSA_CFLAGS)
+ AC_SUBST(XBSA_XLIBS) 
+ 
+diff -ru3 openafs-1.6.18.1/src/butc/afsxbsa.c openafs-1.6.18.1.new/src/butc/afsxbsa.c
+--- openafs-1.6.18.1/src/butc/afsxbsa.c	2016-06-21 17:13:39.000000000 +0200
++++ openafs-1.6.18.1.new/src/butc/afsxbsa.c	2016-11-02 18:45:10.734662987 +0100
+@@ -651,7 +651,7 @@
+ #if defined(AFS_AIX_ENV)
+         dynlib = dlopen("/usr/lib/libApiDS.a(dsmapish.o)", RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
+ #elif defined (AFS_AMD64_LINUX26_ENV)
+-	dynlib = dlopen("/usr/lib64/libApiTSM64.so", RTLD_NOW | RTLD_LOCAL);
++	dynlib = dlopen(XBSA_TSMLIB, RTLD_NOW | RTLD_LOCAL);
+ #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX26_ENV)
+         dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL);
+ #else
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
index fa8e7d087cca..14f422f9610e 100644
--- a/pkgs/servers/osrm-backend/default.nix
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "osrm-backend-${version}";
-  version = "5.14.3";
+  version = "5.15.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner  = "Project-OSRM";
     repo   = "osrm-backend";
-    sha256 = "1ajgybjx7g6qzddavab8bj7il7wn5wy24nivjj5rk84mfbi71s5v";
+    sha256 = "1vdy7j1k1brgd5jgvi5pm3flfw70v48d4rwfq404iiyipkjdy3kz";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/servers/p910nd/default.nix b/pkgs/servers/p910nd/default.nix
index 0f7cc19339d8..bcf1255ff4a9 100644
--- a/pkgs/servers/p910nd/default.nix
+++ b/pkgs/servers/p910nd/default.nix
@@ -40,6 +40,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://sourceforge.net/projects/p910nd/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/servers/polipo/default.nix b/pkgs/servers/polipo/default.nix
index 1ca18d7d3a74..a7a0791b8520 100644
--- a/pkgs/servers/polipo/default.nix
+++ b/pkgs/servers/polipo/default.nix
@@ -18,5 +18,8 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ phreedom ehmry ];
     platforms = platforms.all;
+    knownVulnerabilities = [
+      "Unmaintained upstream: https://github.com/jech/polipo/commit/4d42ca1b5849"
+    ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/samba/4.x-no-persistent-install-dynconfig.patch b/pkgs/servers/samba/4.x-no-persistent-install-dynconfig.patch
new file mode 100644
index 000000000000..7e3652dbe7b7
--- /dev/null
+++ b/pkgs/servers/samba/4.x-no-persistent-install-dynconfig.patch
@@ -0,0 +1,15 @@
+diff -ru3 samba-4.4.6/dynconfig/wscript samba-4.4.6-new/dynconfig/wscript
+--- samba-4.4.6/dynconfig/wscript	2016-01-26 14:45:46.000000000 +0300
++++ samba-4.4.6-new/dynconfig/wscript	2016-10-15 22:21:18.159705132 +0300
+@@ -416,11 +416,3 @@
+                         public_headers=os_path_relpath(os.path.join(Options.launch_dir, version_header), bld.curdir),
+                         header_path='samba',
+                         cflags=cflags)
+-
+-    # install some extra empty directories
+-    bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
+-    bld.INSTALL_DIRS("", "${PRIVATE_DIR} ${PRIVILEGED_SOCKET_DIR}")
+-    bld.INSTALL_DIRS("", "${STATEDIR} ${CACHEDIR}");
+-
+-    # these might be on non persistent storage
+-    bld.INSTALL_DIRS("", "${LOCKDIR} ${PIDDIR} ${SOCKET_DIR}")
diff --git a/pkgs/servers/samba/4.x-no-persistent-install.patch b/pkgs/servers/samba/4.x-no-persistent-install.patch
index efb539bfaea5..1c360f6b2c77 100644
--- a/pkgs/servers/samba/4.x-no-persistent-install.patch
+++ b/pkgs/servers/samba/4.x-no-persistent-install.patch
@@ -37,18 +37,3 @@ diff -ru3 samba-4.4.6/ctdb/wscript samba-4.4.6-new/ctdb/wscript
      # Unit tests
      ctdb_unit_tests = [
          'db_hash_test',
-diff -ru3 samba-4.4.6/dynconfig/wscript samba-4.4.6-new/dynconfig/wscript
---- samba-4.4.6/dynconfig/wscript	2016-01-26 14:45:46.000000000 +0300
-+++ samba-4.4.6-new/dynconfig/wscript	2016-10-15 22:21:18.159705132 +0300
-@@ -416,11 +416,3 @@
-                         public_headers=os_path_relpath(os.path.join(Options.launch_dir, version_header), bld.curdir),
-                         header_path='samba',
-                         cflags=cflags)
--
--    # install some extra empty directories
--    bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
--    bld.INSTALL_DIRS("", "${PRIVATE_DIR} ${PRIVILEGED_SOCKET_DIR}")
--    bld.INSTALL_DIRS("", "${STATEDIR} ${CACHEDIR}");
--
--    # these might be on non persistent storage
--    bld.INSTALL_DIRS("", "${LOCKDIR} ${PIDDIR} ${SOCKET_DIR}")
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 7e1ae7f60326..90b00169a513 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -19,17 +19,19 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.6.11";
+  version = "4.7.4";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "07gd41y4ajdiansfqa8c5wvrincgddfzyfgh1pf7g388zaq7l6q5";
+    sha256 = "0iw290n0q4l5s92d0f9yz27yp3rdfr6bvsmvg1xvd19g8p2d04pv";
   };
 
   outputs = [ "out" "dev" "man" ];
 
   patches =
     [ ./4.x-no-persistent-install.patch
+      ./patch-source3__libads__kerberos_keytab.c.patch
+      ./4.x-no-persistent-install-dynconfig.patch
     ];
 
   buildInputs =
diff --git a/pkgs/servers/samba/master.nix b/pkgs/servers/samba/master.nix
new file mode 100644
index 000000000000..f1dd7fe7b146
--- /dev/null
+++ b/pkgs/servers/samba/master.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub
+, samba4
+, nettle
+} :
+
+  (samba4.overrideAttrs(oldAttrs: rec {
+    name = "samba-master${version}";
+    version = "4.8.0_2018-01-25";
+
+    src = fetchFromGitHub {
+      owner = "samba-team";
+      repo = "samba";
+      rev = "849169a7b6ed0beb78bbddf25537521c1ed2f8e1";
+      sha256 = "1535w787cy1x5ia9arjrg6hhf926wi8wm9qj0k0jgydy3600zpbv";
+    };
+
+    # Remove unnecessary install flags, same as <4.8 patch
+    postPatch = oldAttrs.postPatch + ''
+      sed -i '423,433d' dynconfig/wscript
+    '';
+
+    patches = [ ./4.x-no-persistent-install.patch ];
+    buildInputs = [ nettle ] ++ oldAttrs.buildInputs;
+    meta.branch = "master";
+  })).override {
+    # samba4.8+ removed the ability to disable LDAP.
+    # Enable for base derivation here:
+    enableLDAP = true;
+  }
diff --git a/pkgs/servers/samba/patch-source3__libads__kerberos_keytab.c.patch b/pkgs/servers/samba/patch-source3__libads__kerberos_keytab.c.patch
new file mode 100644
index 000000000000..9f6577c65c14
--- /dev/null
+++ b/pkgs/servers/samba/patch-source3__libads__kerberos_keytab.c.patch
@@ -0,0 +1,20 @@
+--- old/source3/libads/kerberos_keytab.c	2017-12-23 14:23:53.247467000 +0100
++++ new/source3/libads/kerberos_keytab.c	2017-12-23 18:57:07.135340000 +0100
+@@ -32,8 +32,6 @@
+ 
+ #ifdef HAVE_KRB5
+ 
+-#ifdef HAVE_ADS
+-
+ /* This MAX_NAME_LEN is a constant defined in krb5.h */
+ #ifndef MAX_KEYTAB_NAME_LEN
+ #define MAX_KEYTAB_NAME_LEN 1100
+@@ -85,6 +83,8 @@
+ 	return ret;
+ }
+ 
++#ifdef HAVE_ADS
++
+ /**********************************************************************
+  Adds a single service principal, i.e. 'host' to the system keytab
+ ***********************************************************************/
diff --git a/pkgs/servers/search/elasticsearch/5.x.nix b/pkgs/servers/search/elasticsearch/5.x.nix
index e6bbc787251d..0d27e4fefcc8 100644
--- a/pkgs/servers/search/elasticsearch/5.x.nix
+++ b/pkgs/servers/search/elasticsearch/5.x.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
-    sha256 = "1cks75227mxyri2r0hykc7jlvk6c4f4vaxh14mgmfmw4krwvrzxs";
+    sha256 = "0wjjvzjbdgdv9qznk1b8dx63zgs7s6jnrrbrnd5dn27lhymxiwpl";
   };
 
   patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix
index 23d60ca0bef3..6057c2dee82c 100644
--- a/pkgs/servers/search/elasticsearch/6.x.nix
+++ b/pkgs/servers/search/elasticsearch/6.x.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
-    sha256 = "1dkl7crha5g8h9c1zs1ahcmv221cpipzkvk574g99gdi586ckb8c";
+    sha256 = "03xwd8r0l0a29wl6wrp4bh7xr1b79q2rqfmsq3d5k35pv85sw3lw";
   };
 
   patches = [ ./es-home-6.x.patch ];
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 950056ccb1d2..25cd46aa98b2 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "7.0.8";
+  version = "7.1.0";
 
   src = fetchurl {
     url    = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "1j5biji86dicm8whbqjgjmyycxsfl5qfyxqfc4bxaspd6w18vj87";
+    sha256 = "1v0dyahlq7801bgcyvawj8waw6z84r0sr90x2b8nnrisrac3b8m7";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 91d288c6a9e4..88d2ae3d68a7 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -180,6 +180,11 @@ connector-c = stdenv.mkDerivation rec {
     "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
   ];
 
+  # The cmake setup-hook uses $out/lib by default, this is not the case here.
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$out/lib/mariadb")
+  '';
+
   nativeBuildInputs = [ cmake ];
   propagatedBuildInputs = [ openssl zlib ];
   buildInputs = [ libiconv ];
diff --git a/pkgs/servers/squid/4.nix b/pkgs/servers/squid/4.nix
index 9f43af418e6e..4a4502a69393 100644
--- a/pkgs/servers/squid/4.nix
+++ b/pkgs/servers/squid/4.nix
@@ -2,16 +2,20 @@
 , expat, libxml2, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "squid-4.0.21";
+  name = "squid-4.0.23";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0cwfj3qpl72k5l1h2rvkv1xg0720rifk4wcvi49z216hznyqwk8m";
+    sha256 = "0a8g0zs3xayfkxl8maq823b14lckvh9d5lf7ryh9rx303xh1mdqq";
   };
 
   buildInputs = [
-    perl openldap pam db cyrus_sasl libcap expat libxml2 openssl
-  ];
+    perl openldap db cyrus_sasl expat libxml2 openssl
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap pam ];
+
+  prePatch = ''
+    substituteInPlace configure --replace "/usr/local/include/libxml2" "${libxml2.dev}/include/libxml2"
+  '';
 
   configureFlags = [
     "--enable-ipv6"
@@ -19,11 +23,12 @@ stdenv.mkDerivation rec {
     "--disable-arch-native"
     "--with-openssl"
     "--enable-ssl-crtd"
-    "--enable-linux-netfilter"
     "--enable-storeio=ufs,aufs,diskd,rock"
     "--enable-removal-policies=lru,heap"
     "--enable-delay-pools"
     "--enable-x-accelerator-vary"
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    "--enable-linux-netfilter"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 2da0316483b4..95f4233df10e 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
+{ stdenv, fetchurl, fetchpatch, perl, openldap, pam, db, cyrus_sasl, libcap
 , expat, libxml2, openssl }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,20 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    perl openldap pam db cyrus_sasl libcap expat libxml2 openssl
+    perl openldap db cyrus_sasl expat libxml2 openssl
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap pam ];
+
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-1000024.patch";
+      url = http://www.squid-cache.org/Versions/v3/3.5/changesets/SQUID-2018_1.patch;
+      sha256 = "0vzxr4rmybz0w4c1hi3szvqawbzl4r4b8wyvq9vgq1mzkk5invpg";
+    })
+    (fetchpatch {
+      name = "CVE-2018-1000027.patch";
+      url = http://www.squid-cache.org/Versions/v3/3.5/changesets/SQUID-2018_2.patch;
+      sha256 = "1a8hwk9z7h1j0c57anfzp3bwjd4pjbyh8aks4ca79nwz4d0y6wf3";
+    })
   ];
 
   configureFlags = [
@@ -19,11 +32,12 @@ stdenv.mkDerivation rec {
     "--disable-arch-native"
     "--with-openssl"
     "--enable-ssl-crtd"
-    "--enable-linux-netfilter"
     "--enable-storeio=ufs,aufs,diskd,rock"
     "--enable-removal-policies=lru,heap"
     "--enable-delay-pools"
     "--enable-x-accelerator-vary"
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    "--enable-linux-netfilter"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/sslh/default.nix b/pkgs/servers/sslh/default.nix
index 7b98ded5dc12..c8ac6ed9db07 100644
--- a/pkgs/servers/sslh/default.nix
+++ b/pkgs/servers/sslh/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, libcap, libconfig, perl, tcp_wrappers }:
+{ stdenv, fetchurl, libcap, libconfig, perl, tcp_wrappers, pcre }:
 
 stdenv.mkDerivation rec {
   name = "sslh-${version}";
-  version = "1.18";
+  version = "1.19";
 
   src = fetchurl {
     url = "http://www.rutschle.net/tech/sslh/sslh-v${version}.tar.gz";
-    sha256 = "1ba5fxd2s6jh9n3wbp2a782q7syc4m6qvfrggnscdbywfyrsa08n";
+    sha256 = "17362d3srrr49c3vvyg69maynpxac92wvi5j0nvlnh6sjs1v377g";
   };
 
   postPatch = "patchShebangs *.sh";
 
-  buildInputs = [ libcap libconfig perl tcp_wrappers ];
+  buildInputs = [ libcap libconfig perl tcp_wrappers pcre ];
 
   makeFlags = "USELIBCAP=1 USELIBWRAP=1";
 
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
new file mode 100644
index 000000000000..0c6a197b1da5
--- /dev/null
+++ b/pkgs/servers/teleport/default.nix
@@ -0,0 +1,41 @@
+# This file was generated by https://github.com/kamilchm/go2nix v2.0-dev
+{ stdenv, buildGoPackage, zip, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "teleport-${version}";
+  version = "2.4.0";
+
+  # This repo has a private submodule "e" which fetchgit cannot handle without failing.
+  src = fetchFromGitHub {
+    owner = "gravitational";
+    repo = "teleport";
+    rev = "v${version}";
+    sha256 = "1x4xnqjyb87pzmn2c59fwmzfx1f2k0xhqn2xgki3722qmj2ss846";
+  };
+
+  goPackagePath = "github.com/gravitational/teleport";
+  subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ];
+  buildInputs = [ zip ];
+  postBuild = ''
+    pushd .
+    cd $NIX_BUILD_TOP/go/src/github.com/gravitational/teleport
+    mkdir -p build
+    echo "making webassets"
+    make build/webassets.zip
+    cat build/webassets.zip >> $NIX_BUILD_TOP/go/bin/teleport
+    rm -fr build/webassets.zip
+    cd $NIX_BUILD_TOP/go/bin
+    zip -q -A teleport
+    popd
+    '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "A SSH CA management suite";
+    homepage = "https://gravitational.com/teleport/";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [ stdenv.lib.maintainers.tomberek ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index ebc08b745c63..72f5d3aa9d87 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "traefik-${version}";
-  version = "1.4.6";
+  version = "1.5.0";
 
   goPackagePath = "github.com/containous/traefik";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "containous";
     repo = "traefik";
     rev = "v${version}";
-    sha256 = "1sd7wfp1hvq505lgybbaiq9d1hyygzf5jgl0qidn103xnf1yqaw0";
+    sha256 = "0yvmw99knjdfgaa3snk4fmrbf3bqnj78ix5hr0mcqj5pwjx1dihb";
   };
 
   buildInputs = [ go-bindata bash ];
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index d4a0145e9b99..040a2ece303f 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "unifi-controller-${version}";
-  version = "5.6.29";
+  version = "5.6.30";
 
   src = fetchurl {
     url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb";
-    sha256 = "05na94mrd1dy95vnwd1ycqx4i38wf0lg67sjg263ilq5l1prdmz8";
+    sha256 = "083bh29i7dpn0ajc6h584vhkybiavnln3xndpb670chfrbywxyj4";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index ca1a773c4a28..f56d22d7b7ee 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -546,7 +546,7 @@ in
           "--with-sha1=CommonCrypto"
         ];
         preConfigure = ''
-          ensureDir $out/Applications
+          mkdir -p $out/Applications
           export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
           substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
         '';
diff --git a/pkgs/servers/x11/xorg/xcb-util-xrm.nix b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
index dfc90feeb33d..c38d4e80143b 100644
--- a/pkgs/servers/x11/xorg/xcb-util-xrm.nix
+++ b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, pkgconfig, m4, libxcb, xcbutil, libX11 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.2";
   name = "xcb-util-xrm-${version}";
 
   src = fetchurl {
     url = "https://github.com/Airblader/xcb-util-xrm/releases/download/v${version}/${name}.tar.bz2";
-    sha256 = "1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l";
+    sha256 = "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ m4 libxcb xcbutil ]
+  nativeBuildInputs = [ pkgconfig m4 ];
+  buildInputs = [ libxcb xcbutil ]
     ++ stdenv.lib.optional doCheck libX11;
   doCheck = true;
 
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix
index a598d57808c4..5a00a1ee4195 100644
--- a/pkgs/shells/elvish/default.nix
+++ b/pkgs/shells/elvish/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "elvish-${version}";
-  version = "0.10";
+  version = "0.11";
 
   goPackagePath = "github.com/elves/elvish";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     repo = "elvish";
     owner = "elves";
     rev = version;
-    sha256 = "0v6byd81nz0fbd3sdlippi1jn1z3gbqc2shnr7akd1n6k9259vrj";
+    sha256 = "1rzgy1ql381nwsdjgiwv4mdr1xwivnpmzgkdzms8ipn2lbwhff87";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/shells/mksh/default.nix b/pkgs/shells/mksh/default.nix
index 969392309833..28d60eb6128e 100644
--- a/pkgs/shells/mksh/default.nix
+++ b/pkgs/shells/mksh/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.mirbsd.org/mksh.htm;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres nckx joachifm ];
+    maintainers = with maintainers; [ AndersonTorres joachifm ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/shells/nix-bash-completions/default.nix b/pkgs/shells/nix-bash-completions/default.nix
index bb945f404215..fb6fa24ac334 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.6.2";
+  version = "0.6.3";
   name = "nix-bash-completions-${version}";
 
   src = fetchFromGitHub {
     owner = "hedning";
     repo = "nix-bash-completions";
     rev = "v${version}";
-    sha256 = "0w6mimi70drjkdpx5pcw66xy2a4kysjfzmank0kc5vbhrjgkjwyp";
+    sha256 = "1zmk9f53xpwk5j6qqisjlddgm2fr68p1q6pn3wa14bd777lranhj";
   };
 
   # To enable lazy loading via. bash-completion we need a symlink to the script
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/nix-zsh-completions/default.nix
index 29fb065a6f8b..2bcff6b809dc 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.7";
+  version = "0.3.8";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "164x8awia56z481r898pbywjgrx8fv8gfw8pxp4qgbxzp3gwq9iy";
+    sha256 = "05ynd38br2kn657g7l01jg1q8ja9xwrdyb95w02gh7j9cww2k06w";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix
index 3374f32738c0..8cfcb9ecbbea 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2017-12-14";
+  version = "2018-01-22";
   name = "oh-my-zsh-${version}";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "c3b072eace1ce19a48e36c2ead5932ae2d2e06d9";
-    sha256 = "14nmql4527l4qs4rxb5gczb8cklz8s682ly0l0nmqh36cmvaqx8y";
+    rev = "37c2d0ddd751e15d0c87a51e2d9f9849093571dc";
+    sha256 = "0x2r7205ps5v5bl1f9vdnry9gxflypaahz49cnhq5f5klb49bakn";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 4b2b79a21046..43b766fdaf2e 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -20,15 +20,19 @@ stdenv.mkDerivation {
 
   buildInputs = [ ncurses pcre ];
 
+  configureFlags = [
+    "--enable-maildir-support"
+    "--enable-multibyte"
+    "--with-tcsetpgrp"
+    "--enable-pcre"
+  ];
   preConfigure = ''
-    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp --enable-pcre"
+    configureFlagsArray+=(--enable-zprofile=$out/etc/zprofile)
   '';
 
   # the zsh/zpty module is not available on hydra
   # so skip groups Y Z
-  checkFlagsArray = ''
-    (TESTNUM=A TESTNUM=B TESTNUM=C TESTNUM=D TESTNUM=E TESTNUM=V TESTNUM=W)
-  '';
+  checkFlags = map (T: "TESTNUM=${T}") (stdenv.lib.stringToCharacters "ABCDEVW");
 
   # XXX: think/discuss about this, also with respect to nixos vs nix-on-X
   postInstall = ''
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index afbade7c73a4..28b2f203dae5 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -375,7 +375,7 @@ in rec {
       xz.out xz.bin libcxx libcxxabi gmp.out gnumake findutils bzip2.out
       bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar
       gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk
-      gnugrep llvmPackages.clang-unwrapped patch pcre.out gettext
+      gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext
       binutils-raw.bintools binutils binutils.bintools
       cc.expand-response-params
     ]) ++ (with pkgs.darwin; [
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index d2c67cce81a2..e4a77af199b9 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -188,16 +188,6 @@ addToSearchPath() {
     addToSearchPathWithCustomDelimiter "${PATH_DELIMITER}" "$@"
 }
 
-
-ensureDir() {
-    echo "warning: ‘ensureDir’ is deprecated; use ‘mkdir’ instead" >&2
-    local dir
-    for dir in "$@"; do
-        if ! [ -x "$dir" ]; then mkdir -p "$dir"; fi
-    done
-}
-
-
 # Add $1/lib* into rpaths.
 # The function is used in multiple-outputs.sh hook,
 # so it is defined here but tried after the hook.
@@ -779,7 +769,7 @@ _defaultUnpack() {
         # We can't preserve hardlinks because they may have been
         # introduced by store optimization, which might break things
         # in the build.
-        cp -pr --reflink=auto "$fn" "$(stripHash "$fn")"
+        cp -pr --reflink=auto -- "$fn" "$(stripHash "$fn")"
 
     else
 
diff --git a/pkgs/tools/X11/grobi/default.nix b/pkgs/tools/X11/grobi/default.nix
new file mode 100644
index 000000000000..42f3bbdb0194
--- /dev/null
+++ b/pkgs/tools/X11/grobi/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  version = "0.3.0";
+  name = "grobi-${version}";
+
+  goPackagePath = "github.com/fd0/grobi";
+
+  src = fetchFromGitHub {
+    rev = "78a0639ffad765933a5233a1c94d2626e24277b8";
+    owner = "fd0";
+    repo = "grobi";
+    sha256 = "16q7vnhb1p6ds561832sfdszvlafww67bjn3lc0d18v7lyak2l3i";
+  };
+
+   meta = with stdenv.lib; {
+    homepage = https://github.com/fd0/grobi;
+    description = "Automatically configure monitors/outputs for Xorg via RANDR";
+    license = with licenses; [ bsd2 ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/xcalib/default.nix b/pkgs/tools/X11/xcalib/default.nix
index 65868a3b6b0d..2f925b11ba5c 100644
--- a/pkgs/tools/X11/xcalib/default.nix
+++ b/pkgs/tools/X11/xcalib/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, libX11, libXxf86vm, libXext }:
+{ stdenv, fetchFromGitHub, libX11, libXxf86vm, libXext, libXrandr }:
 
 stdenv.mkDerivation rec {
-  name = "xcalib-0.8";
+  name = "xcalib-0.10";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/xcalib/xcalib-source-0.8.tar.gz";
-    sha256 = "8a112ee710e5446f6c36e62345b2066f10639d500259db8c48bf1716caea06e6";
+  src = fetchFromGitHub {
+    owner = "OpenICC";
+    repo = "xcalib";
+    rev = "f95abc1a551d7c695a8b142c4d9d5035368d482d";
+    sha256 = "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr";
   };
 
-  buildInputs = [ libX11 libXxf86vm libXext ];
+  buildInputs = [ libX11 libXxf86vm libXext libXrandr ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -16,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://xcalib.sourceforge.net/;
+    inherit (src.meta) homepage;
     description = "A tiny monitor calibration loader for X and MS-Windows";
     license = licenses.gpl2;
     maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index fa9bcebdee15..ef5afb917663 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -18,20 +18,20 @@ let
     name = "${pname}-${version}";
     pname = "colorama";
     version = "0.3.7";
-    src = fetchPypi {
-      inherit pname version;
+    src = old.src.override {
+      inherit version;
       sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
     };
   });
 
 in buildPythonPackage rec {
   pname = "awscli";
-  version = "1.14.22";
+  version = "1.14.32";
   namePrefix = "";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13pivyyivwb3xy0l45083gcman2b0xiv00fl9ww0m8jccgxsdzd0";
+    sha256 = "09i82nf43pv5v598wvbj4nk1bfc64wp7xzlx5ykaca5m40lkarz0";
   };
 
   # No tests included
diff --git a/pkgs/tools/admin/fastlane/Gemfile.lock b/pkgs/tools/admin/fastlane/Gemfile.lock
index 5dddccfe78ac..a578bb4bca27 100644
--- a/pkgs/tools/admin/fastlane/Gemfile.lock
+++ b/pkgs/tools/admin/fastlane/Gemfile.lock
@@ -4,6 +4,7 @@ GEM
     CFPropertyList (2.3.6)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
+    atomos (0.1.2)
     babosa (1.0.2)
     claide (1.0.2)
     colored (1.2)
@@ -16,7 +17,7 @@ GEM
       unf (>= 0.0.5, < 1.0.0)
     dotenv (2.2.1)
     excon (0.60.0)
-    faraday (0.13.1)
+    faraday (0.14.0)
       multipart-post (>= 1.2, < 3)
     faraday-cookie_jar (0.0.6)
       faraday (>= 0.7.4)
@@ -24,8 +25,8 @@ GEM
     faraday_middleware (0.12.2)
       faraday (>= 0.7.4, < 1.0)
     fastimage (2.1.1)
-    fastlane (2.75.1)
-      CFPropertyList (>= 2.3, < 3.0.0)
+    fastlane (2.80.0)
+      CFPropertyList (>= 2.3, < 4.0.0)
       addressable (>= 2.3, < 3.0.0)
       babosa (>= 1.0.2, < 2.0.0)
       bundler (>= 1.12.0, < 2.0.0)
@@ -49,16 +50,16 @@ GEM
       public_suffix (~> 2.0.0)
       rubyzip (>= 1.1.0, < 2.0.0)
       security (= 0.1.3)
-      slack-notifier (>= 1.3, < 2.0.0)
+      slack-notifier (>= 2.0.0, < 3.0.0)
       terminal-notifier (>= 1.6.2, < 2.0.0)
       terminal-table (>= 1.4.5, < 2.0.0)
       tty-screen (>= 0.6.3, < 1.0.0)
-      tty-spinner (>= 0.7.0, < 1.0.0)
+      tty-spinner (>= 0.8.0, < 1.0.0)
       word_wrap (~> 1.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)
+    gh_inspector (1.1.1)
     google-api-client (0.13.6)
       addressable (~> 2.5, >= 2.5.1)
       googleauth (~> 0.5)
@@ -89,7 +90,7 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2016.0521)
     mini_magick (4.5.1)
-    multi_json (1.13.0)
+    multi_json (1.13.1)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
     nanaimo (0.2.3)
@@ -109,13 +110,13 @@ GEM
       faraday (~> 0.9)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    slack-notifier (1.5.1)
+    slack-notifier (2.3.2)
     terminal-notifier (1.8.0)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
     tty-cursor (0.5.0)
     tty-screen (0.6.4)
-    tty-spinner (0.7.0)
+    tty-spinner (0.8.0)
       tty-cursor (>= 0.5.0)
     uber (0.1.0)
     unf (0.1.4)
@@ -123,8 +124,9 @@ GEM
     unf_ext (0.0.7.4)
     unicode-display_width (1.3.0)
     word_wrap (1.0.0)
-    xcodeproj (1.5.4)
+    xcodeproj (1.5.6)
       CFPropertyList (~> 2.3.3)
+      atomos (~> 0.1.2)
       claide (>= 1.0.2, < 2.0)
       colored2 (~> 3.1)
       nanaimo (~> 0.2.3)
diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix
index a309de07a11e..c9ddb7b77c04 100644
--- a/pkgs/tools/admin/fastlane/gemset.nix
+++ b/pkgs/tools/admin/fastlane/gemset.nix
@@ -8,6 +8,14 @@
     };
     version = "2.5.2";
   };
+  atomos = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10z69hjv30r2w5q5wmlf0cq4jv3w744jrac8ylln8sf45ckqj7wk";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
   babosa = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -102,10 +110,10 @@
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gyqsj7vlqynwvivf9485zwmcj04v1z7gq362z0b8zw2zf4ag0hw";
+      sha256 = "1c3x3s8vb5nf7inyfvhdxwa4q3swmnacpxby6pish5fgmhws7zrr";
       type = "gem";
     };
-    version = "0.13.1";
+    version = "0.14.0";
   };
   faraday-cookie_jar = {
     dependencies = ["faraday" "http-cookie"];
@@ -137,18 +145,18 @@
     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" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v5i9wnbmsmvz3xhbkvs1w5qj9b0ib5431i3zlimfasf8h138l9y";
+      sha256 = "0saas50qdfipkms66snyg7imvzn1vfngd87dfygj9x8v18bqwvis";
       type = "gem";
     };
-    version = "2.75.1";
+    version = "2.80.0";
   };
   gh_inspector = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lxvp8xpjd2cazzcp90phy567spp4v41bnk9awgx8absndv70k1x";
+      sha256 = "0mpfl279k8yff2ia601b37zw31blwh2plkr501iz6qj8drx3mq3c";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.1";
   };
   google-api-client = {
     dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
@@ -262,10 +270,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05rrhxl08qvd37g5q13v6k8qqbr1ixn6g53ld6rxrvj4lxrjvxns";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.13.0";
+    version = "1.13.1";
   };
   multi_xml = {
     source = {
@@ -368,10 +376,10 @@
   slack-notifier = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xavibxh00gy62mm79l6id9l2fldjmdqifk8alqfqy5z38ffwah6";
+      sha256 = "1pkfn99dhy5s526r6k8d87fwwb6j287ga9s7lxqmh60z28xqh3bv";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "2.3.2";
   };
   terminal-notifier = {
     source = {
@@ -410,10 +418,10 @@
     dependencies = ["tty-cursor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sblbhnscgchnxpbsxa5xmnxnpw13nd4lgsykazm9mhsxmjmhggw";
+      sha256 = "1xv5bycgmiyx00bq0kx2bdixi3h1ffi86mwj858gqbxlpjbzsi94";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.8.0";
   };
   uber = {
     source = {
@@ -457,13 +465,13 @@
     version = "1.0.0";
   };
   xcodeproj = {
-    dependencies = ["CFPropertyList" "claide" "colored2" "nanaimo"];
+    dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04kv04y5yz2zniwwywh5ik29gpnjpsp23yr6w07qn3m243icvi76";
+      sha256 = "0zqx24qhax7p91rs1114da0v86cy9m7an1bjwxq6dyccp8g6kb50";
       type = "gem";
     };
-    version = "1.5.4";
+    version = "1.5.6";
   };
   xcpretty = {
     dependencies = ["rouge"];
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 00bd00a6542a..d6425ede4f4e 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -64,6 +64,13 @@ in stdenv.mkDerivation rec {
         mkdir -p $out/bin
         ln -s $programPath $binaryPath
     done
+    
+    # disable component updater and update check
+    substituteInPlace $out/google-cloud-sdk/lib/googlecloudsdk/core/config.json \
+      --replace "\"disable_updater\": false" "\"disable_updater\": true"
+    echo "
+    [component_manager]
+    disable_update_check = true" >> $out/google-cloud-sdk/properties
 
     # setup bash completion
     mkdir -p "$out/etc/bash_completion.d/"
diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix
index cebe90855fae..bee9c53d02a9 100644
--- a/pkgs/tools/admin/nxproxy/default.nix
+++ b/pkgs/tools/admin/nxproxy/default.nix
@@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
     homepage = http://wiki.x2go.org/doku.php/wiki:libs:nx-libs;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index f66fd6b00afb..ce416e7cd250 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -20,7 +20,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = https://github.com/zenhack/simp_le;
     description = "Simple Let's Encrypt client";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ gebner nckx ];
+    maintainers = with maintainers; [ gebner ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 3550b7d7de36..886ed8179091 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/cgit/rpms/p7zip.git/plain/${name}?id=4b3973f6a5d";
       sha256 = "09wbkzai46bwm8zmplsz0m4jck3qn7snr68i9p1gsih300zidj0m";
     })
+    (fetchpatch rec {
+      name = "CVE-2017-17969.patch";
+      url = "https://anonscm.debian.org/cgit/users/robert/p7zip.git/plain/debian/patches/13-${name}?h=debian/16.02%2bdfsg-5";
+      sha256 = "16lbf6rgyl7xwxfjgg1243jvi39yb3i5pgqfnxswyc0jzhxv81d7";
+    })
   ];
 
   # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index 9f161ac7525a..022814689428 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     in ''
       substituteInPlace tests/shar-1 --replace '${shar_sub}' '${shar_sub} -s submitter'
       substituteInPlace tests/shar-2 --replace '${shar_sub}' '${shar_sub} -s submitter'
+
+      substituteInPlace intl/Makefile.in --replace "AR = ar" ""
     '';
 
   doCheck = true;
diff --git a/pkgs/tools/archivers/unarj/default.nix b/pkgs/tools/archivers/unarj/default.nix
index f3c566596c46..2505c012b26b 100644
--- a/pkgs/tools/archivers/unarj/default.nix
+++ b/pkgs/tools/archivers/unarj/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     sha256 = "0r027z7a0azrd5k885xvwhrxicpd0ah57jzmaqlypxha2qjw7p6p";
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/unarj/${name}.tar.gz/c6fe45db1741f97155c7def322aa74aa/${name}.tar.gz";
+    url = "http://src.fedoraproject.org/repo/pkgs/unarj/${name}.tar.gz/c6fe45db1741f97155c7def322aa74aa/${name}.tar.gz";
   };
 
   preInstall = ''
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Unarchiver of ARJ files";
     license = licenses.free;
-    maintainers = with maintainers; [ nckx ];
     # Vulnerable to CVE-2015-0557 & possibly CVE-2015-0556, CVE-2015-2782:
     broken = true;
   };
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index 9aedda83fd2c..15c0837154e6 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
   };
 
   postPatch = ''
-    sed 's/^CXX=g++/#CXX/' -i makefile
+    substituteInPlace makefile \
+      --replace "CXX=" "#CXX=" \
+      --replace "STRIP=" "#STRIP=" \
+      --replace "AR=" "#AR="
   '';
 
   buildPhase = ''
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index 3c841aa621fe..6d979bbf33d8 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -8,10 +8,13 @@ stdenv.mkDerivation {
   src = fetchurl {
     urls = [
       ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz
-      http://pkgs.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz
+      http://src.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz
     ];
     sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h";
   };
+  patchPhase = ''
+    substituteInPlace unix/Makefile --replace 'CC = cc' ""
+  '';
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index 30b05b2b2340..309604999ba2 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "Incremental journaling backup utility and archiver";
     homepage = http://mattmahoney.net/dc/zpaq.html;
     license = licenses.gpl3Plus ;
-    maintainers = with maintainers; [ raskin nckx ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     inherit version;
   };
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index 5e63c7cfaabf..3004c7e2132c 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "ZPAQ archive (de)compressor and algorithm development tool";
     license = licenses.gpl3Plus ;
-    maintainers = with maintainers; [ raskin nckx ];
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index b750f40ab405..6d50a849a778 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.18";
+  version = "8.13.19";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0fzhk43fidyflqj8wd7m3m4pibzrbr1c120xi9wskzb3627pgyh1";
+    sha256 = "0iv8fzl601rkww9dplajwzlfdb8r7142qdsj8xmvrbwqkaval51f";
   };
 
   prePatch = ''
@@ -19,12 +19,17 @@ stdenv.mkDerivation rec {
     "--INSTALL=install"
   ];
 
+  buildFlags = [
+    "CC=${stdenv.cc}/bin/cc"
+  ];
+
   buildInputs = [ which pkgconfig freetype pango ];
 
   meta = with stdenv.lib; {
     homepage = http://moinejf.free.fr/;
     license = licenses.gpl3;
     description = "abcm2ps is a command line program which converts ABC to music sheet in PostScript or SVG format";
+    platforms = platforms.unix;
     maintainers = [ maintainers.dotlambda ];
   };
 }
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 55f0f2e92bd1..6915f8a90711 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,12 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abcMIDI-${version}";
-  version = "2018.01.02";
+  version = "2018.02.07";
 
-  # You can find new releases on http://ifdo.ca/~seymour/runabc/top.html
   src = fetchzip {
     url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
-    sha256 = "0s8wm637dgzgpgdxba3a6fh06i0c4iwvv9cdghh8msnx428k68iw";
+    sha256 = "16hdv114hs5agg288kpbijqw53wdiswjmprpbhy7kgdjnp9ijwxw";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
@@ -15,8 +14,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://abc.sourceforge.net/abcMIDI/;
+    downloadPage = https://ifdo.ca/~seymour/runabc/top.html;
     license = licenses.gpl2Plus;
     description = "Utilities for converting between abc and MIDI";
+    platforms = platforms.unix;
     maintainers = [ maintainers.dotlambda ];
   };
 }
diff --git a/pkgs/tools/audio/beets/alternatives-beets-1.4.6.patch b/pkgs/tools/audio/beets/alternatives-beets-1.4.6.patch
new file mode 100644
index 000000000000..652e0e4a94b0
--- /dev/null
+++ b/pkgs/tools/audio/beets/alternatives-beets-1.4.6.patch
@@ -0,0 +1,30 @@
+diff --git a/test/helper.py b/test/helper.py
+index c216226..d409c09 100644
+--- a/test/helper.py
++++ b/test/helper.py
+@@ -11,6 +11,7 @@ import beets
+ from beets import plugins
+ from beets import ui
+ from beets.library import Item
++from beets.util import MoveOperation
+ 
+ from beetsplug import alternatives
+ from beetsplug import convert
+@@ -183,7 +184,7 @@ class TestHelper(Assertions):
+         item = Item.from_path(os.path.join(self.fixture_dir, 'min.' + ext))
+         item.add(self.lib)
+         item.update(values)
+-        item.move(copy=True)
++        item.move(operation=MoveOperation.COPY)
+         item.write()
+         album = self.lib.add_album([item])
+         album.albumartist = item.artist
+@@ -201,7 +202,7 @@ class TestHelper(Assertions):
+         item = Item.from_path(os.path.join(self.fixture_dir, 'min.mp3'))
+         item.add(self.lib)
+         item.update(values)
+-        item.move(copy=True)
++        item.move(operation=MoveOperation.COPY)
+         item.write()
+         return item
+ 
diff --git a/pkgs/tools/audio/beets/alternatives-plugin.nix b/pkgs/tools/audio/beets/alternatives-plugin.nix
index 27be81733d3b..f808e90281e6 100644
--- a/pkgs/tools/audio/beets/alternatives-plugin.nix
+++ b/pkgs/tools/audio/beets/alternatives-plugin.nix
@@ -11,6 +11,8 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "10za6h59pxa13y8i4amqhc6392csml0dl771lssv6b6a98kamsy7";
   };
 
+  patches = [ ./alternatives-beets-1.4.6.patch ];
+
   postPatch = ''
     sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
     sed -i -e '/test_suite/d' setup.py
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index c711881d528f..899845a044c6 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -195,7 +195,7 @@ in pythonPackages.buildPythonApplication rec {
     BASH_COMPLETION_SCRIPT="${completion}" \
     HOME="$(mktemp -d)" \
       # Exclude failing test https://github.com/beetbox/beets/issues/2652
-      nosetests -v --exclude="test_single_month_nonmatch_"
+      nosetests -v --exclude=test_single_month_nonmatch_ --exclude=test_asciify_variable --exclude=test_asciify_character_expanding_to_slash
 
     runHook postCheck
   '';
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index 12a7d484bf7b..4f0d24a27d90 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
     lz4 openssl python3Packages.setuptools_scm
   ] ++ stdenv.lib.optionals stdenv.isLinux [ acl ];
   propagatedBuildInputs = with python3Packages; [
-    cython msgpack
+    cython msgpack-python
   ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ llfuse ];
 
   preConfigure = ''
@@ -41,14 +41,11 @@ python3Packages.buildPythonApplication rec {
     cp -R docs/_build/man $out/share/man/man1
   '';
 
-  # tests fail due to missing test command in nix_run_setup.py
-  doCheck = false;
-
   meta = with stdenv.lib; {
     description = "A deduplicating backup program (attic fork)";
     homepage = https://borgbackup.github.io/;
     license = licenses.bsd3;
     platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
-    maintainers = with maintainers; [ nckx flokli ];
+    maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index e68bf8463637..3565d8cbeb20 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -29,9 +29,7 @@ stdenv.mkDerivation rec {
       --replace '$btrbk' 'btrbk'
   '';
 
-  fixupPhase = ''
-    patchShebangs $out/
-
+  preFixup = ''
     wrapProgram $out/sbin/btrbk \
       --set PERL5LIB $PERL5LIB \
       --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash openssh ]}"
diff --git a/pkgs/tools/backup/burp/default.nix b/pkgs/tools/backup/burp/default.nix
index 783a0796e91b..5540822c99b5 100644
--- a/pkgs/tools/backup/burp/default.nix
+++ b/pkgs/tools/backup/burp/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, autoreconfHook
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , acl, librsync, ncurses, openssl, zlib, uthash }:
 
 stdenv.mkDerivation rec {
   name = "burp-${version}";
-  version = "2.0.54";
+  version = "2.1.28";
 
   src = fetchFromGitHub {
     owner = "grke";
     repo = "burp";
     rev = version;
-    sha256 = "1z1w013hqxbfjgri0fan2570qwhgwvm4k4ghajbzqg8kly4fgk5x";
+    sha256 = "1i8j15pmnn9cn6cd4dnp28qbisq8cl9l4y3chsmil4xqljr9fi5x";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ librsync ncurses openssl zlib uthash ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) acl;
 
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
new file mode 100644
index 000000000000..b04a1dab40f5
--- /dev/null
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -0,0 +1,27 @@
+{ buildGoPackage, fetchFromGitHub, stdenv }:
+
+buildGoPackage rec {
+
+  name = "${pname}-${version}";
+  pname = "diskrsync";
+  version = "unstable-2018-02-03";
+
+  src = fetchFromGitHub {
+    owner = "dop251";
+    repo = pname;
+    rev = "2f36bd6e5084ce16c12a2ee216ebb2939a7d5730";
+    sha256 = "1rpfk7ds4lpff30aq4d8rw7g9j4bl2hd1bvcwd1pfxalp222zkxn";
+  };
+
+  goPackagePath = "github.com/dop251/diskrsync";
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Rsync for block devices and disk images";
+    homepage = https://github.com/dop251/diskrsync;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
+  };
+
+}
diff --git a/pkgs/tools/backup/diskrsync/deps.nix b/pkgs/tools/backup/diskrsync/deps.nix
new file mode 100644
index 000000000000..684100968e88
--- /dev/null
+++ b/pkgs/tools/backup/diskrsync/deps.nix
@@ -0,0 +1,21 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/dop251/spgz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dop251/spgz";
+      rev = "d50e5e978e08044da0cf9babc6b42b55ec8fe0d5";
+      sha256 = "11h8z6cwxw272rn5zc4y3w9d6py113iaimy681v6xxv26d30m8bx";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "1875d0a70c90e57f11972aefd42276df65e895b9";
+      sha256 = "1kprrdzr4i4biqn7r9gfxzsmijya06i9838skprvincdb1pm0q2q";
+    };
+  }
+]
diff --git a/pkgs/tools/cd-dvd/bashburn/default.nix b/pkgs/tools/cd-dvd/bashburn/default.nix
index ada58e87fd0a..63a429e50de8 100644
--- a/pkgs/tools/cd-dvd/bashburn/default.nix
+++ b/pkgs/tools/cd-dvd/bashburn/default.nix
@@ -59,6 +59,5 @@ stdenv.mkDerivation rec {
     homepage = http://bashburn.dose.se/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
index 7e3c2cda48b8..e70d259df683 100644
--- a/pkgs/tools/cd-dvd/dvdisaster/default.nix
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -84,6 +84,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ jgeerds nckx ];
+    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index f4fbb3685354..45af74b0b3e5 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -17,12 +17,20 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "lib" ];
 
+  doCheck = true;
+
+  checkTarget = "test";
+
   # 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-insensitivity?)
   prePatch = "rm BUILD";
 
-  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-    cmakeFlagsArray+=("-DCMAKE_INSTALL_NAME_DIR=$lib/lib")
+  # Don't bother with "man" output for now,
+  # it currently only makes the manpages hard to use.
+  postInstall = ''
+    mkdir -p $out/share/man/man{1,3}
+    cp ../docs/*.1 $out/share/man/man1/
+    cp ../docs/*.3 $out/share/man/man3/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index bb9555fa600c..cfe41d3dfe7a 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -2,15 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzip-${version}";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "mirror://gnu/gzip/${name}.tar.xz";
-    sha256 = "1lxv3p4iyx7833mlihkn5wfwmz4cys5nybwpz3dfawag8kn6f5zz";
+    sha256 = "16h8g4acy7fgfxcjacr3wijjsnixwsfd2jhz3zwdi2qrzi262l5f";
   };
 
-  patches = stdenv.lib.optional hostPlatform.isDarwin stdenv.secure-format-patch;
-
   outputs = [ "out" "man" "info" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index bc8666a26907..04c83fa03fcf 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -38,6 +38,5 @@ stdenv.mkDerivation rec {
     homepage = https://lz4.github.io/lz4/;
     license = with licenses; [ bsd2 gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/compression/xdelta/default.nix b/pkgs/tools/compression/xdelta/default.nix
index 8bc5e464ee74..32de493ec77d 100644
--- a/pkgs/tools/compression/xdelta/default.nix
+++ b/pkgs/tools/compression/xdelta/default.nix
@@ -57,6 +57,5 @@ in stdenv.mkDerivation rec {
     homepage = http://xdelta.org/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix
index dd7277c4e8fb..c870e501209b 100644
--- a/pkgs/tools/compression/xdelta/unstable.nix
+++ b/pkgs/tools/compression/xdelta/unstable.nix
@@ -61,6 +61,5 @@ in stdenv.mkDerivation rec {
     homepage = http://xdelta.org/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/compression/zopfli/default.nix b/pkgs/tools/compression/zopfli/default.nix
index cc4edf64c4fe..2697d22a0e01 100644
--- a/pkgs/tools/compression/zopfli/default.nix
+++ b/pkgs/tools/compression/zopfli/default.nix
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     license = licenses.asl20;
-    maintainers = with maintainers; [ bobvanderlinden nckx ];
+    maintainers = with maintainers; [ bobvanderlinden ];
   };
 }
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index b28311657a1c..457170013ce5 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus bsd2 ];
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nckx orivej ];
+    maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index f4133f12541f..72403bd3dc0c 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, fuse, libarchive }:
 
 let
-  name = "archivemount-0.8.3";
+  name = "archivemount-0.8.7";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz";
-    sha256 = "1zv1fvik76kpp1q5f2dz01f4fwg1m5a8rl168px47jy9nyl9k277";
+    sha256 = "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index fc4d3f505cdc..0a5017de53c4 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -1,29 +1,25 @@
-{ stdenv, pkgs, fetchgit, pkgconfig, attr, libuuid, libscrypt, libsodium, keyutils, liburcu, zlib, libaio }:
+{ stdenv, pkgs, fetchgit, pkgconfig, attr, libuuid, libscrypt, libsodium
+, keyutils, liburcu, zlib, libaio }:
 
 stdenv.mkDerivation rec {
-  name = "bcachefs-tools-unstable-2017-08-28";
+  name = "bcachefs-tools-unstable-2018-02-08";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "b1814f2dd0c6b61a12a2ebb67a13d406d126b227";
-    sha256 = "05ba1h09rrqj6vjr3q37ybca3nbrmnifmffdyk83622l28fpv350";
+    rev = "fc96071b58c28ea492103e7649c0efd5bab50ead";
+    sha256 = "0a2sxkz0mkmvb5g4k2v8g2c89dj29haw9bd3bpwk0dsfkjif92vy";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ attr libuuid libscrypt libsodium keyutils liburcu zlib libaio ];
 
-  preConfigure = ''
-    substituteInPlace cmd_migrate.c --replace /usr/include/dirent.h ${stdenv.lib.getDev stdenv.cc.libc}/include/dirent.h
-  '';
-
   installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Tool for managing bcachefs filesystems";
-    homepage = http://bcachefs.org/;
+    homepage = https://bcachefs.org/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ davidak ];
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/filesystems/boxfs/default.nix b/pkgs/tools/filesystems/boxfs/default.nix
index 99a118160b7e..9c9dbede83f4 100644
--- a/pkgs/tools/filesystems/boxfs/default.nix
+++ b/pkgs/tools/filesystems/boxfs/default.nix
@@ -56,6 +56,5 @@ in stdenv.mkDerivation rec {
     homepage = https://github.com/drotiro/boxfs2;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 921d359616e8..46c5bc6071f5 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ nckx raskin wkennington ];
+    maintainers = with maintainers; [ raskin wkennington ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 0469ad54eb13..dfd522f5a094 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "cryfs-${version}";
-  version = "0.9.7";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner  = "cryfs";
     repo   = "cryfs";
     rev    = "${version}";
-    sha256 = "1wsv4cyjkyg3cyr6vipw1mj41bln2m69123l3miav8r4mvmkfq8w";
+    sha256 = "07f2k2b595m3vkwwlmlc0m7px0nwrrzrph3z6sss9354m0b0lcri";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 078c80a8b703..e1b11a370553 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
     homepage = http://duff.dreda.org/;
     license = licenses.zlib;
     platforms = platforms.all;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 22dc9e747233..6326cda35397 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, libuuid, gettext, texinfo }:
+{ stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.43.7";
+  name = "e2fsprogs-1.43.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "1i51w5l45zhz3i98k92xbbvkqklvjrvw3zvqky3gk9cdmqp5y0w7";
+    sha256 = "1pn33rap3lcjm3gx07pmgyhx4j634gja63phmi4g5dq8yj0z8ciz";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ pkgconfig texinfo ];
   buildInputs = [ libuuid ] ++ stdenv.lib.optional (!stdenv.isLinux) gettext;
 
-  crossAttrs = {
-    preConfigure = ''
-      export CC=$crossConfig-gcc
-    '';
-  };
-
   configureFlags =
     if stdenv.isLinux then [
       "--enable-elf-shlibs" "--enable-symlink-install" "--enable-relative-symlinks"
diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix
index 3df76d828318..e415f57e707e 100644
--- a/pkgs/tools/filesystems/encfs/default.nix
+++ b/pkgs/tools/filesystems/encfs/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
     description = "An encrypted filesystem in user-space via FUSE";
     homepage = https://vgough.github.io/encfs;
     license = with licenses; [ gpl3 lgpl3 ];
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/exfat/default.nix b/pkgs/tools/filesystems/exfat/default.nix
index aba0418e9dea..47ff22ae20dd 100644
--- a/pkgs/tools/filesystems/exfat/default.nix
+++ b/pkgs/tools/filesystems/exfat/default.nix
@@ -2,23 +2,23 @@
 
 stdenv.mkDerivation rec {
   name = "exfat-${version}";
-  version = "1.2.4";
+  version = "1.2.8";
 
   src = fetchFromGitHub {
-    sha256 = "0x8wjvvlqmp0g2361m6d24csi1p4df8za2cqhyys03s1hv1qmy0k";
-    rev = "v${version}";
-    repo = "exfat";
     owner = "relan";
+    repo = "exfat";
+    rev = "v${version}";
+    sha256 = "0q02g3yvfmxj70h85a69d8s4f6y7jask268vr87j44ya51lzndd9";
   };
 
-  buildInputs = [ fuse ];
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ fuse ];
 
   meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
     description = "Free exFAT file system implementation";
-    platforms = platforms.linux;
+    inherit (src.meta) homepage;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
+    maintainers = with maintainers; [ dywedir ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/gpart/default.nix b/pkgs/tools/filesystems/gpart/default.nix
index b0e4d5029e08..ca2d0a627ab8 100644
--- a/pkgs/tools/filesystems/gpart/default.nix
+++ b/pkgs/tools/filesystems/gpart/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
       or device.
     '';
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix
index 3a0e8e2fd467..cc8ca8411248 100644
--- a/pkgs/tools/filesystems/mp3fs/default.nix
+++ b/pkgs/tools/filesystems/mp3fs/default.nix
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     homepage = https://khenriks.github.io/mp3fs/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
index 3ed145c82f2d..6fb9bd98fb36 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
 
   src = fetchurl rec {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/"
+    url = "http://src.fedoraproject.org/repo/pkgs/python-pyblock/"
         + "${name}.tar.bz2/${md5_path}/${name}.tar.bz2";
     sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
   };
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
index 1da01bc2e607..b86c0e5229af 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
@@ -6,7 +6,7 @@ buildPythonApplication rec {
   md5_path = "d249f60aa89b1b4facd63f776925116d";
 
   src = fetchurl rec {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/"
+    url = "http://src.fedoraproject.org/repo/pkgs/pykickstart/"
         + "${name}.tar.gz/${md5_path}/${name}.tar.gz";
     sha256 = "e0d0f98ac4c5607e6a48d5c1fba2d50cc804de1081043f9da68cbfc69cad957a";
   };
diff --git a/pkgs/tools/filesystems/s3backer/default.nix b/pkgs/tools/filesystems/s3backer/default.nix
index b39be214d89f..1007d04036e2 100644
--- a/pkgs/tools/filesystems/s3backer/default.nix
+++ b/pkgs/tools/filesystems/s3backer/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/archiecobbs/s3backer;
     description = "FUSE-based single file backing store via Amazon S3";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/securefs/default.nix b/pkgs/tools/filesystems/securefs/default.nix
index 0cd1d818f8c7..233034792e15 100644
--- a/pkgs/tools/filesystems/securefs/default.nix
+++ b/pkgs/tools/filesystems/securefs/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ bsd2 mit ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/graphics/ditaa/default.nix b/pkgs/tools/graphics/ditaa/default.nix
index 56c1c9763621..c8c330d80e5b 100644
--- a/pkgs/tools/graphics/ditaa/default.nix
+++ b/pkgs/tools/graphics/ditaa/default.nix
@@ -1,27 +1,20 @@
-{ stdenv, fetchurl, unzip, jre }:
+{ stdenv, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
-  name = "ditaa-0.9";
+  name = "ditaa-0.11.0";
 
   src = fetchurl {
-    name = "${name}.zip";
-    url = "mirror://sourceforge/project/ditaa/ditaa/0.9/ditaa0_9.zip";
-    sha256 = "12g6k3hacvyw3s9pijli7vfnkspyp37qkr29qgbmq1hbp0ryk2fn";
+    url = https://github.com/stathissideris/ditaa/releases/download/v0.11.0/ditaa-0.11.0-standalone.jar;
+    sha256 = "1acnl7khz8aasg230nbsx9dyf8716scgb5l3679cb2bdzxisl64l";
   };
 
-  buildInputs = [ unzip ];
-
   phases = [ "installPhase" ];
 
   installPhase = ''
-    unzip "$src"
-    
     mkdir -p "$out/bin"
     mkdir -p "$out/lib"
-    mkdir -p "$out/share/ditaa"
 
-    cp dita*.jar "$out/lib/ditaa.jar"
-    cp COPYING HISTORY "$out/share/ditaa"
+    cp ${src} "$out/lib/ditaa.jar"
 
     cat > "$out/bin/ditaa" << EOF
     #!${stdenv.shell}
@@ -33,8 +26,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Convert ascii art diagrams into proper bitmap graphics";
-    homepage = http://ditaa.sourceforge.net/;
-    license = licenses.gpl2;
+    homepage = https://github.com/stathissideris/ditaa;
+    license = licenses.lgpl3;
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 2a0796699fb8..d0f78f80c3e9 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     homepage = http://enblend.sourceforge.net/;
     description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/graphics/fim/default.nix b/pkgs/tools/graphics/fim/default.nix
index c7a22f00dce7..066c181f53c2 100644
--- a/pkgs/tools/graphics/fim/default.nix
+++ b/pkgs/tools/graphics/fim/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   name = "fim-${version}";
-  version = "0.5rc3";
+  version = "0.6";
 
   src = fetchurl {
-    url = mirror://savannah/fbi-improved/fim-0.5-rc3.tar.gz;
-    sha256 = "12aka85h469zfj0zcx3xdpan70gq8nf5rackgb1ldcl9mqjn50c2";
+    url = "mirror://savannah/fbi-improved/${name}-trunk.tar.gz";
+    sha256 = "124b7c4flx5ygmy5sqq0gpvxqzafnknbcj6f45ddnbdxik9lazzp";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix
index f9b82a38344e..fd0b0caea4ca 100644
--- a/pkgs/tools/graphics/optipng/default.nix
+++ b/pkgs/tools/graphics/optipng/default.nix
@@ -7,11 +7,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "optipng-0.7.6";
+  name = "optipng-0.7.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/optipng/${name}.tar.gz";
-    sha256 = "105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28";
+    sha256 = "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/plotutils/debian-patches.nix b/pkgs/tools/graphics/plotutils/debian-patches.nix
index 0615d1f52e1a..d7c60a11eb67 100644
--- a/pkgs/tools/graphics/plotutils/debian-patches.nix
+++ b/pkgs/tools/graphics/plotutils/debian-patches.nix
@@ -1,14 +1,42 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-3";
+  prefix = "https://sources.debian.org/data/main/p/plotutils/2.6-9/debian/patches";
 in
 [
   {
+    url = "${prefix}/01_AC_PROG_CXX.diff";
+    sha256 = "0r7xgwbk2yqs7b29gwhr8pnbqvy3a3x698j17s4yg501ragw1gqv";
+  }
+  {
     url = "${prefix}/10_repair_postscript";
     sha256 = "01v4a8mdhgsjxbf9a2xppx2lb05lp818v8afp5x2njv64wpgla8p";
   }
   {
+    url = "${prefix}/11_manpages_sb_macro";
+    sha256 = "01vvhznw5z7lb7afwgw53cwg8w676s4v30kychlrl8kn5yks94qs";
+  }
+  {
+    url = "${prefix}/14_manpage_spline";
+    sha256 = "1xp3cx9y9njp5wp40dkp7rwd2flkiik2gb08nh4516vkm73avfrd";
+  }
+  {
+    url = "${prefix}/20_svg_attribute_syntax";
+    sha256 = "0vy089w00x2zh87igv3dcqq7kggqxpc4javb694pa5xl5bvddnqk";
+  }
+  {
+    url = "${prefix}/21_plot2svg_test.diff";
+    sha256 = "0lv8hj9fiqj6z72pnaw3imk3164n1kcy5ym0j9jl2pn3a19p1jmb";
+  }
+  {
     url = "${prefix}/25_libpng15";
     sha256 = "0l640rcsgc2mwpk7iqm0cf3b0gfcdgcn9wg4x88gaqxzx9rriph0";
   }
+  {
+    url = "${prefix}/30_hershey_glyphs";
+    sha256 = "0n7rn6ln9ikzq2dialif58ag5pch7q7zqd5zcsxxdyyasx4s5gm2";
+  }
+  {
+    url = "${prefix}/35_spline.test.error.diff";
+    sha256 = "1kqj1n8myk8xmglj6qcybj34zm4kpn6aw320jbpqhblkgp7m0fb1";
+  }
 ]
diff --git a/pkgs/tools/graphics/plotutils/debian-patches.txt b/pkgs/tools/graphics/plotutils/debian-patches.txt
index 8694be8edd79..c28d96fdd5bc 100644
--- a/pkgs/tools/graphics/plotutils/debian-patches.txt
+++ b/pkgs/tools/graphics/plotutils/debian-patches.txt
@@ -1,3 +1,10 @@
-plotutils/2.6-2
+plotutils/2.6-9
+01_AC_PROG_CXX.diff
 10_repair_postscript
+11_manpages_sb_macro
+14_manpage_spline
+20_svg_attribute_syntax
+21_plot2svg_test.diff
 25_libpng15
+30_hershey_glyphs
+35_spline.test.error.diff
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index 219bfdf8c14d..85685e0b0482 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libpng }:
+{ fetchurl, stdenv, libpng, autoreconfHook }:
 
 # debian splits this package into plotutils and libplot2c2
 
@@ -13,14 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libpng ];
-
-  # disable failing test on i686
-  # https://lists.gnu.org/archive/html/bug-plotutils/2016-04/msg00002.html
-  prePatch = stdenv.lib.optionalString stdenv.isi686 ''
-    substituteInPlace test/Makefile.in --replace 'spline.test' ' '
-  '';
-
   patches = map fetchurl (import ./debian-patches.nix);
 
   configureFlags = "--enable-libplotter"; # required for pstoedit
@@ -29,6 +23,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Powerful C/C++ library for exporting 2D vector graphics";
 
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index 3bcbc5d5eade..fce1f3f913cf 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.8.1";
+  name = "pngcrush-1.8.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "1h3sibmmiq4ynvf8hrpksfrbcmszxh4bqpkqy5c0m8828c7drpr9";
+    sha256 = "0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv";
   };
 
   makeFlags = [ "CC=cc" "LD=cc" ];      # gcc and/or clang compat
diff --git a/pkgs/tools/graphics/pngquant/default.nix b/pkgs/tools/graphics/pngquant/default.nix
index 93f57f95e3e2..992e66965f8d 100644
--- a/pkgs/tools/graphics/pngquant/default.nix
+++ b/pkgs/tools/graphics/pngquant/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://pngquant.org/;
     description = "A tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.gpl3;
     maintainers = [ maintainers.volth ];
   };
diff --git a/pkgs/tools/graphics/scanbd/default.nix b/pkgs/tools/graphics/scanbd/default.nix
index 86b4cb91de07..ba376af1c3cd 100644
--- a/pkgs/tools/graphics/scanbd/default.nix
+++ b/pkgs/tools/graphics/scanbd/default.nix
@@ -52,6 +52,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://sourceforge.net/projects/scanbd/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
index 6022bcebc3b2..f2610efd2eb4 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, cmake, pkgconfig, fcitx, gettext, libpinyin, glib, pcre, dbus, qt4 }:
+{ stdenv, fetchurl, cmake, pkgconfig, fcitx, gettext, libpinyin, glib, pcre, dbus, qtwebengine, qtbase, fcitx-qt5 }:
 
 stdenv.mkDerivation rec {
   name = "fcitx-libpinyin-${version}";
-  version = "0.3.91";
+  version = "0.5.3";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-libpinyin/${name}.tar.xz";
-    sha256 = "19h0p1s8bkw24v7x6v19fg7dqpz2kkjlvvrqhypi5bkkvfswf7xn";
+    sha256 = "196c229ckib3xvafkk4n3n3jk9rpksfcjsbbwka6a9k2f34qrjj6";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake fcitx gettext libpinyin glib pcre dbus qt4 ];
+  nativeBuildInputs = [ pkgconfig  ];
+  buildInputs = [ fcitx-qt5 qtbase qtwebengine.dev cmake fcitx gettext libpinyin glib pcre dbus ];
 
   preInstall = ''
     substituteInPlace src/cmake_install.cmake \
@@ -24,13 +24,14 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = let
+    ZHUYIN_DATA_FILE_NAME = "model.text.20161206.tar.gz";
     store_path = fetchurl {
-      url = https://download.fcitx-im.org/data/model.text.20130308.tar.gz;
-      sha256 = "0s8sazix29z1ilxmkw2f0bv6i349awd89ibylf9ixy615s1vb5a5";
+      url = "https://download.fcitx-im.org/data/${ZHUYIN_DATA_FILE_NAME}";
+      sha256 = "017p11si1b7bkwx36xaybq5a9icq1pd7x1jbymqw92akfgjj8w2w";
     };
   in
     ''
-      cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/model.text.20130308.tar.gz
+      cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/${ZHUYIN_DATA_FILE_NAME}
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
index b0da0034ef96..7617d544d296 100644
--- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-qt5-${version}";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-qt5/${name}.tar.xz";
-    sha256 = "0r8c5k0qin3mz2p1mdciip6my0x58662sx5z50zs4c5pkdg21qwv";
+    sha256 = "0z8ax0dxk88byic41mfaiahjdv1k8ciwn97xfjkkgr4ijgscdr8c";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ];
@@ -16,10 +16,12 @@ stdenv.mkDerivation rec {
   preInstall = ''
     substituteInPlace platforminputcontext/cmake_install.cmake \
       --replace ${qtbase.out} $out
+    substituteInPlace quickphrase-editor/cmake_install.cmake \
+      --replace ${fcitx} $out
   '';
 
   meta = with stdenv.lib; {
-    homepage    = "https://github.com/fcitx/fcitx-qt5";
+    homepage    = http://github.com/fcitx/fcitx-qt5;
     description = "Qt5 IM Module for Fcitx";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
index c489b3e4ed74..27eb35ce6ae5 100644
--- a/pkgs/tools/inputmethods/fcitx/unwrapped.nix
+++ b/pkgs/tools/inputmethods/fcitx/unwrapped.nix
@@ -2,27 +2,75 @@
 , libxml2, enchant, isocodes, icu, libpthreadstubs
 , pango, cairo, libxkbfile, libXau, libXdmcp, libxkbcommon
 , dbus, gtk2, gtk3, qt4, extra-cmake-modules
+, xkeyboard_config, pcre, libuuid, curl, cacert
+, withPinyin ? true
+, fetchFromGitHub
 }:
 
+let
+  # releases at http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz
+  # contains all data but if we want to compile from source, we need to
+  # fetch them ourselves
+  # to update the urls and where to unpack these, look into the
+  # src/module/*/data/CMakeLists.txt files
+  # fcitx_download tgt_name url output)
+  dicts = let SPELL_EN_DICT_VER="20121020"; in fetchurl {
+      url = "http://download.fcitx-im.org/data/en_dict-${SPELL_EN_DICT_VER}.tar.gz";
+      sha256 = "1svcb97sq7nrywp5f2ws57cqvlic8j6p811d9ngflplj8xw5sjn4";
+  };
+  table = fetchurl {
+      url = http://download.fcitx-im.org/data/table.tar.gz;
+      sha256 = "1dw7mgbaidv3vqy0sh8dbfv8631d2zwv5mlb7npf69a1f8y0b5k1";
+  };
+  pystroke-data = let PY_STROKE_VER="20121124"; in fetchurl {
+      url = "http://download.fcitx-im.org/data/py_stroke-${PY_STROKE_VER}.tar.gz";
+      sha256 = "0j72ckmza5d671n2zg0psg7z9iils4gyxz7jgkk54fd4pyljiccf";
+  };
+  pytable-data = let PY_TABLE_VER="20121124"; in fetchurl {
+      url = "http://download.fcitx-im.org/data/py_table-${PY_TABLE_VER}.tar.gz";
+      sha256 = "011cg7wssssm6hm564cwkrrnck2zj5rxi7p9z5akvhg6gp4nl522";
+  };
+  pinyin-data = fetchurl {
+      url = http://download.fcitx-im.org/data/pinyin.tar.gz;
+      sha256 = "1qfq5dy4czvd1lvdnxzyaiir9x8b1m46jjny11y0i33m9ar2jf2q";
+  };
+in
 stdenv.mkDerivation rec {
   name = "fcitx-${version}";
-  version = "4.2.9.1";
+  version = "4.2.9.5";
 
-  src = fetchurl {
-    url    = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
-    sha256 = "0xvcmm4yi7kagf55d0yl3ql5ssbkm9410fwbz3kd988pchichdsk";
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = "fcitx";
+    rev = version;
+    sha256 = "0rv69bacdvblka85dakz4ldpznrgwj59nqcccp5mkkn1rab4zh1r";
   };
 
+  # put data at the correct locations else cmake tries to fetch them,
+  # which fails in sandboxed mode
+  prePatch = ''
+    cp ${dicts} src/module/spell/dict/$(stripHash ${dicts})
+    cp ${table} src/im/table/data/$(stripHash ${table})
+  ''
+  + stdenv.lib.optionalString withPinyin ''
+    cp ${pystroke-data} src/module/pinyin-enhance/data/$(stripHash ${pystroke-data})
+    cp ${pytable-data} src/module/pinyin-enhance/data/$(stripHash ${pytable-data})
+    cp ${pinyin-data} src/im/pinyin/data/$(stripHash ${pinyin-data})
+  ''
+  ;
+
   postPatch = ''
     substituteInPlace src/frontend/qt/CMakeLists.txt \
       --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins
+
+    patchShebangs cmake/
   '';
 
-  nativeBuildInputs = [ cmake extra-cmake-modules intltool pkgconfig ];
+  nativeBuildInputs = [ cmake extra-cmake-modules intltool pkgconfig pcre ];
 
   buildInputs = [
-    enchant gettext isocodes icu libpthreadstubs libXau libXdmcp libxkbfile
-    libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4
+    xkeyboard_config enchant gettext isocodes icu libpthreadstubs libXau libXdmcp libxkbfile
+    libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 libuuid
   ];
 
   cmakeFlags = ''
@@ -33,10 +81,15 @@ stdenv.mkDerivation rec {
     -DENABLE_OPENCC=OFF
     -DENABLE_PRESAGE=OFF
     -DENABLE_XDGAUTOSTART=OFF
-  '';
+    -DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}
+    -DENABLE_TABLE=ON
+    -DENABLE_SPELL=ON
+    -DENABLE_QT_GUI=ON
+    -DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'
+    '';
 
   meta = with stdenv.lib; {
-    homepage    = "https://github.com/fcitx/fcitx";
+    homepage    = http://github.com/fcitx/fcitx;
     description = "A Flexible Input Method Framework";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 6293fa30d7a7..85399bffd3fe 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-libpinyin-${version}";
-  version = "1.8.0";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner  = "libpinyin";
     repo   = "ibus-libpinyin";
     rev    = version;
-    sha256 = "1d85kzlhav0ay798i88yqyrjbkv3y7w2aiadpmcjgscyd5ccsnnz";
+    sha256 = "067w926gcf0kwwn71yshhjmyzkad0qsdm1dsi2xwz1j633qd4xlb";
   };
 
   buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 405eb29f6bf9..b744e70a4e2f 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -8,7 +8,7 @@
 let
   python = python3Packages.python;
   wrapPython = python3Packages.wrapPython;
-  version = "1.1";
+  version = "1.4";
 in
   stdenv.mkDerivation {
     name = "autorandr-${version}";
@@ -49,7 +49,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = "${version}";
-      sha256 = "05jlzxlrdyd4j90srr71fv91c2hf32diw40n9rmybgcdvy45kygd";
+      sha256 = "08i71r221ilc8k1c59w89g3iq5m7zwhnjjzapavhqxlr8y9dcpf5";
     };
 
     meta = {
diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 143918baa9c2..899fb5f643ab 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nckx wkennington ];
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/misc/bc/cross-bc.patch b/pkgs/tools/misc/bc/cross-bc.patch
new file mode 100644
index 000000000000..ba8857abb581
--- /dev/null
+++ b/pkgs/tools/misc/bc/cross-bc.patch
@@ -0,0 +1,169 @@
+commit fdda59736ddc048cf38a2c7103f4f5d9eeaf995e
+Author: Ben Gamari <ben@smart-cactus.org>
+Date:   Tue Oct 17 10:51:34 2017 -0400
+
+    Try implementing cross-compilation
+
+diff --git a/bc/Makefile.am b/bc/Makefile.am
+index d9d412e..fdef633 100644
+--- a/bc/Makefile.am
++++ b/bc/Makefile.am
+@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \
+ 
+ AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h
+ LIBBC = ../lib/libbc.a
++LIBBC_HOST = ../lib/libbc_host.a
+ LIBL = @LEXLIB@
+ LDADD = $(LIBBC) $(LIBL) @READLINELIB@
+ 
+@@ -29,12 +30,20 @@ $(PROGRAMS): libmath.h $(LIBBC)
+ scan.o: bc.h
+ global.o: libmath.h
++
++main_host.c : main.c
++	cp $< $@
+ 
+-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
++fbcOBJ = $(addsuffix _host,main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o)
++
++%.o_host : CC:=$(CC_FOR_BUILD)
++
++%.o_host : %.c
++	$(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
+ 
+-libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
++libmath.h: libmath.b $(fbcOBJ) $(LIBBC_HOST)
+ 	echo '{0}' > libmath.h
+-	$(MAKE) global.o
+-	$(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
++	$(MAKE) global.o_host
++	$(CC_FOR_BUILD) -o fbc $(fbcOBJ) global.o_host $(LIBBC_HOST) $(LIBL) ${READLINELIB} $(LIBS)
+ 	./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
+ 	$(srcdir)/fix-libmath_h
+ 	rm -f ./fbc ./global.o
+diff --git a/configure.ac b/configure.ac
+index fc74573..5cabb73 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1)
+ 
+ AC_INIT([bc],[bc_version])
+ AC_CONFIG_SRCDIR(doc/bc.1)
++AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_HEADERS(config.h)
+ 
+@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT],
+ 	  [Define the dc copyright line.])
+ 
+ AC_PROG_CC
++AX_CC_FOR_BUILD
+ AC_USE_SYSTEM_EXTENSIONS
+ 
+ AM_PROG_LEX
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index ec4bf59..c670f5b 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -1,5 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+-noinst_LIBRARIES = libbc.a
++noinst_LIBRARIES = libbc.a libbc_host.a
+ 
+ AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h
+ 
+@@ -24,3 +24,11 @@ testmul: testmul.o number.o
+ 
+ specialnumber: newnumber.o
+ 	cp newnumber.o number.o
++
++%.o_host : CC:=$(CC_FOR_BUILD)
++%.o_host : %.c
++	$(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
++
++libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS))
++	ar cru $@ $+
++	ranlib $@
+diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4
+new file mode 100644
+index 0000000..c62ffad
+--- /dev/null
++++ b/m4/cc_for_build.m4
+@@ -0,0 +1,77 @@
++# ===========================================================================
++#     https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD.
++#
++# LICENSE
++#
++#   Copyright (c) 2010 Reuben Thomas <rrt@sc3d.org>
++#   Copyright (c) 1999 Richard Henderson <rth@redhat.com>
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <https://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 3
++
++dnl Get a default for CC_FOR_BUILD to put into Makefile.
++AC_DEFUN([AX_CC_FOR_BUILD],
++[# Put a plausible default for CC_FOR_BUILD in Makefile.
++if test -z "$CC_FOR_BUILD"; then
++  if test "x$cross_compiling" = "xno"; then
++    CC_FOR_BUILD='$(CC)'
++  else
++    CC_FOR_BUILD=gcc
++  fi
++fi
++AC_SUBST(CC_FOR_BUILD)
++# Also set EXEEXT_FOR_BUILD.
++if test "x$cross_compiling" = "xno"; then
++  EXEEXT_FOR_BUILD='$(EXEEXT)'
++else
++  AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext,
++    [rm -f conftest*
++     echo 'int main () { return 0; }' > conftest.c
++     bfd_cv_build_exeext=
++     ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
++     for file in conftest.*; do
++       case $file in
++       *.c | *.o | *.obj | *.ilk | *.pdb) ;;
++       *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
++       esac
++     done
++     rm -f conftest*
++     test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no])
++  EXEEXT_FOR_BUILD=""
++  test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
++fi
++AC_SUBST(EXEEXT_FOR_BUILD)])dnl
diff --git a/pkgs/tools/misc/bc/default.nix b/pkgs/tools/misc/bc/default.nix
index 2371e91ae2fc..fc60a000e36e 100644
--- a/pkgs/tools/misc/bc/default.nix
+++ b/pkgs/tools/misc/bc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, flex, readline, ed, texinfo}:
+{stdenv, autoreconfHook, buildPackages, fetchurl, flex, readline, ed, texinfo}:
 
 stdenv.mkDerivation rec {
   name = "bc-1.07.1";
@@ -9,9 +9,24 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-readline" ];
 
-  buildInputs = [flex readline ed texinfo];
+  # As of 1.07 cross-compilation is quite complicated as the build system wants
+  # to build a code generator, bc/fbc, on the build machine.
+  patches = [ ./cross-bc.patch ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [
+    # Tools
+    autoreconfHook ed flex texinfo
+    # Libraries for build
+    buildPackages.readline buildPackages.ncurses
+  ];
+  buildInputs = [ readline ];
 
-  doCheck = true;
+  doCheck = true; # not cross
+
+  # Hack to make sure we never to the relaxation `$PATH` and hooks support for
+  # compatability. This will be replaced with something clearer in a future
+  # masss-rebuild.
+  crossConfig = true;
 
   meta = {
     description = "GNU software calculator";
diff --git a/pkgs/tools/misc/bcunit/default.nix b/pkgs/tools/misc/bcunit/default.nix
index b1ca28a7ca9d..1c681d4986d7 100644
--- a/pkgs/tools/misc/bcunit/default.nix
+++ b/pkgs/tools/misc/bcunit/default.nix
@@ -2,13 +2,13 @@
 stdenv.mkDerivation rec {
   name = "${baseName}-${version}";
   baseName = "bcunit";
-  version = "3.0";
+  version = "3.0.2";
   buildInputs = [cmake];
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
     repo = "${baseName}";
     rev = "${version}";
-    sha256 = "1kdq9w8i3nypfz7d43rmv1csqrqpip9p8xfa7vyp52aqkmhrby9l";
+    sha256 = "063yl7kxkix76r49qrj0h1qpz2p538d1yw8aih0x4i47g35k00y7";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/bonfire/default.nix b/pkgs/tools/misc/bonfire/default.nix
index 7937a212951f..16b2169769f1 100644
--- a/pkgs/tools/misc/bonfire/default.nix
+++ b/pkgs/tools/misc/bonfire/default.nix
@@ -19,7 +19,7 @@ buildPythonApplication rec {
   postPatch = ''
     # https://github.com/blue-yonder/bonfire/pull/24
     substituteInPlace requirements.txt \
-      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4,<0.11" \
+      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4,<0.13" \
       --replace "keyring>=9,<10"    "keyring>=9,<11"
     # pip fails when encountering the git hash for the package version
     substituteInPlace setup.py \
diff --git a/pkgs/tools/misc/ckb/ckb-modprobe.patch b/pkgs/tools/misc/ckb/ckb-modprobe.patch
new file mode 100644
index 000000000000..8024151159cf
--- /dev/null
+++ b/pkgs/tools/misc/ckb/ckb-modprobe.patch
@@ -0,0 +1,13 @@
+diff --git a/src/ckb-daemon/usb_linux.c b/src/ckb-daemon/usb_linux.c
+index 8673f86..4714305 100644
+--- a/src/ckb-daemon/usb_linux.c
++++ b/src/ckb-daemon/usb_linux.c
+@@ -440,7 +440,7 @@ static void udev_enum(){
+ 
+ int usbmain(){
+     // Load the uinput module (if it's not loaded already)
+-    if(system("modprobe uinput") != 0)
++    if(system("@kmod@/bin/modprobe uinput") != 0)
+         ckb_warn("Failed to load uinput module\n");
+ 
+     // Create the udev object
diff --git a/pkgs/tools/misc/ckb/default.nix b/pkgs/tools/misc/ckb/default.nix
index a0dbc6fd4fe9..0af90ae2bf22 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, fetchFromGitHub, substituteAll, libudev, pkgconfig, qtbase, qmake, zlib, kmod }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.8";
+  version = "0.2.9";
   name = "ckb-next-${version}";
 
   src = fetchFromGitHub {
-    owner = "mattanger";
+    owner = "ckb-next";
     repo = "ckb-next";
     rev = "v${version}";
-    sha256 = "0b3h1d54mdyfcx46zvsd7dfqf2656h4jjkiw044170gnfdzxjb3w";
+    sha256 = "0hl41znyhp3k5l9rcgz0gig36gsg95ivrs1dyngv45q9jkr6fchm";
   };
 
   buildInputs = [
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./ckb-animations-location.patch
+    (substituteAll {
+      name = "ckb-modprobe.patch";
+      src = ./ckb-modprobe.patch;
+      inherit kmod;
+    })
   ];
 
   doCheck = false;
@@ -39,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Driver and configuration tool for Corsair keyboards and mice";
-    homepage = https://github.com/mattanger/ckb-next;
+    homepage = https://github.com/ckb-next/ckb-next;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ kierdavis ];
diff --git a/pkgs/tools/misc/clex/default.nix b/pkgs/tools/misc/clex/default.nix
index b9e3fc179d50..2f442a7a9c10 100644
--- a/pkgs/tools/misc/clex/default.nix
+++ b/pkgs/tools/misc/clex/default.nix
@@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.clex.sk;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/misc/clipster/default.nix b/pkgs/tools/misc/clipster/default.nix
index df638f2b5565..2181e1cb916f 100644
--- a/pkgs/tools/misc/clipster/default.nix
+++ b/pkgs/tools/misc/clipster/default.nix
@@ -1,27 +1,25 @@
-{fetchFromGitHub , stdenv, makeWrapper, python3, gtk3, libwnck3 }:
+{fetchFromGitHub , stdenv, python3, gtk3, libwnck3,
+ gobjectIntrospection, wrapGAppsHook }:
 
 stdenv.mkDerivation  rec {
   name = "clipster-${version}";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "mrichar1";
     repo = "clipster";
     rev = "${version}";
-    sha256 = "16gdrm985qwbrsmsqjfyh33glcmx678abl2jpq49djk2qrbhm49k";
+    sha256 = "0bj7fk19z3c29vxm3mcp3s7vggkigmz3hrn4pcsqgfh96i5i5203";
   };
 
   pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]);
 
-  buildInputs =  [ pythonEnv gtk3 libwnck3 ];
-  nativeBuildInputs = [ makeWrapper ];
+  buildInputs =  [ pythonEnv gtk3 libwnck3 gobjectIntrospection wrapGAppsHook ];
 
   installPhase = ''
     sed -i 's/python/python3/g' clipster
     mkdir -p $out/bin/
     cp clipster $out/bin/
-    wrapProgram "$out/bin/clipster" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix
index db9669597857..b03a286d2022 100644
--- a/pkgs/tools/misc/ddccontrol/default.nix
+++ b/pkgs/tools/misc/ddccontrol/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, autoreconfHook, intltool, perl, perlPackages, libxml2
 , pciutils, pkgconfig, gtk2, ddccontrol-db
+, makeDesktopItem
 }:
 
 let version = "0.4.2"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "ddccontrol-${version}";
 
   src = fetchurl {
@@ -32,11 +33,29 @@ stdenv.mkDerivation {
       sed -e "s/chmod 4711/chmod 0711/" -i src/ddcpci/Makefile*
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/applications/
+    cp $desktopItem/share/applications/* $out/share/applications/
+    for entry in $out/share/applications/*.desktop; do
+      substituteAllInPlace $entry
+    done
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "gddccontrol";
+    desktopName = "gddccontrol";
+    genericName = "DDC/CI control";
+    comment = meta.description;
+    exec = "@out@/bin/gddccontrol";
+    icon = "gddccontrol";
+    categories = "Settings;HardwareSettings;";
+  };
+
   meta = with stdenv.lib; {
     description = "A program used to control monitor parameters by software";
     homepage = http://ddccontrol.sourceforge.net/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.pakhfn ];
   };
 }
diff --git a/pkgs/tools/misc/debianutils/default.nix b/pkgs/tools/misc/debianutils/default.nix
index 6575c19391c0..d93cc479a803 100644
--- a/pkgs/tools/misc/debianutils/default.nix
+++ b/pkgs/tools/misc/debianutils/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "4.8.2";
+  version = "4.8.4";
   name = "debianutils-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/debianutils/debianutils_${version}.tar.xz";
-    sha256 = "0s3w3svcsh984zinkxvpzxi7dc0ginqk0nk299fkrr6k7wlmzssd";
+    sha256 = "1chypq3dbkgvl16lgzdvqvlr7cdm3814nqmp8ch8j7x6mscsnqf0";
   };
 
   meta = {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
        This package provides a number of small utilities which are used primarily by the installation scripts of Debian packages, although you may use them directly.
 
-       The specific utilities included are: add-shell installkernel ischroot remove-shell run-parts savelog tempfile which 
+       The specific utilities included are: add-shell installkernel ischroot remove-shell run-parts savelog tempfile which
     '';
     downloadPage = https://packages.debian.org/sid/debianutils;
     license = with stdenv.lib.licenses; [ gpl2Plus publicDomain smail ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 5b42c811bd20..418d5e38fd75 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python3Packages, docutils
+{ lib, stdenv, fetchgit, python3Packages, docutils, help2man
 , acl, apktool, libbfd, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, diffutils, dtc
 , e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnupg1, gnutar
 , gzip, imagemagick, jdk, libarchive, libcaca, llvm, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
@@ -8,12 +8,12 @@
 
 python3Packages.buildPythonApplication rec {
   name = "diffoscope-${version}";
-  version = "87";
+  version = "90";
 
   src = fetchgit {
     url    = "git://anonscm.debian.org/reproducible/diffoscope.git";
     rev    = "refs/tags/${version}";
-    sha256 = "0j3pljwmggrpaghbamvr24x4cg5yj7hl2ll27405p7970scnpngv";
+    sha256 = "1w16667j6ag2iim1xcy8y9v9965mq50k64wnf693mivddll62704";
   };
 
   patches = [
@@ -25,6 +25,8 @@ python3Packages.buildPythonApplication rec {
     sed -i setup.py -e "/'rpm-python',/d"
   '';
 
+  nativeBuildInputs = [ docutils help2man ];
+
   # Still missing these tools: docx2txt enjarify js-beautify oggDump Rscript
   # Also these libraries: python3-guestfs
   pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm ] ++ [
@@ -37,10 +39,12 @@ python3Packages.buildPythonApplication rec {
     ];
 
   doCheck = false; # Calls 'mknod' in squashfs tests, which needs root
+  checkInputs = with python3Packages; [ pytest ];
 
   postInstall = ''
+    make -C doc
     mkdir -p $out/share/man/man1
-    ${docutils}/bin/rst2man.py debian/diffoscope.1.rst $out/share/man/man1/diffoscope.1
+    cp doc/diffoscope.1 $out/share/man/man1/diffoscope.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix
new file mode 100644
index 000000000000..e4968b12e6cc
--- /dev/null
+++ b/pkgs/tools/misc/edid-decode/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit }:
+let
+  version = "2017-09-18";
+in stdenv.mkDerivation rec {
+  name = "edid-decode-unstable-${version}";
+
+  src = fetchgit {
+    url = "git://anongit.freedesktop.org/xorg/app/edid-decode";
+    rev = "f56f329ed23a25d002352dedba1e8f092a47286f";
+    sha256 = "1qzaq342dsdid0d99y7kj60p6bzgp2zjsmspyckddc68mmz4cs9n";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp edid-decode $out/bin
+  '';
+
+  meta = {
+    description = "EDID decoder and conformance tester";
+    homepage = http://cgit.freedesktop.org/xorg/app/edid-decode/;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.chiiruno ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 85672619d61c..2527c34feebb 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ethtool-${version}";
-  version = "4.13";
+  version = "4.15";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp";
+    sha256 = "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 47d67f91ec73..3765f9134308 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, file, zlib }:
 
 stdenv.mkDerivation rec {
   name = "file-${version}";
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0l1bfa0icng9vdwya00ff48fhvjazi5610ylbhl35qi13d6xqfc6";
   };
 
+  nativeBuildInputs = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
   buildInputs = [ zlib ];
 
   doCheck = true;
diff --git a/pkgs/tools/misc/flameshot/default.nix b/pkgs/tools/misc/flameshot/default.nix
new file mode 100644
index 000000000000..55aa146d301d
--- /dev/null
+++ b/pkgs/tools/misc/flameshot/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, qtbase, qmake, qttools }:
+
+stdenv.mkDerivation rec {
+  name = "flameshot-${version}";
+  version = "0.5.0";
+
+  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ qtbase ];
+
+  qmakeFlags = [
+    # flameshot.pro assumes qmake is being run in a git checkout and uses it
+    # to determine the version being built. Let's replace that.
+    "VERSION=${version}"
+    "PREFIX=/"
+  ];
+  patchPhase = ''
+    sed -i 's/VERSION =/#VERSION =/g' flameshot.pro
+    sed -i 's,USRPATH = /usr/local,USRPATH = /,g' flameshot.pro
+  '';
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  src = fetchFromGitHub {
+    owner = "lupoDharkael";
+    repo = "flameshot";
+    rev = "v${version}";
+    sha256 = "1fy4il7rdj294l9cs642hx23bry25j9phn37274r2b87hwzy1rrv";
+  };
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Powerful yet simple to use screenshot software";
+    homepage = https://github.com/lupoDharkael/flameshot;
+    maintainers = [ maintainers.scode ];
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
index 2047b77144a8..b1e093126584 100644
--- a/pkgs/tools/misc/flashrom/default.nix
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, libftdi, pciutils }:
+{ lib, stdenv, fetchurl, pkgconfig, libftdi, pciutils }:
 
-let version = "0.9.9"; in
+let version = "1.0"; in
 stdenv.mkDerivation rec {
   name = "flashrom-${version}";
 
@@ -14,11 +14,11 @@ stdenv.mkDerivation rec {
 
   preConfigure = "export PREFIX=$out";
 
-  meta = {
+  meta = with lib; {
     homepage = http://www.flashrom.org;
     description = "Utility for reading, writing, erasing and verifying flash ROM chips";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.funfunctor ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ funfunctor fpletz ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index be002a8c3ad9..71cfedcaec72 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
     homepage = http://gparted.org;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 5c868ae5e2f6..d4acc063b4de 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.0";
+  version = "2.4.1";
   name = "graylog-${version}";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "12ipp1bji0ss0d20dpqx8d6x3p3h38qdfdy98qy37mjy0fi22vpq";
+    sha256 = "1dps1vvv8b154ayamhjxdgiq101qs4w0nk79j3zb41pdyn2fji4j";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/ipad_charge/default.nix b/pkgs/tools/misc/ipad_charge/default.nix
index 9fbc915ad2eb..9b09fb35cf5a 100644
--- a/pkgs/tools/misc/ipad_charge/default.nix
+++ b/pkgs/tools/misc/ipad_charge/default.nix
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index 10eca3d70024..1f52d83f1201 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -3,18 +3,19 @@
 , gnupg ? null
 , goobook ? null
 , khard ? null
+, mu ? null
 }:
 
 let
-  version = "0.45.3";
+  version = "0.46";
 in
 with stdenv.lib;
 with perlPackages;
 stdenv.mkDerivation {
   name = "lbdb-${version}";
   src = fetchurl {
-    url = "http://www.spinnaker.de/debian/lbdb_${version}.tar.gz";
-    sha256 = "01lx1nb5nlhwz663v35gg7crd36c78hnipq4z0dqyb9wjigwwg9k";
+    url = "http://www.spinnaker.de/lbdb/download/lbdb_${version}.tar.gz";
+    sha256 = "16fx02xk98k3friigq2lcgk535xagp3kfnmngni5kw61f7yj6gxi";
   };
 
   buildInputs = [ goobook makeWrapper perl ConvertASN1 NetLDAP AuthenSASL ]
@@ -22,12 +23,14 @@ stdenv.mkDerivation {
     ++ optional   (abook != null) abook
     ++ optional   (gnupg != null) gnupg
     ++ optional (goobook != null) goobook
-    ++ optional   (khard != null) khard;
+    ++ optional   (khard != null) khard
+    ++ optional      (mu != null) mu;
   configureFlags = [ ]
     ++ optional   (abook != null) "--with-abook"
     ++ optional   (gnupg != null) "--with-gpg"
     ++ optional (goobook != null) "--with-goobook"
-    ++ optional   (khard != null) "--with-khard";
+    ++ optional   (khard != null) "--with-khard"
+    ++ optional      (mu != null) "--with-mu";
 
   patches = [ ./add-methods-to-rc.patch ];
   postFixup = "wrapProgram $out/lib/mutt_ldap_query --prefix PERL5LIB : "
diff --git a/pkgs/tools/misc/logstash/5.x.nix b/pkgs/tools/misc/logstash/5.x.nix
index da165446d397..e528e3e0285f 100644
--- a/pkgs/tools/misc/logstash/5.x.nix
+++ b/pkgs/tools/misc/logstash/5.x.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 = "18k2bhyzpxc2pad64wz0rpy43xp0nv843igjflav53jsglifh1yk";
+    sha256 = "0cpim121ydxdjr251by9jw6pidh5b52jl5ldcm7gp015q49x1nl7";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/logstash/6.x.nix b/pkgs/tools/misc/logstash/6.x.nix
index b59fb9012efa..3eb2648a4412 100644
--- a/pkgs/tools/misc/logstash/6.x.nix
+++ b/pkgs/tools/misc/logstash/6.x.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 = "07apb0135rlbraqw3pmwf13jjhzgflr6qik0b0qxp8im0hwx082p";
+    sha256 = "18680qpdvhr16dx66jfia1zrg52005sgdy9yhl7vdhm4gcr7pxwc";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index 4c4204badb19..e81fa7958b5c 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -3,12 +3,12 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20170806";
+  version = "20171011";
   name = "mbuffer-${version}";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "0kbvxrd1k0509whgyl7w20cmqn5q16vjjh7d9glpl2j4lfd66ljw";
+    sha256 = "1z6is359dnlf61n6ida9ivghafzz5m8cf4hzdhma8nxv12brfbzb";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index dbb80067e6db..a8d08018c747 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "moreutils-${version}";
-  version = "0.61";
+  version = "0.62";
 
   src = fetchgit {
     url = "git://git.joeyh.name/moreutils";
     rev = "refs/tags/${version}";
-    sha256 = "1qvwlq0a2zs7qkjqc9c842979axkjfdr7nic1gsm4zc6jd72y7pr";
+    sha256 = "0sk7rgqsqbdwr69mh7y4v9lv4v0nfmsrqgvbpy2gvy82snhfzar2";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/ms-sys/default.nix b/pkgs/tools/misc/ms-sys/default.nix
index 3b7f3019998c..4a50f7200bbb 100644
--- a/pkgs/tools/misc/ms-sys/default.nix
+++ b/pkgs/tools/misc/ms-sys/default.nix
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
     description = "A program for writing Microsoft-compatible boot records";
     homepage = http://ms-sys.sourceforge.net/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 1cb71ce9dd67..330210269d57 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ncdu-${version}";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchurl {
     url = "http://dev.yorhel.nl/download/${name}.tar.gz";
-    sha256 = "16j9fyw73y1lk05a35i4q9i66laklgsx41lz5rxfr8m28x3lw3l2";
+    sha256 = "0ni56ymlii577src4dzfbrq1mznbf6i0nka4bvh2sb1971f2ingl";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/papis/default.nix b/pkgs/tools/misc/papis/default.nix
new file mode 100644
index 000000000000..de69712eb5ee
--- /dev/null
+++ b/pkgs/tools/misc/papis/default.nix
@@ -0,0 +1,44 @@
+{ buildPythonApplication, lib, fetchFromGitHub
+, argcomplete, arxiv2bib, beautifulsoup4, bibtexparser
+, configparser, habanero, papis-python-rofi, pylibgen
+, prompt_toolkit, pyparser, python_magic, pyyaml
+, requests, unidecode, urwid, vobject, tkinter
+, vim
+}:
+
+buildPythonApplication rec {
+  pname = "papis";
+  version = "0.5.2";
+
+  # Missing tests on Pypi
+  src = fetchFromGitHub {
+    owner = "alejandrogallo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0cw6ajdaknijka3j2bkkkn0bcxqifk825kq0a0rdbbmc6661pgxb";
+  };
+
+  postPatch = "sed -i 's/configparser>=3.0.0/# configparser>=3.0.0/' setup.py";
+
+  propagatedBuildInputs = [
+    argcomplete arxiv2bib beautifulsoup4 bibtexparser
+    configparser habanero papis-python-rofi pylibgen
+    prompt_toolkit pyparser python_magic pyyaml
+    requests unidecode urwid vobject tkinter
+    vim
+  ];
+
+  # Papis tries to create the config folder under $HOME during the tests
+  preCheck = ''
+    mkdir -p check-phase
+    export HOME=$(pwd)/check-phase
+  '';
+
+
+  meta = {
+    description = "Powerful command-line document and bibliography manager";
+    homepage = http://papis.readthedocs.io/en/latest/;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 676db3ab69c8..e85d26fb0587 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20171022";
+  name = "parallel-20180122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "18pq10npl7g764ww7cy9r5n5s3kiy984jclf932qfgndcxsbpqpp";
+    sha256 = "1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/misc/pick/default.nix b/pkgs/tools/misc/pick/default.nix
index 747c98376410..0afd28b3c91b 100644
--- a/pkgs/tools/misc/pick/default.nix
+++ b/pkgs/tools/misc/pick/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pick-${version}";
-  version = "1.9.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "calleerlandsson";
     repo = "pick";
     rev = "v${version}";
-    sha256 = "0s0mn9iz17ldhvahggh9rsmgfrjh0kvk5bh4p9xhxcn7rcp0h5ka";
+    sha256 = "0ypawbzpw188rxgv8x044iib3a517j5grgqnxy035ax5zzjavsrr";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
index dfd81bd97423..57be275d32af 100644
--- a/pkgs/tools/misc/picocom/default.nix
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "picocom-${version}";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "npat-efault";
     repo = "picocom";
     rev = version;
-    sha256 = "1i75ksm44la8kn82v71hzq0q5642y108rascdb94zilhagdhilk2";
+    sha256 = "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index 4ee33df716b6..0417c8ed0b71 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc }:
+{ stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc, file }:
 
 stdenv.mkDerivation rec {
   version = "2.36";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     PREFIX=\"\" DESTDIR=$out make install
     wrapProgram $out/bin/profile-cleaner \
-      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite bc ]}"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite bc file ]}"
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
new file mode 100644
index 000000000000..e30c2e89349d
--- /dev/null
+++ b/pkgs/tools/misc/rename/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchFromGitHub, buildPerlPackage }:
+
+buildPerlPackage rec {
+  name = "rename-${version}";
+  version = "1.9";
+  src = fetchFromGitHub {
+    owner = "pstray";
+    repo = "rename";
+    rev = "d46f1d0ced25dc5849acb5d5974a3e2e9d97d536";
+    sha256 = "0qahs1cqfaci2hdf1xncrz4k0z5skkfr43apnm3kybs7za33apzw";
+  };
+  meta = with stdenv.lib; {
+    description = "Rename files according to a Perl rewrite expression";
+    homepage = http://search.cpan.org/~pederst/rename-1.9/bin/rename.PL;
+    maintainers = with maintainers; [ mkg ];
+    license = with licenses; [ gpl1Plus ];
+  };
+}
diff --git a/pkgs/tools/misc/scanmem/default.nix b/pkgs/tools/misc/scanmem/default.nix
index 132012de1230..bd760adecf75 100644
--- a/pkgs/tools/misc/scanmem/default.nix
+++ b/pkgs/tools/misc/scanmem/default.nix
@@ -1,26 +1,26 @@
 { stdenv, autoconf, automake, intltool, libtool, fetchFromGitHub, readline }:
 
 stdenv.mkDerivation rec {
-  version = "0.16";
+  version = "0.17";
   name = "scanmem-${version}";
- 
+
   src = fetchFromGitHub {
     owner  = "scanmem";
     repo   = "scanmem";
     rev    = "v${version}";
-    sha256 = "131rx6cpnlz2x36r0ry80gqapmxpz2qc3h0040xhvp7ydmd4fyjd";
+    sha256 = "17p8sh0rj8yqz36ria5bp48c8523zzw3y9g8sbm2jwq7sc27i7s9";
   };
 
   nativeBuildInputs = [ autoconf automake intltool libtool ];
   buildInputs = [ readline ];
-  
+
   preConfigure = ''
     ./autogen.sh
   '';
   meta = with stdenv.lib; {
     homepage = https://github.com/scanmem/scanmem;
     description = "Memory scanner for finding and poking addresses in executing processes";
-    maintainers = [ maintainers.chattered  ];
+    maintainers = [ maintainers.chattered ];
     platforms = platforms.linux;
     license = licenses.gpl3;
   };
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 9ef0c9ebdf7d..a9cd9d75de8e 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -3,14 +3,30 @@
 , darwin
 }:
 
-stdenv.mkDerivation {
-  name = "screenFetch-2016-10-11";
+let
+  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
+  ]));
+
+in stdenv.mkDerivation rec {
+  name = "screenFetch-${version}";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
-    owner = "KittyKatt";
-    repo = "screenFetch";
-    rev = "89e51f24018c89b3647deb24406a9af3a78bbe99";
-    sha256 = "0i2k261jj2s4sfhav7vbsd362pa0gghw6qhwafhmicmf8hq2a18v";
+    owner  = "KittyKatt";
+    repo   = "screenFetch";
+    rev    = "v${version}";
+    sha256 = "00ibv72cb7cqfpljyzgvajhbp0clqsqliz18nyv83bfy3gkf2qs8";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,40 +34,29 @@ stdenv.mkDerivation {
   installPhase = ''
     install -Dm 0755 screenfetch-dev $out/bin/screenfetch
     install -Dm 0644 screenfetch.1 $out/share/man/man1/screenfetch.1
+    install -Dm 0644 -t $out/share/doc/screenfetch CHANGELOG COPYING README.mkdn TODO
 
-    # Fix all of the depedencies of screenfetch
+    # Fix all of the dependencies of screenfetch
     patchShebangs $out/bin/screenfetch
     wrapProgram "$out/bin/screenfetch" \
-      --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
-      ]))}
+      --prefix PATH : ${path}
   '';
 
   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
-    script can be used to generate one of those nifty terminal theme
-    information + ASCII distribution logos you see in everyone's screenshots
-    nowadays. It will auto-detect your distribution and display an ASCII
-    version of that distribution's logo and some valuable information to the
-    right. There are options to specify no ascii art, colors, taking a
-    screenshot upon displaying info, and even customizing the screenshot
-    command! This script is very easy to add to and can easily be extended.
+      screenFetch is a "Bash Screenshot Information Tool". This handy Bash
+      script can be used to generate one of those nifty terminal theme
+      information + ASCII distribution logos you see in everyone's screenshots
+      nowadays. It will auto-detect your distribution and display an ASCII
+      version of that distribution's logo and some valuable information to the
+      right. There are options to specify no ascii art, colors, taking a
+      screenshot upon displaying info, and even customizing the screenshot
+      command! This script is very easy to add to and can easily be extended.
     '';
     license = licenses.gpl3;
-    homepage = http://git.silverirc.com/cgit.cgi/screenfetch-dev.git/;
-    maintainers = with maintainers; [relrod];
+    homepage = https://github.com/KittyKatt/screenFetch;
+    maintainers = with maintainers; [ relrod ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 4b7857d60e7b..52a57629cd10 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = http://snapper.io;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx tstrobel ];
+    maintainers = with maintainers; [ tstrobel ];
   };
 }
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
index b428205fcd05..80cbf3661da8 100644
--- a/pkgs/tools/misc/testdisk/default.nix
+++ b/pkgs/tools/misc/testdisk/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid, ntfs3g }:
 
 stdenv.mkDerivation {
-  name = "testdisk-7.0";
+  name = "testdisk-7.1";
 
   src = fetchurl {
     url = http://www.cgsecurity.org/testdisk-7.0.tar.bz2;
-    sha256 = "00bb3b6b22e6aba88580eeb887037aef026968c21a87b5f906c6652cbee3442d";
+    sha256 = "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0";
   };
 
   buildInputs = [ ncurses libjpeg zlib openssl libuuid ]
diff --git a/pkgs/tools/misc/tewisay/default.nix b/pkgs/tools/misc/tewisay/default.nix
new file mode 100644
index 000000000000..2d713ae3821c
--- /dev/null
+++ b/pkgs/tools/misc/tewisay/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper }:
+
+buildGoPackage rec {
+  name = "tewisay-unstable-${version}";
+  version = "2017-04-14";
+
+  goPackagePath = "github.com/lucy/tewisay";
+
+  src = fetchFromGitHub {
+    owner = "lucy";
+    repo = "tewisay";
+    rev = "e3fc38737cedb79d93b8cee07207c6c86db4e488";
+    sha256 = "1na3xi4z90v8qydcvd3454ia9jg7qhinciy6kvgyz61q837cw5dk";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  goDeps = ./deps.nix;
+
+  postInstall = ''
+    install -D -t $bin/share/tewisay/cows go/src/${goPackagePath}/cows/*.cow
+  '';
+
+  preFixup = ''
+    wrapProgram $bin/bin/tewisay \
+      --prefix COWPATH : $bin/share/tewisay/cows
+  '';
+
+  meta = {
+    homepage = https://github.com/lucy/tewisay;
+    description = "Cowsay replacement with unicode and partial ansi escape support";
+    license = stdenv.lib.licenses.cc0;
+    maintainers = [ stdenv.lib.maintainers.chiiruno ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/tewisay/deps.nix b/pkgs/tools/misc/tewisay/deps.nix
new file mode 100644
index 000000000000..b6b1356dcf80
--- /dev/null
+++ b/pkgs/tools/misc/tewisay/deps.nix
@@ -0,0 +1,21 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
+      sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
+    };
+  }
+  {
+    goPackagePath = "github.com/ogier/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ogier/pflag";
+      rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
+      sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
+    };
+  }
+]
diff --git a/pkgs/tools/misc/tldr/default.nix b/pkgs/tools/misc/tldr/default.nix
index 5cf29c5cd428..bb03b9a809bf 100644
--- a/pkgs/tools/misc/tldr/default.nix
+++ b/pkgs/tools/misc/tldr/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://tldr-pages.github.io;
     license = licenses.mit;
-    maintainers = with maintainers; [ taeer nckx ];
+    maintainers = with maintainers; [ taeer ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index 3614ec3bc68a..91eeb6b0a511 100644
--- a/pkgs/tools/misc/tlp/default.nix
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -14,13 +14,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tlp-${version}";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
         owner = "linrunner";
         repo = "TLP";
         rev = "${version}";
-        sha256 = "0gq1y1qnzwyv7cw32g4ymlfssi2ayrbnd04y4l242k6n41d05bij";
+        sha256 = "01bhb9hdsck1g2s5jvafr3ywml9k2qz7x2cf42a3z8g5d23pdfpy";
       };
 
   makeFlags = [ "DESTDIR=$(out)"
diff --git a/pkgs/tools/misc/tmuxinator/default.nix b/pkgs/tools/misc/tmuxinator/default.nix
index 35bdcf1b8231..938092c23872 100644
--- a/pkgs/tools/misc/tmuxinator/default.nix
+++ b/pkgs/tools/misc/tmuxinator/default.nix
@@ -8,8 +8,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "tmuxinator";
-  version = "0.10.0";
-  source.sha256 = "199pq15qknpcafw8ryb9kk1jsrwnncg6k5l9d4n0nmms4knxlqlf";
+  version = "0.10.1";
+  source.sha256 = "0rjy2glqwbz07ci0snycq19myfczd2pry2iw4g0nqsw37wclm1vi";
 
   erubis = buildRubyGem rec {
     inherit ruby;
@@ -23,8 +23,8 @@ buildRubyGem rec {
     inherit ruby;
     name = "ruby${ruby.version}-${gemName}-${version}";
     gemName = "thor";
-    version = "0.19.1";
-    source.sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+    version = "0.20.0";
+    source.sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
   };
 
   xdg = buildRubyGem rec {
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 24486980b4ba..33a4ebd70b37 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -1,26 +1,29 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python }:
 
-pythonPackages.buildPythonApplication rec {
-  name = "tmuxp-${version}";
-  version = "1.3.4";
+with python.pkgs;
 
-  namePrefix = "";
+buildPythonApplication rec {
+  pname = "tmuxp";
+  version = "1.3.5";
 
-  src = fetchurl {
-    url = "mirror://pypi/t/tmuxp/${name}.tar.gz";
-    sha256 = "149n35rr27n2c6yna1bla20x3w1zz9gxnjj3m3xxdfp4fbsd2y31";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bdbbbf5980d6ec21838396a46cd5b599787e8540782b8e2e3f20d2135560a5d3";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -i 's/==.*$//' requirements/base.txt requirements/test.txt
   '';
 
-  buildInputs = with pythonPackages; [
-    pytest_29
+  checkInputs = [
+    pytest
     pytest-rerunfailures
   ];
 
-  propagatedBuildInputs = with pythonPackages; [
+  # No tests in archive
+  doCheck = false;
+
+  propagatedBuildInputs = [
     click colorama kaptan libtmux
   ];
 
diff --git a/pkgs/tools/misc/ttwatch/default.nix b/pkgs/tools/misc/ttwatch/default.nix
index b816b5225ca4..d7e1171064c6 100644
--- a/pkgs/tools/misc/ttwatch/default.nix
+++ b/pkgs/tools/misc/ttwatch/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1 }:
+{ stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1
+, enableUnsafe ? false }:
 
 stdenv.mkDerivation rec {
   name = "ttwatch-${version}";
-  version = "2017-12-31";
+  version = "2018-02-01";
 
   src = fetchFromGitHub {
     owner = "ryanbinns";
     repo = "ttwatch";
-    rev = "a261851d91e3304a47a04995758f6940747bc54a";
-    sha256 = "0llcai1yxikh8nvzry71rr1zz365rg0k0lwp24np5w74kzza3kwx";
+    rev = "b5c54647ed9b640584e53c4c15ee12d210790021";
+    sha256 = "136sskz9hnbwp49gxp983mswzgpl8yfc25ni79csbsnwp0k4lb94";
   };
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ openssl curl libusb1 ];
 
+  cmakeFlags = stdenv.lib.optional enableUnsafe [ "-Dunsafe=on" ];
+
   preFixup = ''
     chmod +x $out/bin/ttbin2mysports
   '';
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 90758e909e5b..f66f6c3642e7 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "units-${version}";
-  version = "2.14";
+  version = "2.16";
 
   src = fetchurl {
     url = "mirror://gnu/units/${name}.tar.gz";
-    sha256 = "9d33893d82f3ddd831d5822992007c40bcd0826ae67d3cbc96539951fb0a82e8";
+    sha256 = "11hnp3gcmcc5kci2caxw4hs6m08h2mhqs3xzqq7iafx1ha2ggwyw";
   };
 
   buildInputs = [ readline ];
diff --git a/pkgs/tools/misc/uudeview/default.nix b/pkgs/tools/misc/uudeview/default.nix
new file mode 100644
index 000000000000..e66580f25ffb
--- /dev/null
+++ b/pkgs/tools/misc/uudeview/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, tcl, tk }:
+
+stdenv.mkDerivation rec {
+  name = "uudeview-0.5.20";
+  src = fetchurl {
+    url = "http://www.fpx.de/fp/Software/UUDeview/download/${name}.tar.gz";
+    sha256 = "0dg4v888fxhmf51vxq1z1gd57fslsidn15jf42pj4817vw6m36p4";
+  };
+
+  buildInputs = [ tcl tk ];
+  hardeningDisable = [ "format" ];
+  configureFlags = [ "--enable-tk=${tk.dev}" "--enable-tcl=${tcl}" ];
+  postPatch = ''
+    substituteInPlace tcl/xdeview --replace "exec uuwish" "exec $out/bin/uuwish"
+  '';
+
+  meta = {
+    description = "The Nice and Friendly Decoder";
+    homepage = http://www.fpx.de/fp/Software/UUDeview/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ woffs ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index ba760496a729..9899e38c854e 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -32,6 +32,5 @@ buildPythonApplication rec {
       to install the wakatime CLI interface manually.
     '';
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/misc/woof/default.nix b/pkgs/tools/misc/woof/default.nix
new file mode 100644
index 000000000000..1fd9f4567054
--- /dev/null
+++ b/pkgs/tools/misc/woof/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  version = "2012-05-31";
+  name = "woof-${version}";
+  
+  src = fetchurl {
+    url = "http://www.home.unix-ag.org/simon/woof-${version}.py";
+    sha256 = "d84353d07f768321a1921a67193510bf292cf0213295e8c7689176f32e945572";
+  };
+
+  buildInputs = [ python ];
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp $src $out/bin/woof
+      chmod +x $out/bin/woof
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.home.unix-ag.org/simon/woof.html;
+    description = "Web Offer One File - Command-line utility to easily exchange files over a local network";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ lschuermann ];
+  };
+}
+
diff --git a/pkgs/tools/misc/xmonad-log/default.nix b/pkgs/tools/misc/xmonad-log/default.nix
new file mode 100644
index 000000000000..c39da71e1797
--- /dev/null
+++ b/pkgs/tools/misc/xmonad-log/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "xmonad-log-${version}";
+  version = "0.1.0";
+
+  goPackagePath = "github.com/xintron/xmonad-log";
+
+  src = fetchFromGitHub {
+    owner = "xintron";
+    repo = "xmonad-log";
+    rev = version;
+    sha256 = "1il6v0zcjw0pfb1hjj198y94jmlcx255h422ph0f1zr7afqkzmaw";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "xmonad DBus monitoring solution";
+    homepage = https://github.com/xintron/xmonad-log;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ joko ];
+  };
+}
diff --git a/pkgs/tools/misc/xmonad-log/deps.nix b/pkgs/tools/misc/xmonad-log/deps.nix
new file mode 100644
index 000000000000..f5a7c7e5dd1d
--- /dev/null
+++ b/pkgs/tools/misc/xmonad-log/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/godbus/dbus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/godbus/dbus";
+      rev = "a389bdde4dd695d414e47b755e95e72b7826432c";
+      sha256 = "1ckvg15zdsgmbn4mi36cazkb407ixc9mmyf7vwj8b8wi3d00rgn9";
+    };
+  }
+]
diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix
new file mode 100644
index 000000000000..3a917040863e
--- /dev/null
+++ b/pkgs/tools/misc/you-get/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonApplication, fetchPypi }:
+
+buildPythonApplication rec {
+  pname = "you-get";
+  version = "0.4.1011";
+
+  # Tests aren't packaged, but they all hit the real network so
+  # probably aren't suitable for a build environment anyway.
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h6aspnfic30s89xsv6qss1jfka9px4ll60bqrjbds4y0k3h818g";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tiny command line utility to download media contents from the web";
+    homepage = https://you-get.org;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ryneeverett ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index e071891fff96..0386896d97f8 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -16,11 +16,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2018.01.14";
+  version = "2018.02.08";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0pl7ja7xg47mns96s65d534hq4y9n6d5xmhj3n2b9nylfshdpzbb";
+    sha256 = "0iq5mav782gz0gm00rry3v7gdxkkx4y1k0p20pvz32ga4id5k1mg";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index 36dd8339f26e..c3bb28bc1a5c 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yubikey-personalization-${version}";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://developers.yubico.com/yubikey-personalization/Releases/ykpers-${version}.tar.gz";
-    sha256 = "1bc2z6y2x7bbqn7ink2dg3wrgqzlcq2zxxg0cdcxy6jm7c9kwcyg";
+    sha256 = "0mjjkk6p8d0kblj6vzld4v188y40ynprvd2hnfh7m1hs28wbkzcz";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index d7e1b2289dca..2e982d0f912d 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Wireless encryption cracking tools";
     homepage = http://www.aircrack-ng.org/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ domenkozar viric garbas chaoflow nckx ];
+    maintainers = with maintainers; [ domenkozar viric garbas chaoflow ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 079beedcc07c..29186906d27b 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "aria2-${version}";
-  version = "1.33.0";
+  version = "1.33.1";
 
   src = fetchFromGitHub {
     owner = "aria2";
     repo = "aria2";
     rev = "release-${version}";
-    sha256 = "07i9wrj7bs9770ppx943zgn8j9zvffxg2pib4w5ljxapqldhwrsq";
+    sha256 = "0ai84ijgsvnixwhxkj8if2mj9hcg2a41w81vy8bdvi89h3bmq9zf";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
index ae36980a60d8..93a98a10daad 100644
--- a/pkgs/tools/networking/biosdevname/default.nix
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "biosdevname-${version}";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "dell";
     repo = "biosdevname";
     rev = "v${version}";
-    sha256 = "183k6f9nayhai27y6nizf0sp9bj1kabykj66hcwdzllhrrh505sd";
+    sha256 = "19wbb79x9h79k55sgd4dylvdbhhrvfaiaknbw9s1wvfmirkxa1dz";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix
index 48ae772e1271..c0383b7c822f 100644
--- a/pkgs/tools/networking/bud/default.nix
+++ b/pkgs/tools/networking/bud/default.nix
@@ -14,14 +14,14 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python gyp
   ] ++ lib.optional stdenv.isLinux utillinux;
- 
+
   buildPhase = ''
     python ./gyp_bud -f make
     make -C out
   '';
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp out/Release/bud $out/bin
   '';
 
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index be42c4a1381a..dbe2a6639352 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -24,11 +24,11 @@ assert brotliSupport -> brotli != null;
 assert gssSupport -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.57.0";
+  name = "curl-7.58.0";
 
   src = fetchurl {
-    url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "09j88lzqmi79rvvg2l7bjcs56330bq388f5p468hgblf6hdf6by9";
+    url = "https://curl.haxx.se/download/${name}.tar.bz2";
+    sha256 = "0cg7klhf1ksnbw5wvwa802qir877zv4y3dj7swz1xh07g3wq3c0w";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/tools/networking/darkstat/default.nix b/pkgs/tools/networking/darkstat/default.nix
index ce371e74ee02..4ec23862522e 100644
--- a/pkgs/tools/networking/darkstat/default.nix
+++ b/pkgs/tools/networking/darkstat/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://unix4lyfe.org/darkstat;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/tools/networking/dhcping/default.nix b/pkgs/tools/networking/dhcping/default.nix
index 19c2383c1c28..2599e822529f 100644
--- a/pkgs/tools/networking/dhcping/default.nix
+++ b/pkgs/tools/networking/dhcping/default.nix
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.mavetju.org/unix/general.php;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
new file mode 100644
index 000000000000..8941494e316e
--- /dev/null
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, gflags, glog, libsodium, protobuf }:
+
+stdenv.mkDerivation rec {
+  name = "eternal-terminal-${version}";
+  version = "4.1.2";
+
+  src = fetchFromGitHub {
+    owner = "MisterTea";
+    repo = "EternalTCP";
+    rev = "refs/tags/et-v${version}";
+    sha256 = "1zy30ccsddgs2wqwxphnx5i00j4gf69lr68mzg9x6imqfz0sbcjz";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ gflags glog libsodium protobuf ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Remote shell that automatically reconnects without interrupting the session";
+    license = licenses.asl20;
+    homepage = https://mistertea.github.io/EternalTCP/;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.dezgeg ];
+  };
+}
diff --git a/pkgs/tools/networking/gandi-cli/default.nix b/pkgs/tools/networking/gandi-cli/default.nix
index c2bf6702c5f6..be488e788b41 100644
--- a/pkgs/tools/networking/gandi-cli/default.nix
+++ b/pkgs/tools/networking/gandi-cli/default.nix
@@ -22,7 +22,6 @@ buildPythonPackage rec {
     description = "Command-line interface to the public Gandi.net API";
     homepage = http://cli.gandi.net/;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ nckx ];
   };
 }
 
diff --git a/pkgs/tools/networking/hans/default.nix b/pkgs/tools/networking/hans/default.nix
index 2e84aa960079..82e105c3a3be 100644
--- a/pkgs/tools/networking/hans/default.nix
+++ b/pkgs/tools/networking/hans/default.nix
@@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
     homepage = http://code.gerade.org/hans/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
index ce58da880d63..bfe9f115133c 100644
--- a/pkgs/tools/networking/httping/default.nix
+++ b/pkgs/tools/networking/httping/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       latency of the webserver + network. It supports IPv6.
     '';
     license = licenses.agpl3;
-    maintainers = with maintainers; [ nckx rickynils ];
+    maintainers = with maintainers; [ rickynils ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index d66ff70180ac..ec268d5d77f6 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec {
 in
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.32";
+  name = "i2p-0.9.33";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "1c82yckwzp51wqrr8qhww3sifm1a9nzrymsf9qv99ngsxq4n5l6i";
+    sha256 = "1hlildi34p34xgpm0gqh09r2jb6nsa7a52gr074r6203xkl2racw";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index 66057e5c76e7..dad00cfd9ee1 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -1,20 +1,33 @@
-{ stdenv, fetchFromGitHub, fetchpatch, boost, zlib, openssl }:
+{ stdenv, fetchFromGitHub, fetchpatch
+, boost, zlib, openssl
+, upnpSupport ? true, miniupnpc ? null
+, aesniSupport ? false
+, avxSupport ? false
+}:
+
+assert upnpSupport -> miniupnpc != null;
 
 stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.15.0";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "02nyk76q2ag0495ph62i0jij27nxpy6qvryjp25wah8f69k7bgfs";
+    sha256 = "019psm86n4k7nzxhw7cnbw144gqni59sf35wiy58a6x6dabmvq8h";
   };
 
-  buildInputs = [ boost zlib openssl ];
-  makeFlags = [ "USE_AESNI=no" "USE_AVX=no" ];
+  buildInputs = with stdenv.lib; [ boost zlib openssl ]
+    ++ optional upnpSupport miniupnpc;
+  makeFlags =
+    let ynf = a: b: a + "=" + (if b then "yes" else "no"); in
+    [ (ynf "USE_AESNI" aesniSupport)
+      (ynf "USE_AVX"   avxSupport)
+      (ynf "USE_UPNP"  upnpSupport)
+    ];
 
   installPhase = ''
     install -D i2pd $out/bin/i2pd
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index 9e432c946cf5..96723146ad41 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
     platforms = platforms.unix;
-    maintainers = [ maintainers.mornfall ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 219a993b8a29..99997eb927f2 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   name = "inadyn-${version}";
-  version = "2.2.1";
+  version = "2.3";
 
   src = fetchFromGitHub {
     owner = "troglobit";
diff --git a/pkgs/tools/networking/ip2location/default.nix b/pkgs/tools/networking/ip2location/default.nix
index 22eb31384a19..0506c8580296 100644
--- a/pkgs/tools/networking/ip2location/default.nix
+++ b/pkgs/tools/networking/ip2location/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.ip2location.com/free/applications;
     license = with licenses; [ gpl3Plus lgpl3Plus ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/iperf/2.nix b/pkgs/tools/networking/iperf/2.nix
index 6f2ca96d120f..94be3c25d1fc 100644
--- a/pkgs/tools/networking/iperf/2.nix
+++ b/pkgs/tools/networking/iperf/2.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-2.0.9";
+  name = "iperf-2.0.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/iperf2/files/${name}.tar.gz";
-    sha256 = "1gzh8dk2myqgxznxrryib4zsw23ffvx0s5j7sa780vk86lgr20nv";
+    sha256 = "1whyi7lxrkllmbs7i1avc6jq8fvirn64mhx9197bf4x3rj6k9r3z";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index b28ea0dbbe52..f28c75774db5 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -51,6 +51,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.deepspace6.net/projects/ipv6calc.html;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/jwhois/default.nix b/pkgs/tools/networking/jwhois/default.nix
index 1d7932c7ad38..cd0821ef9ef5 100644
--- a/pkgs/tools/networking/jwhois/default.nix
+++ b/pkgs/tools/networking/jwhois/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
 
   patches = [ ./connect.patch ./service-name.patch ];
 
+  makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ];
+
   meta = {
     description = "A client for the WHOIS protocol allowing you to query the owner of a domain name";
     homepage = http://www.gnu.org/software/jwhois/;
diff --git a/pkgs/tools/networking/kea/default.nix b/pkgs/tools/networking/kea/default.nix
index f33fe7a7105c..67428664556a 100644
--- a/pkgs/tools/networking/kea/default.nix
+++ b/pkgs/tools/networking/kea/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "kea";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${name}.tar.gz";
-    sha256 = "0afiab6c8cw0w3m0l4hrc4g8bs9y3z59fdr16xnba01nn52mkl92";
+    sha256 = "14f32lsdd1824cx9a4l4pfbhq1d4jik6l6hxd911ihi64nzwvpvf";
   };
 
   patches = [ ./dont-create-var.patch ];
diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix
index fe8988dc41d9..140ea6860fc3 100644
--- a/pkgs/tools/networking/keepalived/default.nix
+++ b/pkgs/tools/networking/keepalived/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "keepalived-${version}";
-  version = "1.3.6";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "05088vv510dlflzyg8sh8l8qfscnvxl6n6pw9ycp27zhb6r5cr5y";
+    sha256 = "1d3jnfhj9mpnc27wvgsiz2vr4lnvvccw3v128z16jpyibyv20ph0";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix
index 1ce9f7cb3230..20e65c5ea3ca 100644
--- a/pkgs/tools/networking/lldpd/default.nix
+++ b/pkgs/tools/networking/lldpd/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "lldpd-${version}";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "https://media.luffy.cx/files/lldpd/${name}.tar.gz";
-    sha256 = "0kwck17cr2f1a395a8bfmj7fz1n4i1hv429cbdbkhff33glr9r4y";
+    sha256 = "1nq2z03hbs5qc3kdk3rdxcwcsrxilhcqx7xw3iipc4yj03shi7jy";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/networking/minissdpd/default.nix b/pkgs/tools/networking/minissdpd/default.nix
index 307b17a7a7c0..e81297e6dd82 100644
--- a/pkgs/tools/networking/minissdpd/default.nix
+++ b/pkgs/tools/networking/minissdpd/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://miniupnp.free.fr/files/;
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 3e3b4ec34a30..a623b9fbfe9d 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     homepage = http://miniupnp.free.fr/;
     description = "A daemon that implements the UPnP Internet Gateway Device (IGD) specification";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
index 7c22891ab7a3..8c9247013778 100644
--- a/pkgs/tools/networking/netcat-openbsd/default.nix
+++ b/pkgs/tools/networking/netcat-openbsd/default.nix
@@ -1,18 +1,18 @@
 {stdenv, fetchurl, pkgconfig, libbsd}:
 
 stdenv.mkDerivation rec {
-  version = "1.130";
-  deb-version = "${version}-3";
+  version = "1.187";
+  deb-version = "${version}-1";
   name = "netcat-openbsd-${version}";
 
   srcs = [
     (fetchurl {
       url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${version}.orig.tar.gz";
-      sha256 = "0nqy14yvclgzs98gv0fwp6jlfpfy2kk367zka648jiqbbl30awpx";
+      sha256 = "0sxsxl7n7hnxz931jqsp86cdwiq2lm4h3w0i2a67935pki924gxw";
     })
     (fetchurl {
       url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_${deb-version}.debian.tar.xz";
-      sha256 = "0f9409vjm6v8a7m1zf5sr7wj6v5v8414i5vvxx1r45c11h69hh9a";
+      sha256 = "0jwbdis6avxdjzg8bcab1bdz296rkzzkdlv50fr3q0277fxjs49q";
     })
   ];
 
@@ -20,11 +20,18 @@ stdenv.mkDerivation rec {
   buildInputs = [ libbsd ];
 
   sourceRoot = name;
-  patches = [ "../debian/patches/*.patch" ];
+
+  prePatch = ''
+    for i in $(cat ../debian/patches/series); do
+      patch -p1 < "../debian/patches/$i"
+    done
+  '';
 
   installPhase = ''
+    runHook preInstall
     install -Dm0755 nc $out/bin/nc
     install -Dm0644 nc.1 $out/share/man/man1/nc.1
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 6619d0a0f693..aca7643e7ac3 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -58,6 +58,5 @@ stdenv.mkDerivation rec {
     homepage = http://netsniff-ng.org/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index d0881c5ac5e5..f2c0bb13afe8 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
   name    = "${pname}-${major}.${minor}";
   pname   = "network-manager-applet";
   major   = "1.8";
-  minor   = "2";
+  minor   = "6";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry";
+    sha256 = "0c4wxwxpa7wlskvnqaqfa7mmc0c6a2pj7jcvymcchjnq4wn9wx01";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 6005314ea97b..b6201e308d9a 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
   pname   = "NetworkManager";
   major   = "1.10";
-  version = "${major}.0";
+  version = "${major}.2";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "1ph45rqpl8p9k4rirhss0hpf104clm8fp322p6kh6q75y06ddfwa";
+    sha256 = "0nv2jm2lsidlrzn4dkbc5rpj8ma4cpzjqz8z8dmwkqvh0zsk970n";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/networking/network-manager/iodine.nix b/pkgs/tools/networking/network-manager/iodine.nix
index 154b54952f2d..0cfc8bbba7db 100644
--- a/pkgs/tools/networking/network-manager/iodine.nix
+++ b/pkgs/tools/networking/network-manager/iodine.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
+  # Fixes deprecation errors with networkmanager 1.10.2
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
   configureFlags = [
     "${if withGnome then "--with-gnome" else "--without-gnome"}"
     "--disable-static"
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index f26571874644..365aec88a7d6 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
+  # Fixes deprecation errors with networkmanager 1.10.2
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
   preConfigure = ''
      substituteInPlace "configure" \
        --replace "/sbin/sysctl" "${procps}/bin/sysctl"
diff --git a/pkgs/tools/networking/ngrep/default.nix b/pkgs/tools/networking/ngrep/default.nix
index dcc0e8596e9f..ca5e0b7c4f5d 100644
--- a/pkgs/tools/networking/ngrep/default.nix
+++ b/pkgs/tools/networking/ngrep/default.nix
@@ -1,39 +1,35 @@
-{ stdenv, fetchurl, fetchpatch, libpcap, gnumake3, pcre }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libpcap, gnumake3, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "ngrep-1.45";
+  name = "ngrep-${version}";
+  version = "1.47";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/ngrep/${name}.tar.bz2";
-    sha256 = "19rg8339z5wscw877mz0422wbsadds3mnfsvqx3ihy58glrxv9mf";
+  src = fetchFromGitHub {
+    owner = "jpr5";
+    repo = "ngrep";
+    rev = "V${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7";
   };
 
   patches = [
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/users/rfrancoise/ngrep.git/plain/debian/patches/10_debian-build.diff?h=debian/1.45.ds2-14";
-      sha256 = "1p359k54xjbh6r0d0lv1l679n250wxk6j8yyz23gn54kwdc29zfy";
-    })
-    (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/users/rfrancoise/ngrep.git/plain/debian/patches/10_man-fixes.diff?h=debian/1.45.ds2-14";
-      sha256 = "1b66zfbsrsvg60j988i6ga9iif1c34fsbq3dp1gi993xy4va8m5k";
-    })
-    (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/users/rfrancoise/ngrep.git/plain/debian/patches/20_setlocale.diff?h=debian/1.45.ds2-14";
-      sha256 = "16xbmnmvw5sjidz2qhay68k3xad05g74nrccflavxbi0jba52fdq";
-    })
-    (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/users/rfrancoise/ngrep.git/plain/debian/patches/40_ipv6-offsets.diff?h=debian/1.45.ds2-14";
-      sha256 = "0fjlk1sav5nnjapvsa8mvdwjkhgm3kgc6dw7r9h1qx6d3b8cgl76";
+      url = "https://patch-diff.githubusercontent.com/raw/jpr5/ngrep/pull/11.patch";
+      sha256 = "0k5qzvj8j3r1409qwwvzp7m3clgs2g7hs4q68bhrqbrsvvb2h5dh";
     })
   ];
 
-  buildInputs = [ gnumake3 libpcap pcre ];
+  nativeBuildInputs = [ autoreconfHook gnumake3 ];
+  buildInputs = [ libpcap pcre ];
+
+  configureFlags = [
+    "--enable-ipv6"
+    "--enable-pcre"
+    "--disable-pcap-restart"
+    "--with-pcap-includes=${libpcap}/include"
+  ];
 
   preConfigure = ''
-    # Fix broken test for BPF header file
     sed -i "s|BPF=.*|BPF=${libpcap}/include/pcap/bpf.h|" configure
-
-    configureFlags="$configureFlags --enable-ipv6 --enable-pcre --disable-pcap-restart --with-pcap-includes=${libpcap}/include"
   '';
 
   meta = with stdenv.lib; {
@@ -47,7 +43,7 @@ stdenv.mkDerivation rec {
       null interfaces, and understands BPF filter logic in the same fashion as
       more common packet sniffing tools, such as tcpdump and snoop.
     '';
-    homepage = http://ngrep.sourceforge.net/;
+    homepage = https://github.com/jpr5/ngrep/;
     # <ngrep>/doc/README.txt says that ngrep itself is licensed under a
     # 'BSD-like' license but that the 'regex' library (in the ngrep tarball) is
     # GPLv2.
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 4295151516d8..86a029bcb3de 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -2,7 +2,7 @@
   asciidoc, libxml2, libxslt, docbook_xml_xslt }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "7.1.4";
+  version = "7.1.5";
   name = "offlineimap-${version}";
   namePrefix = "";
 
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "04y2bsgmxykkhcjh3540y2a43xrwfkzd7wks1wvl6av0vjaqa5gm";
+    sha256 = "0qm5vhzm8hkab2zs2l8ffg754wkws2nyd4pwb332v3zckf11flzd";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 663e7be7e5f3..1c135cd36f48 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -1,15 +1,12 @@
 { stdenv, fetchurl, fetchpatch, zlib, openssl, perl, libedit, pkgconfig, pam, autoreconfHook
 , etcDir ? null
 , hpnSupport ? false
-, withKerberos ? false
+, withKerberos ? true
 , withGssapiPatches ? false
 , kerberos
 , linkOpenssl? true
 }:
 
-assert withKerberos -> kerberos != null;
-assert withGssapiPatches -> withKerberos;
-
 let
 
   # **please** update this patch when you update to a new openssh release.
@@ -23,8 +20,6 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  # Please ensure that openssh_with_kerberos still builds when
-  # bumping the version here!
   name = "openssh-${version}";
   version = if hpnSupport then "7.5p1" else "7.6p1";
 
@@ -47,7 +42,7 @@ stdenv.mkDerivation rec {
       # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
       ./dont_create_privsep_path.patch
     ]
-    ++ optional withGssapiPatches gssapiPatch;
+    ++ optional withGssapiPatches (assert withKerberos; gssapiPatch);
 
   postPatch =
     # On Hydra this makes installation fail (sometimes?),
@@ -59,7 +54,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ zlib openssl libedit pam ]
     ++ optional withKerberos kerberos
-    ++ optional hpnSupport autoreconfHook;
+    ++ optional hpnSupport autoreconfHook
+    ;
 
   preConfigure = ''
     # Setting LD causes `configure' and `make' to disagree about which linker
@@ -78,7 +74,7 @@ stdenv.mkDerivation rec {
     "--disable-strip"
     (if pam != null then "--with-pam" else "--without-pam")
   ] ++ optional (etcDir != null) "--sysconfdir=${etcDir}"
-    ++ optional withKerberos "--with-kerberos5=${kerberos}"
+    ++ optional withKerberos (assert kerberos != null; "--with-kerberos5=${kerberos}")
     ++ optional stdenv.isDarwin "--disable-libutil"
     ++ optional (!linkOpenssl) "--without-openssl";
 
diff --git a/pkgs/tools/networking/pcapc/default.nix b/pkgs/tools/networking/pcapc/default.nix
index 28b1c961a3ff..71d1e6fa6d6e 100644
--- a/pkgs/tools/networking/pcapc/default.nix
+++ b/pkgs/tools/networking/pcapc/default.nix
@@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
     description = "Compile libpcap filter expressions into BPF opcodes";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/pingtcp/default.nix b/pkgs/tools/networking/pingtcp/default.nix
index 484eab3a221c..8fb9b066bf1c 100644
--- a/pkgs/tools/networking/pingtcp/default.nix
+++ b/pkgs/tools/networking/pingtcp/default.nix
@@ -26,6 +26,5 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/LanetNetwork/pingtcp;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/networking/pykms/default.nix b/pkgs/tools/networking/pykms/default.nix
index 97780d546e43..a0bac7854c1d 100644
--- a/pkgs/tools/networking/pykms/default.nix
+++ b/pkgs/tools/networking/pykms/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchFromGitHub, python2Packages, writeText, writeScript
+{ stdenv, fetchFromGitHub, python3Packages, writeText, writeScript
 , coreutils, sqlite }:
 
+with python3Packages;
+
 let
   dbSql = writeText "create_pykms_db.sql" ''
     CREATE TABLE clients(
@@ -27,21 +29,21 @@ let
     fi
   '');
 
-in python2Packages.buildPythonApplication rec {
+in buildPythonApplication rec {
   name = "pykms-${version}";
-  version = "20170719";
+  version = "20171224";
 
   src = fetchFromGitHub {
     owner  = "ThunderEX";
     repo   = "py-kms";
-    rev    = "27355d88affd740330174a7c2bae9f50b9efce56";
-    sha256 = "0cpywj73jmyijjc5hs3b00argjsdwpqzmhawbxkx3mc2l4sgzc88";
+    rev    = "885f67904f002042d7758e38f9c5426461c5cdc7";
+    sha256 = "155khy1285f8xkzi6bsqm9vzz043jsjmp039va1qsh675gz3q9ha";
   };
 
-  propagatedBuildInputs = with python2Packages; [ argparse pytz ];
+  propagatedBuildInputs = [ argparse pytz ];
 
   prePatch = ''
-    siteDir=$out/${python2Packages.python.sitePackages}
+    siteDir=$out/${python.sitePackages}
 
     substituteInPlace kmsBase.py \
       --replace "'KmsDataBase.xml'" "'$siteDir/KmsDataBase.xml'"
@@ -60,7 +62,7 @@ in python2Packages.buildPythonApplication rec {
     mv * $siteDir
     for b in client server ; do
       chmod 0755 $siteDir/$b.py
-      makeWrapper ${python2Packages.python.interpreter} $out/bin/$b.py \
+      makeWrapper ${python.interpreter} $out/bin/$b.py \
         --add-flags $siteDir/$b.py
     done
 
@@ -68,7 +70,7 @@ in python2Packages.buildPythonApplication rec {
 
     mv $siteDir/README.md $out/share/doc/pykms/
 
-    ${python2Packages.python.interpreter} -m compileall $siteDir
+    ${python.interpreter} -m compileall $siteDir
 
     runHook postInstall
   '';
diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix
index c188dd477fe1..93fc28b48bf2 100644
--- a/pkgs/tools/networking/siege/default.nix
+++ b/pkgs/tools/networking/siege/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "siege-4.0.2";
+  name = "siege-4.0.4";
 
   src = fetchurl {
     url = "http://download.joedog.org/siege/${name}.tar.gz";
-    sha256 = "0ivc6ah9n2888qgh8dicszhr3mjs42538lfx7dlhxvvvakwq3yvy";
+    sha256 = "0vzaj5nzb0fir2a4l7ghv3wa5d1nk2ss8gmwjb6bjavjplccyzcg";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index deac37468360..0d328c02d371 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -5,8 +5,10 @@ stdenv.mkDerivation rec {
   version = "5.44";
 
   src = fetchurl {
-    url    = "http://www.stunnel.org/downloads/${name}.tar.gz";
-    sha256 = "1692y69wl7j6yjgnrrzclgzb34bxsaxjzl1dfy47vms7pdfk42lr";
+    url    = "https://www.stunnel.org/downloads/${name}.tar.gz";
+    sha256 = "990a325dbb47d77d88772dd02fbbd27d91b1fea3ece76c9ff4461eca93f12299";
+    # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
+    # not the output of `nix-prefetch-url`
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 5c6920487b7d..324a58cf7edb 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = with stdenv.lib.maintainers; [ mornfall jgeerds ];
+    maintainers = with stdenv.lib.maintainers; [ jgeerds ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index b124352fd7b9..614447cd5ecf 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.6.7";
+  version = "1.6.8";
 
   src = fetchurl {
-    url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "17qwfmlls0w9kpkya3dlpn44b3kr87wsswzg3gawc13hh8yx8ysf";
+    url = "https://unbound.net/downloads/${name}.tar.gz";
+    sha256 = "0jfxhh4gc5amhndikskz1s7da27ycn442j3l20bm992n7zijid73";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 6a322f649ac4..0c37043de9bb 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.7";
+  version = "2.8";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "0fx964z73yv08b1lpymmjsigf6929zx9ax5bp34rcf2c5gk11l5m";
+    sha256 = "1nja7n6pc45azd3l1xyvav89855lvcgwabrvf34rps81dbl8cnl4";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index b6bbae65e695..b31ae93066ef 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -5,11 +5,11 @@
 , openssl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.19.2";
+  name = "wget-1.19.4";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.lz";
-    sha256 = "01yzal7xm85543x02bij3capnigr063d6c5vc039f8n5s9d796nm";
+    sha256 = "16jmcqcasx3q9k4azssryli9qyxfq0sfijw998g8zp58cnwzzh1g";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 30ecf617873a..6f37e88f4f6d 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.2.20";
+  version = "5.3.0";
   name = "whois-${version}";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "1aamasivfnghr9my1j6c1rf0dfal45axjcjf3mpv0g942bkxqp5b";
+    sha256 = "01pfl1ap62hc27574sx1a4yaaf7hr2zkksspn5z97sgacl6h1rnf";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/nix/info/default.nix b/pkgs/tools/nix/info/default.nix
index e60c4eecbaf6..cfdef4dd5613 100644
--- a/pkgs/tools/nix/info/default.nix
+++ b/pkgs/tools/nix/info/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation {
     cp ./nix-info $out/bin/nix-info
   '';
 
+  preferLocalBuild = true;
+
   meta = {
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 63431e29facb..99d59ae65de9 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dpkg-${version}";
-  version = "1.19.0.4";
+  version = "1.19.0.5";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-    sha256 = "02lrwrkl2g1jwj71088rwswx07a1zq1jkq7193lbvy8jj2qnp9lq";
+    sha256 = "1dc5kp3fqy1k66fly6jfxkkg7w6d0jy8szddpfyc2xvzga94d041";
   };
 
   configureFlags = [
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     homepage = https://wiki.debian.org/Teams/Dpkg;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ mornfall nckx ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
index 95280bf60b30..a2ff38ab3004 100644
--- a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
+++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
@@ -6,7 +6,7 @@ let mkPrefetchScript = tool: src: deps:
   stdenv.mkDerivation {
     name = "nix-prefetch-${tool}";
 
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
 
     unpackPhase = ":";
 
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 45f7ab665377..1e53f4509645 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -15,10 +15,22 @@ let
     enableStatic = true;
     enableMinimal = true;
     extraConfig = ''
+      CONFIG_FEATURE_FANCY_ECHO y
+      CONFIG_FEATURE_SH_MATH y
+      CONFIG_FEATURE_SH_MATH_64 y
+
       CONFIG_ASH y
-      CONFIG_ASH_BUILTIN_ECHO y
-      CONFIG_ASH_BUILTIN_TEST y
       CONFIG_ASH_OPTIMIZE_FOR_SIZE y
+
+      CONFIG_ASH_ALIAS y
+      CONFIG_ASH_BASH_COMPAT y
+      CONFIG_ASH_CMDCMD y
+      CONFIG_ASH_ECHO y
+      CONFIG_ASH_GETOPTS y
+      CONFIG_ASH_INTERNAL_GLOB y
+      CONFIG_ASH_JOB_CONTROL y
+      CONFIG_ASH_PRINTF y
+      CONFIG_ASH_TEST y
     '';
   };
 
@@ -26,7 +38,7 @@ let
     inherit name src;
     version = lib.getVersion name;
 
-    is112 = lib.versionAtLeast version "1.12pre";
+    is20 = lib.versionAtLeast version "2.0pre";
 
     VERSION_SUFFIX = lib.optionalString fromGit suffix;
 
@@ -34,14 +46,14 @@ let
 
     nativeBuildInputs =
       [ pkgconfig ]
-      ++ lib.optionals (!is112) [ perl ]
+      ++ lib.optionals (!is20) [ perl ]
       ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ];
 
     buildInputs = [ curl openssl sqlite xz ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
       ++ lib.optionals fromGit [ brotli ] # Since 1.12
       ++ lib.optional stdenv.isLinux libseccomp
-      ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is112)
+      ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is20)
           (aws-sdk-cpp.override {
             apis = ["s3"];
             customMemoryManagement = false;
@@ -65,11 +77,11 @@ let
         "--disable-init-state"
         "--enable-gc"
       ]
-      ++ lib.optionals (!is112) [
+      ++ lib.optionals (!is20) [
         "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
         "--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}"
         "--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}"
-      ] ++ lib.optionals (is112 && stdenv.isLinux) [
+      ] ++ lib.optionals (is20 && stdenv.isLinux) [
         "--with-sandbox-shell=${sh}/bin/busybox"
       ];
 
@@ -160,13 +172,13 @@ in rec {
   }) // { perl-bindings = nixStable; };
 
   nixUnstable = (lib.lowPrio (common rec {
-    name = "nix-unstable-1.12${suffix}";
-    suffix = "pre5849_74f75c85";
+    name = "nix-2.0${suffix}";
+    suffix = "pre5889_c287d731";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "74f75c855837bce7f48491e9ce8ac03794e5b40d";
-      sha256 = "1ch3v8rk1jf7yk9zd10fqgk11q63vjrk3mi2niv495zvkdjh4rf1";
+      rev = "c287d7312103bae5e154c0c4dd493371a22ea207";
+      sha256 = "1dwhz93dlk62prh3wfwf8vxfcqjdn21wk0ms65kf5r8ahkfgpgq4";
     };
     fromGit = true;
   })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
diff --git a/pkgs/tools/package-management/nixops/deps.nix b/pkgs/tools/package-management/nixops/deps.nix
new file mode 100644
index 000000000000..7da38f83e7fe
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/deps.nix
@@ -0,0 +1,20 @@
+[
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "b4142c444a8941d0d92b0b7103a24df9cd815e42";
+      sha256 = "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla";
+    };
+  }
+  {
+    goPackagePath = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "75229eecb7af00b2736e93b779a78429dcb19472";
+      sha256 = "1vsjy07kkyx11iz4qsihhykac3ddq3ywdgv6bwrv407504f7x6wl";
+    };
+  }
+]
diff --git a/pkgs/tools/package-management/nixops/nixops-dns.nix b/pkgs/tools/package-management/nixops/nixops-dns.nix
new file mode 100644
index 000000000000..afb0353e687d
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/nixops-dns.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, buildGoPackage
+, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "nixops-dns";
+  version = "1.0";
+
+  goDeps = ./deps.nix;
+  goPackagePath = "github.com/kamilchm/nixops-dns";
+
+  src = fetchFromGitHub {
+    owner = "kamilchm";
+    repo = "nixops-dns";
+    rev = "v${version}";
+    sha256 = "1fyqwk2knrv40zpf71a56bjyaycr3p6fzrqq7gaan056ydy83cai";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/kamilchm/nixops-dns/;
+    description = "DNS server for resolving NixOps machines";
+    license = licenses.mit;
+    maintainers = with maintainers; [ kamilchm sorki ];
+  };
+}
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index d4e6885d8f36..78ef19706d18 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.packagekit.org/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx matthewbauer ];
+    maintainers = with maintainers; [ matthewbauer ];
   };
 }
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index 25fcb8bc27e3..57581091f921 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.rpm.org/;
     license = licenses.gpl2;
     description = "The RPM Package Manager";
-    maintainers = with maintainers; [ mornfall copumpkin ];
+    maintainers = with maintainers; [ copumpkin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/bruteforce-luks/default.nix b/pkgs/tools/security/bruteforce-luks/default.nix
index 7b505722efaf..bcd0593e88f8 100644
--- a/pkgs/tools/security/bruteforce-luks/default.nix
+++ b/pkgs/tools/security/bruteforce-luks/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index 506d6fc3fce8..976c58eb1e32 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,44 +1,35 @@
-{ stdenv, fetchurl, fetchpatch, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
-, libmilter, pcre }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig
+, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl, libmilter, pcre
+}:
 
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.99.2";
+  version = "0.99.3";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
-    sha256 = "0yh2q318bnmf2152g2h1yvzgqbswn0wvbzb8p4kf7v057shxcyqn";
+    sha256 = "114f7qk3h0klgm0zzn2394n5spcn91vjc9mq6m03l2p0ls955yh0";
   };
 
-  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 ' ' '
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre
   ];
 
+  patches = [ ./fd-leak.patch ];
+
   configureFlags = [
     "--sysconfdir=/etc/clamav"
-    "--with-zlib=${zlib.dev}"
-    "--disable-zlib-vcheck" # it fails to recognize that 1.2.10 >= 1.2.2
     "--disable-llvm" # enabling breaks the build at the moment
-    "--with-libbz2-prefix=${bzip2.dev}"
-    "--with-iconv-dir=${libiconv}"
+    "--with-zlib=${zlib.dev}"
     "--with-xml=${libxml2.dev}"
     "--with-openssl=${openssl.dev}"
-    "--with-libncurses-prefix=${ncurses.dev}"
     "--with-libcurl=${curl.dev}"
-    "--with-pcre=${pcre.dev}"
     "--enable-milter"
   ];
 
@@ -51,7 +42,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom robberer qknight ];
+    maintainers = with maintainers; [ phreedom robberer qknight fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/clamav/fd-leak.patch b/pkgs/tools/security/clamav/fd-leak.patch
new file mode 100644
index 000000000000..2c147901e446
--- /dev/null
+++ b/pkgs/tools/security/clamav/fd-leak.patch
@@ -0,0 +1,49 @@
+--- a/libclamav/scanners.c	2018-01-26 16:59:00.820231425 +0100
++++ b/libclamav/scanners.c	2018-01-26 17:39:07.523633805 +0100
+@@ -1366,12 +1366,14 @@
+ 
+ 	if ((ret = cli_ac_initdata(&tmdata, troot?troot->ac_partsigs:0, troot?troot->ac_lsigs:0, troot?troot->ac_reloff_num:0, CLI_DEFAULT_AC_TRACKLEN))) {
+ 		free(tmpname);
++		free(normalized);
+ 		return ret;
+ 	}
+ 
+ 	if ((ret = cli_ac_initdata(&gmdata, groot->ac_partsigs, groot->ac_lsigs, groot->ac_reloff_num, CLI_DEFAULT_AC_TRACKLEN))) {
+ 		cli_ac_freedata(&tmdata);
+ 		free(tmpname);
++		free(normalized);
+ 		return ret;
+ 	}
+ 
+@@ -1390,6 +1392,7 @@
+ 				cli_errmsg("cli_scanscript: can't write to file %s\n",tmpname);
+ 				close(ofd);
+ 				free(tmpname);
++				free(normalized);
+ 				return CL_EWRITE;
+ 			}
+ 			text_normalize_reset(&state);
+@@ -1424,6 +1427,8 @@
+ 			if (ret) {
+ 				cli_ac_freedata(&tmdata);
+ 				free(tmpname);
++				free(normalized);
++				close(ofd);
+ 				return ret;
+ 			}
+ 		}
+@@ -1466,11 +1471,9 @@
+ 
+ 	}
+ 
+-	if(ctx->engine->keeptmp) {
+-		free(tmpname);
+-		if (ofd >= 0)
+-			close(ofd);
+-	}
++	if (ofd >= 0)
++		close(ofd);
++	free(tmpname);
+ 	free(normalized);
+ 
+ 	if(ret != CL_VIRUS || SCAN_ALL)  {
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index f26b2d3308b7..a11b70917c8d 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -57,7 +57,6 @@ stdenv.mkDerivation rec {
 
       and remove all ~/.pki and/or /etc/pki directories no longer needed.
     '';
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/eid-viewer/default.nix b/pkgs/tools/security/eid-viewer/default.nix
index d1b29e137df9..10cc314fe1db 100644
--- a/pkgs/tools/security/eid-viewer/default.nix
+++ b/pkgs/tools/security/eid-viewer/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
       Belgian electronic identity cards. Independent of the eid-mw package,
       which is required to actually use your eID for authentication or signing.
     '';
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/enchive/default.nix b/pkgs/tools/security/enchive/default.nix
index d045450f9480..8d4cc6ec3ca6 100644
--- a/pkgs/tools/security/enchive/default.nix
+++ b/pkgs/tools/security/enchive/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "enchive-${version}";
-  version = "3.3";
+  version = "3.4";
   src = fetchFromGitHub {
     owner = "skeeto";
     repo = "enchive";
     rev = version;
-    sha256 = "0i3b0v5dqz56m5ppzm3332yxkw17dxs2zpvf48769ljgjy74irfl";
+    sha256 = "0ssxbnsjx4mvaqimp5nzfixpxinhmi12z8lxdd8cj2361wbb54yk";
   };
 
   makeFlags = ["PREFIX=$(out)"];
diff --git a/pkgs/tools/security/eschalot/default.nix b/pkgs/tools/security/eschalot/default.nix
new file mode 100644
index 000000000000..d628a28023a4
--- /dev/null
+++ b/pkgs/tools/security/eschalot/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "eschalot";
+  version = "2018-01-19";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ReclaimYourPrivacy";
+    repo = pname;
+    rev = "56a967b62631cfd3c7ef68541263dbd54cbbc2c4";
+    sha256 = "1iw1jrydasm9dmgpcdimd8dy9n281ys9krvf3fd3dlymkgsj604d";
+  };
+
+  buildInputs = [ openssl ];
+
+  installPhase = ''
+    install -D -t $out/bin eschalot worgen
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tor hidden service name generator";
+    homepage = src.meta.homepage;
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index ca9cdcc8d6c0..a8de8742dd5c 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python, pythonPackages, gamin }:
 
-let version = "0.10.1"; in
+let version = "0.10.2"; in
 
 pythonPackages.buildPythonApplication {
   name = "fail2ban-${version}";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication {
     owner  = "fail2ban";
     repo   = "fail2ban";
     rev    = version;
-    sha256 = "05ngnjxrwvfdd233s5n2wd8w4ndkpgrgymlfzn6i2fjlwf4hdikj";
+    sha256 = "1asn9gp0ybz6fak991vki9vln4ijramvr13rbwpxyj5wfmnh05r5";
   };
 
   propagatedBuildInputs = [ gamin ]
diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix
index 6acaacd1467e..fa4555dcafb9 100644
--- a/pkgs/tools/security/gnupg/1.nix
+++ b/pkgs/tools/security/gnupg/1.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, readline, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.21";
+  name = "gnupg-1.4.22";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0xi2mshq8f6zbarb5f61c9w2qzwrdbjm4q8fqsrwlzc51h8a6ivb";
+    sha256 = "1d1hz4szh1kvwhsw7w2zxa6q5ndrk3qy6hj289l1b8k3xi5s554m";
   };
 
   buildInputs = [ readline bzip2 ];
diff --git a/pkgs/tools/security/kbfs/default.nix b/pkgs/tools/security/kbfs/default.nix
index ba024328ba5f..dbd372275bc3 100644
--- a/pkgs/tools/security/kbfs/default.nix
+++ b/pkgs/tools/security/kbfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kbfs-${version}";
-  version = "20171004.40555d";
+  version = "1.0.40";
 
   goPackagePath = "github.com/keybase/kbfs";
   subPackages = [ "kbfsfuse" "kbfsgit/git-remote-keybase" ];
@@ -12,8 +12,8 @@ buildGoPackage rec {
   src = fetchFromGitHub {
     owner = "keybase";
     repo = "kbfs";
-    rev = "40555dbc9c93a05f3a82053860df30e45c7bd779";
-    sha256 = "08wj8fh1ja8kfzvbza5csy9mpfy39lifnzvfrnbj7vyyv88qc3h0";
+    rev = "v${version}";
+    sha256 = "1bgbzk3ykjb6y5sa5i9f6hwcp8b21dndq7iw9m8fdxh4n4mm6n9p";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/keybase-gui/default.nix b/pkgs/tools/security/keybase-gui/default.nix
index ce98740e89bd..b0db3eea5b9e 100644
--- a/pkgs/tools/security/keybase-gui/default.nix
+++ b/pkgs/tools/security/keybase-gui/default.nix
@@ -37,10 +37,10 @@ let
 in
 stdenv.mkDerivation rec {
   name = "keybase-gui-${version}";
-  version = "1.0.33-20171003193427.d9ceb86ac";
+  version = "1.0.40-20180127033950.76a4b90c9";
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb";
-    sha256 = "0sqani2fy5jzqmz35md1bdw2vwpx91l87b6s3x9z53halzq7vfy6";
+    sha256 = "1pskmwif5nx32d53kz8vbijv61i50kpjwyy53a37rz5nx3hgj3ar";
   };
   phases = ["unpackPhase" "installPhase" "fixupPhase"];
   unpackPhase = ''
@@ -48,7 +48,8 @@ stdenv.mkDerivation rec {
     tar xf data.tar.xz
   '';
   installPhase = ''
-    mkdir -p $out/{bin,share}
+    mkdir -p $out/bin
+    mv usr/share $out/share
     mv opt/keybase $out/share/
 
     cat > $out/bin/keybase-gui <<EOF
@@ -78,6 +79,9 @@ stdenv.mkDerivation rec {
     exec $out/share/keybase/Keybase "\$@"
     EOF
     chmod +x $out/bin/keybase-gui
+
+    substituteInPlace $out/share/applications/keybase.desktop \
+      --replace run_keybase $out/bin/keybase-gui
   '';
   postFixup = ''
     patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "${libPath}:\$ORIGIN" "$out/share/keybase/Keybase"
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 7f095a3225bb..c221a46d5f96 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  version = "1.0.33";
+  version = "1.0.40";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner  = "keybase";
     repo   = "client";
     rev    = "v${version}";
-    sha256 = "1zgvriyir2ga0p4ah9ia1sbl9ydnrnw5ggq4c1ya8gcfgn8vzdsf";
+    sha256 = "05x0h87dinl8zaqikr1sx38bv1n6ymxqp440b384d8y76w66rphi";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
index 8d2ac2af010c..3776c883ac71 100644
--- a/pkgs/tools/security/kpcli/default.nix
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
     chmod +x $out/bin/kpcli
 
     wrapProgram $out/bin/kpcli --set PERL5LIB \
-      "${with perlPackages; stdenv.lib.makePerlPath [
+      "${with perlPackages; stdenv.lib.makePerlPath ([
          CaptureTiny Clipboard Clone CryptRijndael SortNaturally TermReadKey TermShellUI FileKeePass TermReadLineGnu XMLParser
-      ]}"
+      ] ++ stdenv.lib.optional stdenv.isDarwin MacPasteboard)}"
   '';
 
 
diff --git a/pkgs/tools/security/mktemp/default.nix b/pkgs/tools/security/mktemp/default.nix
index 8b2a60fd7657..a2a4f82f652c 100644
--- a/pkgs/tools/security/mktemp/default.nix
+++ b/pkgs/tools/security/mktemp/default.nix
@@ -1,16 +1,21 @@
 { stdenv, fetchurl, groff }:
 
 stdenv.mkDerivation {
-  name = "mktemp-1.6";
+  name = "mktemp-1.7";
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
 
+  # Don't use "install -s"
+  postPatch = ''
+    substituteInPlace Makefile.in --replace " 0555 -s " " 0555 "
+  '';
+
   src = fetchurl {
-    url = ftp://ftp.mktemp.org/pub/mktemp/mktemp-1.6.tar.gz;
-    sha256 = "1nfj89b0dv1c2fyqi1pg54fyzs3462cbp7jv7lskqsxvqy4mh9x1";
+    url = ftp://ftp.mktemp.org/pub/mktemp/mktemp-1.7.tar.gz;
+    sha256 = "0x969152znxxjbj7387xb38waslr4yv6bnj5jmhb4rpqxphvk54f";
   };
-  
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 45f995a59350..3d31596a43fc 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -58,6 +58,6 @@ in stdenv.mkDerivation rec {
     homepage    = http://www.nmap.org;
     license     = licenses.gpl2;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ mornfall thoughtpolice fpletz ];
+    maintainers = with maintainers; [ thoughtpolice fpletz ];
   };
 }
diff --git a/pkgs/tools/security/nmap/qt.nix b/pkgs/tools/security/nmap/qt.nix
new file mode 100644
index 000000000000..c15d9bf25283
--- /dev/null
+++ b/pkgs/tools/security/nmap/qt.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, cmake, pkgconfig, makeWrapper
+, dnsutils, nmap
+, qtbase, qtscript, qtwebkit }:
+
+stdenv.mkDerivation rec {
+  name = "nmapsi4-${version}";
+  version = "0.5-alpha1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/nmapsi/${name}.tar.xz";
+    sha256 = "18v9a3l2nmij3gb4flscigxr5c44nphkjfmk07qpyy73fy61mzrs";
+  };
+
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
+
+  buildInputs = [ qtbase qtscript qtwebkit ];
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    for f in \
+      src/platform/digmanager.cpp \
+      src/platform/discover.cpp \
+      src/platform/monitor/monitor.cpp \
+      src/platform/nsemanager.cpp ; do
+
+      substituteInPlace $f \
+        --replace '"dig"'   '"${dnsutils}/bin/dig"'\
+        --replace '"nmap"'  '"${nmap}/bin/nmap"' \
+        --replace '"nping"' '"${nmap}/bin/nping"'
+    done
+  '';
+
+  postInstall = ''
+    mv $out/share/applications/kde4/*.desktop $out/share/applications
+    rmdir $out/share/applications/kde4
+
+    for f in $out/share/applications/* ; do
+      substituteInPlace $f \
+        --replace Qt4                   Qt5 \
+        --replace Exec=nmapsi4          Exec=$out/bin/nmapsi4 \
+        --replace "Exec=kdesu nmapsi4" "Exec=kdesu $out/bin/nmapsi4"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt frontend for nmap";
+    homepage    = https://www.nmapsi4.org/;
+    license     = licenses.gpl2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
index e33c680b4578..68c3edc4cd25 100644
--- a/pkgs/tools/security/rhash/default.nix
+++ b/pkgs/tools/security/rhash/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   # * .h files installed for static library target only
   # * .so.0 -> .so link only created in the static library install target
   buildPhase = ''
-    make lib-shared lib-static build-shared CC=cc PREFIX=$out
+    make lib-shared lib-static build-shared CC=$CC AR=$AR PREFIX=$out
   '';
 
   # we don't actually want the static library, so we remove it after it
diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix
index 3ec6abc3eb1c..fc7639b1d5a7 100644
--- a/pkgs/tools/security/signing-party/default.nix
+++ b/pkgs/tools/security/signing-party/default.nix
@@ -14,12 +14,12 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "signing-party";
-  version = "2.6";
+  version = "2.7";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/s/${pname}/${pname}_${version}.orig.tar.gz";
-    sha256 = "1n5bpcfpl9vg1xp6r1jhbyahrgdyxp05b5pria1rh4m0qnv8sifr";
+    sha256 = "0znklgvxn7k7p6q7r8chcj86zmzildjamr3qlqfxkj5m7yziqr21";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 65377538fc16..d03c387a7c6c 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, coreutils, binutils-unwrapped }:
+{ stdenv, fetchFromGitHub, makeWrapper, coreutils, binutils-unwrapped }:
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.31";
+  version = "0.34";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "14g5q2prd5w2zhwi7sr9pnalakd87zkvxk0vrzw4cv3x71d44nk2";
+    sha256 = "0jlqxzii883yl5iqmywqqqjlhgswn033566a3vpspycj3sr8zrd2";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index 960d11521a74..8674de1fceed 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec {
       target network (though it does require Python 2 at both ends).
       Works with Linux and Mac OS and supports DNS tunneling.
     '';
-    maintainers = with maintainers; [ domenkozar nckx ];
+    maintainers = with maintainers; [ domenkozar ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index 87fda1467f0d..782341923fab 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "sslscan-${version}";
-  version = "1.11.10";
+  version = "1.11.11";
 
   src = fetchFromGitHub {
     owner = "rbsec";
     repo = "sslscan";
     rev = "${version}-rbsec";
-    sha256 = "1bxr7p7nhg4b8wkcm7j2xk10gf370sqcvl06vbgnqd3azp55fhpf";
+    sha256 = "0k1agdz52pdgihwfwbygp0mlwkf757vcwhvwc0mrz606l2wbmwmr";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 1238a9207603..5192f57582c7 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.21p2";
+  name = "sudo-1.8.22";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0s33szq6q59v5s377l4v6ybsdy7pfq6sz7y364j4x09ssdn79ibl";
+    sha256 = "00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/theharvester/default.nix b/pkgs/tools/security/theharvester/default.nix
new file mode 100644
index 000000000000..f1bac7adba10
--- /dev/null
+++ b/pkgs/tools/security/theharvester/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, makeWrapper, python2Packages, fetchFromGitHub, python2 }:
+
+stdenv.mkDerivation rec {
+  pname = "theHarvester";
+  version = "2.7.1";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "laramies";
+    repo = "${pname}";
+    rev = "25553762d2d93a39083593adb08a34d5f5142c60";
+    sha256 = "0gnm598y6paz0knwvdv1cx0w6ngdbbpzkdark3q5vs66yajv24w4";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  # add dependencies
+  propagatedBuildInputs = [ python2Packages.requests ];
+
+  installPhase = ''
+    # create dirs
+    mkdir -p $out/share/${pname} $out/bin
+
+    # move project code
+    mv * $out/share/${pname}/
+
+    # make project runnable
+    chmod +x $out/share/${pname}/theHarvester.py
+    ln -s $out/share/${pname}/theHarvester.py $out/bin
+
+    wrapProgram "$out/bin/theHarvester.py" --prefix PYTHONPATH : $out/share/${pname}:$PYTHONPATH
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gather E-mails, subdomains and names from different public sources";
+    homepage = "https://github.com/laramies/theHarvester";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ treemo ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index ee1b9d844706..166f20dd7d6d 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.0";
+  version = "3.7.1";
   name = "yara-${version}";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "1giq5677j0vh5vw0nsv5qcqddcif6jckqaxyqg13j0j54n1p6xyj";
+    sha256 = "05smkn4ii8irx6ccnzrhwa39pkmrjyxjmfrwh6mhdd8iz51v5cgz";
   };
 
   # FIXME: this is probably not the right way to make it work
diff --git a/pkgs/tools/system/augeas/default.nix b/pkgs/tools/system/augeas/default.nix
index fb1806b850e1..93ce48644634 100644
--- a/pkgs/tools/system/augeas/default.nix
+++ b/pkgs/tools/system/augeas/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "augeas-${version}";
-  version = "1.8.1";
+  version = "1.10.1";
 
   src = fetchurl {
     url = "http://download.augeas.net/${name}.tar.gz";
-    sha256 = "1yf93fqwav1zsl8dpyfkf0g11w05mmfckqy6qsjy5zkklnspbkv5";
+    sha256 = "0k9nssn7lk58cl5zv3c8kv2zx9cm2yks3sj7q4fd6qdjz9m2bnsj";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ readline libxml2 ];
diff --git a/pkgs/tools/system/awstats/default.nix b/pkgs/tools/system/awstats/default.nix
index 9f0e50642acc..aaf5bf136cb5 100644
--- a/pkgs/tools/system/awstats/default.nix
+++ b/pkgs/tools/system/awstats/default.nix
@@ -41,6 +41,9 @@ perlPackages.buildPerlPackage rec {
     mv wwwroot "$out/wwwroot"
     rm -r "$out/wwwroot/classes/src/"
 
+    mkdir -p "$out/share/awstats"
+    mv tools "$out/share/awstats/tools"
+
     mkdir -p "$bin/bin"
     ln -s "$out/wwwroot/cgi-bin/awstats.pl" "$bin/bin/awstats"
 
diff --git a/pkgs/tools/system/cron/default.nix b/pkgs/tools/system/cron/default.nix
index 4a8babfd6302..d6347798053b 100644
--- a/pkgs/tools/system/cron/default.nix
+++ b/pkgs/tools/system/cron/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation {
   preBuild = ''
     # do not set sticky bit in /nix/store 
     substituteInPlace Makefile --replace ' -o root' ' ' --replace 111 755 --replace 4755 0755
-    makeFlags="DESTROOT=$out CC=cc"
+    # do not strip during install, broken on cross and we'll do ourselves as needed
+    substituteInPlace Makefile --replace ' -s cron' ' cron'
+    makeFlags="DESTROOT=$out CC=$CC"
 
     # We want to ignore the $glibc/include/paths.h definition of
     # sendmail path.
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index b74f99484184..57cbb44cebff 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "facter-${version}";
-  version = "3.9.0";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
-    sha256 = "1picxrmvka57ph4zqgwqdsqvz3mqppg41wkj8dx37hscwwlbdw0s";
+    sha256 = "1qd0xsw49nbj22czddxk90di31gx43hacvnmh08gp3001a8g0qcj";
     rev = version;
     repo = "facter";
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/foremost/default.nix b/pkgs/tools/system/foremost/default.nix
index 0114c1d41ff6..b3048f2fcb7f 100644
--- a/pkgs/tools/system/foremost/default.nix
+++ b/pkgs/tools/system/foremost/default.nix
@@ -35,6 +35,5 @@ stdenv.mkDerivation rec {
     homepage = http://foremost.sourceforge.net/;
     license = licenses.publicDomain;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index de6c91518654..fd70dce4edf3 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,15 +1,15 @@
-{ fetchurl, stdenv, libgcrypt, readline }:
+{ fetchurl, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.5";
+  version = "1.6.1";
   name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "0lzzvhzbdl1cxin4xz3lirqxsjwmjr5ac0qr4g21cqsv2j6vj85f";
+    sha256 = "0jdm1nwsnkj0nzjmcqprmjk25449mhjj25khwzpq3mpjw440wmd2";
   };
 
-  buildInputs = [ libgcrypt readline ];
+  buildInputs = [ libgcrypt readline libgpgerror ];
 
   doCheck = true;
 
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index f5ab6276c818..f9fba2dde91d 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
     description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
     license = licenses.gpl2;
     homepage = http://www.rodsbooks.com/gdisk/;
-    maintainers = with maintainers; [ nckx ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index ea062115402d..57e3e63ca896 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "1.3-4";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/cgit/rpms/hardlink.git/snapshot/hardlink-aa6325ac4e8100b8ac7d38c7f0bc2708e69bd855.tar.xz";
+    url = "http://src.fedoraproject.org/cgit/rpms/hardlink.git/snapshot/hardlink-aa6325ac4e8100b8ac7d38c7f0bc2708e69bd855.tar.xz";
     sha256 = "0g4hyrnd9hpykbf06qvvp3s4yyk7flbd95gilkf7r3w9vqiagvs2";
   };
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Consolidate duplicate files via hardlinks";
     homepage = https://pagure.io/hardlink;
-    repositories.git = http://pkgs.fedoraproject.org/cgit/rpms/hardlink.git;
+    repositories.git = http://src.fedoraproject.org/cgit/rpms/hardlink.git;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix
index 76d659efc52d..992067da50f4 100644
--- a/pkgs/tools/system/htop/default.nix
+++ b/pkgs/tools/system/htop/default.nix
@@ -1,24 +1,29 @@
 { lib, fetchurl, stdenv, ncurses,
-IOKit }:
+IOKit, python }:
 
 stdenv.mkDerivation rec {
   name = "htop-${version}";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchurl {
-    sha256 = "11zlwadm6dpkrlfvf3z3xll26yyffa7qrxd1w72y1kl0rgffk6qp";
     url = "http://hisham.hm/htop/releases/${version}/${name}.tar.gz";
+    sha256 = "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j";
   };
 
+  nativeBuildInputs = [ python ];
   buildInputs =
     [ ncurses ] ++
     lib.optionals stdenv.isDarwin [ IOKit ];
 
+  prePatch = ''
+    patchShebangs scripts/MakeHeader.py
+  '';
+
   meta = with stdenv.lib; {
     description = "An interactive process viewer for Linux";
     homepage = https://hisham.hm/htop/;
     license = licenses.gpl2Plus;
     platforms = with platforms; linux ++ freebsd ++ openbsd ++ darwin;
-    maintainers = with maintainers; [ rob relrod nckx ];
+    maintainers = with maintainers; [ rob relrod ];
   };
 }
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 1139c49ddf80..3cd00b3394cf 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ zlib kmod which ];
 
-  makeFlags = "SHARED=yes PREFIX=\${out}";
+  makeFlags = [ "SHARED=yes" "PREFIX=\${out}" "STRIP=" "HOST=${stdenv.hostPlatform.system}" "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ];
 
   installTargets = "install install-lib";
 
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
index 8cf7f81381ff..d75be0ff5bce 100644
--- a/pkgs/tools/system/proot/default.nix
+++ b/pkgs/tools/system/proot/default.nix
@@ -40,7 +40,7 @@
     description = "User-space implementation of chroot, mount --bind and binfmt_misc";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ianwookim nckx makefu ];
+    maintainers = with maintainers; [ ianwookim makefu ];
   };
 })
 (if stdenv.isAarch64 then rec {
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index b63d60633c3d..c4347da44607 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,16 +1,23 @@
-{ stdenv, fetchurl, libewf, afflib, openssl, zlib }:
+{ stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.0";
+  version = "4.5.0";
   name = "sleuthkit-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/sleuthkit/${name}.tar.gz";
-    sha256 = "08s7c1jwn2rjq2jm8859ywaiq12adrl02m61hc04iblqjzqqgcli";
+  src = fetchFromGitHub {
+    owner = "sleuthkit";
+    repo = "sleuthkit";
+    rev = name;
+    sha256 = "0h9l9yl5ibbgriq12gizg8k0r6jw6bnii3iljjp4p963wc0ms9b9";
   };
 
+  postPatch = ''
+    substituteInPlace tsk/img/ewf.c --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
+  '';
+
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libewf afflib openssl zlib ];
 
   # Hack to fix the RPATH.
@@ -18,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A forensic/data recovery tool";
+    homepage = https://www.sleuthkit.org/;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.ipl10;
diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream
deleted file mode 100644
index f8ffe9352ede..000000000000
--- a/pkgs/tools/system/sleuthkit/default.upstream
+++ /dev/null
@@ -1,5 +0,0 @@
-url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/
-SF_version_dir
-SF_version_tarball
-SF_redirect
-minimize_overwrite
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index cdc7122fcc4b..22080db908cc 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -40,6 +40,5 @@ stdenv.mkDerivation rec {
     downloadPage = http://kernel.ubuntu.com/~cking/tarballs/stress-ng/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/system/suid-chroot/default.nix b/pkgs/tools/system/suid-chroot/default.nix
index ebedf5f544e6..f407be7c5854 100644
--- a/pkgs/tools/system/suid-chroot/default.nix
+++ b/pkgs/tools/system/suid-chroot/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Setuid-safe wrapper for chroot";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nckx ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/tools/system/supervise/default.nix b/pkgs/tools/system/supervise/default.nix
index b6e0700e47f9..c264b73b5023 100644
--- a/pkgs/tools/system/supervise/default.nix
+++ b/pkgs/tools/system/supervise/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "supervise-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchzip {
     url = "https://github.com/catern/supervise/releases/download/v${version}/supervise-${version}.tar.gz";
-    sha256 = "0i20znchvydk8ww31ka4b0wjkaizz38racwgvqj32idwhqgar5x2";
+    sha256 = "07v3197nf3jbx2w6jxzyk9b8p5qjj9irpr4jvv5lkfbi7s6rav3k";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index 11066dfd5939..b9467902c1f4 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     license = stdenv.lib.licenses.gpl3;
     homepage = http://thinkfan.sourceforge.net/;
-    maintainers = with stdenv.lib.maintainers; [ domenkozar nckx ];
+    maintainers = with stdenv.lib.maintainers; [ domenkozar ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/aha/default.nix b/pkgs/tools/text/aha/default.nix
index 7382078f114f..d8c42a0f20d2 100644
--- a/pkgs/tools/text/aha/default.nix
+++ b/pkgs/tools/text/aha/default.nix
@@ -23,6 +23,5 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/theZiz/aha;
     license = with licenses; [ lgpl2Plus mpl11 ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 381dc8dd4577..c46f96241551 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -22,6 +22,5 @@ stdenv.mkDerivation rec {
     homepage = https://www.colordiff.org/;
     license = licenses.gpl3;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index 37447d0fb2ae..2af9baeb5c51 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python27Packages }:
 
 python27Packages.buildPythonApplication rec {
-  version = "2.16.0";
+  version = "2.22.0";
   name = "fanficfare-${version}";
   nameprefix = "";
 
   src = fetchurl {
     url = "https://github.com/JimmXinu/FanFicFare/archive/v${version}.tar.gz";
-    sha256 = "0c31z7w4b3wz5nahsmnfhvp3srprfsqbp3zyngw4cqw3dm17kvvi";
+    sha256 = "1gwr2qk0wff8f69w21ffj6cq8jklqd89vcdhhln6ii1h1kf8k031";
   };
 
   propagatedBuildInputs = with python27Packages; [ beautifulsoup4 chardet html5lib html2text ];
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 90d7c2f4aa81..1fcfdd85e7ae 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "highlight-${version}";
-  version = "3.41";
+  version = "3.42";
 
   src = fetchFromGitHub {
     owner = "andre-simon";
     repo = "highlight";
     rev = "${version}";
-    sha256 = "163ghkyv3v6v200pskajlsz6sbq3hi31qx7abjcbwc0dajqfngvj";
+    sha256 = "1fxx827igzqjn5rri57b8980hnd3ixz3j7smfxwi1ivfhlfznzgr";
   };
 
   nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin  gcc ;
diff --git a/pkgs/tools/text/hyx/default.nix b/pkgs/tools/text/hyx/default.nix
new file mode 100644
index 000000000000..1ba3534e3f8a
--- /dev/null
+++ b/pkgs/tools/text/hyx/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "hyx-0.1.4";
+
+  src = fetchurl {
+    url = "https://yx7.cc/code/hyx/${name}.tar.xz";
+    sha256 = "049r610hyrrfa62vpiqyb3rh99bpy8cnqy4nd4sih01733cmdhyx";
+  };
+
+  installPhase = ''
+    install -vD hyx $out/bin/hyx
+  '';
+
+  meta = with lib; {
+    description = "minimalistic but powerful Linux console hex editor";
+    homepage = https://yx7.cc/code/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix
index f494f1911593..02b57ee3a13b 100644
--- a/pkgs/tools/typesetting/asciidoctor/default.nix
+++ b/pkgs/tools/typesetting/asciidoctor/default.nix
@@ -1,12 +1,18 @@
-{ stdenv, lib, bundlerEnv, ruby, curl }:
-
-bundlerEnv {
-  pname = "asciidoctor";
+{ stdenv, lib, bundlerApp, ruby, curl }:
 
+bundlerApp {
   inherit ruby;
-
+  pname = "asciidoctor";
   gemdir = ./.;
 
+  exes = [
+    "asciidoctor"
+    "asciidoctor-bespoke"
+    "asciidoctor-latex"
+    "asciidoctor-pdf"
+    "asciidoctor-safe"
+  ];
+
   meta = with lib; {
     description = "A faster Asciidoc processor written in Ruby";
     homepage = http://asciidoctor.org/;
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 847477809406..9a7dac0a0ca1 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.7";
+  version = "0.9.8";
   name = "pdf2djvu-${version}";
 
   src = fetchurl {
     url = "https://github.com/jwilk/pdf2djvu/releases/download/${version}/${name}.tar.xz";
-    sha256 = "1h92f9prx69wz9h57lncxj8ddh2xg6q7hjhlqqzzf30k59il4zcy";
+    sha256 = "0kc3n4lm9dd13w66ng7l637ha241q89xrv9da0wzsdg6v0gp6ifg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index a6b1ac6c9f42..dc8f0908ea89 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -37,8 +37,10 @@ let
     /* # beware: the URL below changes contents continuously
       curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
         | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix */
-    orig = import ./pkgs.nix tl; # XXX XXX XXX FIXME: the file is probably too big now XXX XXX XXX XXX XXX XXX
-    removeSelfDep = lib.mapAttrs (n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; } else p);
+    orig = import ./pkgs.nix tl;
+    removeSelfDep = lib.mapAttrs
+      (n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; }
+                         else p);
     clean = removeSelfDep (orig // {
       # overrides of texlive.tlpdb
 
@@ -112,6 +114,10 @@ let
       urls = args.urls or (if args ? url then [ args.url ] else
               map (up: "${up}/${urlName}.tar.xz") urlPrefixes
             );
+
+      # Upstream refuses to distribute stable tarballs, so we host snapshots on IPFS.
+      # Common packages should get served from the binary cache anyway.
+      # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
       urlPrefixes = args.urlPrefixes or [
         http://146.185.144.154/texlive-2017
         # IPFS GW is second, as it doesn't have a good time-outing behavior
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index 25752afd995b..5e5f76975bae 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -34,16 +34,6 @@ let
           };
         });
 
-      pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
-        version = "0.5.0";
-
-        src = super.fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          sha256 = "07yx1gxj9v1iyyiy5fhq2wsmh4qfbrx158wi7jb0nx6lah80ffma";
-        };
-      });
-
       requests = super.requests.overridePythonAttrs (oldAttrs: rec {
         version = "2.9.1";
 
@@ -77,11 +67,11 @@ let
 in with localPython.pkgs; buildPythonApplication rec {
   name = "${pname}-${version}";
   pname = "awsebcli";
-  version = "3.12.1";
+  version = "3.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12v3zz69iql4ggiz9x7h27vyq9y9jlm46yczxyg62j89m2iyr5bl";
+    sha256 = "19sgx43fyq35rqp0q8zbqavgg0k0n46iy1fqsxvw9lf0g0v62pjh";
   };
 
   checkInputs = [
diff --git a/pkgs/tools/virtualization/udocker/default.nix b/pkgs/tools/virtualization/udocker/default.nix
new file mode 100644
index 000000000000..cad6b9866171
--- /dev/null
+++ b/pkgs/tools/virtualization/udocker/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, proot, patchelf, fakechroot, runc, simplejson, pycurl, coreutils, nose, mock, buildPythonApplication }:
+
+buildPythonApplication rec {
+
+  version = "1.1.1";
+  pname = "udocker";
+
+  src = fetchFromGitHub rec {
+    owner = "indigo-dc";
+    repo = "udocker" ;
+    rev = "v${version}";
+    sha256 = "134xk7rfj0xki9znryk5qf1nsfa318ahrrsi1k6ia7kipp7i3hb4";
+  };
+
+  buildInputs = [ proot patchelf fakechroot runc simplejson pycurl coreutils nose mock ];
+
+  postPatch = ''
+      substituteInPlace udocker.py --replace /usr/sbin:/sbin:/usr/bin:/bin $PATH
+      substituteInPlace udocker.py --replace /bin/chmod ${coreutils}/bin/chmod
+      substituteInPlace udocker.py --replace /bin/rm ${coreutils}/bin/rm
+      substituteInPlace tests/unit_tests.py --replace /bin/rm ${coreutils}/bin/rm
+      substituteInPlace udocker.py --replace "autoinstall = True" "autoinstall = False"
+  '';
+
+  checkPhase = ''
+    NOSE_EXCLUDE=test_03_create_repo,test_04_is_repo,test_02__get_group_from_host nosetests -v tests/unit_tests.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "basic user tool to execute simple docker containers in user space without root privileges";
+    homepage = https://www.gitbook.com/book/indigo-dc/udocker;
+    license = licenses.asl20;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index f0054b9841b8..68c4a3c4acb5 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -24,7 +24,11 @@ in
   ### Deprecated aliases - for backward compatibility
 
 mapAliases (rec {
-  accounts-qt = libsForQt5.accounts-qt;  # added 2015-12-19
+  _2048-in-terminal = "2048-in-terminal"; # added 2017-01-16
+  _2bwm = "2bwm"; # added 2017-01-16
+  _389-ds-base = "389-ds-base"; # added 2017-01-16
+  _90secondportraits = "90secondsportraits"; # added 2017-01-16
+  accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
   adobeReader = adobe-reader; # added 2013-11-04
   aircrackng = aircrack-ng; # added 2016-01-14
   ammonite-repl = ammonite; # added 2017-05-02
@@ -79,7 +83,6 @@ mapAliases (rec {
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
   idea = jetbrains; # added 2017-04-03
-  inherit (haskell.compiler) uhc;   # 2015-05-15
   inotifyTools = inotify-tools;
   joseki = apache-jena-fuseki; # added 2016-02-28
   jquery_ui = jquery-ui;  # added 2014-09-07
@@ -94,6 +97,7 @@ mapAliases (rec {
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
   libcap_progs = libcap.out; # added 2016-04-29
+  libgumbo = gumbo; # added 2018-01-21
   libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28
   libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient
   libtidy = html-tidy;  # added 2014-12-21
@@ -142,6 +146,7 @@ mapAliases (rec {
   rdmd = dtools;  # added 2017-08-19
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
+  openssh_with_kerberos = openssh; # added 2018-01-28
   rubygems = throw "deprecated 2016-03-02: rubygems is now bundled with ruby";
   rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9393a1f17ff4..e44e534b52ca 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -79,6 +79,10 @@ with pkgs;
     { deps = [ autoconf264 automake111x gettext libtool ]; }
     ../build-support/setup-hooks/autoreconf.sh;
 
+  autoPatchelfHook = makeSetupHook
+    { deps = [ file ]; }
+    ../build-support/setup-hooks/auto-patchelf.sh;
+
   ensureNewerSourcesHook = { year }: makeSetupHook {}
     (writeScript "ensure-newer-sources-hook.sh" ''
       postUnpackHooks+=(_ensureNewerSources)
@@ -414,6 +418,8 @@ with pkgs;
 
   aescrypt = callPackage ../tools/misc/aescrypt { };
 
+  afew = callPackage ../applications/networking/mailreaders/afew { pythonPackages = python3Packages; };
+
   afio = callPackage ../tools/archivers/afio { };
 
   afl = callPackage ../tools/security/afl {
@@ -841,6 +847,8 @@ with pkgs;
 
   buildtorrent = callPackage ../tools/misc/buildtorrent { };
 
+  bustle = haskellPackages.bustle;
+
   bwm_ng = callPackage ../tools/networking/bwm-ng { };
 
   byobu = callPackage ../tools/misc/byobu {
@@ -1095,6 +1103,8 @@ with pkgs;
 
   envconsul = callPackage ../tools/system/envconsul { };
 
+  eschalot = callPackage ../tools/security/eschalot { };
+
   esptool = callPackage ../tools/misc/esptool { };
 
   esptool-ck = callPackage ../tools/misc/esptool-ck { };
@@ -1103,6 +1113,8 @@ with pkgs;
 
   et = callPackage ../applications/misc/et {};
 
+  eternal-terminal = callPackage ../tools/networking/eternal-terminal {};
+
   f3 = callPackage ../tools/filesystems/f3 { };
 
   fac = callPackage ../development/tools/fac { };
@@ -1185,6 +1197,8 @@ with pkgs;
 
   gringo = callPackage ../tools/misc/gringo { scons = scons_2_5_1; };
 
+  grobi = callPackage ../tools/X11/grobi { };
+
   gti = callPackage ../tools/misc/gti { };
 
   heatseeker = callPackage ../tools/misc/heatseeker { };
@@ -1201,6 +1215,8 @@ with pkgs;
 
   hr = callPackage ../applications/misc/hr { };
 
+  hyx = callPackage ../tools/text/hyx { };
+
   icdiff = callPackage ../tools/text/icdiff {};
 
   interlock = callPackage ../servers/interlock {};
@@ -1221,6 +1237,8 @@ with pkgs;
 
   iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
 
+  ipvsadm = callPackage ../os-specific/linux/ipvsadm { };
+
   lynis = callPackage ../tools/security/lynis { };
 
   mathics = pythonPackages.mathics;
@@ -1715,7 +1733,7 @@ with pkgs;
 
   curl = callPackage ../tools/networking/curl rec {
     fetchurl = fetchurlBoot;
-    http2Support = !stdenv.isDarwin;
+    http2Support = true;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
@@ -1799,6 +1817,8 @@ with pkgs;
 
   dev86 = callPackage ../development/compilers/dev86 { };
 
+  diskrsync = callPackage ../tools/backup/diskrsync { };
+
   djbdns = callPackage ../tools/networking/djbdns { };
 
   dnscrypt-proxy = callPackage ../tools/networking/dnscrypt-proxy { };
@@ -1883,10 +1903,16 @@ with pkgs;
   };
   doomseeker = callPackage ../applications/misc/doomseeker { };
 
+  doom-bcc = callPackage ../games/zdoom/bcc-git.nix { };
+
   slade = callPackage ../applications/misc/slade {
     wxGTK = wxGTK30;
   };
 
+  sladeUnstable = callPackage ../applications/misc/slade/git.nix {
+    wxGTK = wxGTK30;
+  };
+
   drive = callPackage ../applications/networking/drive { };
 
   driftnet = callPackage ../tools/networking/driftnet {};
@@ -1941,6 +1967,8 @@ with pkgs;
 
   ecryptfs-helper = callPackage ../tools/security/ecryptfs/helper.nix { };
 
+  edid-decode = callPackage ../tools/misc/edid-decode { };
+
   editres = callPackage ../tools/graphics/editres { };
 
   edit = callPackage ../applications/editors/edit { };
@@ -1955,6 +1983,8 @@ with pkgs;
 
   mcrcon = callPackage ../tools/networking/mcrcon {};
 
+  uudeview = callPackage ../tools/misc/uudeview { };
+
   zabbix-cli = callPackage ../tools/misc/zabbix-cli { };
 
   ### DEVELOPMENT / EMSCRIPTEN
@@ -1978,8 +2008,8 @@ with pkgs;
   evemu = callPackage ../tools/system/evemu { };
 
   # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
-  elk5Version = "5.6.5";
-  elk6Version = "6.1.1";
+  elk5Version = "5.6.6";
+  elk6Version = "6.1.2";
 
   elasticsearch = callPackage ../servers/search/elasticsearch { };
   elasticsearch2 = callPackage ../servers/search/elasticsearch/2.x.nix { };
@@ -2101,7 +2131,7 @@ with pkgs;
 
     cloudpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-cloudpinyin { };
 
-    libpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-libpinyin { };
+    libpinyin = libsForQt5.callPackage ../tools/inputmethods/fcitx-engines/fcitx-libpinyin { };
 
     skk = callPackage ../tools/inputmethods/fcitx-engines/fcitx-skk { };
   };
@@ -2466,6 +2496,8 @@ with pkgs;
 
   gpodder = callPackage ../applications/audio/gpodder { };
 
+  gpp = callPackage ../development/tools/gpp { };
+
   gpredict = callPackage ../applications/science/astronomy/gpredict { };
 
   gptfdisk = callPackage ../tools/system/gptfdisk { };
@@ -2479,10 +2511,7 @@ with pkgs;
     callPackage ../tools/misc/graylog/plugins.nix { }
   );
 
-  gprof2dot = callPackage ../development/tools/profiling/gprof2dot {
-    # Using pypy provides significant performance improvements (~2x)
-    pythonPackages = pypyPackages;
-  };
+  gprof2dot = callPackage ../development/tools/profiling/gprof2dot { };
 
   graphviz = callPackage ../tools/graphics/graphviz {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
@@ -2765,7 +2794,9 @@ with pkgs;
 
   i2p = callPackage ../tools/networking/i2p {};
 
-  i2pd = callPackage ../tools/networking/i2pd {};
+  i2pd = callPackage ../tools/networking/i2pd {
+    boost = boost165;
+  };
 
   i-score = libsForQt5.callPackage ../applications/audio/i-score { };
 
@@ -2835,6 +2866,8 @@ with pkgs;
 
   inform7 = callPackage ../development/compilers/inform7 { };
 
+  infamousPlugins = callPackage ../applications/audio/infamousPlugins { };
+
   innoextract = callPackage ../tools/archivers/innoextract { };
 
   intecture-agent = callPackage ../tools/admin/intecture/agent.nix { };
@@ -3201,7 +3234,9 @@ with pkgs;
 
   npm2nix = nodePackages.npm2nix;
 
-  kea = callPackage ../tools/networking/kea { };
+  kea = callPackage ../tools/networking/kea {
+    boost = boost165;
+  };
 
   kindlegen = callPackage ../tools/typesetting/kindlegen { };
 
@@ -3457,6 +3492,8 @@ with pkgs;
 
   memo = callPackage ../applications/misc/memo/default.nix { };
 
+  mencal = callPackage ../applications/misc/mencal/default.nix { } ;
+
   metamorphose2 = callPackage ../applications/misc/metamorphose2 { };
 
   metar = callPackage ../applications/misc/metar { };
@@ -3522,6 +3559,8 @@ with pkgs;
 
   modsecurity_standalone = callPackage ../tools/security/modsecurity { };
 
+  molden = callPackage ../applications/science/chemistry/molden { };
+
   molly-guard = callPackage ../os-specific/linux/molly-guard { };
 
   moneyplex = callPackage ../applications/office/moneyplex { };
@@ -3752,6 +3791,8 @@ with pkgs;
     graphicalSupport = true;
   };
 
+  nmapsi4 = libsForQt5.callPackage ../tools/security/nmap/qt.nix { };
+
   nnn = callPackage ../applications/misc/nnn { };
 
   notary = callPackage ../tools/security/notary { };
@@ -3873,15 +3914,12 @@ with pkgs;
   openssh =
     callPackage ../tools/networking/openssh {
       hpnSupport = false;
-      withKerberos = stdenv.isDarwin;
       etcDir = "/etc/ssh";
       pam = if stdenv.isLinux then pam else null;
     };
 
   openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; });
 
-  openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; });
-
   opensp = callPackage ../tools/text/sgml/opensp { };
 
   opentracker = callPackage ../applications/networking/p2p/opentracker { };
@@ -4318,6 +4356,8 @@ with pkgs;
 
   rc = callPackage ../shells/rc { };
 
+  rdma-core = callPackage ../os-specific/linux/rdma-core { };
+
   read-edid = callPackage ../os-specific/linux/read-edid { };
 
   redir = callPackage ../tools/networking/redir { };
@@ -4370,6 +4410,10 @@ with pkgs;
     gsettings_desktop_schemas = gnome3.gsettings_desktop_schemas;
   };
 
+  rename = callPackage ../tools/misc/rename {
+    inherit (perlPackages) buildPerlPackage;
+  };
+
   renameutils = callPackage ../tools/misc/renameutils { };
 
   renderdoc = libsForQt5.callPackage ../applications/graphics/renderdoc { };
@@ -4771,6 +4815,8 @@ with pkgs;
 
   staruml = callPackage ../tools/misc/staruml { inherit (gnome2) GConf; libgcrypt = libgcrypt_1_5; };
 
+  otter-browser = qt5.callPackage ../applications/networking/browsers/otter {};
+
   privoxy = callPackage ../tools/networking/privoxy {
     w3m = w3m-batch;
   };
@@ -4815,8 +4861,12 @@ with pkgs;
 
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
+  teleport = callPackage ../servers/teleport {};
+
   telepresence = callPackage ../tools/networking/telepresence { };
 
+  tewisay = callPackage ../tools/misc/tewisay { };
+
   texmacs = callPackage ../applications/editors/texmacs {
     tex = texlive.combined.scheme-small;
     extraFonts = true;
@@ -4832,6 +4882,8 @@ with pkgs;
 
   thc-hydra = callPackage ../tools/security/thc-hydra { };
 
+  theharvester = callPackage ../tools/security/theharvester { };
+
   thefuck = python3Packages.callPackage ../tools/misc/thefuck { };
 
   thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools {  };
@@ -5114,6 +5166,8 @@ with pkgs;
 
   woff2 = callPackage ../development/web/woff2 { };
 
+  woof = callPackage ../tools/misc/woof { };
+
   wsmancli = callPackage ../tools/system/wsmancli {};
 
   wolfebin = callPackage ../tools/networking/wolfebin {
@@ -5350,10 +5404,8 @@ with pkgs;
           # Ben Nanonote system
           crossSystem = {
             config = crossPrefix;
-            bigEndian = true;
             arch = "mips";
             float = "soft";
-            withTLS = true;
             libc = "uclibc";
             platform = {
               name = "ben_nanonote";
@@ -5447,6 +5499,8 @@ with pkgs;
 
   yle-dl = callPackage ../tools/misc/yle-dl {};
 
+  you-get = python3Packages.callPackage ../tools/misc/you-get { };
+
   zbackup = callPackage ../tools/backup/zbackup {};
 
   zbar = callPackage ../tools/graphics/zbar { };
@@ -6335,7 +6389,10 @@ with pkgs;
   llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
     inherit (stdenvAdapters) overrideCC;
   } // stdenv.lib.optionalAttrs stdenv.isDarwin {
-    cmake = cmake.override { isBootstrap = true; };
+    cmake = cmake.override {
+      isBootstrap = true;
+      majorVersion = "3.9"; # 3.10.2: 'ApplicationServices/ApplicationServices.h' file not found
+    };
     libxml2 = libxml2.override { pythonSupport = false; };
     python2 = callPackage ../development/interpreters/python/cpython/2.7/boot.nix { inherit (darwin) CF configd; };
   });
@@ -6463,7 +6520,9 @@ with pkgs;
 
   buildRustCrate = callPackage ../build-support/rust/build-rust-crate.nix { };
 
-  carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix_0_5_2;
+  cargo-vendor = callPackage ../build-support/rust/cargo-vendor {};
+
+  carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix { };
 
   defaultCrateOverrides = callPackage ../build-support/rust/default-crate-overrides.nix { };
 
@@ -6666,12 +6725,14 @@ with pkgs;
 
   dhall-text = haskell.lib.justStaticExecutables haskellPackages.dhall-text;
 
+  duktape = callPackage ../development/interpreters/duktape { };
+
   beam = callPackage ./beam-packages.nix { };
 
   inherit (beam.interpreters)
     erlang erlangR18 erlangR19 erlangR20
     erlang_odbc erlang_javac erlang_odbc_javac erlang_nox erlang_basho_R16B02
-    elixir elixir_1_6_rc elixir_1_5 elixir_1_4 elixir_1_3
+    elixir elixir_1_6 elixir_1_5 elixir_1_4 elixir_1_3
     lfe lfe_1_2;
 
   inherit (beam.packages.erlang)
@@ -6822,6 +6883,8 @@ with pkgs;
 
   ocropus = callPackage ../applications/misc/ocropus { };
 
+  octopus = callPackage ../applications/science/chemistry/octopus { openblas=openblasCompat; };
+
   inherit (callPackages ../development/interpreters/perl {}) perl perl522 perl524 perl526;
 
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
@@ -7202,8 +7265,8 @@ with pkgs;
   bam = callPackage ../development/tools/build-managers/bam {};
 
   bazel_0_4 = callPackage ../development/tools/build-managers/bazel/0.4.nix { };
-  bazel_0_5 = callPackage ../development/tools/build-managers/bazel { };
-  bazel = bazel_0_5;
+  bazel_0_9 = callPackage ../development/tools/build-managers/bazel { };
+  bazel = bazel_0_9;
 
   bear = callPackage ../development/tools/build-managers/bear { };
 
@@ -7249,6 +7312,9 @@ with pkgs;
   buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix {
     pythonPackages = python2Packages;
   };
+  buildbot-pkg = callPackage ../development/tools/build-managers/buildbot/pkg.nix {
+    inherit (python2Packages) buildPythonPackage fetchPypi setuptools;
+  };
   buildbot-plugins = callPackages ../development/tools/build-managers/buildbot/plugins.nix {
     pythonPackages = python2Packages;
   };
@@ -7313,7 +7379,7 @@ with pkgs;
 
   cide = callPackage ../development/tools/continuous-integration/cide { };
 
-  "cl-launch" = callPackage ../development/tools/misc/cl-launch {};
+  cl-launch = callPackage ../development/tools/misc/cl-launch {};
 
   cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { };
 
@@ -7387,6 +7453,8 @@ with pkgs;
   libcxx = llvmPackages.libcxx;
   libcxxabi = llvmPackages.libcxxabi;
 
+  librarian-puppet-go = callPackage ../development/tools/librarian-puppet-go { };
+
   libstdcxx5 = callPackage ../development/libraries/libstdc++5 { };
 
   libsigrok = callPackage ../development/tools/libsigrok { };
@@ -7569,6 +7637,8 @@ with pkgs;
     guile = guile_2_0;
   };
 
+  hcloud = callPackage ../development/tools/hcloud { };
+
   help2man = callPackage ../development/tools/misc/help2man {
     inherit (perlPackages) LocaleGettext;
   };
@@ -7680,7 +7750,7 @@ with pkgs;
 
   msitools = callPackage ../development/tools/misc/msitools { };
 
-  multi-ghc-travis = callPackage ../development/tools/haskell/multi-ghc-travis { ghc = haskell.compiler.ghc802; };
+  multi-ghc-travis = haskell.lib.justStaticExecutables haskellPackages.multi-ghc-travis;
 
   neoload = callPackage ../development/tools/neoload {
     licenseAccepted = (config.neoload.accept_license or false);
@@ -7767,6 +7837,8 @@ with pkgs;
 
   pprof = callPackage ../development/tools/profiling/pprof { };
 
+  pyprof2calltree = pythonPackages.callPackage ../development/tools/profiling/pyprof2calltree { };
+
   prelink = callPackage ../development/tools/misc/prelink { };
 
   premake3 = callPackage ../development/tools/misc/premake/3.nix { };
@@ -7783,6 +7855,8 @@ with pkgs;
 
   pup = callPackage ../development/tools/pup { };
 
+  pyrseas = callPackage ../development/tools/database/pyrseas { };
+
   qtcreator = libsForQt5.callPackage ../development/qtcreator { };
 
   r10k = callPackage ../tools/system/r10k { };
@@ -7829,6 +7903,9 @@ with pkgs;
   remake = callPackage ../development/tools/build-managers/remake { };
 
   retdec = callPackage ../development/tools/analysis/retdec { };
+  retdec-full = callPackage ../development/tools/analysis/retdec {
+    withPEPatterns = true;
+  };
 
   rhc = callPackage ../development/tools/rhc { };
 
@@ -8001,6 +8078,8 @@ with pkgs;
 
   yacc = bison;
 
+  yaml2json = callPackage ../development/tools/yaml2json { };
+
   ycmd = callPackage ../development/tools/misc/ycmd {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
     llvmPackages = llvmPackages_5;
@@ -8017,9 +8096,7 @@ with pkgs;
 
   grabserial = callPackage ../development/tools/grabserial { };
 
-  mypy = callPackage ../development/tools/mypy {
-    inherit (python3Packages) fetchPypi buildPythonApplication lxml typed-ast;
-  };
+  mypy = python3Packages.callPackage ../development/tools/mypy { };
 
   ### DEVELOPMENT / LIBRARIES
 
@@ -8053,6 +8130,8 @@ with pkgs;
 
   amrwb = callPackage ../development/libraries/amrwb { };
 
+  anttweakbar = callPackage ../development/libraries/AntTweakBar { };
+
   appstream = callPackage ../development/libraries/appstream { };
 
   appstream-glib = callPackage ../development/libraries/appstream-glib { };
@@ -8920,6 +8999,8 @@ with pkgs;
 
   gts = callPackage ../development/libraries/gts { };
 
+  gumbo = callPackage ../development/libraries/gumbo { };
+
   gvfs = callPackage ../development/libraries/gvfs {
     gnome = self.gnome3;
   };
@@ -9498,8 +9579,6 @@ with pkgs;
     inherit (perlPackages) libintlperl GetoptLong SysVirt;
   };
 
-  libgumbo = callPackage ../development/libraries/libgumbo { };
-
   libhangul = callPackage ../development/libraries/libhangul { };
 
   libharu = callPackage ../development/libraries/libharu { };
@@ -9829,9 +9908,7 @@ with pkgs;
   };
 
   libproxy = callPackage ../development/libraries/libproxy {
-    stdenv = if stdenv.isDarwin
-      then overrideCC stdenv gcc
-      else stdenv;
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration CoreFoundation JavaScriptCore;
   };
 
   libpseudo = callPackage ../development/libraries/libpseudo { };
@@ -9844,6 +9921,8 @@ with pkgs;
 
   libqalculate = callPackage ../development/libraries/libqalculate { };
 
+  libroxml = callPackage ../development/libraries/libroxml { };
+
   librsvg = callPackage ../development/libraries/librsvg { };
 
   librsync = callPackage ../development/libraries/librsync { };
@@ -9864,6 +9943,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Carbon AudioToolbox;
   };
 
+  libsnark = callPackage ../development/libraries/libsnark { };
+
   libsodium = callPackage ../development/libraries/libsodium { };
 
   libsoup = callPackage ../development/libraries/libsoup { };
@@ -9876,6 +9957,8 @@ with pkgs;
 
   libstartup_notification = callPackage ../development/libraries/startup-notification { };
 
+  libstemmer = callPackage ../development/libraries/libstemmer { };
+
   libstroke = callPackage ../development/libraries/libstroke { };
 
   libstrophe = callPackage ../development/libraries/libstrophe { };
@@ -10059,6 +10142,13 @@ with pkgs;
 
   libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
 
+  libyamlcpp_0_3 = pkgs.libyamlcpp.overrideAttrs (oldAttrs: rec {
+    src = pkgs.fetchurl {
+      url = "https://github.com/jbeder/yaml-cpp/archive/release-0.3.0.tar.gz";
+      sha256 = "12aszqw6svwlnb6nzhsbqhz3c7vnd5ahd0k6xlj05w8lm83hx3db";
+      };
+  });
+
   # interception-tools needs this. This should be removed when there is a new
   # release of libyamlcpp, i.e. when the version of libyamlcpp is newer than
   # 0.5.3.
@@ -10273,7 +10363,7 @@ with pkgs;
 
   ncurses5 = callPackage ../development/libraries/ncurses { abiVersion = "5"; };
   ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; };
-  ncurses = if stdenv.isDarwin then ncurses5 else ncurses6;
+  ncurses = ncurses6;
 
   neardal = callPackage ../development/libraries/neardal { };
 
@@ -10498,7 +10588,9 @@ with pkgs;
 
   phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix {};
 
-  physfs = callPackage ../development/libraries/physfs { };
+  inherit (callPackage ../development/libraries/physfs { })
+    physfs_2
+    physfs;
 
   pipelight = callPackage ../tools/misc/pipelight {
     stdenv = stdenv_32bit;
@@ -10952,7 +11044,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation;
   };
 
-  SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { };
+  SDL2_mixer = callPackage ../development/libraries/SDL2_mixer {
+    inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
+  };
 
   SDL2_net = callPackage ../development/libraries/SDL2_net { };
 
@@ -11049,6 +11143,8 @@ with pkgs;
 
   spice_protocol = callPackage ../development/libraries/spice-protocol { };
 
+  spice-up = callPackage ../applications/office/spice-up { };
+
   sratom = callPackage ../development/libraries/audio/sratom { };
 
   srm = callPackage ../tools/security/srm { };
@@ -11084,6 +11180,8 @@ with pkgs;
 
   strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; };
 
+  subdl = callPackage ../applications/video/subdl { };
+
   subtitleeditor = callPackage ../applications/video/subtitleeditor { };
 
   suil-qt4 = callPackage ../development/libraries/audio/suil {
@@ -11248,7 +11346,7 @@ with pkgs;
   v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix {
     inherit (python2Packages) python gyp;
     cctools = darwin.cctools;
-    stdenv = overrideCC stdenv gcc5;
+    stdenv = if stdenv.isDarwin then stdenv else overrideCC stdenv gcc5;
   };
 
   v8_6_x = callPackage ../development/libraries/v8/6_x.nix {
@@ -11641,6 +11739,8 @@ with pkgs;
 
   leaps = callPackage ../development/tools/leaps { };
 
+  ws = callPackage ../development/tools/ws { };
+
   ### DEVELOPMENT / JAVA MODULES
 
   javaPackages = recurseIntoAttrs (callPackage ./java-packages.nix { });
@@ -11739,7 +11839,7 @@ with pkgs;
 
   ### SERVERS
 
-  "389-ds-base" = callPackage ../servers/ldap/389 {
+  _389-ds-base = callPackage ../servers/ldap/389 {
     kerberos = libkrb5;
   };
 
@@ -11860,7 +11960,6 @@ with pkgs;
 
   dovecot = callPackage ../servers/mail/dovecot { };
   dovecot_pigeonhole = callPackage ../servers/mail/dovecot/plugins/pigeonhole { };
-  dovecot_antispam = callPackage ../servers/mail/dovecot/plugins/antispam { };
 
   dspam = callPackage ../servers/mail/dspam {
     inherit (perlPackages) NetSMTP;
@@ -11935,6 +12034,8 @@ with pkgs;
 
   hiawatha = callPackage ../servers/http/hiawatha {};
 
+  home-assistant = callPackage ../servers/home-assistant { };
+
   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
 
   jboss = callPackage ../servers/http/jboss { };
@@ -11955,6 +12056,8 @@ with pkgs;
 
   lighttpd = callPackage ../servers/http/lighttpd { };
 
+  lwan = callPackage ../servers/http/lwan { };
+
   mailman = callPackage ../servers/mail/mailman { };
 
   mattermost = callPackage ../servers/mattermost { };
@@ -12036,6 +12139,7 @@ with pkgs;
 
   oauth2_proxy = callPackage ../servers/oauth2_proxy { };
 
+  openafs = callPackage ../servers/openafs { tsmbac = null; ncurses = null; };
   openpts = callPackage ../servers/openpts { };
 
   openresty = callPackage ../servers/http/openresty { };
@@ -12222,6 +12326,7 @@ with pkgs;
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
   prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
+  prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
   prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
   prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
@@ -12231,6 +12336,7 @@ with pkgs;
   prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { };
   prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { };
   prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
+  prometheus-postfix-exporter = callPackage ../servers/monitoring/prometheus/postfix-exporter.nix { };
   prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway.nix { };
   prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { };
   prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
@@ -12300,9 +12406,10 @@ with pkgs;
 
   samba4 = callPackage ../servers/samba/4.x.nix {
     python = python2;
-    # enableLDAP
   };
 
+  sambaMaster = callPackage ../servers/samba/master.nix { };
+
   samba = samba4;
 
   smbclient = samba;
@@ -12494,8 +12601,9 @@ with pkgs;
 
   microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { };
 
-  inherit (callPackages ../os-specific/linux/apparmor { pythonPackages = python27Packages; swig = swig2; })
-    libapparmor apparmor-pam apparmor-parser apparmor-profiles apparmor-utils;
+  inherit (callPackages ../os-specific/linux/apparmor { python = python3; })
+    libapparmor apparmor-utils apparmor-bin-utils apparmor-parser apparmor-pam
+    apparmor-profiles apparmor-kernel-patches;
 
   atop = callPackage ../os-specific/linux/atop { };
 
@@ -12789,23 +12897,17 @@ with pkgs;
   linux_beagleboard = callPackage ../os-specific/linux/kernel/linux-beagleboard.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
-        kernelPatches.p9_fixes
-        kernelPatches.cpu-cgroup-v2."4.9"
+        kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
       ];
   };
 
-  linux_hardened_copperhead = callPackage ../os-specific/linux/kernel/linux-hardened-copperhead.nix {
+  linux_copperhead = callPackage ../os-specific/linux/kernel/linux-copperhead-hardened.nix {
     kernelPatches = with kernelPatches; [
       kernelPatches.bridge_stp_helper
       kernelPatches.modinst_arg_list_too_long
-      kernelPatches.cpu-cgroup-v2."4.11"
       kernelPatches.tag_hardened
     ];
-    extraConfig = import ../os-specific/linux/kernel/hardened-config.nix {
-      inherit stdenv;
-      inherit (linux_hardened_copperhead) version;
-    };
   };
 
   # linux mptcp is based on the 4.4 kernel
@@ -12886,6 +12988,21 @@ with pkgs;
       ];
   };
 
+  linux_4_15 = callPackage ../os-specific/linux/kernel/linux-4.15.nix {
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+        # when adding a new linux version
+        # kernelPatches.cpu-cgroup-v2."4.11"
+        kernelPatches.modinst_arg_list_too_long
+      ]
+      ++ 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
@@ -12900,10 +13017,6 @@ with pkgs;
   linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.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
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
@@ -12924,8 +13037,6 @@ with pkgs;
     ];
   };
 
-  linux_samus_latest = linux_samus_4_12;
-
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -13003,7 +13114,7 @@ with pkgs;
 
     rtlwifi_new = callPackage ../os-specific/linux/rtlwifi_new { };
 
-    openafsClient = callPackage ../servers/openafs-client { };
+    openafs = callPackage ../servers/openafs/module.nix { };
 
     facetimehd = callPackage ../os-specific/linux/facetimehd { };
 
@@ -13028,12 +13139,10 @@ with pkgs;
 
     prl-tools = callPackage ../os-specific/linux/prl-tools { };
 
-    seturgent = callPackage ../os-specific/linux/seturgent { };
-
     sch_cake = callPackage ../os-specific/linux/sch_cake { };
 
     inherit (callPackage ../os-specific/linux/spl {})
-      splStable splUnstable;
+      splStable splUnstable splLegacyCrypto;
 
     spl = splStable;
 
@@ -13064,7 +13173,7 @@ with pkgs;
     inherit (callPackage ../os-specific/linux/zfs {
       configFile = "kernel";
       inherit kernel spl;
-     }) zfsStable zfsUnstable;
+     }) zfsStable zfsUnstable zfsLegacyCrypto;
 
      zfs = zfsStable;
   });
@@ -13074,18 +13183,18 @@ with pkgs;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_4_14;
+  linuxPackages_latest = linuxPackages_4_15;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
   linuxPackages_beagleboard = linuxPackagesFor pkgs.linux_beagleboard;
-  linuxPackages_hardened_copperhead = linuxPackagesFor pkgs.linux_hardened_copperhead;
   linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp;
   linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi;
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_13);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
+  linuxPackages_4_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_15);
   # 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.
@@ -13101,26 +13210,40 @@ with pkgs;
   linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs);
 
   # Build a kernel for Xen dom0
+  linuxPackages_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux.override { features.xen_dom0=true; }));
+
   linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
 
   # Hardened linux
-  linux_hardened = let linux = pkgs.linuxPackages_latest.kernel; in linux.override {
+  hardenedLinuxPackagesFor = kernel: linuxPackagesFor (kernel.override {
     extraConfig = import ../os-specific/linux/kernel/hardened-config.nix {
       inherit stdenv;
-      inherit (linux) version;
+      inherit (kernel) version;
     };
-  };
+  });
+
+  linuxPackages_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux);
+  linux_hardened = linuxPackages_hardened.kernel;
+
+  linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest);
+  linux_latest_hardened = linuxPackages_latest_hardened.kernel;
+
+  linuxPackages_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux.override { features.xen_dom0=true; }));
+
+  linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
 
-  linuxPackages_hardened =
-    recurseIntoAttrs (linuxPackagesFor linux_hardened);
+  linuxPackages_copperhead_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_copperhead);
+  linux_copperhead_hardened = linuxPackages_copperhead_hardened.kernel;
+  linux_hardened_copperhead = linux_copperhead_hardened; # alias for backward compatibility
 
   # Samus kernels
   linuxPackages_samus_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_4_12);
-  linuxPackages_samus_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_latest);
+  linuxPackages_samus_latest = linuxPackages_samus_4_12;
+  linux_samus_latest = linuxPackages_samus_latest.kernel;
 
   # A function to build a manually-configured kernel
   linuxManualConfig = pkgs.buildLinux;
-  buildLinux = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
+  buildLinux = makeOverridable (callPackage ../os-specific/linux/kernel/generic.nix {});
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
 
@@ -13172,8 +13295,8 @@ with pkgs;
 
   mbpfan = callPackage ../os-specific/linux/mbpfan { };
 
-  mdadm = callPackage ../os-specific/linux/mdadm { };
-  mdadm4 = callPackage ../os-specific/linux/mdadm/4.nix { };
+  mdadm = mdadm4;
+  mdadm4 = callPackage ../os-specific/linux/mdadm { };
 
   mingetty = callPackage ../os-specific/linux/mingetty { };
 
@@ -13217,6 +13340,8 @@ with pkgs;
 
   go-protobuf = callPackage ../development/tools/go-protobuf { };
 
+  go-symbols = callPackage ../development/tools/go-symbols { };
+
   gocode = callPackage ../development/tools/gocode { };
 
   goconvey = callPackage ../development/tools/goconvey { };
@@ -13355,6 +13480,8 @@ with pkgs;
 
   setools = callPackage ../os-specific/linux/setools { };
 
+  seturgent = callPackage ../os-specific/linux/seturgent { };
+
   shadow = callPackage ../os-specific/linux/shadow { };
 
   sinit = callPackage ../os-specific/linux/sinit {
@@ -13567,7 +13694,7 @@ with pkgs;
 
   inherit (callPackage ../os-specific/linux/zfs {
     configFile = "user";
-  }) zfsStable zfsUnstable;
+  }) zfsStable zfsUnstable zfsLegacyCrypto;
 
   zfs = zfsStable;
 
@@ -13875,6 +14002,8 @@ with pkgs;
 
   papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme { };
 
+  papis = python3Packages.callPackage ../tools/misc/papis { };
+
   pecita = callPackage ../data/fonts/pecita {};
 
   paratype-pt-mono = callPackage ../data/fonts/paratype-pt/mono.nix {};
@@ -13995,6 +14124,11 @@ with pkgs;
 
   ttf-envy-code-r = callPackage ../data/fonts/ttf-envy-code-r {};
 
+  twemoji-color-font = callPackage ../data/fonts/twemoji-color-font {
+    inherit (nodePackages) svgo;
+    inherit (pythonPackages) scfbuild;
+  };
+
   tzdata = callPackage ../data/misc/tzdata { };
 
   ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { };
@@ -14040,7 +14174,7 @@ with pkgs;
 
   ### APPLICATIONS
 
-  "2bwm" = callPackage ../applications/window-managers/2bwm {
+  _2bwm = callPackage ../applications/window-managers/2bwm {
     patches = config."2bwm".patches or [];
   };
 
@@ -14538,7 +14672,6 @@ with pkgs;
   });
 
   darktable = callPackage ../applications/graphics/darktable {
-    inherit (gnome2) GConf libglade;
     lua = lua5_3;
     pugixml = pugixml.override { shared = true; };
   };
@@ -14598,10 +14731,11 @@ with pkgs;
   };
 
   inherit (callPackage ../applications/virtualization/docker { })
-    docker_17_12;
+    docker_17_12
+    docker_18_02;
 
   docker = docker_17_12;
-  docker-edge = docker_17_12;
+  docker-edge = docker_18_02;
 
   docker-proxy = callPackage ../applications/virtualization/docker/proxy.nix { };
 
@@ -14865,8 +14999,6 @@ with pkgs;
   emacs25Packages = emacsPackagesGen emacs25 pkgs.emacs25Packages;
 
   emacsPackagesNgGen = emacs: import ./emacs-packages.nix {
-    overrides = (config.emacsPackageOverrides or (p: {})) pkgs;
-
     inherit lib newScope stdenv;
     inherit fetchFromGitHub fetchgit fetchhg fetchurl;
     inherit emacs texinfo makeWrapper runCommand;
@@ -14944,7 +15076,9 @@ with pkgs;
   inherit (gnome3) evince;
   evolution_data_server = gnome3.evolution_data_server;
 
-  keepass = callPackage ../applications/misc/keepass { };
+  keepass = callPackage ../applications/misc/keepass {
+    buildDotnetPackage = buildDotnetPackage.override { mono = mono54; };
+  };
 
   keepass-keeagent = callPackage ../applications/misc/keepass-plugins/keeagent { };
 
@@ -15048,6 +15182,8 @@ with pkgs;
 
   gopherclient = libsForQt5.callPackage ../applications/networking/gopher/gopherclient { };
 
+  goxel = callPackage ../applications/graphics/goxel { };
+
   gpa = callPackage ../applications/misc/gpa { };
 
   gpicview = callPackage ../applications/graphics/gpicview {
@@ -15187,6 +15323,8 @@ with pkgs;
 
   flac = callPackage ../applications/audio/flac { };
 
+  flameshot = libsForQt5.callPackage ../tools/misc/flameshot { };
+
   flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer {
     debug = config.flashplayer.debug or false;
   };
@@ -15494,6 +15632,7 @@ with pkgs;
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
 
   hledger = haskell.lib.justStaticExecutables haskellPackages.hledger;
+  hledger-ui = haskell.lib.justStaticExecutables haskellPackages.hledger-ui;
   hledger-web = haskell.lib.justStaticExecutables haskellPackages.hledger-web;
 
   homebank = callPackage ../applications/office/homebank {
@@ -15745,7 +15884,7 @@ with pkgs;
 
   inherit (kdeApplications)
     akonadi akregator ark dolphin ffmpegthumbs filelight gwenview k3b
-    kaddressbook kate kcachegrind kcalc kcolorchooser kcontacts kdenlive kdf keditbookmarks
+    kaddressbook kate kcachegrind kcalc kcolorchooser kcontacts kdenlive kdf kdialog keditbookmarks
     kget kgpg khelpcenter kig kleopatra kmail kmix kolourpaint kompare konsole
     kontact korganizer krdc krfb kwalletmanager marble minuet okteta okular spectacle;
 
@@ -15818,6 +15957,10 @@ with pkgs;
 
   kubernetes = callPackage ../applications/networking/cluster/kubernetes {  };
 
+  kubectl = (kubernetes.override { components = [ "cmd/kubectl" ]; }).overrideAttrs(oldAttrs: {
+    name = "kubectl-${oldAttrs.version}";
+  });
+
   kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
 
   kupfer = callPackage ../applications/misc/kupfer { };
@@ -15842,7 +15985,7 @@ with pkgs;
 
   lastfmsubmitd = callPackage ../applications/audio/lastfmsubmitd { };
 
-  lbdb = callPackage ../tools/misc/lbdb { abook = null; gnupg = null; goobook = null; khard = null; };
+  lbdb = callPackage ../tools/misc/lbdb { abook = null; gnupg = null; goobook = null; khard = null; mu = null; };
 
   lbzip2 = callPackage ../tools/compression/lbzip2 { };
 
@@ -15965,6 +16108,8 @@ with pkgs;
     flavour = "git";
   };
 
+  looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
+
   lumail = callPackage ../applications/networking/mailreaders/lumail { };
 
   lv2bm = callPackage ../applications/audio/lv2bm { };
@@ -16011,6 +16156,8 @@ with pkgs;
 
   meld = callPackage ../applications/version-management/meld { };
 
+  meme = callPackage ../applications/graphics/meme { };
+
   mcomix = callPackage ../applications/graphics/mcomix { };
 
   mendeley = libsForQt5.callPackage ../applications/office/mendeley {
@@ -16078,7 +16225,9 @@ with pkgs;
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
 
-  monero = callPackage ../applications/misc/monero { };
+  monero = callPackage ../applications/altcoins/monero { };
+
+  monero-gui = libsForQt5.callPackage ../applications/altcoins/monero-gui { };
 
   xmr-stak = callPackage ../applications/misc/xmr-stak {
     hwloc = hwloc-nox;
@@ -16344,6 +16493,8 @@ with pkgs;
 
   diffpdf = callPackage ../applications/misc/diffpdf { };
 
+  diff-pdf = callPackage ../applications/misc/diff-pdf { wxGTK = wxGTK31; };
+
   mlocate = callPackage ../tools/misc/mlocate { };
 
   mypaint = callPackage ../applications/graphics/mypaint { };
@@ -16439,6 +16590,10 @@ with pkgs;
     inherit (gnome3) yelp_tools;
   };
 
+  osm2xmap = callPackage ../applications/misc/osm2xmap {
+    libyamlcpp = libyamlcpp_0_3;
+  };
+
   osmctools = callPackage ../applications/misc/osmctools { };
 
   vivaldi = callPackage ../applications/networking/browsers/vivaldi {};
@@ -16679,6 +16834,8 @@ with pkgs;
 
   qmapshack = libsForQt5.callPackage ../applications/misc/qmapshack { };
 
+  qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { };
+
   qmetro = callPackage ../applications/misc/qmetro { };
 
   qmidinet = callPackage ../applications/audio/qmidinet { };
@@ -17037,6 +17194,8 @@ with pkgs;
 
   slic3r = callPackage ../applications/misc/slic3r { };
 
+  slic3r-prusa3d = callPackage ../applications/misc/slic3r-prusa3d { };
+
   curaengine_stable = callPackage ../applications/misc/curaengine/stable.nix { };
   cura_stable = callPackage ../applications/misc/cura/stable.nix {
     curaengine = curaengine_stable;
@@ -17051,6 +17210,8 @@ with pkgs;
 
   peru = callPackage ../applications/version-management/peru {};
 
+  pmidi = callPackage ../applications/audio/pmidi { };
+
   printrun = callPackage ../applications/misc/printrun { };
 
   sddm = libsForQt5.callPackage ../applications/display-managers/sddm { };
@@ -17170,6 +17331,8 @@ with pkgs;
 
   syncthing013 = callPackage ../applications/networking/syncthing013 { };
 
+  syncthing-gtk = python2Packages.callPackage ../applications/networking/syncthing-gtk { };
+
   syncthing-inotify = callPackage ../applications/networking/syncthing/inotify.nix { };
 
   syncthing-tray = callPackage ../applications/misc/syncthing-tray { };
@@ -17197,7 +17360,7 @@ with pkgs;
     gconf = gnome2.GConf;
   };
 
-  teamspeak_client = libsForQt56.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
+  teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
   taskjuggler = callPackage ../applications/misc/taskjuggler { ruby = ruby_2_0; };
@@ -17279,7 +17442,9 @@ with pkgs;
     gtk = gtk3;
   };
 
-  timbreid = callPackage ../applications/audio/pd-plugins/timbreid { };
+  timbreid = callPackage ../applications/audio/pd-plugins/timbreid {
+    fftw = fftwSinglePrec;
+  };
 
   timescaledb = callPackage ../servers/sql/postgresql/timescaledb {};
 
@@ -17372,6 +17537,8 @@ with pkgs;
 
   umurmur = callPackage ../applications/networking/umurmur { };
 
+  udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
+
   unigine-valley = callPackage ../applications/graphics/unigine-valley { };
 
   inherit (ocamlPackages) unison;
@@ -17380,6 +17547,8 @@ with pkgs;
 
   urh = callPackage ../applications/misc/urh { };
 
+  uuagc = haskell.lib.justStaticExecutables haskellPackages.uuagc;
+
   uucp = callPackage ../tools/misc/uucp { };
 
   uvccapture = callPackage ../applications/video/uvccapture { };
@@ -17905,6 +18074,8 @@ with pkgs;
 
   xkblayout-state = callPackage ../applications/misc/xkblayout-state { };
 
+  xmonad-log = callPackage ../tools/misc/xmonad-log { };
+
   xmonad-with-packages = callPackage ../applications/window-managers/xmonad/wrapper.nix {
     inherit (haskellPackages) ghcWithPackages;
     packages = self: [];
@@ -18005,8 +18176,6 @@ with pkgs;
 
   yoshimi = callPackage ../applications/audio/yoshimi { };
 
-  inherit (python3Packages) you-get;
-
   inherit (pythonPackages) youtube-dl;
 
   youtube-viewer = perlPackages.WWWYoutubeViewer;
@@ -18052,9 +18221,9 @@ with pkgs;
 
   ### GAMES
 
-  "2048-in-terminal" = callPackage ../games/2048-in-terminal { };
+  _2048-in-terminal = callPackage ../games/2048-in-terminal { };
 
-  "90secondportraits" = callPackage ../games/90secondportraits { love = love_0_10; };
+  _90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };
 
   adom = callPackage ../games/adom { };
 
@@ -18078,8 +18247,11 @@ with pkgs;
   asc = callPackage ../games/asc {
     lua = lua5_1;
     libsigcxx = libsigcxx12;
+    physfs = physfs_2;
   };
 
+  assaultcube = callPackage ../games/assaultcube { };
+
   astromenace = callPackage ../games/astromenace { };
 
   atanks = callPackage ../games/atanks {};
@@ -18122,9 +18294,13 @@ with pkgs;
 
   bzflag = callPackage ../games/bzflag { };
 
-  cataclysm-dda = callPackage ../games/cataclysm-dda { };
+  cataclysm-dda = callPackage ../games/cataclysm-dda {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
 
-  cataclysm-dda-git = callPackage ../games/cataclysm-dda/git.nix { };
+  cataclysm-dda-git = callPackage ../games/cataclysm-dda/git.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
+  };
 
   chessdb = callPackage ../games/chessdb { };
 
@@ -18185,9 +18361,13 @@ with pkgs;
 
   dwarf-therapist = dwarf-fortress-packages.dwarf-therapist;
 
-  d1x_rebirth = callPackage ../games/d1x-rebirth { };
+  dxx-rebirth = callPackage ../games/dxx-rebirth {
+    physfs = physfs_2;
+  };
 
-  d2x_rebirth = callPackage ../games/d2x-rebirth { };
+  d1x_rebirth = dxx-rebirth;
+
+  d2x_rebirth = dxx-rebirth;
 
   easyrpg-player = callPackage ../games/easyrpg-player { };
 
@@ -18323,7 +18503,10 @@ with pkgs;
 
   lincity = callPackage ../games/lincity {};
 
-  lincity_ng = callPackage ../games/lincity/ng.nix {};
+  lincity_ng = callPackage ../games/lincity/ng.nix {
+    # https://github.com/lincity-ng/lincity-ng/issues/25
+    physfs = physfs_2;
+  };
 
   liquidwar = callPackage ../games/liquidwar {
     guile = guile_1_8;
@@ -18457,6 +18640,7 @@ with pkgs;
   quake3pointrelease = callPackage ../games/quake3/content/pointrelease.nix { };
 
   quakespasm = callPackage ../games/quakespasm { };
+  vkquake = callPackage ../games/quakespasm/vulkan.nix { };
 
   ioquake3 = callPackage ../games/quake3/ioquake { };
 
@@ -18667,6 +18851,9 @@ with pkgs;
 
   vdrift = callPackage ../games/vdrift { };
 
+  # To ensure vdrift's code is built on hydra
+  vdrift-bin = vdrift.bin;
+
   vectoroids = callPackage ../games/vectoroids { };
 
   vessel = callPackage_i686 ../games/vessel { };
@@ -18774,9 +18961,13 @@ with pkgs;
 
   gnomeExtensions = {
     caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
+    clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
     dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
     dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
+    icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
     mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
+    nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
+    pixel-saver = callPackage ../desktops/gnome-3/extensions/pixel-saver { };
     topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
   };
 
@@ -18906,6 +19097,10 @@ with pkgs;
     neuron-version = neuron.version;
   };
 
+  kallisto = callPackage ../applications/science/biology/kallisto { };
+
+  muscle = callPackage ../applications/science/biology/muscle/default.nix { };
+
   neuron = callPackage ../applications/science/biology/neuron {
     python = null;
   };
@@ -18932,10 +19127,19 @@ with pkgs;
 
   plink-ng = callPackage ../applications/science/biology/plink-ng/default.nix { };
 
+  raxml = callPackage ../applications/science/biology/raxml { };
+
+  raxml-mpi = appendToName "mpi" (raxml.override {
+    mpi = true;
+  });
+
   samtools = callPackage ../applications/science/biology/samtools/default.nix { };
+  samtools_0_1_19 = callPackage ../applications/science/biology/samtools/samtools_0_1_19.nix { };
 
   snpeff = callPackage ../applications/science/biology/snpeff/default.nix { };
 
+  star = callPackage ../applications/science/biology/star { };
+
   varscan = callPackage ../applications/science/biology/varscan/default.nix { };
 
   bwa = callPackage ../applications/science/biology/bwa/default.nix { };
@@ -18948,6 +19152,8 @@ with pkgs;
 
   ### SCIENCE/MATH
 
+  almonds = pythonPackages.callPackage ../applications/science/math/almonds { };
+
   arpack = callPackage ../development/libraries/science/math/arpack { };
 
   atlas = callPackage ../development/libraries/science/math/atlas {
@@ -19582,7 +19788,7 @@ with pkgs;
   faust1 = callPackage ../applications/audio/faust/faust1.nix { };
 
   faust2 = callPackage ../applications/audio/faust/faust2.nix {
-    llvm = llvm_38;
+    llvm = llvm_4;
   };
 
   faust2alqt = callPackage ../applications/audio/faust/faust2alqt.nix { };
@@ -19720,6 +19926,8 @@ with pkgs;
 
   nixopsUnstable = lowPrio (callPackage ../tools/package-management/nixops/unstable.nix { });
 
+  nixops-dns = callPackage ../tools/package-management/nixops/nixops-dns.nix { };
+
   nixui = callPackage ../tools/package-management/nixui { node_webkit = nwjs_0_12; };
 
   nix-bundle = callPackage ../tools/package-management/nix-bundle { nix = nixUnstable; };
@@ -19956,6 +20164,8 @@ with pkgs;
 
   terraform-inventory = callPackage ../applications/networking/cluster/terraform-inventory {};
 
+  terraform-landscape = callPackage ../applications/networking/cluster/terraform-landscape {};
+
   terragrunt = callPackage ../applications/networking/cluster/terragrunt {};
 
   terragrunt_0_11_1 = callPackage ../applications/networking/cluster/terragrunt/0.11.1.nix {
@@ -20034,7 +20244,7 @@ with pkgs;
   vimprobable2 = wrapFirefox vimprobable2-unwrapped { };
 
   vimb-unwrapped = callPackage ../applications/networking/browsers/vimb {
-    webkit = webkitgtk24x-gtk2;
+    webkit = webkitgtk218x;
   };
   vimb = wrapFirefox vimb-unwrapped { };
 
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index 76807d9b9261..765f69c1b14a 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -52,7 +52,7 @@ rec {
     # Other Beam languages. These are built with `beam.interpreters.erlang`. To
     # access for example elixir built with different version of Erlang, use
     # `beam.packages.erlangR19.elixir`.
-    inherit (packages.erlang) elixir elixir_1_6_rc elixir_1_5 elixir_1_4 elixir_1_3;
+    inherit (packages.erlang) elixir elixir_1_6 elixir_1_5 elixir_1_4 elixir_1_3;
 
     inherit (packages.erlang) lfe lfe_1_2;
   };
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index c27a2e7d39d8..12a62ba3851b 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -75,7 +75,7 @@ in rec {
   coqPackages_8_5 = mkCoqPackages coq_8_5;
   coqPackages_8_6 = mkCoqPackages coq_8_6;
   coqPackages_8_7 = mkCoqPackages coq_8_7;
-  coqPackages = coqPackages_8_6;
+  coqPackages = coqPackages_8_7;
   coq = coqPackages.coq;
 
 }
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index e75c9338f8d4..1f8039010d7b 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -44,6 +44,8 @@ in
   };
 
   libobjc = apple-source-releases.objc4;
+  
+  lsusb = callPackage ../os-specific/darwin/lsusb { };
 
   opencflite = callPackage ../os-specific/darwin/opencflite { };
 
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 96d5e1fe2839..9cf9eb4db658 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -49,7 +49,7 @@ in let
   # { /* the config */ } and
   # { pkgs, ... } : { /* the config */ }
   config =
-    if builtins.isFunction configExpr
+    if lib.isFunction configExpr
     then configExpr { inherit pkgs; }
     else configExpr;
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 3acc6d0ebec6..99863eb76a88 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -32,9 +32,7 @@
 #   `meta` with `platforms` and `homepage` set to something you are
 #   unlikely to want to override for most packages
 
-{ overrides
-
-, lib, newScope, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg, runCommand
+{ lib, newScope, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg, runCommand
 
 , emacs, texinfo, lndir, makeWrapper
 , trivialBuild
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index cba1f9a54a24..51726ca730dc 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,22 +1,21 @@
-{ pkgs, lib, newScope, stdenv, buildPlatform, targetPlatform }:
+{ buildPackages, pkgs
+, newScope, stdenv
+, buildPlatform, targetPlatform
+}:
 
 let
   # These are attributes in compiler and packages that don't support integer-simple.
   integerSimpleExcludes = [
-    "ghc6102Binary"
     "ghc704Binary"
     "ghc742Binary"
     "ghc784Binary"
     "ghc7103Binary"
     "ghc821Binary"
-    "ghc6104"
-    "ghc6123"
     "ghc704"
     "ghc763"
     "ghcjs"
     "ghcjsHEAD"
     "ghcCross"
-    "uhc"
     "integer-simple"
   ];
 
@@ -32,27 +31,15 @@ in rec {
 
   compiler = {
 
-    ghc6102Binary = callPackage ../development/compilers/ghc/6.10.2-binary.nix {
-      gmp = pkgs.gmp4;
-    };
-    ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix {
-      gmp = pkgs.gmp4;
-    };
-    ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix {
-      gmp = pkgs.gmp4;
-    };
+    ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { gmp = pkgs.gmp4; };
+    ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { gmp = pkgs.gmp4; };
     ghc784Binary = callPackage ../development/compilers/ghc/7.8.4-binary.nix { };
     ghc7103Binary = callPackage ../development/compilers/ghc/7.10.3-binary.nix { };
     ghc821Binary = callPackage ../development/compilers/ghc/8.2.1-binary.nix { };
 
-    ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; };
-    ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; };
     ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix {
       ghc = compiler.ghc704Binary;
     };
-    ghc722 = callPackage ../development/compilers/ghc/7.2.2.nix {
-      ghc = compiler.ghc704Binary;
-    };
     ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix {
       ghc = compiler.ghc704Binary;
     };
@@ -65,113 +52,119 @@ in rec {
     ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec {
       bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour;
+      buildLlvmPackages = buildPackages.llvmPackages_35;
+      llvmPackages = pkgs.llvmPackages_35;
     };
     ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec {
       bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour;
       sphinx = pkgs.python27Packages.sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_37;
+      llvmPackages = pkgs.llvmPackages_37;
     };
     ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec {
       bootPkgs = packages.ghc821Binary;
       inherit (bootPkgs) hscolour alex happy;
       inherit buildPlatform targetPlatform;
       sphinx = pkgs.python3Packages.sphinx;
-      selfPkgs = packages.ghc822;
+      buildLlvmPackages = buildPackages.llvmPackages_39;
+      llvmPackages = pkgs.llvmPackages_39;
+    };
+    ghc841 = callPackage ../development/compilers/ghc/8.4.1.nix rec {
+      bootPkgs = packages.ghc821Binary;
+      inherit (bootPkgs) alex happy;
+      buildLlvmPackages = buildPackages.llvmPackages_5;
+      llvmPackages = pkgs.llvmPackages_5;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
       bootPkgs = packages.ghc821Binary;
       inherit (bootPkgs) alex happy;
-      inherit buildPlatform targetPlatform;
-      selfPkgs = packages.ghcHEAD;
+      buildLlvmPackages = buildPackages.llvmPackages_5;
+      llvmPackages = pkgs.llvmPackages_5;
     };
     ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs {
-      bootPkgs = packages.ghc821Binary;
+      bootPkgs = packages.ghc7103;
+      inherit (pkgs) cabal-install;
     };
     ghcjsHEAD = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix {
-      bootPkgs = packages.ghc821Binary;
+      bootPkgs = packages.ghc802;
+      inherit (pkgs) cabal-install;
     };
-    ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec {
-      bootPkgs = packages.ghc7103Binary;
-      inherit (bootPkgs) hscolour alex happy;
-    };
-
-    uhc = callPackage ../development/compilers/uhc/default.nix ({
-      stdenv = pkgs.clangStdenv;
-      inherit (packages.ghc7103Binary) ghcWithPackages;
-    });
 
     # The integer-simple attribute set contains all the GHC compilers
     # build with integer-simple instead of integer-gmp.
-    integer-simple =
-      let integerSimpleGhcNames =
-            pkgs.lib.filter (name: ! builtins.elem name integerSimpleExcludes)
-                            (pkgs.lib.attrNames compiler);
-          integerSimpleGhcs = pkgs.lib.genAttrs integerSimpleGhcNames
-                                (name: compiler."${name}".override { enableIntegerSimple = true; });
-      in pkgs.recurseIntoAttrs (integerSimpleGhcs // {
-           ghcHEAD = integerSimpleGhcs.ghcHEAD.override { selfPkgs = packages.integer-simple.ghcHEAD; };
-         });
-
+    integer-simple = let
+      integerSimpleGhcNames = pkgs.lib.filter
+        (name: ! builtins.elem name integerSimpleExcludes)
+        (pkgs.lib.attrNames compiler);
+    in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
+      integerSimpleGhcNames
+      (name: compiler."${name}".override { enableIntegerSimple = true; }));
   };
 
-  packages = {
+  # Always get compilers from `buildPackages`
+  packages = let bh = buildPackages.haskell; in {
 
     ghc7103 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc7103;
+      buildHaskellPackages = bh.packages.ghc7103;
+      ghc = bh.compiler.ghc7103;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
     };
     ghc7103Binary = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc7103Binary;
+      buildHaskellPackages = bh.packages.ghc7103Binary;
+      ghc = bh.compiler.ghc7103Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
     };
     ghc802 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc802;
+      buildHaskellPackages = bh.packages.ghc802;
+      ghc = bh.compiler.ghc802;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
     };
-    ghc822 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc822;
+    ghc821Binary = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc821Binary;
+      ghc = bh.compiler.ghc821Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
-    ghc821Binary = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc821Binary;
+    ghc822 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc822;
+      ghc = bh.compiler.ghc822;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
-    ghcHEAD = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcHEAD;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
+    ghc841 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc841;
+      ghc = bh.compiler.ghc841;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
     };
-    # TODO Support for multiple variants here
-    ghcCross = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcHEAD.crossCompiler;
+    ghcHEAD = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghcHEAD;
+      ghc = bh.compiler.ghcHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
     };
-    ghcjs = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcjs;
+    ghcjs = callPackage ../development/haskell-modules rec {
+      buildHaskellPackages = ghc.bootPkgs;
+      ghc = bh.compiler.ghcjs;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
-    ghcjsHEAD = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcjsHEAD;
+    ghcjsHEAD = callPackage ../development/haskell-modules rec {
+      buildHaskellPackages = ghc.bootPkgs;
+      ghc = bh.compiler.ghcjsHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
-    ghcHaLVM240 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcHaLVM240;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-halvm-2.4.0.nix { };
-    };
 
     # The integer-simple attribute set contains package sets for all the GHC compilers
     # using integer-simple instead of integer-gmp.
-    integer-simple =
-      let integerSimpleGhcNames =
-            pkgs.lib.filter (name: ! builtins.elem name integerSimpleExcludes)
-                            (pkgs.lib.attrNames packages);
-      in pkgs.lib.genAttrs integerSimpleGhcNames (name: packages."${name}".override {
-       ghc = compiler.integer-simple."${name}";
-       overrides = _self : _super : {
-         integer-simple = null;
-         integer-gmp = null;
-       };
+    integer-simple = let
+      integerSimpleGhcNames = pkgs.lib.filter
+        (name: ! builtins.elem name integerSimpleExcludes)
+        (pkgs.lib.attrNames packages);
+    in pkgs.lib.genAttrs integerSimpleGhcNames (name: packages."${name}".override {
+      ghc = compiler.integer-simple."${name}";
+      overrides = _self : _super : {
+        integer-simple = null;
+        integer-gmp = null;
+      };
     });
 
   };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 4c05f96caf7a..d80c43b03f52 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -9,7 +9,7 @@
 , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo
 , perl, gtk2, python, glib, gobjectIntrospection, libevent, zlib, autoreconfHook
 , mysql, postgresql, cyrus_sasl
-, fetchFromGitHub, libmpack, which
+, fetchFromGitHub, libmpack, which, fetchpatch
 }:
 
 let
@@ -402,7 +402,7 @@ let
       description = "Network support for Lua";
       homepage = "http://w3.impa.br/~diego/software/luasocket/";
       license = licenses.mit;
-      maintainers = with maintainers; [ mornfall ];
+      maintainers = with maintainers; [ ];
       platforms = with platforms; darwin ++ linux ++ freebsd ++ illumos;
     };
   };
@@ -671,6 +671,14 @@ let
       sed -i "s|/usr/local|$out|" lgi/Makefile
     '';
 
+    patches = [
+        (fetchpatch {
+            name = "lgi-find-cairo-through-typelib.patch";
+            url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
+            sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
+        })
+    ];
+
     meta = with stdenv.lib; {
       description = "GObject-introspection based dynamic Lua binding to GObject based libraries";
       homepage    = https://github.com/pavouk/lgi;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index f7df25af393d..e078cb09b29e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -716,10 +716,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   bignum = buildPerlPackage rec {
-    name = "bignum-0.47";
+    name = "bignum-0.49";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "b084eac6d676d2acc4d60deed58e6e31b2f572b7b0be1aec9b93be92bad8261a";
+      sha256 = "28685b271251927d327851e5951e38649524a4e50cb0d1d35d649e2b814f212d";
     };
     buildInputs = [ MathBigInt MathBigRat ];
     meta = {
@@ -925,7 +925,6 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl interface to the cairo 2D vector graphics library";
-      maintainers = with maintainers; [ nckx ];
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   };
@@ -2184,6 +2183,12 @@ let self = _self // overrides; _self = with self; {
       description = "Clipboard - Copy and Paste with any OS";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin MacPasteboard;
+    # Disable test on darwin because MacPasteboard fails when not logged in interactively.
+    # Mac OS error -4960 (coreFoundationUnknownErr): The unknown error at lib/Clipboard/MacPasteboard.pm line 3.
+    # Mac-Pasteboard-0.009.readme: 'NOTE that Mac OS X appears to restrict pasteboard access to processes that are logged in interactively.
+    #     Ssh sessions and cron jobs can not create the requisite pasteboard handles, giving coreFoundationUnknownErr (-4960)'
+    doCheck = !stdenv.isDarwin;
   };
 
 
@@ -2539,10 +2544,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CpanelJSONXS = buildPerlPackage rec {
-    name = "Cpanel-JSON-XS-3.0237";
+    name = "Cpanel-JSON-XS-4.00";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz";
-      sha256 = "da86fffdbe6c1b7a023e95e2b8db7d6b45a08871c8312f23e45253c78e662d07";
+      sha256 = "4dedf770cab3009b08bca108266b941097ae1c55c674c500e3145e2f23a628ac";
     };
     meta = {
       description = "CPanel fork of JSON::XS, fast and correct serializing";
@@ -2717,10 +2722,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptJWT = buildPerlPackage rec {
-    name = "Crypt-JWT-0.018";
+    name = "Crypt-JWT-0.020";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz";
-      sha256 = "90e78f7f0ced17e5c2080ad8c7008ce3badd05186e2ff20cf9c7232ed863cdaf";
+      sha256 = "0587fc11435aecbbdc19b33f774d05ff31f19750b26a3588af93f33e8000d464";
     };
     propagatedBuildInputs = [ CryptX JSONMaybeXS ];
     meta = {
@@ -2926,10 +2931,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptX = buildPerlPackage rec {
-    name = "CryptX-0.055";
+    name = "CryptX-0.057";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz";
-      sha256 = "4d680e8356497fbd2c66114a2bfbde753d77930f997430ba077db66a4458cee9";
+      sha256 = "b85fffbc8ecc0b8f1f768926c6b31e755e6df15556462d101d45ef5c48f9d025";
     };
     propagatedBuildInputs = [ JSONMaybeXS ];
     meta = {
@@ -3830,15 +3835,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClass = buildPerlPackage rec {
-    # tests broken again
-    doCheck = false;
-    name = "DBIx-Class-0.082840";
+    name = "DBIx-Class-0.082841";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "4049afd175e315ebcab945b19030aec40bcec46cc5611b0286a5a267ca7181ef";
+      sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
-    patches = [ ../development/perl-modules/dbiclassx-fix.patch ]; # Remove after next release
-    buildInputs = [ DBDSQLite PackageStash SQLTranslator TestDeep TestException TestWarn ];
+    buildInputs = [ DBDSQLite PackageStash TestDeep TestException TestWarn ];
     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction HashMerge MROCompat ModuleFind Moo PathClass SQLAbstract ScopeGuard SubName TryTiny namespaceclean ];
     meta = {
       homepage = http://www.dbix-class.org/;
@@ -4832,10 +4834,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Encode = buildPerlPackage rec {
-    name = "Encode-2.93";
+    name = "Encode-2.95";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/${name}.tar.gz";
-      sha256 = "2d06b0375c84a75cf3762685e6d94c3aef25833fd0427daa0ae87b04ae6f739c";
+      sha256 = "d662794c6f834382527f67ca62e1715887f504cfd09e119a1302e584dd3cdcde";
     };
     meta = {
       description = "Character encodings in Perl";
@@ -6048,10 +6050,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   GetoptLongDescriptive = buildPerlPackage rec {
-    name = "Getopt-Long-Descriptive-0.100";
+    name = "Getopt-Long-Descriptive-0.101";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "1451e79310d1630de37690e3aba5c38ea5f01a486c5a43f0cd95bef2a02dffb6";
+      sha256 = "752e898ea6eb8706ceb836668ca645704f5dcbc3124b6d1b21d04007dbc46948";
     };
     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
     propagatedBuildInputs = [ ParamsValidate SubExporter ];
@@ -6059,7 +6061,6 @@ let self = _self // overrides; _self = with self; {
       homepage = https://github.com/rjbs/Getopt-Long-Descriptive;
       description = "Getopt::Long, but simpler and more powerful";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -6096,7 +6097,6 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl wrappers for the GLib utility and Object libraries";
-      maintainers = with maintainers; [ nckx ];
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   };
@@ -6288,7 +6288,6 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
-      maintainers = with maintainers; [ nckx ];
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   };
@@ -8049,10 +8048,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogAny = buildPerlPackage rec {
-    name = "Log-Any-1.704";
+    name = "Log-Any-1.705";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PR/PREACTION/${name}.tar.gz";
-      sha256 = "57289d17b83bb5ce1d44148fd4e31a82b0d27e9104706ddc1ec5bb15461d0dd9";
+      sha256 = "85c7c5189a8bfc2ffb6f879b4cd04dd77f94bc5abc3800b4330f42f43fb9a696";
     };
     # Syslog test fails.
     preCheck = "rm t/syslog.t";
@@ -8065,10 +8064,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogContextual = buildPerlPackage rec {
-    name = "Log-Contextual-0.008000";
+    name = "Log-Contextual-0.008001";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FR/FREW/${name}.tar.gz";
-      sha256 = "acd804508740e35c208e0cff575f3dbca2e01b8e64ec00eec3f88c7c4e3d656c";
+      sha256 = "b93cbcfbb8796d51c836e3b00243cda5630808c152c14eee5f20ca09c9451993";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
@@ -8320,6 +8319,20 @@ let self = _self // overrides; _self = with self; {
     inherit fetchurl buildPerlPackage stdenv DBDmysql;
   };
 
+  MacPasteboard = buildPerlPackage rec {
+    name = "Mac-Pasteboard-0.009";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/W/WY/WYANT/${name}.tar.gz";
+      sha256 = "85b1d5e9630973b997c3c1634e2df964d6a8d6cb57d9abe1f7093385cf26cf54";
+    };
+    meta = with stdenv.lib; {
+      description = "Manipulate Mac OS X pasteboards";
+      license = with licenses; [ artistic1 gpl1Plus ];
+      platforms = platforms.darwin;
+    };
+    buildInputs = [ pkgs.darwin.apple_sdk.frameworks.ApplicationServices ];
+  };
+
   MailMaildir = buildPerlPackage rec {
     version = "1.0.0";
     name = "Mail-Maildir-${version}";
@@ -8385,6 +8398,18 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ParseRecDescent];
   };
 
+  MailPOP3Client = buildPerlPackage rec {
+    name = "Mail-POP3Client-2.19";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SD/SDOWD/${name}.tar.gz";
+      sha256 = "1142d6247a93cb86b23ed8835553bb2d227ff8213ee2743e4155bb93f47acb59";
+    };
+    meta = {
+      description = "Perl 5 module to talk to a POP3 (RFC1939) server";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   MailRFC822Address = buildPerlPackage {
     name = "Mail-RFC822-Address-0.3";
     src = fetchurl {
@@ -10758,7 +10783,6 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://gtk2-perl.sourceforge.net/;
       description = "Layout and render international text";
-      maintainers = with maintainers; [ nckx ];
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   };
@@ -10859,7 +10883,6 @@ let self = _self // overrides; _self = with self; {
     meta = with stdenv.lib; {
       homepage = http://search.cpan.org/~jaybonci/Parse-DebControl;
       license = with licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -11236,7 +11259,8 @@ let self = _self // overrides; _self = with self; {
       url = "https://alioth.debian.org/frs/download.php/file/4142/po4a-0.47.tar.gz";
       sha256 = "5010e1b7df1115cbd475f46587fc05fefc97301f9bba0c2f15106005ca017507";
     };
-    propagatedBuildInputs = [ pkgs.docbook_xml_xslt TextWrapI18N LocaleGettext TermReadKey SGMLSpm ModuleBuild UnicodeLineBreak ModuleBuild ];
+    nativeBuildInputs = [ pkgs.docbook_xml_xslt pkgs.docbook_xsl pkgs.docbook_xsl_ns ];
+    propagatedBuildInputs = [ TextWrapI18N LocaleGettext TermReadKey SGMLSpm ModuleBuild UnicodeLineBreak ModuleBuild ];
     buildInputs = [ pkgs.gettext pkgs.libxslt pkgs.glibcLocales pkgs.docbook_xml_dtd_412 pkgs.docbook_sgml_dtd_41 pkgs.texlive.combined.scheme-basic pkgs.jade ];
     LC_ALL="en_US.UTF-8";
     SGML_CATALOG_FILES = "${pkgs.docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
@@ -12286,17 +12310,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   SQLAbstract = buildPerlPackage rec {
-    name = "SQL-Abstract-1.81";
+    name = "SQL-Abstract-1.85";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "5f4d5618ce2424d62bbfdb5228b382e8be0e0ccedbb273d6d850e25d07e64f9f";
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
+      sha256 = "9f44afe031a0cc63a6ccabaa46ba7ec58ef4db940559cee7fbc2dfbbf37bccab";
     };
     buildInputs = [ TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ HashMerge MROCompat Moo ];
+    propagatedBuildInputs = [ HashMerge MROCompat Moo SubQuote ];
     meta = {
       description = "Generate SQL from Perl data structures";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.rycee ];
     };
   };
 
@@ -12836,10 +12859,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubQuote = buildPerlPackage rec {
-    name = "Sub-Quote-2.003001";
+    name = "Sub-Quote-2.005000";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "9d471d8e13e7ce4793d5a5ec04a60fface14dd53be78dd94d228871915cfd1f9";
+      sha256 = "44b145111bee7b0001818e77f7ce587153232dbc97351f4c5ed34522372b64ff";
     };
     buildInputs = [ TestFatal ];
     meta = {
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index fc922775cf4c..4f653cebebcb 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -8,8 +8,6 @@ let
     };
   isPhpOlder55 = pkgs.lib.versionOlder php.version "5.5";
   isPhp7 = pkgs.lib.versionAtLeast php.version "7.0";
-  isPhp72 = pkgs.lib.versionAtLeast php.version "7.2";
-  isPhpOlder7 = pkgs.lib.versionOlder php.version "7.0";
 
   apcu = if isPhp7 then apcu51 else apcu40;
 
@@ -181,7 +179,7 @@ let
     buildInputs = [ pkgs.spidermonkey_1_8_5 ];
   };
 
-  xdebug = if isPhp72 then xdebug26 else if isPhp7 then xdebug25 else xdebug23;
+  xdebug = if isPhp7 then xdebug26 else xdebug23;
 
   xdebug23 = assert !isPhp7; buildPecl {
     name = "xdebug-2.3.1";
@@ -192,19 +190,10 @@ let
     checkTarget = "test";
   };
 
-  xdebug25 = assert !isPhp72; buildPecl {
-    name = "xdebug-2.5.0";
+  xdebug26 = assert isPhp7; buildPecl {
+    name = "xdebug-2.6.0";
 
-    sha256 = "03c9y25a3gc3kpav0cdgmhjixcaly6974hx7wgihi0wlchgavmlb";
-
-    doCheck = true;
-    checkTarget = "test";
-  };
-
-  xdebug26 = assert !isPhpOlder7; buildPecl {
-    name = "xdebug-2.6.0beta1";
-
-    sha256 = "0zaj821jbpaqqcbr9a64sa27my9n980pmyy9kxrvvjqq3qg6dpj9";
+    sha256 = "1p6b54ypi5lq4ka3pyy2gswdf1d5vjb9y8lp9fqcp3zn7g04q9mm";
 
     doCheck = true;
     checkTarget = "test";
@@ -339,12 +328,13 @@ let
 
   composer = pkgs.stdenv.mkDerivation rec {
     name = "composer-${version}";
-    version = "1.5.1";
+    version = "1.6.2";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "107v8hdgmi2s15zsd9ffrr3jyw01qkwv174y9gw9fbpdrjwffi97";
+      sha256 = "0xjjnbpzar6ybpad77r0b4a96bwrayza8s1s9vz6s634ir98dhvf";
     };
+
     unpackPhase = ":";
 
     buildInputs = [ pkgs.makeWrapper ];
@@ -393,11 +383,11 @@ let
 
   php-cs-fixer = pkgs.stdenv.mkDerivation rec {
     name = "php-cs-fixer-${version}";
-    version = "2.10.0";
+    version = "2.10.2";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "0mi72sg0gms2lg1r1b6qxhsxgi3v07kczmr1hnk7pwa47jb6572q";
+      sha256 = "1h089zddza2n5cznq340ijvc34d1ffsja9ks0b67nax52w0197mi";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f311396d6f27..50b964af6ef9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -40,7 +40,7 @@ let
   makeOverridablePythonPackage = f: origArgs:
     let
       ff = f origArgs;
-      overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
+      overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs);
     in
       if builtins.isAttrs ff then (ff // {
         overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
@@ -155,6 +155,8 @@ in {
 
   agate-sql = callPackage ../development/python-modules/agate-sql { };
 
+  aioimaplib = callPackage ../development/python-modules/aioimaplib { };
+
   aioamqp = callPackage ../development/python-modules/aioamqp { };
 
   ansicolor = callPackage ../development/python-modules/ansicolor { };
@@ -165,6 +167,8 @@ in {
 
   asn1crypto = callPackage ../development/python-modules/asn1crypto { };
 
+  astral = callPackage ../development/python-modules/astral { };
+
   astropy = callPackage ../development/python-modules/astropy {  };
 
   augeas = callPackage ../development/python-modules/augeas {
@@ -199,12 +203,16 @@ in {
 
   bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
 
+  dendropy = callPackage ../development/python-modules/dendropy { };
+
   dbf = callPackage ../development/python-modules/dbf { };
 
   dbfread = callPackage ../development/python-modules/dbfread { };
 
   dkimpy = callPackage ../development/python-modules/dkimpy { };
 
+  diff_cover = callPackage ../development/python-modules/diff_cover { };
+
   emcee = callPackage ../development/python-modules/emcee { };
 
   email_validator = callPackage ../development/python-modules/email-validator { };
@@ -221,6 +229,8 @@ in {
 
   diff-match-patch = callPackage ../development/python-modules/diff-match-patch { };
 
+  globus-sdk = callPackage ../development/python-modules/globus-sdk { };
+  
   gssapi = callPackage ../development/python-modules/gssapi { };
 
   h5py = callPackage ../development/python-modules/h5py {
@@ -231,6 +241,8 @@ in {
     hdf5 = pkgs.hdf5-mpi;
   };
 
+  habanero = callPackage ../development/python-modules/habanero { };
+
   intelhex = callPackage ../development/python-modules/intelhex { };
 
   lmtpd = callPackage ../development/python-modules/lmtpd { };
@@ -239,6 +251,8 @@ in {
     mpi = pkgs.openmpi;
   };
 
+  mwoauth = callPackage ../development/python-modules/mwoauth { };
+  
   neuron = pkgs.neuron.override {
     inherit python;
   };
@@ -257,6 +271,8 @@ in {
 
   ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
 
+  oauthenticator = callPackage ../development/python-modules/oauthenticator { };
+
   plantuml = callPackage ../tools/misc/plantuml { };
 
   Pmw = callPackage ../development/python-modules/Pmw { };
@@ -281,6 +297,8 @@ in {
 
   pydbus = callPackage ../development/python-modules/pydbus { };
 
+  pydocstyle = callPackage ../development/python-modules/pydocstyle { };
+
   pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {});
 
   py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
@@ -312,6 +330,8 @@ in {
     callPackage = pkgs.callPackage;
   };
 
+  pyparser = callPackage ../development/python-modules/pyparser { };
+
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     pythonPackages = self;
   };
@@ -336,6 +356,8 @@ in {
     slurm = pkgs.slurm;
   };
 
+  pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
+  
   python-sql = callPackage ../development/python-modules/python-sql { };
 
   python-stdnum = callPackage ../development/python-modules/python-stdnum { };
@@ -354,18 +376,26 @@ in {
 
   rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
 
+  rx = callPackage ../development/python-modules/rx { };
+
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
 
+  serversyncstorage = callPackage ../development/python-modules/serversyncstorage {};
+
   simpleeval = callPackage ../development/python-modules/simpleeval { };
 
   sip = callPackage ../development/python-modules/sip { };
 
   supervise_api = callPackage ../development/python-modules/supervise_api { };
 
+  syncserver = callPackage ../development/python-modules/syncserver {};
+
   tables = callPackage ../development/python-modules/tables {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
+  tokenserver = callPackage ../development/python-modules/tokenserver {};
+
   unifi = callPackage ../development/python-modules/unifi { };
 
   pyunbound = callPackage ../tools/networking/unbound/python.nix { };
@@ -386,8 +416,6 @@ in {
 
   adal = callPackage ../development/python-modules/adal { };
 
-  afew = callPackage ../development/python-modules/afew { };
-
   aiodns = callPackage ../development/python-modules/aiodns { };
 
   aiofiles = callPackage ../development/python-modules/aiofiles { };
@@ -574,6 +602,8 @@ in {
 
   area53 = callPackage ../development/python-modules/area53 { };
 
+  arxiv2bib = callPackage ../development/python-modules/arxiv2bib { };
+
   chai = callPackage ../development/python-modules/chai { };
 
   chainmap = callPackage ../development/python-modules/chainmap { };
@@ -592,7 +622,7 @@ in {
   async = buildPythonPackage rec {
     name = "async-0.6.1";
     disabled = isPy3k;
-    meta.maintainers = with maintainers; [ mornfall ];
+    meta.maintainers = with maintainers; [ ];
 
     buildInputs = with self; [ pkgs.zlib ];
     doCheck = false;
@@ -603,6 +633,8 @@ in {
     };
   };
 
+  asynctest = callPackage ../development/python-modules/asynctest { };
+
   async-timeout = callPackage ../development/python-modules/async_timeout { };
 
   asn1ate = callPackage ../development/python-modules/asn1ate { };
@@ -1007,7 +1039,7 @@ in {
 
   backports_shutil_get_terminal_size = callPackage ../development/python-modules/backports_shutil_get_terminal_size { };
 
-  backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec {
+  backports_ssl_match_hostname_3_4_0_2 = if !(pythonOlder "3.5") then null else self.buildPythonPackage rec {
     name = "backports.ssl_match_hostname-3.4.0.2";
 
     src = pkgs.fetchurl {
@@ -1021,7 +1053,7 @@ in {
     };
   };
 
-  backports_ssl_match_hostname = self.buildPythonPackage rec {
+  backports_ssl_match_hostname = if !(pythonOlder "3.5") then null else self.buildPythonPackage rec {
     name = "backports.ssl_match_hostname-${version}";
     version = "3.5.0.1";
 
@@ -1304,7 +1336,6 @@ in {
       homepage = https://github.com/AmesCornish/buttersink/wiki;
       license = licenses.gpl3;
       platforms = platforms.linux;
-      maintainers = with maintainers; [ nckx ];
     };
 
     propagatedBuildInputs = with self; [ boto crcmod psutil ];
@@ -1394,24 +1425,7 @@ in {
     };
   };
 
-  colorlog = buildPythonPackage rec {
-    name = "colorlog-${version}";
-    version = "2.6.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/colorlog/${name}.tar.gz";
-      sha256 = "0djv6ky1yk28s1l093w8plg19kp88q4nyrm1vfxyq0s9j4pix29l";
-    };
-
-    # No tests included
-    doCheck = false;
-
-    meta = {
-      description = "Log formatting with colors";
-      homepage = https://github.com/borntyping/python-colorlog;
-      license = licenses.free; # BSD-like
-    };
-  };
+  colorlog = callPackage ../development/python-modules/colorlog { };
 
   colour = buildPythonPackage rec {
     name = "${pname}-${version}";
@@ -1743,38 +1757,7 @@ in {
 
   httpserver = callPackage ../development/python-modules/httpserver {};
 
-  bleach = buildPythonPackage rec {
-    pname = "bleach";
-    version = "2.0.0";
-    name = "${pname}-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-      sha256 = "0c5w7hh70lqzca7ir71j891csvch1899r8q09zgswk1y00q22lmr";
-    };
-
-    buildInputs = with self; [ pytest pytestrunner ];
-    propagatedBuildInputs = with self; [ six html5lib ];
-
-    meta = {
-      description = "An easy, HTML5, whitelisting HTML sanitizer";
-      longDescription = ''
-        Bleach is an HTML sanitizing library that escapes or strips markup and
-        attributes based on a white list. Bleach can also linkify text safely,
-        applying filters that Django's urlize filter cannot, and optionally
-        setting rel attributes, even on links already in the text.
-
-        Bleach is intended for sanitizing text from untrusted sources. If you
-        find yourself jumping through hoops to allow your site administrators
-        to do lots of things, you're probably outside the use cases. Either
-        trust those users, or don't.
-      '';
-      homepage = https://github.com/mozilla/bleach;
-      downloadPage = https://github.com/mozilla/bleach/releases;
-      license = licenses.asl20;
-      maintainers = with maintainers; [ prikhi ];
-    };
-  };
+  bleach = callPackage ../development/python-modules/bleach { };
 
   # needed for tensorflow-tensorboard
   bleach_1_5_0 = self.bleach.overridePythonAttrs rec {
@@ -2048,7 +2031,7 @@ in {
 
   bunch = buildPythonPackage (rec {
     name = "bunch-1.0.1";
-    meta.maintainers = with maintainers; [ mornfall ];
+    meta.maintainers = with maintainers; [ ];
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/b/bunch/${name}.tar.gz";
@@ -2057,6 +2040,11 @@ in {
     doCheck = false;
   });
 
+  can = callPackage ../development/python-modules/can {};
+
+  canopen = callPackage ../development/python-modules/canopen {};
+
+  canmatrix = callPackage ../development/python-modules/canmatrix {};
 
   cairocffi = buildPythonPackage rec {
     name = "cairocffi-0.7.2";
@@ -2153,26 +2141,6 @@ in {
     };
   };
 
-  github-cli = buildPythonPackage rec {
-    version = "1.0.0";
-    name = "github-cli-${version}";
-    src = pkgs.fetchFromGitHub {
-      owner = "jsmits";
-      repo = "github-cli";
-      rev = version;
-      sha256 = "16bwn42wqd76zs97v8p6mqk79p5i2mb06ljk67lf8gy6kvqc1x8y";
-    };
-
-    buildInputs = with self; [ nose pkgs.git ];
-    propagatedBuildInputs = with self; [ simplejson ];
-
-    # skipping test_issues_cli.py since it requires access to the github.com
-    patchPhase = "rm tests/test_issues_cli.py";
-    checkPhase = "nosetests tests/";
-
-    meta.maintainers = with maintainers; [ garbas ];
-  };
-
   case = buildPythonPackage rec {
     name = "case-${version}";
     version = "1.5.2";
@@ -2393,7 +2361,6 @@ in {
         composable way, with as little code as necessary.
       '';
       license = licenses.bsd3;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -2438,32 +2405,7 @@ in {
 
   click-plugins = callPackage ../development/python-modules/click-plugins {};
 
-  click-threading = buildPythonPackage rec {
-    version = "0.4.2";
-    name = "click-threading-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/click-threading/${name}.tar.gz";
-      sha256 = "400b0bb63d9096b6bf2806efaf742a1cc8b6c88e0484f0afe7d7a7f0e9870609";
-    };
-
-    checkInputs = with self; [ pytest_29 ];
-    propagatedBuildInputs = with self; [ click ] ++ optional (!isPy3k) futures;
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # Tests are broken on 3.x
-    doCheck = !isPy3k;
-
-    meta = {
-      homepage = https://github.com/click-contrib/click-threading/;
-      description = "Multithreaded Click apps made easy";
-      license = licenses.mit;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  click-threading = callPackage ../development/python-modules/click-threading {};
 
   cligj = callPackage ../development/python-modules/cligj { };
 
@@ -2851,79 +2793,23 @@ in {
     };
   };
 
-  cryptography = buildPythonPackage rec {
-    # also bump cryptography_vectors
-    pname = "cryptography";
-    name = "${pname}-${version}";
-    version = "2.0.3";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "d04bb2425086c3fe86f7bc48915290b13e798497839fbb18ab7f6dffcf98cc3a";
-    };
-
-    outputs = [ "out" "dev" ];
-
-    buildInputs = [ pkgs.openssl self.cryptography_vectors ]
-               ++ optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Security;
-    propagatedBuildInputs = with self; [
-      idna
-      asn1crypto
-      packaging
-      six
-    ] ++ optional (pythonOlder "3.4") enum34
-    ++ optional (pythonOlder "3.3") ipaddress
-    ++ optional (!isPyPy) cffi;
-
-    checkInputs = with self; [
-      pytest
-      pretend
-      iso8601
-      pytz
-      hypothesis
-    ];
-
-    # The test assumes that if we're on Sierra or higher, that we use `getentropy`, but for binary
-    # compatibility with pre-Sierra for binary caches, we hide that symbol so the library doesn't
-    # use it. This boils down to them checking compatibility with `getentropy` in two different places,
-    # so let's neuter the second test.
-    postPatch = ''
-      substituteInPlace ./tests/hazmat/backends/test_openssl.py --replace '"16.0"' '"99.0"'
-    '';
+  cryptography = callPackage ../development/python-modules/cryptography { };
 
-    # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
-    # can do until nix 1.11's release
-    __impureHostDeps = [ "/usr/lib" ];
-  };
-
-  cryptography_vectors = buildPythonPackage rec {
-      # also bump cryptography
-    pname = "cryptography_vectors";
-    version = self.cryptography.version;
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "beb831aa73663a224f4d7520483ed02da544533bb03b26ec07a5f9a0dd0941e1";
-    };
-
-    # No tests included
-    doCheck = false;
-  };
+  cryptography_vectors = callPackage ../development/python-modules/cryptography_vectors { };
 
   curtsies = callPackage ../development/python-modules/curtsies { };
 
   tablib = buildPythonPackage rec {
     name = "tablib-${version}";
-    version = "0.10.0";
+    version = "0.12.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/tablib/tablib-${version}.tar.gz";
-      sha256 = "14wc8bmz60g35r6gsyhdzfvgfqpd3gw9lfkq49z5bxciykbxmhj1";
+      sha256 = "11wxchj0qz77dn79yiq30k4b4gsm429f4bizk4lm4rb63nk51kxq";
     };
 
-    buildInputs = with self; [ pytest ];
-
+    buildInputs = with self; [ pytest unicodecsv pandas ];
+    propagatedBuildInputs = with self; [ xlwt openpyxl pyyaml xlrd odfpy ];
     meta = with stdenv.lib; {
       description = "Tablib: format-agnostic tabular dataset library";
       homepage = "http://python-tablib.org";
@@ -3272,31 +3158,9 @@ in {
     };
   };
 
-  pytest = self.pytest_33;
-
-  pytest_27 = callPackage ../development/python-modules/pytest/2_7.nix {};
-
-  pytest_28 = callPackage ../development/python-modules/pytest/2_8.nix {};
-
-  pytest_29 = callPackage ../development/python-modules/pytest/2_9.nix {};
-
-  pytest_30 = callPackage ../development/python-modules/pytest/3_0.nix {
-    hypothesis = self.hypothesis.override {
-      # hypothesis requires pytest that causes dependency cycle
-      doCheck = false;
-      pytest = null;
-    };
-  };
-
-  pytest_32 = callPackage ../development/python-modules/pytest/3_2.nix{
-    hypothesis = self.hypothesis.override {
-      # hypothesis requires pytest that causes dependency cycle
-      doCheck = false;
-      pytest = null;
-    };
-  };
+  pytest = self.pytest_34;
 
-  pytest_33 = callPackage ../development/python-modules/pytest/default.nix{
+  pytest_34 = callPackage ../development/python-modules/pytest/default.nix{
     hypothesis = self.hypothesis.override {
       # hypothesis requires pytest that causes dependency cycle
       doCheck = false;
@@ -3308,6 +3172,8 @@ in {
 
   pytest-asyncio = callPackage ../development/python-modules/pytest-asyncio { };
 
+  pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { };
+
   pytestcache = buildPythonPackage rec {
     name = "pytest-cache-1.0";
     src = pkgs.fetchurl {
@@ -3490,26 +3356,7 @@ in {
     };
   };
 
-  pytestrunner = buildPythonPackage rec {
-    version = "2.6.2";
-    name = "pytest-runner-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pytest-runner/${name}.tar.gz";
-      sha256 = "e775a40ee4a3a1d45018b199c44cc20bbe7f3df2dc8882f61465bb4141c78cdb";
-    };
-
-    buildInputs = with self; [setuptools_scm pytest];
-
-    meta = {
-      description = "Invoke py.test as distutils command with dependency resolution";
-      homepage = https://bitbucket.org/pytest-dev/pytest-runner;
-      license = licenses.mit;
-    };
-
-    # Trying to run tests fails with # RuntimeError: dictionary changed size during iteration
-    doCheck = false;
-  };
+  pytestrunner = callPackage ../development/python-modules/pytestrunner { };
 
   pytestquickcheck = callPackage ../development/python-modules/pytest-quickcheck { };
 
@@ -3795,7 +3642,7 @@ in {
 
     buildInputs = with self; [ pytest docutils ];
     propagatedBuildInputs = with self; [
-      dask six boto3 s3fs tblib locket msgpack click cloudpickle tornado
+      dask six boto3 s3fs tblib locket msgpack-python click cloudpickle tornado
       psutil botocore zict lz4 sortedcollections sortedcontainers
     ] ++ (if !isPy3k then [ singledispatch ] else []);
 
@@ -3947,8 +3794,6 @@ in {
     };
   });
 
-  nose-parameterized = callPackage ../development/python-modules/nose-parameterized {};
-
   neurotools = buildPythonPackage (rec {
     name = "NeuroTools-${version}";
     version = "0.3.1";
@@ -4706,6 +4551,10 @@ in {
     };
   };
 
+  fpdf = callPackage ../development/python-modules/fpdf { };
+
+  fritzconnection = callPackage ../development/python-modules/fritzconnection { };
+
   frozendict = buildPythonPackage rec {
     name = "frozendict-0.5";
 
@@ -5004,7 +4853,7 @@ in {
 
     meta = {
       description = "Git Object Database";
-      maintainers = with maintainers; [ mornfall ];
+      maintainers = with maintainers; [ ];
       homepage = https://github.com/gitpython-developers/gitdb;
       license = licenses.bsd3;
     };
@@ -5030,7 +4879,7 @@ in {
 
     meta = {
       description = "Python Git Library";
-      maintainers = with maintainers; [ mornfall ];
+      maintainers = with maintainers; [ ];
       homepage = https://github.com/gitpython-developers/GitPython;
       license = licenses.bsd3;
     };
@@ -5183,6 +5032,8 @@ in {
   then callPackage ../development/python-modules/gurobipy/linux.nix {}
   else throw "gurobipy not yet supported on ${stdenv.system}";
 
+  hbmqtt = callPackage ../development/python-modules/hbmqtt { };
+
   helper = buildPythonPackage rec {
     pname = "helper";
     version = "2.4.1";
@@ -5319,6 +5170,8 @@ in {
     };
   };
 
+  idna-ssl = callPackage ../development/python-modules/idna-ssl/default.nix { };
+
   ijson = callPackage ../development/python-modules/ijson/default.nix {};
 
   imagesize = buildPythonPackage rec {
@@ -5366,6 +5219,8 @@ in {
     };
   };
 
+  imaplib2 = callPackage ../development/python-modules/imaplib2 { };
+
   ipfsapi = buildPythonPackage rec {
     name = "ipfsapi-${version}";
     version = "0.4.2.post1";
@@ -5656,35 +5511,7 @@ in {
     };
   };
 
-  PyLTI = buildPythonPackage rec {
-    version = "0.4.1";
-    name = "PyLTI-${version}";
-
-    disabled = !isPy27;
-
-    # There is no need to fix mock. https://github.com/mitodl/pylti/pull/48
-    postPatch = ''
-      substituteInPlace setup.py --replace "mock==1.0.1" "mock"
-    '';
-
-    propagatedBuildInputs = with self; [ httplib2 oauth oauth2 semantic-version ];
-    buildInputs = with self; [
-      flask httpretty oauthlib pyflakes pytest_27 pytestcache pytestcov covCore
-      pytestflakes pytestpep8 sphinx mock
-    ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/P/PyLTI/${name}.tar.gz";
-      sha256 = "076llj10j85zw3zq2gygx2pcfqi9rgcld5m4vq1iai1fk15x60fz";
-    };
-
-    meta = {
-      description = "Implementation of IMS LTI interface that works with edX";
-      homepage = "https://github.com/mitodl/pylti";
-      license = licenses.bsdOriginal;
-      maintainers = with maintainers; [ layus ];
-    };
-  };
+  PyLTI = callPackage ../development/python-modules/pylti { };
 
   lmdb = buildPythonPackage rec {
     pname = "lmdb";
@@ -5740,6 +5567,8 @@ in {
     };
   };
 
+  luftdaten = callPackage ../development/python-modules/luftdaten { };
+
   m2r = callPackage ../development/python-modules/m2r { };
 
   mailchimp = buildPythonPackage rec {
@@ -5967,6 +5796,12 @@ in {
       sha256 = "0ssxbqsshrm8p642g3h6wsq20z1fsqhpdvqdm827gn6dlr38868y";
     };
 
+    postUnpack = ''
+      substituteInPlace $sourceRoot/pamela.py --replace \
+        'find_library("pam")' \
+        '"${getLib pkgs.pam}/lib/libpam.so"'
+    '';
+
     doCheck = false;
 
     meta = {
@@ -5981,6 +5816,8 @@ in {
 
   paperwork-backend = callPackage ../applications/office/paperwork/backend.nix { };
 
+  papis-python-rofi = callPackage ../development/python-modules/papis-python-rofi { };
+
   pathspec = callPackage ../development/python-modules/pathspec { };
 
   pathtools = buildPythonPackage rec {
@@ -6170,6 +6007,8 @@ in {
     };
   };
 
+  prov = callPackage ../development/python-modules/prov { };
+
   pudb = buildPythonPackage rec {
     name = "pudb-2016.2";
 
@@ -6267,6 +6106,10 @@ in {
     inherit (pkgs.stdenv) mkDerivation;
   };
 
+  pydotplus = callPackage ../development/python-modules/pydotplus { };
+
+  pyhomematic = callPackage ../development/python-modules/pyhomematic { };
+
   pyphen = callPackage ../development/python-modules/pyphen {};
 
   pypoppler = buildPythonPackage rec {
@@ -7145,6 +6988,8 @@ in {
 
   chardet = callPackage ../development/python-modules/chardet { };
 
+  crayons = callPackage ../development/python-modules/crayons{ };
+
   django = self.django_1_11;
 
   django_1_11 = callPackage ../development/python-modules/django/1_11.nix {
@@ -8035,12 +7880,16 @@ in {
     };
   };
 
+  flask-common = callPackage ../development/python-modules/flask-common { };
+
   flask-compress = callPackage ../development/python-modules/flask-compress { };
 
   flask-cors = callPackage ../development/python-modules/flask-cors { };
 
   flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
+  flask-limiter = callPackage ../development/python-modules/flask-limiter { };
+
   flask_login = callPackage ../development/python-modules/flask-login { };
 
   flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login { };
@@ -8396,7 +8245,6 @@ in {
       homepage = https://github.com/terencehonles/fusepy;
       license = licenses.isc;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -8490,7 +8338,6 @@ in {
       homepage = https://github.com/dsoprea/GDriveFS;
       license = licenses.gpl2;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -8623,7 +8470,6 @@ in {
       '';
       homepage = http://gehrcke.de/gipc;
       license = licenses.mit;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -9474,6 +9320,8 @@ in {
     };
   };
 
+  jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
+
   jmespath = buildPythonPackage rec {
     name = "jmespath-0.9.0";
 
@@ -9508,6 +9356,8 @@ in {
 
   jupyter_core = callPackage ../development/python-modules/jupyter_core { };
 
+  jupyterhub = callPackage ../development/python-modules/jupyterhub { };
+
   jsonpath_rw = buildPythonPackage rec {
     name = "jsonpath-rw-${version}";
     version = "1.4.0";
@@ -9764,6 +9614,8 @@ in {
     ];
   };
 
+  python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
+
   python-Levenshtein = buildPythonPackage rec {
     name = "python-Levenshtein-${version}";
     version = "0.12.0";
@@ -9828,6 +9680,8 @@ in {
   libxslt = disabledIf isPy3k
     (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
 
+  limits = callPackage ../development/python-modules/limits { };
+
   limnoria = buildPythonPackage rec {
     name = "limnoria-${version}";
     version = "2016.05.06";
@@ -9939,32 +9793,7 @@ in {
 
   py_scrypt = callPackage ../development/python-modules/py_scrypt/default.nix { };
 
-  python_magic = buildPythonPackage rec {
-    name = "python-magic-0.4.10";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-magic/${name}.tar.gz";
-      sha256 = "1hx2sjd4fdswswj3yydn2azxb59rjmi9b7jzh94lf1wnxijjizbr";
-    };
-
-    propagatedBuildInputs = with self; [ pkgs.file ];
-
-    patchPhase = ''
-      substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${pkgs.file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
-    '';
-
-    doCheck = false;
-
-    # TODO: tests are failing
-    #checkPhase = ''
-    #  ${python}/bin/${python.executable} ./test.py
-    #'';
-
-    meta = {
-      description = "A python interface to the libmagic file type identification library";
-      homepage = https://github.com/ahupp/python-magic;
-    };
-  };
+  python_magic = callPackage ../development/python-modules/python-magic { };
 
   magic = buildPythonPackage rec {
     name = "${pkgs.file.name}";
@@ -10068,6 +9897,26 @@ in {
     };
   };
 
+  mapsplotlib = buildPythonPackage rec {
+    name = "mapsplotlib-${version}";
+    version = "1.0.6";
+
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/m/mapsplotlib/${name}.tar.gz";
+      sha256 = "09gpws3x0jd88n636baxx5izjffrpjy4j6jl8l7vj29yzvrdr2bp";
+    };
+
+    propagatedBuildInputs = with self; [ matplotlib scipy pandas requests pillow ];
+
+    meta = {
+      description = "Custom Python plots on a Google Maps background";
+      homepage = https://github.com/tcassou/mapsplotlib;
+      maintainers = [ maintainers.rob ];
+    };
+  };
+
   markdown = callPackage ../development/python-modules/markdown { };
 
   markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {};
@@ -10159,6 +10008,8 @@ in {
 
   matrix-client = callPackage ../development/python-modules/matrix-client/default.nix { };
 
+  maya = callPackage ../development/python-modules/maya { };
+
   mccabe = callPackage ../development/python-modules/mccabe { };
 
   mechanize = buildPythonPackage (rec {
@@ -10204,6 +10055,8 @@ in {
 
   meliae = callPackage ../development/python-modules/meliae {};
 
+  meinheld = callPackage ../development/python-modules/meinheld { };
+
   memcached = buildPythonPackage rec {
     name = "memcached-1.51";
 
@@ -10403,6 +10256,8 @@ in {
     };
   };
 
+  pendulum = callPackage ../development/python-modules/pendulum { };
+
   pocket = buildPythonPackage rec {
     name = "pocket-${version}";
     version = "0.3.6";
@@ -10696,21 +10551,13 @@ in {
     };
   };
 
-  msgpack = buildPythonPackage rec {
-    name = "msgpack-python-${version}";
-    version = "0.4.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/msgpack-python/${name}.tar.gz";
-      sha256 = "0syd7bs83qs9qmxw540jbgsildbqk4yb57fmrlns1021llli402y";
-    };
+  msgpack = callPackage ../development/python-modules/msgpack {};
 
-    checkPhase = ''
-      py.test
+  msgpack-python = self.msgpack.overridePythonAttrs {
+    pname = "msgpack-python";
+    postPatch = ''
+      substituteInPlace setup.py --replace "TRANSITIONAL = False" "TRANSITIONAL = True"
     '';
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ ];
   };
 
   msrplib = buildPythonPackage rec {
@@ -10822,14 +10669,6 @@ in {
     ];
     LC_ALL = "en_US.UTF-8";
 
-    # Remove test that fails due to missing encoding in nix_run_setup.py, a
-    # file that buildPythonPackage copies to source trees at build time.
-    # PR with fix: https://github.com/NixOS/nixpkgs/pull/17430
-    # ("python: add file encoding to run_setup.py")
-    preBuild = ''
-      rm tests/test_encoding.py
-    '';
-
     meta = {
       description = "Python multimedia tagging library";
       homepage = http://code.google.com/p/mutagen;
@@ -11307,34 +11146,12 @@ in {
     };
   });
 
-  nibabel = buildPythonPackage rec {
-    version = "2.0.2";
-    name = "nibabel-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nibabel/${name}.tar.gz";
-      sha256 = "0k8mv5zmwb6vc8kwrydl3pp0pnw937rf5mz10figkxczrw6dkk7h";
-    };
-
-    propagatedBuildInputs = with self; [
-      numpy
-      nose
-    ];
-
-    # Failing tests
-    # nibabel.tests.test_minc1.test_old_namespace
-    # nisext.tests.test_testers.test_back_tick
-    doCheck = false;
-
-    meta = {
-      homepage = http://nipy.org/nibabel/;
-      description = "Access a multitude of neuroimaging data formats";
-      license = licenses.mit;
-    };
-  };
+  nibabel = callPackage ../development/python-modules/nibabel {};
 
   nilearn = callPackage ../development/python-modules/nilearn {};
 
+  nimfa = callPackage ../development/python-modules/nimfa {};
+
   nipy = buildPythonPackage rec {
     version = "0.4.0";
     name = "nipy-${version}";
@@ -11378,36 +11195,8 @@ in {
     };
   };
 
-  nipype = buildPythonPackage rec {
-    version = "0.10.0";
-    name = "nipype-${version}";
-
-    # Uses python 2 print. Master seems to be Py3 compatible.
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nipype/${name}.tar.gz";
-      sha256 = "7fb143cd4d05f18db1cb7f0b83dba13d3dcf55b4eb3d16df08c97033ccae507b";
-    };
-
-    # Tests fail due to getcwd returning ENOENT???
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [
-     numpy
-     dateutil
-     nose
-     traits
-     scipy
-     nibabel
-     networkx
-   ];
-
-    meta = {
-      homepage = http://nipy.org/nipype/;
-      description = "Neuroimaging in Python: Pipelines and Interfaces";
-      license = licenses.bsd3;
-    };
+  nipype = callPackage ../development/python-modules/nipype {
+    inherit (pkgs) which;
   };
 
   nose = buildPythonPackage rec {
@@ -11534,7 +11323,7 @@ in {
 
     patches = singleton (pkgs.fetchurl {
       name = "libnotify07.patch";
-      url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/"
+      url = "http://src.fedoraproject.org/cgit/notify-python.git/plain/"
           + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
       sha256 = "1lqdli13mfb59xxbq4rbq1f0znh6xr17ljjhwmzqb79jl3dig12z";
     });
@@ -11914,7 +11703,7 @@ in {
 
   offtrac = buildPythonPackage rec {
     name = "offtrac-0.1.0";
-    meta.maintainers = with maintainers; [ mornfall ];
+    meta.maintainers = with maintainers; [ ];
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/o/offtrac/${name}.tar.gz";
@@ -12538,6 +12327,8 @@ in {
     };
   };
 
+  parameterized = callPackage ../development/python-modules/parameterized { };
+
   paramz = callPackage ../development/python-modules/paramz { };
 
   parsel = buildPythonPackage rec {
@@ -12858,7 +12649,6 @@ in {
       description = "Meta-commands handler for Postgres Database";
       homepage = https://pypi.python.org/pypi/pgspecial;
       license = licenses.bsd3;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -12962,6 +12752,8 @@ in {
 
   kmsxx = callPackage ../development/libraries/kmsxx { };
 
+  pybase64 = callPackage ../development/python-modules/pybase64 { };
+
   pylibconfig2 = buildPythonPackage rec {
     name = "pylibconfig2-${version}";
     version = "0.2.4";
@@ -13368,6 +13160,8 @@ in {
     };
   };
 
+  pysam = callPackage ../development/python-modules/pysam { };
+
   pysaml2 = buildPythonPackage rec {
     name = "pysaml2-${version}";
     version = "3.0.2";
@@ -13451,13 +13245,13 @@ in {
 
 
   vobject = buildPythonPackage rec {
-    version = "0.9.3";
+    version = "0.9.5";
     name = "vobject-${version}";
 
     src = pkgs.fetchFromGitHub {
       owner = "eventable";
       repo = "vobject";
-      sha256 = "00vbii5awwqwfh5hfklj1q79w7d85gjigvf2imgyb71g03sb8cjv";
+      sha256 = "1f5lw9kpssr66bdirkjba3izbnm68p8pd47546m5yl4c7x76s1ld";
       rev = version;
     };
 
@@ -13525,7 +13319,7 @@ in {
     md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
 
     src = pkgs.fetchurl rec {
-      url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/"
+      url = "http://src.fedoraproject.org/repo/pkgs/python-pyblock/"
           + "${name}.tar.bz2/${md5_path}/${name}.tar.bz2";
       sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
     };
@@ -13718,11 +13512,6 @@ in {
       export PYCURL_SSL_LIBRARY=openssl
     '';
 
-    #TODO no idea why this is needed
-    postInstall = ''
-      ln -s ${pkgs.openssl.out}/lib/libcrypto* $out/lib/
-    '';
-
     meta = {
       homepage = http://pycurl.sourceforge.net/;
       description = "Python wrapper for libcurl";
@@ -13915,17 +13704,6 @@ in {
 
   pygments = callPackage ../development/python-modules/Pygments { };
 
-  # For Pelican 3.6.3
-  pygments_2_0 = self.pygments.overrideAttrs( oldAttrs: rec {
-    version = "2.0.2";
-    name = "Pygments-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/P/Pygments/${name}.tar.gz";
-      sha256 = "7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51";
-    };
-  });
-
   pygpgme = callPackage ../development/python-modules/pygpgme { };
 
   pylint = callPackage ../development/python-modules/pylint { };
@@ -14210,7 +13988,7 @@ in {
     md5_path = "d249f60aa89b1b4facd63f776925116d";
 
     src = pkgs.fetchurl rec {
-      url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/"
+      url = "http://src.fedoraproject.org/repo/pkgs/pykickstart/"
           + "${name}.tar.gz/${md5_path}/${name}.tar.gz";
       sha256 = "e0d0f98ac4c5607e6a48d5c1fba2d50cc804de1081043f9da68cbfc69cad957a";
     };
@@ -14572,6 +14350,8 @@ in {
     };
   });
 
+  progressbar2 = callPackage ../development/python-modules/progressbar2 { };
+
   ldap = callPackage ../development/python-modules/ldap {
     inherit (pkgs) openldap cyrus_sasl openssl;
   };
@@ -14595,24 +14375,12 @@ in {
     };
   };
 
-  ptyprocess = buildPythonPackage rec {
-    name = "ptyprocess-${version}";
-    version = "0.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/ptyprocess/${name}.tar.gz";
-      sha256= "dcb78fb2197b49ca1b7b2f37b047bc89c0da7a90f90bd5bc17c3ce388bb6ef59";
-    };
-
-    meta = {
-      description = "Run a subprocess in a pseudo terminal";
-      homepage = https://github.com/pexpect/ptyprocess;
-      license = licenses.isc;
-    };
-  };
+  ptyprocess = callPackage ../development/python-modules/ptyprocess { };
 
   pylibacl = callPackage ../development/python-modules/pylibacl { };
 
+  pylibgen = callPackage ../development/python-modules/pylibgen { };
+
   pyliblo = buildPythonPackage rec {
     name = "pyliblo-${version}";
     version = "0.9.2";
@@ -14787,39 +14555,7 @@ in {
     doCheck = false;
   };
 
-  pyopenssl = buildPythonPackage rec {
-    pname = "pyOpenSSL";
-    name = "${pname}-${version}";
-    version = "17.2.0";
-
-    src = self.fetchPypi {
-      inherit pname version;
-      sha256 = "0d283g4zi0hr9papd24mjl70mi15gyzq6fx618rizi87dgipqqax";
-    };
-
-    outputs = [ "out" "dev" ];
-
-    preCheck = ''
-      sed -i 's/test_set_default_verify_paths/noop/' tests/test_ssl.py
-      # https://github.com/pyca/pyopenssl/issues/692
-      sed -i 's/test_fallback_default_verify_paths/noop/' tests/test_ssl.py
-    '';
-
-    checkPhase = ''
-      runHook preCheck
-      export LANG="en_US.UTF-8"
-      py.test
-      runHook postCheck
-    '';
-
-    # Seems to fail unpredictably on Darwin. See http://hydra.nixos.org/build/49877419/nixlog/1
-    # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
-    doCheck = !stdenv.isDarwin;
-
-    buildInputs = [ pkgs.openssl self.pytest pkgs.glibcLocales self.pretend self.flaky ];
-    propagatedBuildInputs = [ self.cryptography self.pyasn1 self.idna ];
-  };
-
+  pyopenssl = callPackage ../development/python-modules/pyopenssl { };
 
   pyquery = buildPythonPackage rec {
     name = "pyquery-${version}";
@@ -15056,7 +14792,6 @@ in {
       # From the README: "pythonwifi is licensed under LGPLv2+, however, the
       # examples (e.g. iwconfig.py and iwlist.py) are licensed under GPLv2+."
       license = with licenses; [ lgpl2Plus gpl2Plus ];
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -15087,27 +14822,14 @@ in {
     };
   };
 
-  pytz = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "pytz";
-    version = "2017.2";
+  pythonnet = callPackage ../development/python-modules/pythonnet {
+    # `mono >= 4.6` required to prevent crashes encountered with earlier versions.
+    mono = pkgs.mono46;
+  };
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "12cmd3j46d2gcw08bspvp6s9icfcvx88zjz52n1bli9dyvl5dh7m";
-      extension = "zip";
-    };
+  pytz = callPackage ../development/python-modules/pytz { };
 
-    checkPhase = ''
-      python -m unittest discover -s pytz/tests
-    '';
-
-    meta = {
-      description = "World timezone definitions, modern and historical";
-      homepage = "http://pythonhosted.org/pytz";
-      license = licenses.mit;
-    };
-  };
+  pytzdata = callPackage ../development/python-modules/pytzdata { };
 
   pyutil = buildPythonPackage (rec {
     name = "pyutil-2.0.0";
@@ -15176,23 +14898,7 @@ in {
 
   pyaml = callPackage ../development/python-modules/pyaml { };
 
-  pyyaml = buildPythonPackage (rec {
-    name = "PyYAML-3.12";
-
-    src = pkgs.fetchurl {
-      url = "http://pyyaml.org/download/pyyaml/${name}.zip";
-      sha256 = "19s1lxi0idq4a0bpvld866pv5b16lqxypyswmsdi5ys4210jxj2s";
-    };
-
-    buildInputs = with self; [ pkgs.pyrex ];
-    propagatedBuildInputs = with self; [ pkgs.libyaml ];
-
-    meta = {
-      description = "The next generation YAML parser and emitter for Python";
-      homepage = http://pyyaml.org;
-      license = licenses.free; # !?
-    };
-  });
+  pyyaml = callPackage ../development/python-modules/pyyaml { };
 
   rabbitpy = buildPythonPackage rec {
     version = "0.26.2";
@@ -15363,20 +15069,7 @@ in {
 
   qtpy = callPackage ../development/python-modules/qtpy { };
 
-  quantities = buildPythonPackage rec {
-    name = "quantities-0.10.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/q/quantities/quantities-0.10.1.tar.gz";
-      sha256 = "2d27caf31a5e0c37130ac0c14bfa8f9412a5ff1fbf3378a1d6085594776c4315";
-    };
-
-    meta = with pkgs.stdenv.lib; {
-      description = "Quantities is designed to handle arithmetic and";
-      homepage = http://packages.python.org/quantities;
-      license = licenses.bsd2;
-    };
-  };
+  quantities = callPackage ../development/python-modules/quantities { };
 
   qutip = buildPythonPackage rec {
     name = "qutip-2.2.0";
@@ -15449,7 +15142,6 @@ in {
       inherit (src.meta) homepage;
       description = "Check the status of code repositories under a root directory";
       license = licenses.gpl3Plus;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -15597,24 +15289,7 @@ in {
   };
 
 
-  rdflib = buildPythonPackage (rec {
-    name = "rdflib-4.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rdflib/${name}.tar.gz";
-      sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ isodate html5lib SPARQLWrapper ];
-
-    meta = {
-      description = "A Python library for working with RDF, a simple yet powerful language for representing information";
-      homepage = http://www.rdflib.net/;
-    };
-  });
+  rdflib = callPackage ../development/python-modules/rdflib { };
 
   isodate = buildPythonPackage rec {
     name = "isodate-${version}";
@@ -15873,21 +15548,7 @@ in {
     };
   };
 
-  typing = buildPythonPackage rec {
-    name = "typing-${version}";
-    version = "3.5.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/typing/${name}.tar.gz";
-      sha256 = "08gz3grrh3vph5ib1w5x1ssnpzvj077x030lx63fxs4kwg3slbfa";
-    };
-
-    meta = {
-      description = "Backport of typing module to Python versions older than 3.5";
-      homepage = "https://docs.python.org/3.5/library/typing.html";
-      license = licenses.psfl;
-    };
-  };
+  typing = callPackage ../development/python-modules/typing { };
 
   typeguard = callPackage ../development/python-modules/typeguard { };
 
@@ -16130,22 +15791,7 @@ in {
     };
   };
 
-  simplegeneric = buildPythonPackage rec {
-    version = "0.8.1";
-    name = "simplegeneric-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/simplegeneric/${name}.zip";
-      sha256 = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173";
-    };
-
-    meta = {
-      description = "Simple generic functions";
-      homepage = http://cheeseshop.python.org/pypi/simplegeneric;
-      license = licenses.zpl21;
-    };
-  };
-
+  simplegeneric = callPackage ../development/python-modules/simplegeneric { };
 
   shortuuid = buildPythonPackage rec {
     name = "shortuuid-${version}";
@@ -16627,33 +16273,7 @@ in {
     };
   };
 
-  sympy = buildPythonPackage rec {
-    name = "sympy-1.0";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/s/sympy/${name}.tar.gz";
-      sha256 = "1bpzjwr9hrr7w88v4vgnj9lr6vxcldc94si13n8xpr1rv08d5b1y";
-    };
-
-    buildInputs = [ pkgs.glibcLocales ];
-
-    propagatedBuildInputs = with self; [ mpmath ];
-
-    # Bunch of failures including transients.
-    doCheck = false;
-
-    preCheck = ''
-      export LANG="en_US.UTF-8"
-    '';
-
-    meta = {
-      description = "A Python library for symbolic mathematics";
-      homepage    = http://www.sympy.org/;
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
+  sympy = callPackage ../development/python-modules/sympy { };
 
   pilkit = buildPythonPackage rec {
     name = "pilkit-1.1.4";
@@ -16823,39 +16443,8 @@ in {
     };
   };
 
-  secp256k1 = buildPythonPackage rec {
-    name = "secp256k1-${version}";
-    version = "0.12.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/secp256k1/${name}.tar.gz";
-      sha256 = "0zrjxvzxqm4bz2jcy8sras8jircgbs6dkrw8j3nc6jhvzlikwwxl";
-    };
-
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = [ self.pytest_28 self.pytestrunner ];
-    propagatedBuildInputs = [ self.cffi pkgs.secp256k1 ];
-
-    # Tests are not included in archive
-    doCheck = false;
-
-    preConfigure = ''
-      cp -r ${pkgs.secp256k1.src} libsecp256k1
-      touch libsecp256k1/autogen.sh
-      export INCLUDE_DIR=${pkgs.secp256k1}/include
-      export LIB_DIR=${pkgs.secp256k1}/lib
-    '';
-
-    checkPhase = ''
-      py.test tests
-    '';
-
-    meta = {
-      homepage = https://github.com/ludbb/secp256k1-py;
-      description = "Python FFI bindings for secp256k1";
-      license = with licenses; [ mit ];
-      maintainers = with maintainers; [ chris-martin ];
-    };
+  secp256k1 = callPackage ../development/python-modules/secp256k1 {
+    inherit (pkgs) secp256k1 pkgconfig;
   };
 
   semantic-version = callPackage ../development/python-modules/semantic-version { };
@@ -17308,7 +16897,6 @@ in {
       '';
       homepage = https://github.com/andialbrecht/sqlparse;
       license = licenses.bsd3;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -17497,46 +17085,8 @@ in {
 
   sybil = callPackage ../development/python-modules/sybil { };
 
-  syncthing-gtk = buildPythonPackage rec {
-    version = "0.9.2.3";
-    name = "syncthing-gtk-${version}";
-    src = pkgs.fetchFromGitHub {
-      owner = "syncthing";
-      repo = "syncthing-gtk";
-      rev = "v${version}";
-      sha256 = "0chl0f0kp6z0z00d1f3xjlicjfr9rzabw39wmjr66fwb5w5hcc42";
-    };
-
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ pkgs.syncthing dateutil pyinotify
-      pkgs.libnotify
-      (pkgs.librsvg.override { withGTK = true; })
-      pkgs.psmisc pygobject3 pkgs.gtk3
-    ];
-
-    preFixup = ''
-      wrapProgram $out/bin/syncthing-gtk \
-        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
-    '';
-
-    patchPhase = ''
-        substituteInPlace setup.py --replace "version = get_version()" "version = '${version}'"
-        substituteInPlace scripts/syncthing-gtk --replace "/usr/share" "$out/share"
-        substituteInPlace syncthing_gtk/app.py --replace "/usr/share" "$out/share"
-        substituteInPlace syncthing_gtk/wizard.py --replace "/usr/share" "$out/share"
-        substituteInPlace syncthing-gtk.desktop --replace "/usr/bin/syncthing-gtk" "$out/bin/syncthing-gtk"
-    '';
-
-    meta = {
-      description = " GTK3 & python based GUI for Syncthing ";
-      maintainers = with maintainers; [ ];
-      platforms = pkgs.syncthing.meta.platforms;
-      homepage = "https://github.com/syncthing/syncthing-gtk";
-      license = licenses.gpl2;
-    };
-  };
+  # legacy alias
+  syncthing-gtk = pkgs.syncthing-gtk;
 
   systemd = callPackage ../development/python-modules/systemd {
     inherit (pkgs) pkgconfig systemd;
@@ -17593,23 +17143,7 @@ in {
     };
   };
 
-  terminado = buildPythonPackage rec {
-    name = "terminado-${version}";
-    version = "0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/terminado/${name}.tar.gz";
-      sha256 = "2c0ba1f624067dccaaead7d2247cfe029806355cef124dc2ccb53c83229f0126";
-    };
-
-    propagatedBuildInputs = with self; [ ptyprocess tornado ];
-
-    meta = {
-      description = "Terminals served to term.js using Tornado websockets";
-      homepage = https://github.com/takluyver/terminado;
-      license = licenses.bsd2;
-    };
-  };
+  terminado = callPackage ../development/python-modules/terminado { };
 
   terminaltables = buildPythonPackage rec {
     name = "terminaltables-${version}";
@@ -17717,6 +17251,8 @@ in {
 
   traitlets = callPackage ../development/python-modules/traitlets { };
 
+  transitions = callPackage ../development/python-modules/transitions { };
+
   python_mimeparse = buildPythonPackage rec {
     name = "python-mimeparse-${version}";
     version = "0.1.4";
@@ -17831,7 +17367,7 @@ in {
   smmap = buildPythonPackage rec {
     name = "smmap-0.9.0";
     disabled = isPyPy;  # This fails the tests if built with pypy
-    meta.maintainers = with maintainers; [ mornfall ];
+    meta.maintainers = with maintainers; [ ];
 
     buildInputs = with self; [ nosexcover ];
 
@@ -17843,11 +17379,11 @@ in {
 
   traits = buildPythonPackage rec {
     name = "traits-${version}";
-    version = "4.5.0";
+    version = "4.6.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/traits/${name}.tar.gz";
-      sha256 = "5293a8786030b0b243e059f52004355b6939d7c0f1be2eb5a605b63cca484c84";
+      sha256 = "0w43qv36wnrimlh0nzzgg81315a18yza3vk494wqxf1l19g390jx";
     };
 
     # Use pytest because its easier to discover tests
@@ -17860,7 +17396,7 @@ in {
     # https://github.com/enthought/traits/issues/187
     # https://github.com/enthought/traits/pull/188
     # Furthermore, some tests fail due to being in a chroot
-    doCheck = false;
+    doCheck = isPy33;
 
     propagatedBuildInputs = with self; [ numpy ];
 
@@ -18573,24 +18109,7 @@ EOF
     };
   };
 
-  webcolors = buildPythonPackage rec {
-    name = "webcolors-1.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/w/webcolors/${name}.tar.gz";
-      sha256 = "304fc95dab2848c7bf64f378356766e692c2f8b4a8b15fa3509544e6412936e8";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      description = "Library for working with color names/values defined by the HTML and CSS specifications";
-      homepage = https://bitbucket.org/ubernostrum/webcolors/overview/;
-      license = licenses.bsd3;
-      platforms = platforms.unix;
-    };
-  };
+  webcolors = callPackage ../development/python-modules/webcolors { };
 
   webencodings = callPackage ../development/python-modules/webencodings { };
 
@@ -18622,7 +18141,6 @@ EOF
       '';
       homepage = https://github.com/jquast/wcwidth;
       license = licenses.mit;
-      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -18898,11 +18416,11 @@ EOF
   persistent = callPackage ../development/python-modules/persistent {};
 
   xdot = buildPythonPackage rec {
-    name = "xdot-0.7";
+    name = "xdot-0.9";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/x/xdot/xdot-0.7.tar.gz";
-      sha256 = "1q0f3pskb09saw1qkd2s6vmk80rq5zjhq8l93dfr2x6r04r0q46j";
+      url = "mirror://pypi/x/xdot/${name}.tar.gz";
+      sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3";
     };
 
     nativeBuildInputs = with pkgs; [ wrapGAppsHook ];
@@ -18915,29 +18433,6 @@ EOF
     };
   };
 
-  you-get = buildPythonApplication rec {
-    version = "0.4.390";
-    name = "you-get-${version}";
-    disabled = !isPy3k;
-
-    # Tests aren't packaged, but they all hit the real network so
-    # probably aren't suitable for a build environment anyway.
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/y/you-get/${name}.tar.gz";
-      sha256 = "17hs0g9yvgvkmr7p1cz39mbbvb40q65qkc31j3ixc2f873gahagw";
-    };
-
-    meta = {
-      description = "A tiny command line utility to download media contents from the web";
-      homepage = https://you-get.org;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ryneeverett ];
-      platforms = platforms.all;
-    };
-  };
-
   zetup = callPackage ../development/python-modules/zetup { };
 
   zope_broken = buildPythonPackage rec {
@@ -19464,25 +18959,6 @@ EOF
     '';
   };
 
-  tokenserver = buildPythonPackage rec {
-    name = "tokenserver-${version}";
-    version = "1.2.11";
-
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/tokenserver.git;
-      rev = "refs/tags/${version}";
-      sha256 = "1cvkvxcday1qc3zyarasj3l7322w8afhrcxcsvb5wac1ryh1w6y2";
-    };
-
-    doCheck = false;
-    buildInputs = [ self.testfixtures ];
-    propagatedBuildInputs = with self; [ cornice mozsvc pybrowserid tokenlib ];
-
-    meta = {
-      platforms = platforms.all;
-    };
-  };
-
   testfixtures = callPackage ../development/python-modules/testfixtures {};
 
   tissue = buildPythonPackage rec {
@@ -20412,49 +19888,6 @@ EOF
     };
   };
 
-  syncserver = buildPythonPackage rec {
-    name = "syncserver-${version}";
-    version = "1.5.2";
-    disabled = ! isPy27;
-
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/syncserver.git;
-      rev = "refs/tags/${version}";
-      sha256 = "1pk4rvwvsd1vxbpzg39hxqi8pi9v6b4s6m0mqbpg88s6s7i6ks3m";
-    };
-
-    buildInputs = with self; [ unittest2 ];
-    propagatedBuildInputs = with self; [
-      cornice gunicorn pyramid requests simplejson sqlalchemy mozsvc tokenserver
-      serversyncstorage configparser
-    ];
-
-    meta = {
-      maintainers = [ ];
-      platforms = platforms.all;
-    };
-  };
-
-  serversyncstorage = buildPythonPackage rec {
-    name = "serversyncstorage-${version}";
-    version = "1.5.13";
-    disabled = !isPy27;
-
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/server-syncstorage.git;
-      rev = "refs/tags/${version}";
-      sha256 = "0m14v7n105y06w3mdp35pyxyzjj5vqwbznzdbixhkms3df6md2lq";
-    };
-
-    propagatedBuildInputs = with self; [
-      pyramid sqlalchemy simplejson mozsvc cornice pyramid_hawkauth pymysql
-      pymysqlsa umemcache WSGIProxy requests pybrowserid
-    ];
-    buildInputs = with self; [ testfixtures unittest2 webtest ];
-
-    #doCheck = false; # lazy packager
-  };
-
   WSGIProxy = buildPythonPackage rec {
     name = "WSGIProxy-${version}";
     version = "0.2.2";
@@ -20882,21 +20315,7 @@ EOF
     };
   };
 
-  dicttoxml = buildPythonPackage rec {
-    name = "dicttoxml-1.6.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dicttoxml/dicttoxml-1.6.4.tar.gz";
-      sha256 = "5f29e95fec56680823dc41911c04c2af08727ee53c1b60e83c489212bab71161";
-    };
-
-    propagatedBuildInputs = with self; [  ];
-
-    meta = {
-      description = "Summary";
-      homepage = https://github.com/quandyfactory/dicttoxml;
-    };
-  };
+  dicttoxml = callPackage ../development/python-modules/dicttoxml { };
 
   markdown2 = callPackage ../development/python-modules/markdown2 { };
 
@@ -20994,36 +20413,7 @@ EOF
 
   trollius = callPackage ../development/python-modules/trollius {};
 
-  neovim = buildPythonPackage rec {
-    version = "0.2.0";
-    name = "neovim-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/neovim/${name}.tar.gz";
-      sha256 = "1ywkgbrxd95cwlglihydmffcw2d2aji6562aqncymxs3ld5y02yn";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    checkPhase = ''
-      nosetests
-    '';
-
-    # Tests require pkgs.neovim,
-    # which we cannot add because of circular dependency.
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ msgpack ]
-      ++ optional (!isPyPy) greenlet
-      ++ optional (pythonOlder "3.4") trollius;
-
-    meta = {
-      description = "Python client for Neovim";
-      homepage = "https://github.com/neovim/python-client";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  neovim = callPackage ../development/python-modules/neovim {};
 
   neovim_gui = buildPythonPackage rec {
     name = "neovim-pygui-${self.neovim.version}";
@@ -21269,29 +20659,7 @@ EOF
 
   pluggy = callPackage ../development/python-modules/pluggy {};
 
-  xcffib = buildPythonPackage rec {
-    version = "0.3.2";
-    name = "xcffib-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/x/xcffib/${name}.tar.gz";
-      sha256 = "a84eecd5a1bb7570e26c83aca87a2016578ca4e353e1fa56189e95bdef063e6a";
-    };
-
-    patchPhase = ''
-      # Hardcode cairo library path
-      sed -e 's,ffi\.dlopen(,&"${pkgs.xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py
-    '';
-
-    propagatedBuildInputs = [ self.cffi self.six ];
-
-    meta = {
-      description = "A drop in replacement for xpyb, an XCB python binding";
-      homepage = "https://github.com/tych0/xcffib";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ kamilchm ];
-    };
-  };
+  xcffib = callPackage ../development/python-modules/xcffib {};
 
   pafy = callPackage ../development/python-modules/pafy { };
 
@@ -21431,25 +20799,7 @@ EOF
     };
   };
 
-  ovh = buildPythonPackage rec {
-    name = "ovh-${version}";
-    version = "0.4.5";
-    doCheck = false; #test needs packages too explicit
-    buildInputs = with self; [ d2to1 ];
-    propagatedBuildInputs = with self; [ requests ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/ovh/ovh-${version}.tar.gz";
-      sha256 = "1wf2p1sbg34jpj97r3w5nx9pj6vp0mlprry3vw2xav3dv02qv2af";
-    };
-
-    meta = {
-      description = "Thin wrapper around OVH's APIs";
-      homepage = https://pypi.python.org/pypi/ovh;
-      license = licenses.bsd2;
-      maintainers = [ maintainers.makefu ];
-    };
-  };
+  ovh = callPackage ../development/python-modules/ovh { };
 
   willow = buildPythonPackage rec {
     name = "willow-${version}";
@@ -21669,6 +21019,10 @@ EOF
     };
   };
 
+  xvfbwrapper = callPackage ../development/python-modules/xvfbwrapper {
+    inherit (pkgs.xorg) xorgserver;
+  };
+
   hidapi = callPackage ../development/python-modules/hidapi {
     inherit (pkgs) udev libusb1;
   };
@@ -21903,23 +21257,7 @@ EOF
     };
   };
 
-  send2trash = buildPythonPackage (rec {
-    name = "Send2Trash-1.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/S/Send2Trash/${name}.tar.gz";
-      sha256 = "1zjq5ki02l0vl4f1xymsnqyxipx6q81a435p46db07l3mqg4dx1k";
-    };
-
-    # no tests
-    doCheck = false;
-
-    meta = {
-      description = "Send file to trash natively under macOS, Windows and Linux";
-      homepage = https://github.com/hsoft/send2trash;
-      license = licenses.bsd3;
-    };
-  });
+  send2trash = callPackage ../development/python-modules/send2trash { };
 
   sigtools = buildPythonPackage rec {
     name = "sigtools-${version}";
@@ -22125,26 +21463,6 @@ EOF
     };
   };
 
-  pybrain = buildPythonPackage rec {
-    name = "pybrain-${version}";
-    version = "0.3.3";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/pybrain/pybrain/archive/${version}.tar.gz";
-      sha256 = "114m99vsrps2gjqfm3i3kxx4nibjhjdzphsy2bhrxa5q3h2q14dz";
-    };
-
-    propagatedBuildInputs = with self; [ scipy ];
-
-    meta = {
-      homepage = "http://pybrain.org/";
-      description = "Modular Machine Learning Library for Python";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ NikolaMandic ];
-      broken = true; # See https://github.com/NixOS/nixpkgs/pull/29198
-    };
-  };
-
   threadpool = buildPythonPackage rec {
     name = "threadpool-${version}";
     version = "1.3.2";
@@ -22439,24 +21757,7 @@ EOF
 
   whoosh = callPackage ../development/python-modules/whoosh { };
 
-  packet-python = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "packet-python";
-    version = "1.33";
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/eb/82/f0506bd964501f958ac6a37e843ccb7bd9e712732886258314d55f0ec710/packet-python-1.33.tar.gz";
-      sha256 = "0bmvfmvjm8jx0y8sv0jf5mhv0h3v8idx0sc5myxs7ig200584dd3";
-    };
-    propagatedBuildInputs = with self; [ requests ];
-
-    meta = {
-      description = "A Python client for the Packet API.";
-      homepage    = "https://github.com/packethost/packet-python";
-      license     = licenses.lgpl3;
-      maintainers = with maintainers; [ dipinhora ];
-      platforms   = platforms.all;
-    };
-  };
+  packet-python = callPackage ../development/python-modules/packet-python { };
 
   pwntools = callPackage ../development/python-modules/pwntools { };
 
@@ -22519,6 +21820,8 @@ EOF
 
   vine = callPackage ../development/python-modules/vine { };
 
+  whitenoise = callPackage ../development/python-modules/whitenoise { };
+
   wp_export_parser = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "wp_export_parser";
@@ -22594,6 +21897,8 @@ EOF
 
   pyemd  = callPackage ../development/python-modules/pyemd { };
 
+  pulp  = callPackage ../development/python-modules/pulp { };
+
   behave = callPackage ../development/python-modules/behave { };
 
   pyhamcrest = callPackage ../development/python-modules/pyhamcrest { };
@@ -22607,6 +21912,8 @@ EOF
   voluptuous = callPackage ../development/python-modules/voluptuous { };
 
   pysigset = callPackage ../development/python-modules/pysigset { };
+
+  us = callPackage ../development/python-modules/us { };
 });
 
 in fix' (extends overrides packages)
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index f6b2ecfb5dbe..8e1213f2344d 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -21,6 +21,8 @@ let
   gnuCommon = lib.recursiveUpdate common {
     buildPackages.gcc = nativePlatforms;
     coreutils = nativePlatforms;
+    haskell.packages.ghcHEAD.hello = nativePlatforms;
+    haskell.packages.ghc822.hello = nativePlatforms;
   };
 
   linuxCommon = lib.recursiveUpdate gnuCommon {
@@ -119,6 +121,9 @@ in
     mpg123 = nativePlatforms;
   });
 
+  /* Linux on Aarch64 (TODO make android for real)  */
+  android = mapTestOnCross lib.systems.examples.aarch64-multiplatform (linuxCommon // {
+  });
 
   /* Cross-built bootstrap tools for every supported platform */
   bootstrapTools = let
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 8e95bdd92314..391d79e47f18 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -35,6 +35,7 @@ with import ./release-lib.nix { inherit supportedSystems; };
   cpio = all;
   cron = linux;
   cups = linux;
+  dbus = linux;
   dhcp = linux;
   diffutils = all;
   e2fsprogs = linux;
@@ -174,10 +175,4 @@ with import ./release-lib.nix { inherit supportedSystems; };
   zile = linux;
   zip = all;
 
-  dbus = {
-    libs = linux;
-    daemon = linux;
-    tools = linux;
-  };
-
 } ))
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 7cddc664570b..de676c5a4210 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -116,7 +116,9 @@ let
     lib.optionalAttrs allowCustomOverrides
       ((config.packageOverrides or (super: {})) super);
 
-  # The complete chain of package set builders, applied from top to bottom
+  # The complete chain of package set builders, applied from top to bottom.
+  # stdenvOverlays must be last as it brings package forward from the
+  # previous bootstrapping phases which have already been overlayed.
   toFix = lib.foldl' (lib.flip lib.extends) (self: {}) ([
     stdenvBootstappingAndPlatforms
     platformCompat
@@ -125,9 +127,9 @@ let
     splice
     allPackages
     aliases
-    stdenvOverrides
     configOverrides
-  ] ++ overlays);
+  ] ++ overlays ++ [
+    stdenvOverrides ]);
 
 in
   # Return the complete set of packages.